nova64 0.2.4 โ 0.2.6
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 +25 -8
- package/bin/nova64.js +165 -0
- package/dist/assets/console-CY_kygm3.js +14 -0
- package/dist/assets/console-CY_kygm3.js.map +1 -0
- package/dist/assets/main-l0sNRNKZ.js.map +1 -0
- package/dist/assets/sky/studio/nx.png +0 -0
- package/dist/assets/sky/studio/ny.png +0 -0
- package/dist/assets/sky/studio/nz.png +0 -0
- package/dist/assets/sky/studio/px.png +0 -0
- package/dist/assets/sky/studio/py.png +0 -0
- package/dist/assets/sky/studio/pz.png +0 -0
- package/dist/assets/vanilla-Dcuy32gi.js +2 -0
- package/dist/assets/vanilla-Dcuy32gi.js.map +1 -0
- package/dist/console.html +899 -0
- package/dist/docs/BENCHMARK.md +77 -0
- package/dist/docs/CHEATSHEET.md +255 -0
- package/dist/docs/EFFECTS_API_GUIDE.md +577 -0
- package/dist/docs/EFFECTS_QUICK_REFERENCE.md +331 -0
- package/dist/docs/FONT_CHARACTER_REFERENCE.md +219 -0
- package/dist/docs/FREE_GLB_ASSETS.md +330 -0
- package/dist/docs/FULLSCREEN_BUTTON_FEATURE.md +296 -0
- package/dist/docs/GAMEPAD_SUPPORT.md +348 -0
- package/dist/docs/GAME_IMPROVEMENTS.md +278 -0
- package/dist/docs/GAME_QUALITY_STATUS.md +300 -0
- package/dist/docs/MIGRATION_GUIDE.md +553 -0
- package/dist/docs/NOVA64_3D_API.md +356 -0
- package/dist/docs/NOVA64_API_REFERENCE.md +1406 -0
- package/dist/docs/NOVA64_UI_API.md +503 -0
- package/dist/docs/UI_SYSTEM_SUMMARY.md +445 -0
- package/dist/docs/VOXEL_ENGINE_GUIDE.md +662 -0
- package/dist/docs/VOXEL_QUICK_REFERENCE.md +386 -0
- package/dist/docs/api-3d.html +750 -0
- package/dist/docs/api-effects.html +385 -0
- package/dist/docs/api-improvements.md +121 -0
- package/dist/docs/api-skybox.html +407 -0
- package/dist/docs/api-sprites.html +321 -0
- package/dist/docs/api-voxel.html +337 -0
- package/dist/docs/api.html +543 -0
- package/dist/docs/assets.html +306 -0
- package/dist/docs/audio.html +340 -0
- package/dist/docs/blogs.html +286 -0
- package/dist/docs/collision.html +316 -0
- package/dist/docs/console.html +247 -0
- package/dist/docs/editor.html +297 -0
- package/dist/docs/font.html +247 -0
- package/dist/docs/framebuffer.html +247 -0
- package/dist/docs/fullscreen-button.html +297 -0
- package/dist/docs/gpu-systems.html +247 -0
- package/dist/docs/index.html +580 -0
- package/dist/docs/input.html +491 -0
- package/dist/docs/physics.html +311 -0
- package/dist/docs/screens.html +311 -0
- package/dist/docs/storage.html +311 -0
- package/dist/docs/textinput.html +332 -0
- package/dist/docs/ui.html +488 -0
- package/dist/examples/3d-advanced/code.js +695 -0
- package/dist/examples/adventure-comic-3d/code.js +342 -0
- package/dist/examples/audio-lab/code.js +150 -0
- package/dist/examples/boids-flocking/code.js +270 -0
- package/dist/examples/crystal-cathedral-3d/code.js +706 -0
- package/dist/examples/cyberpunk-city-3d/code.js +1383 -0
- package/dist/examples/demoscene/README.md +192 -0
- package/dist/examples/demoscene/code.js +1081 -0
- package/dist/examples/demoscene/meta.json +21 -0
- package/dist/examples/dungeon-crawler-3d/code.js +1117 -0
- package/dist/examples/f-zero-nova-3d/code.js +865 -0
- package/dist/examples/f-zero-nova-3d/code_old.js +1555 -0
- package/dist/examples/fps-demo-3d/code.js +744 -0
- package/dist/examples/game-of-life-3d/code.js +338 -0
- package/dist/examples/generative-art/code.js +632 -0
- package/dist/examples/hello-3d/code.js +325 -0
- package/dist/examples/hello-skybox/code.js +183 -0
- package/dist/examples/hello-world/code.js +19 -0
- package/dist/examples/input-showcase/code.js +109 -0
- package/dist/examples/instancing-demo/code.js +315 -0
- package/dist/examples/minecraft-demo/code.js +387 -0
- package/dist/examples/model-viewer-3d/code.js +114 -0
- package/dist/examples/mystical-realm-3d/code.js +1203 -0
- package/dist/examples/nature-explorer-3d/code.js +1318 -0
- package/dist/examples/particles-demo/code.js +522 -0
- package/dist/examples/pbr-showcase/code.js +140 -0
- package/dist/examples/physics-demo-3d/code.js +948 -0
- package/dist/examples/screen-demo/code.js +267 -0
- package/dist/examples/shooter-demo-3d/code.js +1286 -0
- package/dist/examples/space-combat-3d/IMPLEMENTATION_SUMMARY.md +109 -0
- package/dist/examples/space-combat-3d/README.md +135 -0
- package/dist/examples/space-combat-3d/code.js +1332 -0
- package/dist/examples/space-harrier-3d/code.js +923 -0
- package/dist/examples/star-fox-nova-3d/code.js +1116 -0
- package/dist/examples/star-fox-nova-3d/code_backup.js +410 -0
- package/dist/examples/star-fox-nova-3d/code_broken.js +1821 -0
- package/dist/examples/storage-quest/code.js +209 -0
- package/dist/examples/strider-demo-3d/IMPROVEMENT_OPTIONS.md +285 -0
- package/dist/examples/strider-demo-3d/cache-test.html +132 -0
- package/dist/examples/strider-demo-3d/code-fixed.js +582 -0
- package/dist/examples/strider-demo-3d/code-old.js +1537 -0
- package/dist/examples/strider-demo-3d/code.js +1462 -0
- package/dist/examples/strider-demo-3d/code.js.bak2 +1169 -0
- package/dist/examples/strider-demo-3d/fix-game.sh +53 -0
- package/dist/examples/super-plumber-64/README.md +128 -0
- package/dist/examples/super-plumber-64/code.js +1185 -0
- package/dist/examples/super-plumber-64/index.html +88 -0
- package/dist/examples/test-2d-overlay/code.js +32 -0
- package/dist/examples/test-font/code.js +51 -0
- package/dist/examples/test-minimal/code.js +21 -0
- package/dist/examples/ui-demo/code.js +306 -0
- package/dist/examples/wing-commander-space/README.md +180 -0
- package/dist/examples/wing-commander-space/code.js +1285 -0
- package/dist/examples/wizardry-3d/CHANGELOG.md +366 -0
- package/dist/examples/wizardry-3d/code.js +3928 -0
- package/dist/index.html +666 -0
- package/dist/os9-shell/assets/index-DIHfrTaW.css +1 -0
- package/dist/os9-shell/assets/index-KchE_ngx.js +483 -0
- package/dist/os9-shell/assets/index-KchE_ngx.js.map +1 -0
- package/dist/os9-shell/index.html +23 -0
- package/dist/os9-shell/nova-icon.svg +12 -0
- package/index.html +6 -1
- package/package.json +37 -32
- package/public/assets/sky/studio/nx.png +0 -0
- package/public/assets/sky/studio/ny.png +0 -0
- package/public/assets/sky/studio/nz.png +0 -0
- package/public/assets/sky/studio/px.png +0 -0
- package/public/assets/sky/studio/py.png +0 -0
- package/public/assets/sky/studio/pz.png +0 -0
- package/public/os9-shell/assets/index-KchE_ngx.js +483 -0
- package/public/os9-shell/assets/index-KchE_ngx.js.map +1 -0
- package/public/os9-shell/index.html +10 -1
- package/runtime/api-2d.js +301 -21
- package/runtime/api-3d/pbr.js +45 -1
- package/runtime/api-3d.js +1 -0
- package/runtime/api-effects.js +90 -3
- package/runtime/api-gameutils.js +476 -0
- package/runtime/api-generative.js +610 -0
- package/runtime/api-skybox.js +54 -0
- package/runtime/api-voxel.js +139 -28
- package/runtime/gpu-threejs.js +13 -9
- package/runtime/ui.js +2 -2
- package/src/main.js +24 -1
- package/public/os9-shell/assets/index-B1Uvacma.js +0 -32825
- package/public/os9-shell/assets/index-B1Uvacma.js.map +0 -1
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
var AS=Object.defineProperty;var MS=(t,e,n)=>e in t?AS(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ko=(t,e,n)=>MS(t,typeof e!="symbol"?e+"":e,n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();function UO(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var qO={exports:{}},lc={},GO={exports:{}},K={};/**
|
|
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 Lo=Symbol.for("react.element"),RS=Symbol.for("react.portal"),ES=Symbol.for("react.fragment"),jS=Symbol.for("react.strict_mode"),ZS=Symbol.for("react.profiler"),DS=Symbol.for("react.provider"),LS=Symbol.for("react.context"),zS=Symbol.for("react.forward_ref"),_S=Symbol.for("react.suspense"),XS=Symbol.for("react.memo"),IS=Symbol.for("react.lazy"),$p=Symbol.iterator;function NS(t){return t===null||typeof t!="object"?null:(t=$p&&t[$p]||t["@@iterator"],typeof t=="function"?t:null)}var HO={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},KO=Object.assign,JO={};function is(t,e,n){this.props=t,this.context=e,this.refs=JO,this.updater=n||HO}is.prototype.isReactComponent={};is.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,e,"setState")};is.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function e0(){}e0.prototype=is.prototype;function Uf(t,e,n){this.props=t,this.context=e,this.refs=JO,this.updater=n||HO}var qf=Uf.prototype=new e0;qf.constructor=Uf;KO(qf,is.prototype);qf.isPureReactComponent=!0;var Cp=Array.isArray,t0=Object.prototype.hasOwnProperty,Gf={current:null},n0={key:!0,ref:!0,__self:!0,__source:!0};function i0(t,e,n){var i,r={},s=null,o=null;if(e!=null)for(i in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)t0.call(e,i)&&!n0.hasOwnProperty(i)&&(r[i]=e[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){for(var a=Array(l),c=0;c<l;c++)a[c]=arguments[c+2];r.children=a}if(t&&t.defaultProps)for(i in l=t.defaultProps,l)r[i]===void 0&&(r[i]=l[i]);return{$$typeof:Lo,type:t,key:s,ref:o,props:r,_owner:Gf.current}}function BS(t,e){return{$$typeof:Lo,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function Hf(t){return typeof t=="object"&&t!==null&&t.$$typeof===Lo}function WS(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(n){return e[n]})}var Tp=/\/+/g;function Vc(t,e){return typeof t=="object"&&t!==null&&t.key!=null?WS(""+t.key):e.toString(36)}function Xl(t,e,n,i,r){var s=typeof t;(s==="undefined"||s==="boolean")&&(t=null);var o=!1;if(t===null)o=!0;else switch(s){case"string":case"number":o=!0;break;case"object":switch(t.$$typeof){case Lo:case RS:o=!0}}if(o)return o=t,r=r(o),t=i===""?"."+Vc(o,0):i,Cp(r)?(n="",t!=null&&(n=t.replace(Tp,"$&/")+"/"),Xl(r,e,n,"",function(c){return c})):r!=null&&(Hf(r)&&(r=BS(r,n+(!r.key||o&&o.key===r.key?"":(""+r.key).replace(Tp,"$&/")+"/")+t)),e.push(r)),1;if(o=0,i=i===""?".":i+":",Cp(t))for(var l=0;l<t.length;l++){s=t[l];var a=i+Vc(s,l);o+=Xl(s,e,n,a,r)}else if(a=NS(t),typeof a=="function")for(t=a.call(t),l=0;!(s=t.next()).done;)s=s.value,a=i+Vc(s,l++),o+=Xl(s,e,n,a,r);else if(s==="object")throw e=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.");return o}function Jo(t,e,n){if(t==null)return t;var i=[],r=0;return Xl(t,i,"","",function(s){return e.call(n,s,r++)}),i}function FS(t){if(t._status===-1){var e=t._result;e=e(),e.then(function(n){(t._status===0||t._status===-1)&&(t._status=1,t._result=n)},function(n){(t._status===0||t._status===-1)&&(t._status=2,t._result=n)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)return t._result.default;throw t._result}var ft={current:null},Il={transition:null},VS={ReactCurrentDispatcher:ft,ReactCurrentBatchConfig:Il,ReactCurrentOwner:Gf};function r0(){throw Error("act(...) is not supported in production builds of React.")}K.Children={map:Jo,forEach:function(t,e,n){Jo(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return Jo(t,function(){e++}),e},toArray:function(t){return Jo(t,function(e){return e})||[]},only:function(t){if(!Hf(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};K.Component=is;K.Fragment=ES;K.Profiler=ZS;K.PureComponent=Uf;K.StrictMode=jS;K.Suspense=_S;K.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=VS;K.act=r0;K.cloneElement=function(t,e,n){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var i=KO({},t.props),r=t.key,s=t.ref,o=t._owner;if(e!=null){if(e.ref!==void 0&&(s=e.ref,o=Gf.current),e.key!==void 0&&(r=""+e.key),t.type&&t.type.defaultProps)var l=t.type.defaultProps;for(a in e)t0.call(e,a)&&!n0.hasOwnProperty(a)&&(i[a]=e[a]===void 0&&l!==void 0?l[a]:e[a])}var a=arguments.length-2;if(a===1)i.children=n;else if(1<a){l=Array(a);for(var c=0;c<a;c++)l[c]=arguments[c+2];i.children=l}return{$$typeof:Lo,type:t.type,key:r,ref:s,props:i,_owner:o}};K.createContext=function(t){return t={$$typeof:LS,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:DS,_context:t},t.Consumer=t};K.createElement=i0;K.createFactory=function(t){var e=i0.bind(null,t);return e.type=t,e};K.createRef=function(){return{current:null}};K.forwardRef=function(t){return{$$typeof:zS,render:t}};K.isValidElement=Hf;K.lazy=function(t){return{$$typeof:IS,_payload:{_status:-1,_result:t},_init:FS}};K.memo=function(t,e){return{$$typeof:XS,type:t,compare:e===void 0?null:e}};K.startTransition=function(t){var e=Il.transition;Il.transition={};try{t()}finally{Il.transition=e}};K.unstable_act=r0;K.useCallback=function(t,e){return ft.current.useCallback(t,e)};K.useContext=function(t){return ft.current.useContext(t)};K.useDebugValue=function(){};K.useDeferredValue=function(t){return ft.current.useDeferredValue(t)};K.useEffect=function(t,e){return ft.current.useEffect(t,e)};K.useId=function(){return ft.current.useId()};K.useImperativeHandle=function(t,e,n){return ft.current.useImperativeHandle(t,e,n)};K.useInsertionEffect=function(t,e){return ft.current.useInsertionEffect(t,e)};K.useLayoutEffect=function(t,e){return ft.current.useLayoutEffect(t,e)};K.useMemo=function(t,e){return ft.current.useMemo(t,e)};K.useReducer=function(t,e,n){return ft.current.useReducer(t,e,n)};K.useRef=function(t){return ft.current.useRef(t)};K.useState=function(t){return ft.current.useState(t)};K.useSyncExternalStore=function(t,e,n){return ft.current.useSyncExternalStore(t,e,n)};K.useTransition=function(){return ft.current.useTransition()};K.version="18.3.1";GO.exports=K;var E=GO.exports;const s0=UO(E);/**
|
|
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 YS=E,US=Symbol.for("react.element"),qS=Symbol.for("react.fragment"),GS=Object.prototype.hasOwnProperty,HS=YS.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,KS={key:!0,ref:!0,__self:!0,__source:!0};function o0(t,e,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(i in e)GS.call(e,i)&&!KS.hasOwnProperty(i)&&(r[i]=e[i]);if(t&&t.defaultProps)for(i in e=t.defaultProps,e)r[i]===void 0&&(r[i]=e[i]);return{$$typeof:US,type:t,key:s,ref:o,props:r,_owner:HS.current}}lc.Fragment=qS;lc.jsx=o0;lc.jsxs=o0;qO.exports=lc;var p=qO.exports,ca={},l0={exports:{}},Zt={},a0={exports:{}},c0={};/**
|
|
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(t){function e(M,_){var B=M.length;M.push(_);e:for(;0<B;){var F=B-1>>>1,q=M[F];if(0<r(q,_))M[F]=_,M[B]=q,B=F;else break e}}function n(M){return M.length===0?null:M[0]}function i(M){if(M.length===0)return null;var _=M[0],B=M.pop();if(B!==_){M[0]=B;e:for(var F=0,q=M.length,se=q>>>1;F<se;){var ue=2*(F+1)-1,be=M[ue],te=ue+1,He=M[te];if(0>r(be,B))te<q&&0>r(He,be)?(M[F]=He,M[te]=B,F=te):(M[F]=be,M[ue]=B,F=ue);else if(te<q&&0>r(He,B))M[F]=He,M[te]=B,F=te;else break e}}return _}function r(M,_){var B=M.sortIndex-_.sortIndex;return B!==0?B:M.id-_.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var a=[],c=[],u=1,h=null,f=3,d=!1,m=!1,y=!1,v=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function x(M){for(var _=n(c);_!==null;){if(_.callback===null)i(c);else if(_.startTime<=M)i(c),_.sortIndex=_.expirationTime,e(a,_);else break;_=n(c)}}function S(M){if(y=!1,x(M),!m)if(n(a)!==null)m=!0,ce(k);else{var _=n(c);_!==null&&U(S,_.startTime-M)}}function k(M,_){m=!1,y&&(y=!1,O(T),T=-1),d=!0;var B=f;try{for(x(_),h=n(a);h!==null&&(!(h.expirationTime>_)||M&&!P());){var F=h.callback;if(typeof F=="function"){h.callback=null,f=h.priorityLevel;var q=F(h.expirationTime<=_);_=t.unstable_now(),typeof q=="function"?h.callback=q:h===n(a)&&i(a),x(_)}else i(a);h=n(a)}if(h!==null)var se=!0;else{var ue=n(c);ue!==null&&U(S,ue.startTime-_),se=!1}return se}finally{h=null,f=B,d=!1}}var b=!1,Q=null,T=-1,X=5,$=-1;function P(){return!(t.unstable_now()-$<X)}function A(){if(Q!==null){var M=t.unstable_now();$=M;var _=!0;try{_=Q(!0,M)}finally{_?N():(b=!1,Q=null)}}else b=!1}var N;if(typeof g=="function")N=function(){g(A)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,V=z.port2;z.port1.onmessage=A,N=function(){V.postMessage(null)}}else N=function(){v(A,0)};function ce(M){Q=M,b||(b=!0,N())}function U(M,_){T=v(function(){M(t.unstable_now())},_)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(M){M.callback=null},t.unstable_continueExecution=function(){m||d||(m=!0,ce(k))},t.unstable_forceFrameRate=function(M){0>M||125<M?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):X=0<M?Math.floor(1e3/M):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return n(a)},t.unstable_next=function(M){switch(f){case 1:case 2:case 3:var _=3;break;default:_=f}var B=f;f=_;try{return M()}finally{f=B}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(M,_){switch(M){case 1:case 2:case 3:case 4:case 5:break;default:M=3}var B=f;f=M;try{return _()}finally{f=B}},t.unstable_scheduleCallback=function(M,_,B){var F=t.unstable_now();switch(typeof B=="object"&&B!==null?(B=B.delay,B=typeof B=="number"&&0<B?F+B:F):B=F,M){case 1:var q=-1;break;case 2:q=250;break;case 5:q=1073741823;break;case 4:q=1e4;break;default:q=5e3}return q=B+q,M={id:u++,callback:_,priorityLevel:M,startTime:B,expirationTime:q,sortIndex:-1},B>F?(M.sortIndex=B,e(c,M),n(a)===null&&M===n(c)&&(y?(O(T),T=-1):y=!0,U(S,B-F))):(M.sortIndex=q,e(a,M),m||d||(m=!0,ce(k))),M},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(M){var _=f;return function(){var B=f;f=_;try{return M.apply(this,arguments)}finally{f=B}}}})(c0);a0.exports=c0;var JS=a0.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 ew=E,jt=JS;function R(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u0=new Set,eo={};function sr(t,e){Ir(t,e),Ir(t+"Capture",e)}function Ir(t,e){for(eo[t]=e,t=0;t<e.length;t++)u0.add(e[t])}var Nn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ju=Object.prototype.hasOwnProperty,tw=/^[: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]*$/,Ap={},Mp={};function nw(t){return Ju.call(Mp,t)?!0:Ju.call(Ap,t)?!1:tw.test(t)?Mp[t]=!0:(Ap[t]=!0,!1)}function iw(t,e,n,i){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function rw(t,e,n,i){if(e===null||typeof e>"u"||iw(t,e,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function dt(t,e,n,i,r,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var Ge={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Ge[t]=new dt(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Ge[e]=new dt(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Ge[t]=new dt(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Ge[t]=new dt(t,2,!1,t,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(t){Ge[t]=new dt(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Ge[t]=new dt(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Ge[t]=new dt(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Ge[t]=new dt(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Ge[t]=new dt(t,5,!1,t.toLowerCase(),null,!1,!1)});var Kf=/[\-:]([a-z])/g;function Jf(t){return t[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(t){var e=t.replace(Kf,Jf);Ge[e]=new dt(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Kf,Jf);Ge[e]=new dt(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Kf,Jf);Ge[e]=new dt(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Ge[t]=new dt(t,1,!1,t.toLowerCase(),null,!1,!1)});Ge.xlinkHref=new dt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Ge[t]=new dt(t,1,!1,t.toLowerCase(),null,!0,!0)});function ed(t,e,n,i){var r=Ge.hasOwnProperty(e)?Ge[e]:null;(r!==null?r.type!==0:i||!(2<e.length)||e[0]!=="o"&&e[0]!=="O"||e[1]!=="n"&&e[1]!=="N")&&(rw(e,n,r,i)&&(n=null),i||r===null?nw(e)&&(n===null?t.removeAttribute(e):t.setAttribute(e,""+n)):r.mustUseProperty?t[r.propertyName]=n===null?r.type===3?!1:"":n:(e=r.attributeName,i=r.attributeNamespace,n===null?t.removeAttribute(e):(r=r.type,n=r===3||r===4&&n===!0?"":""+n,i?t.setAttributeNS(i,e,n):t.setAttribute(e,n))))}var qn=ew.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,el=Symbol.for("react.element"),fr=Symbol.for("react.portal"),dr=Symbol.for("react.fragment"),td=Symbol.for("react.strict_mode"),eh=Symbol.for("react.profiler"),h0=Symbol.for("react.provider"),f0=Symbol.for("react.context"),nd=Symbol.for("react.forward_ref"),th=Symbol.for("react.suspense"),nh=Symbol.for("react.suspense_list"),id=Symbol.for("react.memo"),ei=Symbol.for("react.lazy"),d0=Symbol.for("react.offscreen"),Rp=Symbol.iterator;function ds(t){return t===null||typeof t!="object"?null:(t=Rp&&t[Rp]||t["@@iterator"],typeof t=="function"?t:null)}var we=Object.assign,Yc;function Ts(t){if(Yc===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);Yc=e&&e[1]||""}return`
|
|
34
|
+
`+Yc+t}var Uc=!1;function qc(t,e){if(!t||Uc)return"";Uc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(c){var i=c}Reflect.construct(t,[],e)}else{try{e.call()}catch(c){i=c}t.call(e.prototype)}else{try{throw Error()}catch(c){i=c}t()}}catch(c){if(c&&i&&typeof c.stack=="string"){for(var r=c.stack.split(`
|
|
35
|
+
`),s=i.stack.split(`
|
|
36
|
+
`),o=r.length-1,l=s.length-1;1<=o&&0<=l&&r[o]!==s[l];)l--;for(;1<=o&&0<=l;o--,l--)if(r[o]!==s[l]){if(o!==1||l!==1)do if(o--,l--,0>l||r[o]!==s[l]){var a=`
|
|
37
|
+
`+r[o].replace(" at new "," at ");return t.displayName&&a.includes("<anonymous>")&&(a=a.replace("<anonymous>",t.displayName)),a}while(1<=o&&0<=l);break}}}finally{Uc=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Ts(t):""}function sw(t){switch(t.tag){case 5:return Ts(t.type);case 16:return Ts("Lazy");case 13:return Ts("Suspense");case 19:return Ts("SuspenseList");case 0:case 2:case 15:return t=qc(t.type,!1),t;case 11:return t=qc(t.type.render,!1),t;case 1:return t=qc(t.type,!0),t;default:return""}}function ih(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case dr:return"Fragment";case fr:return"Portal";case eh:return"Profiler";case td:return"StrictMode";case th:return"Suspense";case nh:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case f0:return(t.displayName||"Context")+".Consumer";case h0:return(t._context.displayName||"Context")+".Provider";case nd:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case id:return e=t.displayName||null,e!==null?e:ih(t.type)||"Memo";case ei:e=t._payload,t=t._init;try{return ih(t(e))}catch{}}return null}function ow(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ih(e);case 8:return e===td?"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 e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Si(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function p0(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function lw(t){var e=p0(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),i=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function tl(t){t._valueTracker||(t._valueTracker=lw(t))}function m0(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),i="";return t&&(i=p0(t)?t.checked?"true":"false":t.value),t=i,t!==n?(e.setValue(t),!0):!1}function ua(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function rh(t,e){var n=e.checked;return we({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Ep(t,e){var n=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;n=Si(e.value!=null?e.value:n),t._wrapperState={initialChecked:i,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function g0(t,e){e=e.checked,e!=null&&ed(t,"checked",e,!1)}function sh(t,e){g0(t,e);var n=Si(e.value),i=e.type;if(n!=null)i==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(i==="submit"||i==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?oh(t,e.type,n):e.hasOwnProperty("defaultValue")&&oh(t,e.type,Si(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function jp(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function oh(t,e,n){(e!=="number"||ua(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var As=Array.isArray;function Cr(t,e,n,i){if(t=t.options,e){e={};for(var r=0;r<n.length;r++)e["$"+n[r]]=!0;for(n=0;n<t.length;n++)r=e.hasOwnProperty("$"+t[n].value),t[n].selected!==r&&(t[n].selected=r),r&&i&&(t[n].defaultSelected=!0)}else{for(n=""+Si(n),e=null,r=0;r<t.length;r++){if(t[r].value===n){t[r].selected=!0,i&&(t[r].defaultSelected=!0);return}e!==null||t[r].disabled||(e=t[r])}e!==null&&(e.selected=!0)}}function lh(t,e){if(e.dangerouslySetInnerHTML!=null)throw Error(R(91));return we({},e,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function Zp(t,e){var n=e.value;if(n==null){if(n=e.children,e=e.defaultValue,n!=null){if(e!=null)throw Error(R(92));if(As(n)){if(1<n.length)throw Error(R(93));n=n[0]}e=n}e==null&&(e=""),n=e}t._wrapperState={initialValue:Si(n)}}function O0(t,e){var n=Si(e.value),i=Si(e.defaultValue);n!=null&&(n=""+n,n!==t.value&&(t.value=n),e.defaultValue==null&&t.defaultValue!==n&&(t.defaultValue=n)),i!=null&&(t.defaultValue=""+i)}function Dp(t){var e=t.textContent;e===t._wrapperState.initialValue&&e!==""&&e!==null&&(t.value=e)}function y0(t){switch(t){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 ah(t,e){return t==null||t==="http://www.w3.org/1999/xhtml"?y0(e):t==="http://www.w3.org/2000/svg"&&e==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var nl,x0=function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,n,i,r){MSApp.execUnsafeLocalFunction(function(){return t(e,n,i,r)})}:t}(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for(nl=nl||document.createElement("div"),nl.innerHTML="<svg>"+e.valueOf().toString()+"</svg>",e=nl.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function to(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var zs={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},aw=["Webkit","ms","Moz","O"];Object.keys(zs).forEach(function(t){aw.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),zs[e]=zs[t]})});function v0(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||zs.hasOwnProperty(t)&&zs[t]?(""+e).trim():e+"px"}function S0(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=v0(n,e[n],i);n==="float"&&(n="cssFloat"),i?t.setProperty(n,r):t[n]=r}}var cw=we({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 ch(t,e){if(e){if(cw[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(R(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(R(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(R(61))}if(e.style!=null&&typeof e.style!="object")throw Error(R(62))}}function uh(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){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 hh=null;function rd(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var fh=null,Tr=null,Ar=null;function Lp(t){if(t=Xo(t)){if(typeof fh!="function")throw Error(R(280));var e=t.stateNode;e&&(e=fc(e),fh(t.stateNode,t.type,e))}}function w0(t){Tr?Ar?Ar.push(t):Ar=[t]:Tr=t}function k0(){if(Tr){var t=Tr,e=Ar;if(Ar=Tr=null,Lp(t),e)for(t=0;t<e.length;t++)Lp(e[t])}}function b0(t,e){return t(e)}function Q0(){}var Gc=!1;function P0(t,e,n){if(Gc)return t(e,n);Gc=!0;try{return b0(t,e,n)}finally{Gc=!1,(Tr!==null||Ar!==null)&&(Q0(),k0())}}function no(t,e){var n=t.stateNode;if(n===null)return null;var i=fc(n);if(i===null)return null;n=i[e];e:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(t=t.type,i=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!i;break e;default:t=!1}if(t)return null;if(n&&typeof n!="function")throw Error(R(231,e,typeof n));return n}var dh=!1;if(Nn)try{var ps={};Object.defineProperty(ps,"passive",{get:function(){dh=!0}}),window.addEventListener("test",ps,ps),window.removeEventListener("test",ps,ps)}catch{dh=!1}function uw(t,e,n,i,r,s,o,l,a){var c=Array.prototype.slice.call(arguments,3);try{e.apply(n,c)}catch(u){this.onError(u)}}var _s=!1,ha=null,fa=!1,ph=null,hw={onError:function(t){_s=!0,ha=t}};function fw(t,e,n,i,r,s,o,l,a){_s=!1,ha=null,uw.apply(hw,arguments)}function dw(t,e,n,i,r,s,o,l,a){if(fw.apply(this,arguments),_s){if(_s){var c=ha;_s=!1,ha=null}else throw Error(R(198));fa||(fa=!0,ph=c)}}function or(t){var e=t,n=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,e.flags&4098&&(n=e.return),t=e.return;while(t)}return e.tag===3?n:null}function $0(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function zp(t){if(or(t)!==t)throw Error(R(188))}function pw(t){var e=t.alternate;if(!e){if(e=or(t),e===null)throw Error(R(188));return e!==t?null:t}for(var n=t,i=e;;){var r=n.return;if(r===null)break;var s=r.alternate;if(s===null){if(i=r.return,i!==null){n=i;continue}break}if(r.child===s.child){for(s=r.child;s;){if(s===n)return zp(r),t;if(s===i)return zp(r),e;s=s.sibling}throw Error(R(188))}if(n.return!==i.return)n=r,i=s;else{for(var o=!1,l=r.child;l;){if(l===n){o=!0,n=r,i=s;break}if(l===i){o=!0,i=r,n=s;break}l=l.sibling}if(!o){for(l=s.child;l;){if(l===n){o=!0,n=s,i=r;break}if(l===i){o=!0,i=s,n=r;break}l=l.sibling}if(!o)throw Error(R(189))}}if(n.alternate!==i)throw Error(R(190))}if(n.tag!==3)throw Error(R(188));return n.stateNode.current===n?t:e}function C0(t){return t=pw(t),t!==null?T0(t):null}function T0(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var e=T0(t);if(e!==null)return e;t=t.sibling}return null}var A0=jt.unstable_scheduleCallback,_p=jt.unstable_cancelCallback,mw=jt.unstable_shouldYield,gw=jt.unstable_requestPaint,Pe=jt.unstable_now,Ow=jt.unstable_getCurrentPriorityLevel,sd=jt.unstable_ImmediatePriority,M0=jt.unstable_UserBlockingPriority,da=jt.unstable_NormalPriority,yw=jt.unstable_LowPriority,R0=jt.unstable_IdlePriority,ac=null,Qn=null;function xw(t){if(Qn&&typeof Qn.onCommitFiberRoot=="function")try{Qn.onCommitFiberRoot(ac,t,void 0,(t.current.flags&128)===128)}catch{}}var rn=Math.clz32?Math.clz32:ww,vw=Math.log,Sw=Math.LN2;function ww(t){return t>>>=0,t===0?32:31-(vw(t)/Sw|0)|0}var il=64,rl=4194304;function Ms(t){switch(t&-t){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 t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function pa(t,e){var n=t.pendingLanes;if(n===0)return 0;var i=0,r=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Ms(l):(s&=o,s!==0&&(i=Ms(s)))}else o=n&~r,o!==0?i=Ms(o):s!==0&&(i=Ms(s));if(i===0)return 0;if(e!==0&&e!==i&&!(e&r)&&(r=i&-i,s=e&-e,r>=s||r===16&&(s&4194240)!==0))return e;if(i&4&&(i|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=i;0<e;)n=31-rn(e),r=1<<n,i|=t[n],e&=~r;return i}function kw(t,e){switch(t){case 1:case 2:case 4:return e+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 e+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 bw(t,e){for(var n=t.suspendedLanes,i=t.pingedLanes,r=t.expirationTimes,s=t.pendingLanes;0<s;){var o=31-rn(s),l=1<<o,a=r[o];a===-1?(!(l&n)||l&i)&&(r[o]=kw(l,e)):a<=e&&(t.expiredLanes|=l),s&=~l}}function mh(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function E0(){var t=il;return il<<=1,!(il&4194240)&&(il=64),t}function Hc(t){for(var e=[],n=0;31>n;n++)e.push(t);return e}function zo(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-rn(e),t[e]=n}function Qw(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var i=t.eventTimes;for(t=t.expirationTimes;0<n;){var r=31-rn(n),s=1<<r;e[r]=0,i[r]=-1,t[r]=-1,n&=~s}}function od(t,e){var n=t.entangledLanes|=e;for(t=t.entanglements;n;){var i=31-rn(n),r=1<<i;r&e|t[i]&e&&(t[i]|=e),n&=~r}}var oe=0;function j0(t){return t&=-t,1<t?4<t?t&268435455?16:536870912:4:1}var Z0,ld,D0,L0,z0,gh=!1,sl=[],fi=null,di=null,pi=null,io=new Map,ro=new Map,si=[],Pw="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 Xp(t,e){switch(t){case"focusin":case"focusout":fi=null;break;case"dragenter":case"dragleave":di=null;break;case"mouseover":case"mouseout":pi=null;break;case"pointerover":case"pointerout":io.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":ro.delete(e.pointerId)}}function ms(t,e,n,i,r,s){return t===null||t.nativeEvent!==s?(t={blockedOn:e,domEventName:n,eventSystemFlags:i,nativeEvent:s,targetContainers:[r]},e!==null&&(e=Xo(e),e!==null&&ld(e)),t):(t.eventSystemFlags|=i,e=t.targetContainers,r!==null&&e.indexOf(r)===-1&&e.push(r),t)}function $w(t,e,n,i,r){switch(e){case"focusin":return fi=ms(fi,t,e,n,i,r),!0;case"dragenter":return di=ms(di,t,e,n,i,r),!0;case"mouseover":return pi=ms(pi,t,e,n,i,r),!0;case"pointerover":var s=r.pointerId;return io.set(s,ms(io.get(s)||null,t,e,n,i,r)),!0;case"gotpointercapture":return s=r.pointerId,ro.set(s,ms(ro.get(s)||null,t,e,n,i,r)),!0}return!1}function _0(t){var e=_i(t.target);if(e!==null){var n=or(e);if(n!==null){if(e=n.tag,e===13){if(e=$0(n),e!==null){t.blockedOn=e,z0(t.priority,function(){D0(n)});return}}else if(e===3&&n.stateNode.current.memoizedState.isDehydrated){t.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Nl(t){if(t.blockedOn!==null)return!1;for(var e=t.targetContainers;0<e.length;){var n=Oh(t.domEventName,t.eventSystemFlags,e[0],t.nativeEvent);if(n===null){n=t.nativeEvent;var i=new n.constructor(n.type,n);hh=i,n.target.dispatchEvent(i),hh=null}else return e=Xo(n),e!==null&&ld(e),t.blockedOn=n,!1;e.shift()}return!0}function Ip(t,e,n){Nl(t)&&n.delete(e)}function Cw(){gh=!1,fi!==null&&Nl(fi)&&(fi=null),di!==null&&Nl(di)&&(di=null),pi!==null&&Nl(pi)&&(pi=null),io.forEach(Ip),ro.forEach(Ip)}function gs(t,e){t.blockedOn===e&&(t.blockedOn=null,gh||(gh=!0,jt.unstable_scheduleCallback(jt.unstable_NormalPriority,Cw)))}function so(t){function e(r){return gs(r,t)}if(0<sl.length){gs(sl[0],t);for(var n=1;n<sl.length;n++){var i=sl[n];i.blockedOn===t&&(i.blockedOn=null)}}for(fi!==null&&gs(fi,t),di!==null&&gs(di,t),pi!==null&&gs(pi,t),io.forEach(e),ro.forEach(e),n=0;n<si.length;n++)i=si[n],i.blockedOn===t&&(i.blockedOn=null);for(;0<si.length&&(n=si[0],n.blockedOn===null);)_0(n),n.blockedOn===null&&si.shift()}var Mr=qn.ReactCurrentBatchConfig,ma=!0;function Tw(t,e,n,i){var r=oe,s=Mr.transition;Mr.transition=null;try{oe=1,ad(t,e,n,i)}finally{oe=r,Mr.transition=s}}function Aw(t,e,n,i){var r=oe,s=Mr.transition;Mr.transition=null;try{oe=4,ad(t,e,n,i)}finally{oe=r,Mr.transition=s}}function ad(t,e,n,i){if(ma){var r=Oh(t,e,n,i);if(r===null)lu(t,e,i,ga,n),Xp(t,i);else if($w(r,t,e,n,i))i.stopPropagation();else if(Xp(t,i),e&4&&-1<Pw.indexOf(t)){for(;r!==null;){var s=Xo(r);if(s!==null&&Z0(s),s=Oh(t,e,n,i),s===null&&lu(t,e,i,ga,n),s===r)break;r=s}r!==null&&i.stopPropagation()}else lu(t,e,i,null,n)}}var ga=null;function Oh(t,e,n,i){if(ga=null,t=rd(i),t=_i(t),t!==null)if(e=or(t),e===null)t=null;else if(n=e.tag,n===13){if(t=$0(e),t!==null)return t;t=null}else if(n===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;t=null}else e!==t&&(t=null);return ga=t,null}function X0(t){switch(t){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(Ow()){case sd:return 1;case M0:return 4;case da:case yw:return 16;case R0:return 536870912;default:return 16}default:return 16}}var ai=null,cd=null,Bl=null;function I0(){if(Bl)return Bl;var t,e=cd,n=e.length,i,r="value"in ai?ai.value:ai.textContent,s=r.length;for(t=0;t<n&&e[t]===r[t];t++);var o=n-t;for(i=1;i<=o&&e[n-i]===r[s-i];i++);return Bl=r.slice(t,1<i?1-i:void 0)}function Wl(t){var e=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&e===13&&(t=13)):t=e,t===10&&(t=13),32<=t||t===13?t:0}function ol(){return!0}function Np(){return!1}function Dt(t){function e(n,i,r,s,o){this._reactName=n,this._targetInst=r,this.type=i,this.nativeEvent=s,this.target=o,this.currentTarget=null;for(var l in t)t.hasOwnProperty(l)&&(n=t[l],this[l]=n?n(s):s[l]);return this.isDefaultPrevented=(s.defaultPrevented!=null?s.defaultPrevented:s.returnValue===!1)?ol:Np,this.isPropagationStopped=Np,this}return we(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=ol)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=ol)},persist:function(){},isPersistent:ol}),e}var rs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ud=Dt(rs),_o=we({},rs,{view:0,detail:0}),Mw=Dt(_o),Kc,Jc,Os,cc=we({},_o,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:hd,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Os&&(Os&&t.type==="mousemove"?(Kc=t.screenX-Os.screenX,Jc=t.screenY-Os.screenY):Jc=Kc=0,Os=t),Kc)},movementY:function(t){return"movementY"in t?t.movementY:Jc}}),Bp=Dt(cc),Rw=we({},cc,{dataTransfer:0}),Ew=Dt(Rw),jw=we({},_o,{relatedTarget:0}),eu=Dt(jw),Zw=we({},rs,{animationName:0,elapsedTime:0,pseudoElement:0}),Dw=Dt(Zw),Lw=we({},rs,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),zw=Dt(Lw),_w=we({},rs,{data:0}),Wp=Dt(_w),Xw={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Iw={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"},Nw={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Bw(t){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(t):(t=Nw[t])?!!e[t]:!1}function hd(){return Bw}var Ww=we({},_o,{key:function(t){if(t.key){var e=Xw[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=Wl(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?Iw[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:hd,charCode:function(t){return t.type==="keypress"?Wl(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Wl(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),Fw=Dt(Ww),Vw=we({},cc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Fp=Dt(Vw),Yw=we({},_o,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:hd}),Uw=Dt(Yw),qw=we({},rs,{propertyName:0,elapsedTime:0,pseudoElement:0}),Gw=Dt(qw),Hw=we({},cc,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),Kw=Dt(Hw),Jw=[9,13,27,32],fd=Nn&&"CompositionEvent"in window,Xs=null;Nn&&"documentMode"in document&&(Xs=document.documentMode);var ek=Nn&&"TextEvent"in window&&!Xs,N0=Nn&&(!fd||Xs&&8<Xs&&11>=Xs),Vp=" ",Yp=!1;function B0(t,e){switch(t){case"keyup":return Jw.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function W0(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var pr=!1;function tk(t,e){switch(t){case"compositionend":return W0(e);case"keypress":return e.which!==32?null:(Yp=!0,Vp);case"textInput":return t=e.data,t===Vp&&Yp?null:t;default:return null}}function nk(t,e){if(pr)return t==="compositionend"||!fd&&B0(t,e)?(t=I0(),Bl=cd=ai=null,pr=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return N0&&e.locale!=="ko"?null:e.data;default:return null}}var ik={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 Up(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e==="input"?!!ik[t.type]:e==="textarea"}function F0(t,e,n,i){w0(i),e=Oa(e,"onChange"),0<e.length&&(n=new ud("onChange","change",null,n,i),t.push({event:n,listeners:e}))}var Is=null,oo=null;function rk(t){ny(t,0)}function uc(t){var e=Or(t);if(m0(e))return t}function sk(t,e){if(t==="change")return e}var V0=!1;if(Nn){var tu;if(Nn){var nu="oninput"in document;if(!nu){var qp=document.createElement("div");qp.setAttribute("oninput","return;"),nu=typeof qp.oninput=="function"}tu=nu}else tu=!1;V0=tu&&(!document.documentMode||9<document.documentMode)}function Gp(){Is&&(Is.detachEvent("onpropertychange",Y0),oo=Is=null)}function Y0(t){if(t.propertyName==="value"&&uc(oo)){var e=[];F0(e,oo,t,rd(t)),P0(rk,e)}}function ok(t,e,n){t==="focusin"?(Gp(),Is=e,oo=n,Is.attachEvent("onpropertychange",Y0)):t==="focusout"&&Gp()}function lk(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return uc(oo)}function ak(t,e){if(t==="click")return uc(e)}function ck(t,e){if(t==="input"||t==="change")return uc(e)}function uk(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var on=typeof Object.is=="function"?Object.is:uk;function lo(t,e){if(on(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;var n=Object.keys(t),i=Object.keys(e);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var r=n[i];if(!Ju.call(e,r)||!on(t[r],e[r]))return!1}return!0}function Hp(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Kp(t,e){var n=Hp(t);t=0;for(var i;n;){if(n.nodeType===3){if(i=t+n.textContent.length,t<=e&&i>=e)return{node:n,offset:e-t};t=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Hp(n)}}function U0(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?U0(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function q0(){for(var t=window,e=ua();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=ua(t.document)}return e}function dd(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function hk(t){var e=q0(),n=t.focusedElem,i=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&U0(n.ownerDocument.documentElement,n)){if(i!==null&&dd(n)){if(e=i.start,t=i.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!t.extend&&s>i&&(r=i,i=s,s=r),r=Kp(n,s);var o=Kp(n,i);r&&o&&(t.rangeCount!==1||t.anchorNode!==r.node||t.anchorOffset!==r.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),t.removeAllRanges(),s>i?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<e.length;n++)t=e[n],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var fk=Nn&&"documentMode"in document&&11>=document.documentMode,mr=null,yh=null,Ns=null,xh=!1;function Jp(t,e,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;xh||mr==null||mr!==ua(i)||(i=mr,"selectionStart"in i&&dd(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Ns&&lo(Ns,i)||(Ns=i,i=Oa(yh,"onSelect"),0<i.length&&(e=new ud("onSelect","select",null,e,n),t.push({event:e,listeners:i}),e.target=mr)))}function ll(t,e){var n={};return n[t.toLowerCase()]=e.toLowerCase(),n["Webkit"+t]="webkit"+e,n["Moz"+t]="moz"+e,n}var gr={animationend:ll("Animation","AnimationEnd"),animationiteration:ll("Animation","AnimationIteration"),animationstart:ll("Animation","AnimationStart"),transitionend:ll("Transition","TransitionEnd")},iu={},G0={};Nn&&(G0=document.createElement("div").style,"AnimationEvent"in window||(delete gr.animationend.animation,delete gr.animationiteration.animation,delete gr.animationstart.animation),"TransitionEvent"in window||delete gr.transitionend.transition);function hc(t){if(iu[t])return iu[t];if(!gr[t])return t;var e=gr[t],n;for(n in e)if(e.hasOwnProperty(n)&&n in G0)return iu[t]=e[n];return t}var H0=hc("animationend"),K0=hc("animationiteration"),J0=hc("animationstart"),ey=hc("transitionend"),ty=new Map,em="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 Ci(t,e){ty.set(t,e),sr(e,[t])}for(var ru=0;ru<em.length;ru++){var su=em[ru],dk=su.toLowerCase(),pk=su[0].toUpperCase()+su.slice(1);Ci(dk,"on"+pk)}Ci(H0,"onAnimationEnd");Ci(K0,"onAnimationIteration");Ci(J0,"onAnimationStart");Ci("dblclick","onDoubleClick");Ci("focusin","onFocus");Ci("focusout","onBlur");Ci(ey,"onTransitionEnd");Ir("onMouseEnter",["mouseout","mouseover"]);Ir("onMouseLeave",["mouseout","mouseover"]);Ir("onPointerEnter",["pointerout","pointerover"]);Ir("onPointerLeave",["pointerout","pointerover"]);sr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));sr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));sr("onBeforeInput",["compositionend","keypress","textInput","paste"]);sr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));sr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));sr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rs="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(" "),mk=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rs));function tm(t,e,n){var i=t.type||"unknown-event";t.currentTarget=n,dw(i,e,void 0,t),t.currentTarget=null}function ny(t,e){e=(e&4)!==0;for(var n=0;n<t.length;n++){var i=t[n],r=i.event;i=i.listeners;e:{var s=void 0;if(e)for(var o=i.length-1;0<=o;o--){var l=i[o],a=l.instance,c=l.currentTarget;if(l=l.listener,a!==s&&r.isPropagationStopped())break e;tm(r,l,c),s=a}else for(o=0;o<i.length;o++){if(l=i[o],a=l.instance,c=l.currentTarget,l=l.listener,a!==s&&r.isPropagationStopped())break e;tm(r,l,c),s=a}}}if(fa)throw t=ph,fa=!1,ph=null,t}function pe(t,e){var n=e[bh];n===void 0&&(n=e[bh]=new Set);var i=t+"__bubble";n.has(i)||(iy(e,t,2,!1),n.add(i))}function ou(t,e,n){var i=0;e&&(i|=4),iy(n,t,i,e)}var al="_reactListening"+Math.random().toString(36).slice(2);function ao(t){if(!t[al]){t[al]=!0,u0.forEach(function(n){n!=="selectionchange"&&(mk.has(n)||ou(n,!1,t),ou(n,!0,t))});var e=t.nodeType===9?t:t.ownerDocument;e===null||e[al]||(e[al]=!0,ou("selectionchange",!1,e))}}function iy(t,e,n,i){switch(X0(e)){case 1:var r=Tw;break;case 4:r=Aw;break;default:r=ad}n=r.bind(null,e,n,t),r=void 0,!dh||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(r=!0),i?r!==void 0?t.addEventListener(e,n,{capture:!0,passive:r}):t.addEventListener(e,n,!0):r!==void 0?t.addEventListener(e,n,{passive:r}):t.addEventListener(e,n,!1)}function lu(t,e,n,i,r){var s=i;if(!(e&1)&&!(e&2)&&i!==null)e:for(;;){if(i===null)return;var o=i.tag;if(o===3||o===4){var l=i.stateNode.containerInfo;if(l===r||l.nodeType===8&&l.parentNode===r)break;if(o===4)for(o=i.return;o!==null;){var a=o.tag;if((a===3||a===4)&&(a=o.stateNode.containerInfo,a===r||a.nodeType===8&&a.parentNode===r))return;o=o.return}for(;l!==null;){if(o=_i(l),o===null)return;if(a=o.tag,a===5||a===6){i=s=o;continue e}l=l.parentNode}}i=i.return}P0(function(){var c=s,u=rd(n),h=[];e:{var f=ty.get(t);if(f!==void 0){var d=ud,m=t;switch(t){case"keypress":if(Wl(n)===0)break e;case"keydown":case"keyup":d=Fw;break;case"focusin":m="focus",d=eu;break;case"focusout":m="blur",d=eu;break;case"beforeblur":case"afterblur":d=eu;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":d=Bp;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":d=Ew;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":d=Uw;break;case H0:case K0:case J0:d=Dw;break;case ey:d=Gw;break;case"scroll":d=Mw;break;case"wheel":d=Kw;break;case"copy":case"cut":case"paste":d=zw;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":d=Fp}var y=(e&4)!==0,v=!y&&t==="scroll",O=y?f!==null?f+"Capture":null:f;y=[];for(var g=c,x;g!==null;){x=g;var S=x.stateNode;if(x.tag===5&&S!==null&&(x=S,O!==null&&(S=no(g,O),S!=null&&y.push(co(g,S,x)))),v)break;g=g.return}0<y.length&&(f=new d(f,m,null,n,u),h.push({event:f,listeners:y}))}}if(!(e&7)){e:{if(f=t==="mouseover"||t==="pointerover",d=t==="mouseout"||t==="pointerout",f&&n!==hh&&(m=n.relatedTarget||n.fromElement)&&(_i(m)||m[Bn]))break e;if((d||f)&&(f=u.window===u?u:(f=u.ownerDocument)?f.defaultView||f.parentWindow:window,d?(m=n.relatedTarget||n.toElement,d=c,m=m?_i(m):null,m!==null&&(v=or(m),m!==v||m.tag!==5&&m.tag!==6)&&(m=null)):(d=null,m=c),d!==m)){if(y=Bp,S="onMouseLeave",O="onMouseEnter",g="mouse",(t==="pointerout"||t==="pointerover")&&(y=Fp,S="onPointerLeave",O="onPointerEnter",g="pointer"),v=d==null?f:Or(d),x=m==null?f:Or(m),f=new y(S,g+"leave",d,n,u),f.target=v,f.relatedTarget=x,S=null,_i(u)===c&&(y=new y(O,g+"enter",m,n,u),y.target=x,y.relatedTarget=v,S=y),v=S,d&&m)t:{for(y=d,O=m,g=0,x=y;x;x=cr(x))g++;for(x=0,S=O;S;S=cr(S))x++;for(;0<g-x;)y=cr(y),g--;for(;0<x-g;)O=cr(O),x--;for(;g--;){if(y===O||O!==null&&y===O.alternate)break t;y=cr(y),O=cr(O)}y=null}else y=null;d!==null&&nm(h,f,d,y,!1),m!==null&&v!==null&&nm(h,v,m,y,!0)}}e:{if(f=c?Or(c):window,d=f.nodeName&&f.nodeName.toLowerCase(),d==="select"||d==="input"&&f.type==="file")var k=sk;else if(Up(f))if(V0)k=ck;else{k=lk;var b=ok}else(d=f.nodeName)&&d.toLowerCase()==="input"&&(f.type==="checkbox"||f.type==="radio")&&(k=ak);if(k&&(k=k(t,c))){F0(h,k,n,u);break e}b&&b(t,f,c),t==="focusout"&&(b=f._wrapperState)&&b.controlled&&f.type==="number"&&oh(f,"number",f.value)}switch(b=c?Or(c):window,t){case"focusin":(Up(b)||b.contentEditable==="true")&&(mr=b,yh=c,Ns=null);break;case"focusout":Ns=yh=mr=null;break;case"mousedown":xh=!0;break;case"contextmenu":case"mouseup":case"dragend":xh=!1,Jp(h,n,u);break;case"selectionchange":if(fk)break;case"keydown":case"keyup":Jp(h,n,u)}var Q;if(fd)e:{switch(t){case"compositionstart":var T="onCompositionStart";break e;case"compositionend":T="onCompositionEnd";break e;case"compositionupdate":T="onCompositionUpdate";break e}T=void 0}else pr?B0(t,n)&&(T="onCompositionEnd"):t==="keydown"&&n.keyCode===229&&(T="onCompositionStart");T&&(N0&&n.locale!=="ko"&&(pr||T!=="onCompositionStart"?T==="onCompositionEnd"&&pr&&(Q=I0()):(ai=u,cd="value"in ai?ai.value:ai.textContent,pr=!0)),b=Oa(c,T),0<b.length&&(T=new Wp(T,t,null,n,u),h.push({event:T,listeners:b}),Q?T.data=Q:(Q=W0(n),Q!==null&&(T.data=Q)))),(Q=ek?tk(t,n):nk(t,n))&&(c=Oa(c,"onBeforeInput"),0<c.length&&(u=new Wp("onBeforeInput","beforeinput",null,n,u),h.push({event:u,listeners:c}),u.data=Q))}ny(h,e)})}function co(t,e,n){return{instance:t,listener:e,currentTarget:n}}function Oa(t,e){for(var n=e+"Capture",i=[];t!==null;){var r=t,s=r.stateNode;r.tag===5&&s!==null&&(r=s,s=no(t,n),s!=null&&i.unshift(co(t,s,r)),s=no(t,e),s!=null&&i.push(co(t,s,r))),t=t.return}return i}function cr(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function nm(t,e,n,i,r){for(var s=e._reactName,o=[];n!==null&&n!==i;){var l=n,a=l.alternate,c=l.stateNode;if(a!==null&&a===i)break;l.tag===5&&c!==null&&(l=c,r?(a=no(n,s),a!=null&&o.unshift(co(n,a,l))):r||(a=no(n,s),a!=null&&o.push(co(n,a,l)))),n=n.return}o.length!==0&&t.push({event:e,listeners:o})}var gk=/\r\n?/g,Ok=/\u0000|\uFFFD/g;function im(t){return(typeof t=="string"?t:""+t).replace(gk,`
|
|
38
|
+
`).replace(Ok,"")}function cl(t,e,n){if(e=im(e),im(t)!==e&&n)throw Error(R(425))}function ya(){}var vh=null,Sh=null;function wh(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var kh=typeof setTimeout=="function"?setTimeout:void 0,yk=typeof clearTimeout=="function"?clearTimeout:void 0,rm=typeof Promise=="function"?Promise:void 0,xk=typeof queueMicrotask=="function"?queueMicrotask:typeof rm<"u"?function(t){return rm.resolve(null).then(t).catch(vk)}:kh;function vk(t){setTimeout(function(){throw t})}function au(t,e){var n=e,i=0;do{var r=n.nextSibling;if(t.removeChild(n),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(i===0){t.removeChild(r),so(e);return}i--}else n!=="$"&&n!=="$?"&&n!=="$!"||i++;n=r}while(n);so(e)}function mi(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?")break;if(e==="/$")return null}}return t}function sm(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"){if(e===0)return t;e--}else n==="/$"&&e++}t=t.previousSibling}return null}var ss=Math.random().toString(36).slice(2),yn="__reactFiber$"+ss,uo="__reactProps$"+ss,Bn="__reactContainer$"+ss,bh="__reactEvents$"+ss,Sk="__reactListeners$"+ss,wk="__reactHandles$"+ss;function _i(t){var e=t[yn];if(e)return e;for(var n=t.parentNode;n;){if(e=n[Bn]||n[yn]){if(n=e.alternate,e.child!==null||n!==null&&n.child!==null)for(t=sm(t);t!==null;){if(n=t[yn])return n;t=sm(t)}return e}t=n,n=t.parentNode}return null}function Xo(t){return t=t[yn]||t[Bn],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function Or(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(R(33))}function fc(t){return t[uo]||null}var Qh=[],yr=-1;function Ti(t){return{current:t}}function ge(t){0>yr||(t.current=Qh[yr],Qh[yr]=null,yr--)}function de(t,e){yr++,Qh[yr]=t.current,t.current=e}var wi={},it=Ti(wi),St=Ti(!1),qi=wi;function Nr(t,e){var n=t.type.contextTypes;if(!n)return wi;var i=t.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=e[s];return i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=r),r}function wt(t){return t=t.childContextTypes,t!=null}function xa(){ge(St),ge(it)}function om(t,e,n){if(it.current!==wi)throw Error(R(168));de(it,e),de(St,n)}function ry(t,e,n){var i=t.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in e))throw Error(R(108,ow(t)||"Unknown",r));return we({},n,i)}function va(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||wi,qi=it.current,de(it,t),de(St,St.current),!0}function lm(t,e,n){var i=t.stateNode;if(!i)throw Error(R(169));n?(t=ry(t,e,qi),i.__reactInternalMemoizedMergedChildContext=t,ge(St),ge(it),de(it,t)):ge(St),de(St,n)}var jn=null,dc=!1,cu=!1;function sy(t){jn===null?jn=[t]:jn.push(t)}function kk(t){dc=!0,sy(t)}function Ai(){if(!cu&&jn!==null){cu=!0;var t=0,e=oe;try{var n=jn;for(oe=1;t<n.length;t++){var i=n[t];do i=i(!0);while(i!==null)}jn=null,dc=!1}catch(r){throw jn!==null&&(jn=jn.slice(t+1)),A0(sd,Ai),r}finally{oe=e,cu=!1}}return null}var xr=[],vr=0,Sa=null,wa=0,zt=[],_t=0,Gi=null,Ln=1,zn="";function ji(t,e){xr[vr++]=wa,xr[vr++]=Sa,Sa=t,wa=e}function oy(t,e,n){zt[_t++]=Ln,zt[_t++]=zn,zt[_t++]=Gi,Gi=t;var i=Ln;t=zn;var r=32-rn(i)-1;i&=~(1<<r),n+=1;var s=32-rn(e)+r;if(30<s){var o=r-r%5;s=(i&(1<<o)-1).toString(32),i>>=o,r-=o,Ln=1<<32-rn(e)+r|n<<r|i,zn=s+t}else Ln=1<<s|n<<r|i,zn=t}function pd(t){t.return!==null&&(ji(t,1),oy(t,1,0))}function md(t){for(;t===Sa;)Sa=xr[--vr],xr[vr]=null,wa=xr[--vr],xr[vr]=null;for(;t===Gi;)Gi=zt[--_t],zt[_t]=null,zn=zt[--_t],zt[_t]=null,Ln=zt[--_t],zt[_t]=null}var Et=null,Mt=null,ye=!1,tn=null;function ly(t,e){var n=It(5,null,null,0);n.elementType="DELETED",n.stateNode=e,n.return=t,e=t.deletions,e===null?(t.deletions=[n],t.flags|=16):e.push(n)}function am(t,e){switch(t.tag){case 5:var n=t.type;return e=e.nodeType!==1||n.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(t.stateNode=e,Et=t,Mt=mi(e.firstChild),!0):!1;case 6:return e=t.pendingProps===""||e.nodeType!==3?null:e,e!==null?(t.stateNode=e,Et=t,Mt=null,!0):!1;case 13:return e=e.nodeType!==8?null:e,e!==null?(n=Gi!==null?{id:Ln,overflow:zn}:null,t.memoizedState={dehydrated:e,treeContext:n,retryLane:1073741824},n=It(18,null,null,0),n.stateNode=e,n.return=t,t.child=n,Et=t,Mt=null,!0):!1;default:return!1}}function Ph(t){return(t.mode&1)!==0&&(t.flags&128)===0}function $h(t){if(ye){var e=Mt;if(e){var n=e;if(!am(t,e)){if(Ph(t))throw Error(R(418));e=mi(n.nextSibling);var i=Et;e&&am(t,e)?ly(i,n):(t.flags=t.flags&-4097|2,ye=!1,Et=t)}}else{if(Ph(t))throw Error(R(418));t.flags=t.flags&-4097|2,ye=!1,Et=t}}}function cm(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;Et=t}function ul(t){if(t!==Et)return!1;if(!ye)return cm(t),ye=!0,!1;var e;if((e=t.tag!==3)&&!(e=t.tag!==5)&&(e=t.type,e=e!=="head"&&e!=="body"&&!wh(t.type,t.memoizedProps)),e&&(e=Mt)){if(Ph(t))throw ay(),Error(R(418));for(;e;)ly(t,e),e=mi(e.nextSibling)}if(cm(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(R(317));e:{for(t=t.nextSibling,e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"){if(e===0){Mt=mi(t.nextSibling);break e}e--}else n!=="$"&&n!=="$!"&&n!=="$?"||e++}t=t.nextSibling}Mt=null}}else Mt=Et?mi(t.stateNode.nextSibling):null;return!0}function ay(){for(var t=Mt;t;)t=mi(t.nextSibling)}function Br(){Mt=Et=null,ye=!1}function gd(t){tn===null?tn=[t]:tn.push(t)}var bk=qn.ReactCurrentBatchConfig;function ys(t,e,n){if(t=n.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(R(309));var i=n.stateNode}if(!i)throw Error(R(147,t));var r=i,s=""+t;return e!==null&&e.ref!==null&&typeof e.ref=="function"&&e.ref._stringRef===s?e.ref:(e=function(o){var l=r.refs;o===null?delete l[s]:l[s]=o},e._stringRef=s,e)}if(typeof t!="string")throw Error(R(284));if(!n._owner)throw Error(R(290,t))}return t}function hl(t,e){throw t=Object.prototype.toString.call(e),Error(R(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t))}function um(t){var e=t._init;return e(t._payload)}function cy(t){function e(O,g){if(t){var x=O.deletions;x===null?(O.deletions=[g],O.flags|=16):x.push(g)}}function n(O,g){if(!t)return null;for(;g!==null;)e(O,g),g=g.sibling;return null}function i(O,g){for(O=new Map;g!==null;)g.key!==null?O.set(g.key,g):O.set(g.index,g),g=g.sibling;return O}function r(O,g){return O=xi(O,g),O.index=0,O.sibling=null,O}function s(O,g,x){return O.index=x,t?(x=O.alternate,x!==null?(x=x.index,x<g?(O.flags|=2,g):x):(O.flags|=2,g)):(O.flags|=1048576,g)}function o(O){return t&&O.alternate===null&&(O.flags|=2),O}function l(O,g,x,S){return g===null||g.tag!==6?(g=gu(x,O.mode,S),g.return=O,g):(g=r(g,x),g.return=O,g)}function a(O,g,x,S){var k=x.type;return k===dr?u(O,g,x.props.children,S,x.key):g!==null&&(g.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ei&&um(k)===g.type)?(S=r(g,x.props),S.ref=ys(O,g,x),S.return=O,S):(S=Hl(x.type,x.key,x.props,null,O.mode,S),S.ref=ys(O,g,x),S.return=O,S)}function c(O,g,x,S){return g===null||g.tag!==4||g.stateNode.containerInfo!==x.containerInfo||g.stateNode.implementation!==x.implementation?(g=Ou(x,O.mode,S),g.return=O,g):(g=r(g,x.children||[]),g.return=O,g)}function u(O,g,x,S,k){return g===null||g.tag!==7?(g=Fi(x,O.mode,S,k),g.return=O,g):(g=r(g,x),g.return=O,g)}function h(O,g,x){if(typeof g=="string"&&g!==""||typeof g=="number")return g=gu(""+g,O.mode,x),g.return=O,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case el:return x=Hl(g.type,g.key,g.props,null,O.mode,x),x.ref=ys(O,null,g),x.return=O,x;case fr:return g=Ou(g,O.mode,x),g.return=O,g;case ei:var S=g._init;return h(O,S(g._payload),x)}if(As(g)||ds(g))return g=Fi(g,O.mode,x,null),g.return=O,g;hl(O,g)}return null}function f(O,g,x,S){var k=g!==null?g.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return k!==null?null:l(O,g,""+x,S);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case el:return x.key===k?a(O,g,x,S):null;case fr:return x.key===k?c(O,g,x,S):null;case ei:return k=x._init,f(O,g,k(x._payload),S)}if(As(x)||ds(x))return k!==null?null:u(O,g,x,S,null);hl(O,x)}return null}function d(O,g,x,S,k){if(typeof S=="string"&&S!==""||typeof S=="number")return O=O.get(x)||null,l(g,O,""+S,k);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case el:return O=O.get(S.key===null?x:S.key)||null,a(g,O,S,k);case fr:return O=O.get(S.key===null?x:S.key)||null,c(g,O,S,k);case ei:var b=S._init;return d(O,g,x,b(S._payload),k)}if(As(S)||ds(S))return O=O.get(x)||null,u(g,O,S,k,null);hl(g,S)}return null}function m(O,g,x,S){for(var k=null,b=null,Q=g,T=g=0,X=null;Q!==null&&T<x.length;T++){Q.index>T?(X=Q,Q=null):X=Q.sibling;var $=f(O,Q,x[T],S);if($===null){Q===null&&(Q=X);break}t&&Q&&$.alternate===null&&e(O,Q),g=s($,g,T),b===null?k=$:b.sibling=$,b=$,Q=X}if(T===x.length)return n(O,Q),ye&&ji(O,T),k;if(Q===null){for(;T<x.length;T++)Q=h(O,x[T],S),Q!==null&&(g=s(Q,g,T),b===null?k=Q:b.sibling=Q,b=Q);return ye&&ji(O,T),k}for(Q=i(O,Q);T<x.length;T++)X=d(Q,O,T,x[T],S),X!==null&&(t&&X.alternate!==null&&Q.delete(X.key===null?T:X.key),g=s(X,g,T),b===null?k=X:b.sibling=X,b=X);return t&&Q.forEach(function(P){return e(O,P)}),ye&&ji(O,T),k}function y(O,g,x,S){var k=ds(x);if(typeof k!="function")throw Error(R(150));if(x=k.call(x),x==null)throw Error(R(151));for(var b=k=null,Q=g,T=g=0,X=null,$=x.next();Q!==null&&!$.done;T++,$=x.next()){Q.index>T?(X=Q,Q=null):X=Q.sibling;var P=f(O,Q,$.value,S);if(P===null){Q===null&&(Q=X);break}t&&Q&&P.alternate===null&&e(O,Q),g=s(P,g,T),b===null?k=P:b.sibling=P,b=P,Q=X}if($.done)return n(O,Q),ye&&ji(O,T),k;if(Q===null){for(;!$.done;T++,$=x.next())$=h(O,$.value,S),$!==null&&(g=s($,g,T),b===null?k=$:b.sibling=$,b=$);return ye&&ji(O,T),k}for(Q=i(O,Q);!$.done;T++,$=x.next())$=d(Q,O,T,$.value,S),$!==null&&(t&&$.alternate!==null&&Q.delete($.key===null?T:$.key),g=s($,g,T),b===null?k=$:b.sibling=$,b=$);return t&&Q.forEach(function(A){return e(O,A)}),ye&&ji(O,T),k}function v(O,g,x,S){if(typeof x=="object"&&x!==null&&x.type===dr&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case el:e:{for(var k=x.key,b=g;b!==null;){if(b.key===k){if(k=x.type,k===dr){if(b.tag===7){n(O,b.sibling),g=r(b,x.props.children),g.return=O,O=g;break e}}else if(b.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ei&&um(k)===b.type){n(O,b.sibling),g=r(b,x.props),g.ref=ys(O,b,x),g.return=O,O=g;break e}n(O,b);break}else e(O,b);b=b.sibling}x.type===dr?(g=Fi(x.props.children,O.mode,S,x.key),g.return=O,O=g):(S=Hl(x.type,x.key,x.props,null,O.mode,S),S.ref=ys(O,g,x),S.return=O,O=S)}return o(O);case fr:e:{for(b=x.key;g!==null;){if(g.key===b)if(g.tag===4&&g.stateNode.containerInfo===x.containerInfo&&g.stateNode.implementation===x.implementation){n(O,g.sibling),g=r(g,x.children||[]),g.return=O,O=g;break e}else{n(O,g);break}else e(O,g);g=g.sibling}g=Ou(x,O.mode,S),g.return=O,O=g}return o(O);case ei:return b=x._init,v(O,g,b(x._payload),S)}if(As(x))return m(O,g,x,S);if(ds(x))return y(O,g,x,S);hl(O,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,g!==null&&g.tag===6?(n(O,g.sibling),g=r(g,x),g.return=O,O=g):(n(O,g),g=gu(x,O.mode,S),g.return=O,O=g),o(O)):n(O,g)}return v}var Wr=cy(!0),uy=cy(!1),ka=Ti(null),ba=null,Sr=null,Od=null;function yd(){Od=Sr=ba=null}function xd(t){var e=ka.current;ge(ka),t._currentValue=e}function Ch(t,e,n){for(;t!==null;){var i=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,i!==null&&(i.childLanes|=e)):i!==null&&(i.childLanes&e)!==e&&(i.childLanes|=e),t===n)break;t=t.return}}function Rr(t,e){ba=t,Od=Sr=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&e&&(yt=!0),t.firstContext=null)}function Vt(t){var e=t._currentValue;if(Od!==t)if(t={context:t,memoizedValue:e,next:null},Sr===null){if(ba===null)throw Error(R(308));Sr=t,ba.dependencies={lanes:0,firstContext:t}}else Sr=Sr.next=t;return e}var Xi=null;function vd(t){Xi===null?Xi=[t]:Xi.push(t)}function hy(t,e,n,i){var r=e.interleaved;return r===null?(n.next=n,vd(e)):(n.next=r.next,r.next=n),e.interleaved=n,Wn(t,i)}function Wn(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}var ti=!1;function Sd(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fy(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function Xn(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function gi(t,e,n){var i=t.updateQueue;if(i===null)return null;if(i=i.shared,re&2){var r=i.pending;return r===null?e.next=e:(e.next=r.next,r.next=e),i.pending=e,Wn(t,n)}return r=i.interleaved,r===null?(e.next=e,vd(i)):(e.next=r.next,r.next=e),i.interleaved=e,Wn(t,n)}function Fl(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var i=e.lanes;i&=t.pendingLanes,n|=i,e.lanes=n,od(t,n)}}function hm(t,e){var n=t.updateQueue,i=t.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var r=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?r=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?r=s=e:s=s.next=e}else r=s=e;n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,effects:i.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function Qa(t,e,n,i){var r=t.updateQueue;ti=!1;var s=r.firstBaseUpdate,o=r.lastBaseUpdate,l=r.shared.pending;if(l!==null){r.shared.pending=null;var a=l,c=a.next;a.next=null,o===null?s=c:o.next=c,o=a;var u=t.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==o&&(l===null?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=a))}if(s!==null){var h=r.baseState;o=0,u=c=a=null,l=s;do{var f=l.lane,d=l.eventTime;if((i&f)===f){u!==null&&(u=u.next={eventTime:d,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=t,y=l;switch(f=e,d=n,y.tag){case 1:if(m=y.payload,typeof m=="function"){h=m.call(d,h,f);break e}h=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=y.payload,f=typeof m=="function"?m.call(d,h,f):m,f==null)break e;h=we({},h,f);break e;case 2:ti=!0}}l.callback!==null&&l.lane!==0&&(t.flags|=64,f=r.effects,f===null?r.effects=[l]:f.push(l))}else d={eventTime:d,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(c=u=d,a=h):u=u.next=d,o|=f;if(l=l.next,l===null){if(l=r.shared.pending,l===null)break;f=l,l=f.next,f.next=null,r.lastBaseUpdate=f,r.shared.pending=null}}while(!0);if(u===null&&(a=h),r.baseState=a,r.firstBaseUpdate=c,r.lastBaseUpdate=u,e=r.shared.interleaved,e!==null){r=e;do o|=r.lane,r=r.next;while(r!==e)}else s===null&&(r.shared.lanes=0);Ki|=o,t.lanes=o,t.memoizedState=h}}function fm(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;e<t.length;e++){var i=t[e],r=i.callback;if(r!==null){if(i.callback=null,i=n,typeof r!="function")throw Error(R(191,r));r.call(i)}}}var Io={},Pn=Ti(Io),ho=Ti(Io),fo=Ti(Io);function Ii(t){if(t===Io)throw Error(R(174));return t}function wd(t,e){switch(de(fo,e),de(ho,t),de(Pn,Io),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:ah(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=ah(e,t)}ge(Pn),de(Pn,e)}function Fr(){ge(Pn),ge(ho),ge(fo)}function dy(t){Ii(fo.current);var e=Ii(Pn.current),n=ah(e,t.type);e!==n&&(de(ho,t),de(Pn,n))}function kd(t){ho.current===t&&(ge(Pn),ge(ho))}var ve=Ti(0);function Pa(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var uu=[];function bd(){for(var t=0;t<uu.length;t++)uu[t]._workInProgressVersionPrimary=null;uu.length=0}var Vl=qn.ReactCurrentDispatcher,hu=qn.ReactCurrentBatchConfig,Hi=0,Se=null,Ee=null,_e=null,$a=!1,Bs=!1,po=0,Qk=0;function Ke(){throw Error(R(321))}function Qd(t,e){if(e===null)return!1;for(var n=0;n<e.length&&n<t.length;n++)if(!on(t[n],e[n]))return!1;return!0}function Pd(t,e,n,i,r,s){if(Hi=s,Se=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,Vl.current=t===null||t.memoizedState===null?Tk:Ak,t=n(i,r),Bs){s=0;do{if(Bs=!1,po=0,25<=s)throw Error(R(301));s+=1,_e=Ee=null,e.updateQueue=null,Vl.current=Mk,t=n(i,r)}while(Bs)}if(Vl.current=Ca,e=Ee!==null&&Ee.next!==null,Hi=0,_e=Ee=Se=null,$a=!1,e)throw Error(R(300));return t}function $d(){var t=po!==0;return po=0,t}function On(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return _e===null?Se.memoizedState=_e=t:_e=_e.next=t,_e}function Yt(){if(Ee===null){var t=Se.alternate;t=t!==null?t.memoizedState:null}else t=Ee.next;var e=_e===null?Se.memoizedState:_e.next;if(e!==null)_e=e,Ee=t;else{if(t===null)throw Error(R(310));Ee=t,t={memoizedState:Ee.memoizedState,baseState:Ee.baseState,baseQueue:Ee.baseQueue,queue:Ee.queue,next:null},_e===null?Se.memoizedState=_e=t:_e=_e.next=t}return _e}function mo(t,e){return typeof e=="function"?e(t):e}function fu(t){var e=Yt(),n=e.queue;if(n===null)throw Error(R(311));n.lastRenderedReducer=t;var i=Ee,r=i.baseQueue,s=n.pending;if(s!==null){if(r!==null){var o=r.next;r.next=s.next,s.next=o}i.baseQueue=r=s,n.pending=null}if(r!==null){s=r.next,i=i.baseState;var l=o=null,a=null,c=s;do{var u=c.lane;if((Hi&u)===u)a!==null&&(a=a.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),i=c.hasEagerState?c.eagerState:t(i,c.action);else{var h={lane:u,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};a===null?(l=a=h,o=i):a=a.next=h,Se.lanes|=u,Ki|=u}c=c.next}while(c!==null&&c!==s);a===null?o=i:a.next=l,on(i,e.memoizedState)||(yt=!0),e.memoizedState=i,e.baseState=o,e.baseQueue=a,n.lastRenderedState=i}if(t=n.interleaved,t!==null){r=t;do s=r.lane,Se.lanes|=s,Ki|=s,r=r.next;while(r!==t)}else r===null&&(n.lanes=0);return[e.memoizedState,n.dispatch]}function du(t){var e=Yt(),n=e.queue;if(n===null)throw Error(R(311));n.lastRenderedReducer=t;var i=n.dispatch,r=n.pending,s=e.memoizedState;if(r!==null){n.pending=null;var o=r=r.next;do s=t(s,o.action),o=o.next;while(o!==r);on(s,e.memoizedState)||(yt=!0),e.memoizedState=s,e.baseQueue===null&&(e.baseState=s),n.lastRenderedState=s}return[s,i]}function py(){}function my(t,e){var n=Se,i=Yt(),r=e(),s=!on(i.memoizedState,r);if(s&&(i.memoizedState=r,yt=!0),i=i.queue,Cd(yy.bind(null,n,i,t),[t]),i.getSnapshot!==e||s||_e!==null&&_e.memoizedState.tag&1){if(n.flags|=2048,go(9,Oy.bind(null,n,i,r,e),void 0,null),Ne===null)throw Error(R(349));Hi&30||gy(n,e,r)}return r}function gy(t,e,n){t.flags|=16384,t={getSnapshot:e,value:n},e=Se.updateQueue,e===null?(e={lastEffect:null,stores:null},Se.updateQueue=e,e.stores=[t]):(n=e.stores,n===null?e.stores=[t]:n.push(t))}function Oy(t,e,n,i){e.value=n,e.getSnapshot=i,xy(e)&&vy(t)}function yy(t,e,n){return n(function(){xy(e)&&vy(t)})}function xy(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!on(t,n)}catch{return!0}}function vy(t){var e=Wn(t,1);e!==null&&sn(e,t,1,-1)}function dm(t){var e=On();return typeof t=="function"&&(t=t()),e.memoizedState=e.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:mo,lastRenderedState:t},e.queue=t,t=t.dispatch=Ck.bind(null,Se,t),[e.memoizedState,t]}function go(t,e,n,i){return t={tag:t,create:e,destroy:n,deps:i,next:null},e=Se.updateQueue,e===null?(e={lastEffect:null,stores:null},Se.updateQueue=e,e.lastEffect=t.next=t):(n=e.lastEffect,n===null?e.lastEffect=t.next=t:(i=n.next,n.next=t,t.next=i,e.lastEffect=t)),t}function Sy(){return Yt().memoizedState}function Yl(t,e,n,i){var r=On();Se.flags|=t,r.memoizedState=go(1|e,n,void 0,i===void 0?null:i)}function pc(t,e,n,i){var r=Yt();i=i===void 0?null:i;var s=void 0;if(Ee!==null){var o=Ee.memoizedState;if(s=o.destroy,i!==null&&Qd(i,o.deps)){r.memoizedState=go(e,n,s,i);return}}Se.flags|=t,r.memoizedState=go(1|e,n,s,i)}function pm(t,e){return Yl(8390656,8,t,e)}function Cd(t,e){return pc(2048,8,t,e)}function wy(t,e){return pc(4,2,t,e)}function ky(t,e){return pc(4,4,t,e)}function by(t,e){if(typeof e=="function")return t=t(),e(t),function(){e(null)};if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function Qy(t,e,n){return n=n!=null?n.concat([t]):null,pc(4,4,by.bind(null,e,t),n)}function Td(){}function Py(t,e){var n=Yt();e=e===void 0?null:e;var i=n.memoizedState;return i!==null&&e!==null&&Qd(e,i[1])?i[0]:(n.memoizedState=[t,e],t)}function $y(t,e){var n=Yt();e=e===void 0?null:e;var i=n.memoizedState;return i!==null&&e!==null&&Qd(e,i[1])?i[0]:(t=t(),n.memoizedState=[t,e],t)}function Cy(t,e,n){return Hi&21?(on(n,e)||(n=E0(),Se.lanes|=n,Ki|=n,t.baseState=!0),e):(t.baseState&&(t.baseState=!1,yt=!0),t.memoizedState=n)}function Pk(t,e){var n=oe;oe=n!==0&&4>n?n:4,t(!0);var i=hu.transition;hu.transition={};try{t(!1),e()}finally{oe=n,hu.transition=i}}function Ty(){return Yt().memoizedState}function $k(t,e,n){var i=yi(t);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},Ay(t))My(e,n);else if(n=hy(t,e,n,i),n!==null){var r=ct();sn(n,t,i,r),Ry(n,e,i)}}function Ck(t,e,n){var i=yi(t),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ay(t))My(e,r);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,on(l,o)){var a=e.interleaved;a===null?(r.next=r,vd(e)):(r.next=a.next,a.next=r),e.interleaved=r;return}}catch{}finally{}n=hy(t,e,r,i),n!==null&&(r=ct(),sn(n,t,i,r),Ry(n,e,i))}}function Ay(t){var e=t.alternate;return t===Se||e!==null&&e===Se}function My(t,e){Bs=$a=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function Ry(t,e,n){if(n&4194240){var i=e.lanes;i&=t.pendingLanes,n|=i,e.lanes=n,od(t,n)}}var Ca={readContext:Vt,useCallback:Ke,useContext:Ke,useEffect:Ke,useImperativeHandle:Ke,useInsertionEffect:Ke,useLayoutEffect:Ke,useMemo:Ke,useReducer:Ke,useRef:Ke,useState:Ke,useDebugValue:Ke,useDeferredValue:Ke,useTransition:Ke,useMutableSource:Ke,useSyncExternalStore:Ke,useId:Ke,unstable_isNewReconciler:!1},Tk={readContext:Vt,useCallback:function(t,e){return On().memoizedState=[t,e===void 0?null:e],t},useContext:Vt,useEffect:pm,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Yl(4194308,4,by.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Yl(4194308,4,t,e)},useInsertionEffect:function(t,e){return Yl(4,2,t,e)},useMemo:function(t,e){var n=On();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var i=On();return e=n!==void 0?n(e):e,i.memoizedState=i.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},i.queue=t,t=t.dispatch=$k.bind(null,Se,t),[i.memoizedState,t]},useRef:function(t){var e=On();return t={current:t},e.memoizedState=t},useState:dm,useDebugValue:Td,useDeferredValue:function(t){return On().memoizedState=t},useTransition:function(){var t=dm(!1),e=t[0];return t=Pk.bind(null,t[1]),On().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var i=Se,r=On();if(ye){if(n===void 0)throw Error(R(407));n=n()}else{if(n=e(),Ne===null)throw Error(R(349));Hi&30||gy(i,e,n)}r.memoizedState=n;var s={value:n,getSnapshot:e};return r.queue=s,pm(yy.bind(null,i,s,t),[t]),i.flags|=2048,go(9,Oy.bind(null,i,s,n,e),void 0,null),n},useId:function(){var t=On(),e=Ne.identifierPrefix;if(ye){var n=zn,i=Ln;n=(i&~(1<<32-rn(i)-1)).toString(32)+n,e=":"+e+"R"+n,n=po++,0<n&&(e+="H"+n.toString(32)),e+=":"}else n=Qk++,e=":"+e+"r"+n.toString(32)+":";return t.memoizedState=e},unstable_isNewReconciler:!1},Ak={readContext:Vt,useCallback:Py,useContext:Vt,useEffect:Cd,useImperativeHandle:Qy,useInsertionEffect:wy,useLayoutEffect:ky,useMemo:$y,useReducer:fu,useRef:Sy,useState:function(){return fu(mo)},useDebugValue:Td,useDeferredValue:function(t){var e=Yt();return Cy(e,Ee.memoizedState,t)},useTransition:function(){var t=fu(mo)[0],e=Yt().memoizedState;return[t,e]},useMutableSource:py,useSyncExternalStore:my,useId:Ty,unstable_isNewReconciler:!1},Mk={readContext:Vt,useCallback:Py,useContext:Vt,useEffect:Cd,useImperativeHandle:Qy,useInsertionEffect:wy,useLayoutEffect:ky,useMemo:$y,useReducer:du,useRef:Sy,useState:function(){return du(mo)},useDebugValue:Td,useDeferredValue:function(t){var e=Yt();return Ee===null?e.memoizedState=t:Cy(e,Ee.memoizedState,t)},useTransition:function(){var t=du(mo)[0],e=Yt().memoizedState;return[t,e]},useMutableSource:py,useSyncExternalStore:my,useId:Ty,unstable_isNewReconciler:!1};function Jt(t,e){if(t&&t.defaultProps){e=we({},e),t=t.defaultProps;for(var n in t)e[n]===void 0&&(e[n]=t[n]);return e}return e}function Th(t,e,n,i){e=t.memoizedState,n=n(i,e),n=n==null?e:we({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var mc={isMounted:function(t){return(t=t._reactInternals)?or(t)===t:!1},enqueueSetState:function(t,e,n){t=t._reactInternals;var i=ct(),r=yi(t),s=Xn(i,r);s.payload=e,n!=null&&(s.callback=n),e=gi(t,s,r),e!==null&&(sn(e,t,r,i),Fl(e,t,r))},enqueueReplaceState:function(t,e,n){t=t._reactInternals;var i=ct(),r=yi(t),s=Xn(i,r);s.tag=1,s.payload=e,n!=null&&(s.callback=n),e=gi(t,s,r),e!==null&&(sn(e,t,r,i),Fl(e,t,r))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var n=ct(),i=yi(t),r=Xn(n,i);r.tag=2,e!=null&&(r.callback=e),e=gi(t,r,i),e!==null&&(sn(e,t,i,n),Fl(e,t,i))}};function mm(t,e,n,i,r,s,o){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(i,s,o):e.prototype&&e.prototype.isPureReactComponent?!lo(n,i)||!lo(r,s):!0}function Ey(t,e,n){var i=!1,r=wi,s=e.contextType;return typeof s=="object"&&s!==null?s=Vt(s):(r=wt(e)?qi:it.current,i=e.contextTypes,s=(i=i!=null)?Nr(t,r):wi),e=new e(n,s),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=mc,t.stateNode=e,e._reactInternals=t,i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=r,t.__reactInternalMemoizedMaskedChildContext=s),e}function gm(t,e,n,i){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,i),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,i),e.state!==t&&mc.enqueueReplaceState(e,e.state,null)}function Ah(t,e,n,i){var r=t.stateNode;r.props=n,r.state=t.memoizedState,r.refs={},Sd(t);var s=e.contextType;typeof s=="object"&&s!==null?r.context=Vt(s):(s=wt(e)?qi:it.current,r.context=Nr(t,s)),r.state=t.memoizedState,s=e.getDerivedStateFromProps,typeof s=="function"&&(Th(t,e,s,n),r.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(e=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),e!==r.state&&mc.enqueueReplaceState(r,r.state,null),Qa(t,n,r,i),r.state=t.memoizedState),typeof r.componentDidMount=="function"&&(t.flags|=4194308)}function Vr(t,e){try{var n="",i=e;do n+=sw(i),i=i.return;while(i);var r=n}catch(s){r=`
|
|
39
|
+
Error generating stack: `+s.message+`
|
|
40
|
+
`+s.stack}return{value:t,source:e,stack:r,digest:null}}function pu(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function Mh(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var Rk=typeof WeakMap=="function"?WeakMap:Map;function jy(t,e,n){n=Xn(-1,n),n.tag=3,n.payload={element:null};var i=e.value;return n.callback=function(){Aa||(Aa=!0,Ih=i),Mh(t,e)},n}function Zy(t,e,n){n=Xn(-1,n),n.tag=3;var i=t.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;n.payload=function(){return i(r)},n.callback=function(){Mh(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Mh(t,e),typeof i!="function"&&(Oi===null?Oi=new Set([this]):Oi.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),n}function Om(t,e,n){var i=t.pingCache;if(i===null){i=t.pingCache=new Rk;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(n)||(r.add(n),t=Vk.bind(null,t,e,n),e.then(t,t))}function ym(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function xm(t,e,n,i,r){return t.mode&1?(t.flags|=65536,t.lanes=r,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=Xn(-1,1),e.tag=2,gi(n,e,1))),n.lanes|=1),t)}var Ek=qn.ReactCurrentOwner,yt=!1;function ot(t,e,n,i){e.child=t===null?uy(e,null,n,i):Wr(e,t.child,n,i)}function vm(t,e,n,i,r){n=n.render;var s=e.ref;return Rr(e,r),i=Pd(t,e,n,i,s,r),n=$d(),t!==null&&!yt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~r,Fn(t,e,r)):(ye&&n&&pd(e),e.flags|=1,ot(t,e,i,r),e.child)}function Sm(t,e,n,i,r){if(t===null){var s=n.type;return typeof s=="function"&&!Ld(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,Dy(t,e,s,i,r)):(t=Hl(n.type,null,i,e,e.mode,r),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,!(t.lanes&r)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:lo,n(o,i)&&t.ref===e.ref)return Fn(t,e,r)}return e.flags|=1,t=xi(s,i),t.ref=e.ref,t.return=e,e.child=t}function Dy(t,e,n,i,r){if(t!==null){var s=t.memoizedProps;if(lo(s,i)&&t.ref===e.ref)if(yt=!1,e.pendingProps=i=s,(t.lanes&r)!==0)t.flags&131072&&(yt=!0);else return e.lanes=t.lanes,Fn(t,e,r)}return Rh(t,e,n,i,r)}function Ly(t,e,n){var i=e.pendingProps,r=i.children,s=t!==null?t.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},de(kr,Tt),Tt|=n;else{if(!(n&1073741824))return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,de(kr,Tt),Tt|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:n,de(kr,Tt),Tt|=i}else s!==null?(i=s.baseLanes|n,e.memoizedState=null):i=n,de(kr,Tt),Tt|=i;return ot(t,e,r,n),e.child}function zy(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function Rh(t,e,n,i,r){var s=wt(n)?qi:it.current;return s=Nr(e,s),Rr(e,r),n=Pd(t,e,n,i,s,r),i=$d(),t!==null&&!yt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~r,Fn(t,e,r)):(ye&&i&&pd(e),e.flags|=1,ot(t,e,n,r),e.child)}function wm(t,e,n,i,r){if(wt(n)){var s=!0;va(e)}else s=!1;if(Rr(e,r),e.stateNode===null)Ul(t,e),Ey(e,n,i),Ah(e,n,i,r),i=!0;else if(t===null){var o=e.stateNode,l=e.memoizedProps;o.props=l;var a=o.context,c=n.contextType;typeof c=="object"&&c!==null?c=Vt(c):(c=wt(n)?qi:it.current,c=Nr(e,c));var u=n.getDerivedStateFromProps,h=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";h||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==i||a!==c)&&gm(e,o,i,c),ti=!1;var f=e.memoizedState;o.state=f,Qa(e,i,o,r),a=e.memoizedState,l!==i||f!==a||St.current||ti?(typeof u=="function"&&(Th(e,n,u,i),a=e.memoizedState),(l=ti||mm(e,n,l,i,f,a,c))?(h||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=a),o.props=i,o.state=a,o.context=c,i=l):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{o=e.stateNode,fy(t,e),l=e.memoizedProps,c=e.type===e.elementType?l:Jt(e.type,l),o.props=c,h=e.pendingProps,f=o.context,a=n.contextType,typeof a=="object"&&a!==null?a=Vt(a):(a=wt(n)?qi:it.current,a=Nr(e,a));var d=n.getDerivedStateFromProps;(u=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==h||f!==a)&&gm(e,o,i,a),ti=!1,f=e.memoizedState,o.state=f,Qa(e,i,o,r);var m=e.memoizedState;l!==h||f!==m||St.current||ti?(typeof d=="function"&&(Th(e,n,d,i),m=e.memoizedState),(c=ti||mm(e,n,c,i,f,m,a)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,m,a),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,m,a)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=m),o.props=i,o.state=m,o.context=a,i=c):(typeof o.componentDidUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),i=!1)}return Eh(t,e,n,i,s,r)}function Eh(t,e,n,i,r,s){zy(t,e);var o=(e.flags&128)!==0;if(!i&&!o)return r&&lm(e,n,!1),Fn(t,e,s);i=e.stateNode,Ek.current=e;var l=o&&typeof n.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,t!==null&&o?(e.child=Wr(e,t.child,null,s),e.child=Wr(e,null,l,s)):ot(t,e,l,s),e.memoizedState=i.state,r&&lm(e,n,!0),e.child}function _y(t){var e=t.stateNode;e.pendingContext?om(t,e.pendingContext,e.pendingContext!==e.context):e.context&&om(t,e.context,!1),wd(t,e.containerInfo)}function km(t,e,n,i,r){return Br(),gd(r),e.flags|=256,ot(t,e,n,i),e.child}var jh={dehydrated:null,treeContext:null,retryLane:0};function Zh(t){return{baseLanes:t,cachePool:null,transitions:null}}function Xy(t,e,n){var i=e.pendingProps,r=ve.current,s=!1,o=(e.flags&128)!==0,l;if((l=o)||(l=t!==null&&t.memoizedState===null?!1:(r&2)!==0),l?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(r|=1),de(ve,r&1),t===null)return $h(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=i.children,t=i.fallback,s?(i=e.mode,s=e.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=yc(o,i,0,null),t=Fi(t,i,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=Zh(n),e.memoizedState=jh,t):Ad(e,o));if(r=t.memoizedState,r!==null&&(l=r.dehydrated,l!==null))return jk(t,e,o,i,l,r,n);if(s){s=i.fallback,o=e.mode,r=t.child,l=r.sibling;var a={mode:"hidden",children:i.children};return!(o&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=a,e.deletions=null):(i=xi(r,a),i.subtreeFlags=r.subtreeFlags&14680064),l!==null?s=xi(l,s):(s=Fi(s,o,n,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,o=t.child.memoizedState,o=o===null?Zh(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=t.childLanes&~n,e.memoizedState=jh,i}return s=t.child,t=s.sibling,i=xi(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=n),i.return=e,i.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=i,e.memoizedState=null,i}function Ad(t,e){return e=yc({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function fl(t,e,n,i){return i!==null&&gd(i),Wr(e,t.child,null,n),t=Ad(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function jk(t,e,n,i,r,s,o){if(n)return e.flags&256?(e.flags&=-257,i=pu(Error(R(422))),fl(t,e,o,i)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=yc({mode:"visible",children:i.children},r,0,null),s=Fi(s,r,o,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&Wr(e,t.child,null,o),e.child.memoizedState=Zh(o),e.memoizedState=jh,s);if(!(e.mode&1))return fl(t,e,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var l=i.dgst;return i=l,s=Error(R(419)),i=pu(s,i,void 0),fl(t,e,o,i)}if(l=(o&t.childLanes)!==0,yt||l){if(i=Ne,i!==null){switch(o&-o){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&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Wn(t,r),sn(i,t,r,-1))}return Dd(),i=pu(Error(R(421))),fl(t,e,o,i)}return r.data==="$?"?(e.flags|=128,e.child=t.child,e=Yk.bind(null,t),r._reactRetry=e,null):(t=s.treeContext,Mt=mi(r.nextSibling),Et=e,ye=!0,tn=null,t!==null&&(zt[_t++]=Ln,zt[_t++]=zn,zt[_t++]=Gi,Ln=t.id,zn=t.overflow,Gi=e),e=Ad(e,i.children),e.flags|=4096,e)}function bm(t,e,n){t.lanes|=e;var i=t.alternate;i!==null&&(i.lanes|=e),Ch(t.return,e,n)}function mu(t,e,n,i,r){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r)}function Iy(t,e,n){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(ot(t,e,i.children,n),i=ve.current,i&2)i=i&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&bm(t,n,e);else if(t.tag===19)bm(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}i&=1}if(de(ve,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(n=e.child,r=null;n!==null;)t=n.alternate,t!==null&&Pa(t)===null&&(r=n),n=n.sibling;n=r,n===null?(r=e.child,e.child=null):(r=n.sibling,n.sibling=null),mu(e,!1,r,n,s);break;case"backwards":for(n=null,r=e.child,e.child=null;r!==null;){if(t=r.alternate,t!==null&&Pa(t)===null){e.child=r;break}t=r.sibling,r.sibling=n,n=r,r=t}mu(e,!0,n,null,s);break;case"together":mu(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function Ul(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function Fn(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Ki|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(R(153));if(e.child!==null){for(t=e.child,n=xi(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=xi(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function Zk(t,e,n){switch(e.tag){case 3:_y(e),Br();break;case 5:dy(e);break;case 1:wt(e.type)&&va(e);break;case 4:wd(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;de(ka,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(de(ve,ve.current&1),e.flags|=128,null):n&e.child.childLanes?Xy(t,e,n):(de(ve,ve.current&1),t=Fn(t,e,n),t!==null?t.sibling:null);de(ve,ve.current&1);break;case 19:if(i=(n&e.childLanes)!==0,t.flags&128){if(i)return Iy(t,e,n);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),de(ve,ve.current),i)break;return null;case 22:case 23:return e.lanes=0,Ly(t,e,n)}return Fn(t,e,n)}var Ny,Dh,By,Wy;Ny=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Dh=function(){};By=function(t,e,n,i){var r=t.memoizedProps;if(r!==i){t=e.stateNode,Ii(Pn.current);var s=null;switch(n){case"input":r=rh(t,r),i=rh(t,i),s=[];break;case"select":r=we({},r,{value:void 0}),i=we({},i,{value:void 0}),s=[];break;case"textarea":r=lh(t,r),i=lh(t,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(t.onclick=ya)}ch(n,i);var o;n=null;for(c in r)if(!i.hasOwnProperty(c)&&r.hasOwnProperty(c)&&r[c]!=null)if(c==="style"){var l=r[c];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(eo.hasOwnProperty(c)?s||(s=[]):(s=s||[]).push(c,null));for(c in i){var a=i[c];if(l=r!=null?r[c]:void 0,i.hasOwnProperty(c)&&a!==l&&(a!=null||l!=null))if(c==="style")if(l){for(o in l)!l.hasOwnProperty(o)||a&&a.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in a)a.hasOwnProperty(o)&&l[o]!==a[o]&&(n||(n={}),n[o]=a[o])}else n||(s||(s=[]),s.push(c,n)),n=a;else c==="dangerouslySetInnerHTML"?(a=a?a.__html:void 0,l=l?l.__html:void 0,a!=null&&l!==a&&(s=s||[]).push(c,a)):c==="children"?typeof a!="string"&&typeof a!="number"||(s=s||[]).push(c,""+a):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(eo.hasOwnProperty(c)?(a!=null&&c==="onScroll"&&pe("scroll",t),s||l===a||(s=[])):(s=s||[]).push(c,a))}n&&(s=s||[]).push("style",n);var c=s;(e.updateQueue=c)&&(e.flags|=4)}};Wy=function(t,e,n,i){n!==i&&(e.flags|=4)};function xs(t,e){if(!ye)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:i.sibling=null}}function Je(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,i=0;if(e)for(var r=t.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=t,r=r.sibling;else for(r=t.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=t,r=r.sibling;return t.subtreeFlags|=i,t.childLanes=n,e}function Dk(t,e,n){var i=e.pendingProps;switch(md(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Je(e),null;case 1:return wt(e.type)&&xa(),Je(e),null;case 3:return i=e.stateNode,Fr(),ge(St),ge(it),bd(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(t===null||t.child===null)&&(ul(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,tn!==null&&(Wh(tn),tn=null))),Dh(t,e),Je(e),null;case 5:kd(e);var r=Ii(fo.current);if(n=e.type,t!==null&&e.stateNode!=null)By(t,e,n,i,r),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(R(166));return Je(e),null}if(t=Ii(Pn.current),ul(e)){i=e.stateNode,n=e.type;var s=e.memoizedProps;switch(i[yn]=e,i[uo]=s,t=(e.mode&1)!==0,n){case"dialog":pe("cancel",i),pe("close",i);break;case"iframe":case"object":case"embed":pe("load",i);break;case"video":case"audio":for(r=0;r<Rs.length;r++)pe(Rs[r],i);break;case"source":pe("error",i);break;case"img":case"image":case"link":pe("error",i),pe("load",i);break;case"details":pe("toggle",i);break;case"input":Ep(i,s),pe("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!s.multiple},pe("invalid",i);break;case"textarea":Zp(i,s),pe("invalid",i)}ch(n,s),r=null;for(var o in s)if(s.hasOwnProperty(o)){var l=s[o];o==="children"?typeof l=="string"?i.textContent!==l&&(s.suppressHydrationWarning!==!0&&cl(i.textContent,l,t),r=["children",l]):typeof l=="number"&&i.textContent!==""+l&&(s.suppressHydrationWarning!==!0&&cl(i.textContent,l,t),r=["children",""+l]):eo.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&pe("scroll",i)}switch(n){case"input":tl(i),jp(i,s,!0);break;case"textarea":tl(i),Dp(i);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(i.onclick=ya)}i=r,e.updateQueue=i,i!==null&&(e.flags|=4)}else{o=r.nodeType===9?r:r.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=y0(n)),t==="http://www.w3.org/1999/xhtml"?n==="script"?(t=o.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof i.is=="string"?t=o.createElement(n,{is:i.is}):(t=o.createElement(n),n==="select"&&(o=t,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):t=o.createElementNS(t,n),t[yn]=e,t[uo]=i,Ny(t,e,!1,!1),e.stateNode=t;e:{switch(o=uh(n,i),n){case"dialog":pe("cancel",t),pe("close",t),r=i;break;case"iframe":case"object":case"embed":pe("load",t),r=i;break;case"video":case"audio":for(r=0;r<Rs.length;r++)pe(Rs[r],t);r=i;break;case"source":pe("error",t),r=i;break;case"img":case"image":case"link":pe("error",t),pe("load",t),r=i;break;case"details":pe("toggle",t),r=i;break;case"input":Ep(t,i),r=rh(t,i),pe("invalid",t);break;case"option":r=i;break;case"select":t._wrapperState={wasMultiple:!!i.multiple},r=we({},i,{value:void 0}),pe("invalid",t);break;case"textarea":Zp(t,i),r=lh(t,i),pe("invalid",t);break;default:r=i}ch(n,r),l=r;for(s in l)if(l.hasOwnProperty(s)){var a=l[s];s==="style"?S0(t,a):s==="dangerouslySetInnerHTML"?(a=a?a.__html:void 0,a!=null&&x0(t,a)):s==="children"?typeof a=="string"?(n!=="textarea"||a!=="")&&to(t,a):typeof a=="number"&&to(t,""+a):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(eo.hasOwnProperty(s)?a!=null&&s==="onScroll"&&pe("scroll",t):a!=null&&ed(t,s,a,o))}switch(n){case"input":tl(t),jp(t,i,!1);break;case"textarea":tl(t),Dp(t);break;case"option":i.value!=null&&t.setAttribute("value",""+Si(i.value));break;case"select":t.multiple=!!i.multiple,s=i.value,s!=null?Cr(t,!!i.multiple,s,!1):i.defaultValue!=null&&Cr(t,!!i.multiple,i.defaultValue,!0);break;default:typeof r.onClick=="function"&&(t.onclick=ya)}switch(n){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}}i&&(e.flags|=4)}e.ref!==null&&(e.flags|=512,e.flags|=2097152)}return Je(e),null;case 6:if(t&&e.stateNode!=null)Wy(t,e,t.memoizedProps,i);else{if(typeof i!="string"&&e.stateNode===null)throw Error(R(166));if(n=Ii(fo.current),Ii(Pn.current),ul(e)){if(i=e.stateNode,n=e.memoizedProps,i[yn]=e,(s=i.nodeValue!==n)&&(t=Et,t!==null))switch(t.tag){case 3:cl(i.nodeValue,n,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&cl(i.nodeValue,n,(t.mode&1)!==0)}s&&(e.flags|=4)}else i=(n.nodeType===9?n:n.ownerDocument).createTextNode(i),i[yn]=e,e.stateNode=i}return Je(e),null;case 13:if(ge(ve),i=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(ye&&Mt!==null&&e.mode&1&&!(e.flags&128))ay(),Br(),e.flags|=98560,s=!1;else if(s=ul(e),i!==null&&i.dehydrated!==null){if(t===null){if(!s)throw Error(R(318));if(s=e.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(R(317));s[yn]=e}else Br(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;Je(e),s=!1}else tn!==null&&(Wh(tn),tn=null),s=!0;if(!s)return e.flags&65536?e:null}return e.flags&128?(e.lanes=n,e):(i=i!==null,i!==(t!==null&&t.memoizedState!==null)&&i&&(e.child.flags|=8192,e.mode&1&&(t===null||ve.current&1?De===0&&(De=3):Dd())),e.updateQueue!==null&&(e.flags|=4),Je(e),null);case 4:return Fr(),Dh(t,e),t===null&&ao(e.stateNode.containerInfo),Je(e),null;case 10:return xd(e.type._context),Je(e),null;case 17:return wt(e.type)&&xa(),Je(e),null;case 19:if(ge(ve),s=e.memoizedState,s===null)return Je(e),null;if(i=(e.flags&128)!==0,o=s.rendering,o===null)if(i)xs(s,!1);else{if(De!==0||t!==null&&t.flags&128)for(t=e.child;t!==null;){if(o=Pa(t),o!==null){for(e.flags|=128,xs(s,!1),i=o.updateQueue,i!==null&&(e.updateQueue=i,e.flags|=4),e.subtreeFlags=0,i=n,n=e.child;n!==null;)s=n,t=i,s.flags&=14680066,o=s.alternate,o===null?(s.childLanes=0,s.lanes=t,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=o.childLanes,s.lanes=o.lanes,s.child=o.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=o.memoizedProps,s.memoizedState=o.memoizedState,s.updateQueue=o.updateQueue,s.type=o.type,t=o.dependencies,s.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),n=n.sibling;return de(ve,ve.current&1|2),e.child}t=t.sibling}s.tail!==null&&Pe()>Yr&&(e.flags|=128,i=!0,xs(s,!1),e.lanes=4194304)}else{if(!i)if(t=Pa(o),t!==null){if(e.flags|=128,i=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),xs(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!ye)return Je(e),null}else 2*Pe()-s.renderingStartTime>Yr&&n!==1073741824&&(e.flags|=128,i=!0,xs(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Pe(),e.sibling=null,n=ve.current,de(ve,i?n&1|2:n&1),e):(Je(e),null);case 22:case 23:return Zd(),i=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Tt&1073741824&&(Je(e),e.subtreeFlags&6&&(e.flags|=8192)):Je(e),null;case 24:return null;case 25:return null}throw Error(R(156,e.tag))}function Lk(t,e){switch(md(e),e.tag){case 1:return wt(e.type)&&xa(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fr(),ge(St),ge(it),bd(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return kd(e),null;case 13:if(ge(ve),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(R(340));Br()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return ge(ve),null;case 4:return Fr(),null;case 10:return xd(e.type._context),null;case 22:case 23:return Zd(),null;case 24:return null;default:return null}}var dl=!1,tt=!1,zk=typeof WeakSet=="function"?WeakSet:Set,I=null;function wr(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){ke(t,e,i)}else n.current=null}function Lh(t,e,n){try{n()}catch(i){ke(t,e,i)}}var Qm=!1;function _k(t,e){if(vh=ma,t=q0(),dd(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,l=-1,a=-1,c=0,u=0,h=t,f=null;t:for(;;){for(var d;h!==n||r!==0&&h.nodeType!==3||(l=o+r),h!==s||i!==0&&h.nodeType!==3||(a=o+i),h.nodeType===3&&(o+=h.nodeValue.length),(d=h.firstChild)!==null;)f=h,h=d;for(;;){if(h===t)break t;if(f===n&&++c===r&&(l=o),f===s&&++u===i&&(a=o),(d=h.nextSibling)!==null)break;h=f,f=h.parentNode}h=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Sh={focusedElem:t,selectionRange:n},ma=!1,I=e;I!==null;)if(e=I,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,I=t;else for(;I!==null;){e=I;try{var m=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,v=m.memoizedState,O=e.stateNode,g=O.getSnapshotBeforeUpdate(e.elementType===e.type?y:Jt(e.type,y),v);O.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var x=e.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(R(163))}}catch(S){ke(e,e.return,S)}if(t=e.sibling,t!==null){t.return=e.return,I=t;break}I=e.return}return m=Qm,Qm=!1,m}function Ws(t,e,n){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&t)===t){var s=r.destroy;r.destroy=void 0,s!==void 0&&Lh(e,n,s)}r=r.next}while(r!==i)}}function gc(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var i=n.create;n.destroy=i()}n=n.next}while(n!==e)}}function zh(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function Fy(t){var e=t.alternate;e!==null&&(t.alternate=null,Fy(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[yn],delete e[uo],delete e[bh],delete e[Sk],delete e[wk])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Vy(t){return t.tag===5||t.tag===3||t.tag===4}function Pm(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Vy(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function _h(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=ya));else if(i!==4&&(t=t.child,t!==null))for(_h(t,e,n),t=t.sibling;t!==null;)_h(t,e,n),t=t.sibling}function Xh(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(i!==4&&(t=t.child,t!==null))for(Xh(t,e,n),t=t.sibling;t!==null;)Xh(t,e,n),t=t.sibling}var We=null,en=!1;function Jn(t,e,n){for(n=n.child;n!==null;)Yy(t,e,n),n=n.sibling}function Yy(t,e,n){if(Qn&&typeof Qn.onCommitFiberUnmount=="function")try{Qn.onCommitFiberUnmount(ac,n)}catch{}switch(n.tag){case 5:tt||wr(n,e);case 6:var i=We,r=en;We=null,Jn(t,e,n),We=i,en=r,We!==null&&(en?(t=We,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):We.removeChild(n.stateNode));break;case 18:We!==null&&(en?(t=We,n=n.stateNode,t.nodeType===8?au(t.parentNode,n):t.nodeType===1&&au(t,n),so(t)):au(We,n.stateNode));break;case 4:i=We,r=en,We=n.stateNode.containerInfo,en=!0,Jn(t,e,n),We=i,en=r;break;case 0:case 11:case 14:case 15:if(!tt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Lh(n,e,o),r=r.next}while(r!==i)}Jn(t,e,n);break;case 1:if(!tt&&(wr(n,e),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){ke(n,e,l)}Jn(t,e,n);break;case 21:Jn(t,e,n);break;case 22:n.mode&1?(tt=(i=tt)||n.memoizedState!==null,Jn(t,e,n),tt=i):Jn(t,e,n);break;default:Jn(t,e,n)}}function $m(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new zk),e.forEach(function(i){var r=Uk.bind(null,t,i);n.has(i)||(n.add(i),i.then(r,r))})}}function Ht(t,e){var n=e.deletions;if(n!==null)for(var i=0;i<n.length;i++){var r=n[i];try{var s=t,o=e,l=o;e:for(;l!==null;){switch(l.tag){case 5:We=l.stateNode,en=!1;break e;case 3:We=l.stateNode.containerInfo,en=!0;break e;case 4:We=l.stateNode.containerInfo,en=!0;break e}l=l.return}if(We===null)throw Error(R(160));Yy(s,o,r),We=null,en=!1;var a=r.alternate;a!==null&&(a.return=null),r.return=null}catch(c){ke(r,e,c)}}if(e.subtreeFlags&12854)for(e=e.child;e!==null;)Uy(e,t),e=e.sibling}function Uy(t,e){var n=t.alternate,i=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(Ht(e,t),hn(t),i&4){try{Ws(3,t,t.return),gc(3,t)}catch(y){ke(t,t.return,y)}try{Ws(5,t,t.return)}catch(y){ke(t,t.return,y)}}break;case 1:Ht(e,t),hn(t),i&512&&n!==null&&wr(n,n.return);break;case 5:if(Ht(e,t),hn(t),i&512&&n!==null&&wr(n,n.return),t.flags&32){var r=t.stateNode;try{to(r,"")}catch(y){ke(t,t.return,y)}}if(i&4&&(r=t.stateNode,r!=null)){var s=t.memoizedProps,o=n!==null?n.memoizedProps:s,l=t.type,a=t.updateQueue;if(t.updateQueue=null,a!==null)try{l==="input"&&s.type==="radio"&&s.name!=null&&g0(r,s),uh(l,o);var c=uh(l,s);for(o=0;o<a.length;o+=2){var u=a[o],h=a[o+1];u==="style"?S0(r,h):u==="dangerouslySetInnerHTML"?x0(r,h):u==="children"?to(r,h):ed(r,u,h,c)}switch(l){case"input":sh(r,s);break;case"textarea":O0(r,s);break;case"select":var f=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!s.multiple;var d=s.value;d!=null?Cr(r,!!s.multiple,d,!1):f!==!!s.multiple&&(s.defaultValue!=null?Cr(r,!!s.multiple,s.defaultValue,!0):Cr(r,!!s.multiple,s.multiple?[]:"",!1))}r[uo]=s}catch(y){ke(t,t.return,y)}}break;case 6:if(Ht(e,t),hn(t),i&4){if(t.stateNode===null)throw Error(R(162));r=t.stateNode,s=t.memoizedProps;try{r.nodeValue=s}catch(y){ke(t,t.return,y)}}break;case 3:if(Ht(e,t),hn(t),i&4&&n!==null&&n.memoizedState.isDehydrated)try{so(e.containerInfo)}catch(y){ke(t,t.return,y)}break;case 4:Ht(e,t),hn(t);break;case 13:Ht(e,t),hn(t),r=t.child,r.flags&8192&&(s=r.memoizedState!==null,r.stateNode.isHidden=s,!s||r.alternate!==null&&r.alternate.memoizedState!==null||(Ed=Pe())),i&4&&$m(t);break;case 22:if(u=n!==null&&n.memoizedState!==null,t.mode&1?(tt=(c=tt)||u,Ht(e,t),tt=c):Ht(e,t),hn(t),i&8192){if(c=t.memoizedState!==null,(t.stateNode.isHidden=c)&&!u&&t.mode&1)for(I=t,u=t.child;u!==null;){for(h=I=u;I!==null;){switch(f=I,d=f.child,f.tag){case 0:case 11:case 14:case 15:Ws(4,f,f.return);break;case 1:wr(f,f.return);var m=f.stateNode;if(typeof m.componentWillUnmount=="function"){i=f,n=f.return;try{e=i,m.props=e.memoizedProps,m.state=e.memoizedState,m.componentWillUnmount()}catch(y){ke(i,n,y)}}break;case 5:wr(f,f.return);break;case 22:if(f.memoizedState!==null){Tm(h);continue}}d!==null?(d.return=f,I=d):Tm(h)}u=u.sibling}e:for(u=null,h=t;;){if(h.tag===5){if(u===null){u=h;try{r=h.stateNode,c?(s=r.style,typeof s.setProperty=="function"?s.setProperty("display","none","important"):s.display="none"):(l=h.stateNode,a=h.memoizedProps.style,o=a!=null&&a.hasOwnProperty("display")?a.display:null,l.style.display=v0("display",o))}catch(y){ke(t,t.return,y)}}}else if(h.tag===6){if(u===null)try{h.stateNode.nodeValue=c?"":h.memoizedProps}catch(y){ke(t,t.return,y)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===t)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;u===h&&(u=null),h=h.return}u===h&&(u=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:Ht(e,t),hn(t),i&4&&$m(t);break;case 21:break;default:Ht(e,t),hn(t)}}function hn(t){var e=t.flags;if(e&2){try{e:{for(var n=t.return;n!==null;){if(Vy(n)){var i=n;break e}n=n.return}throw Error(R(160))}switch(i.tag){case 5:var r=i.stateNode;i.flags&32&&(to(r,""),i.flags&=-33);var s=Pm(t);Xh(t,s,r);break;case 3:case 4:var o=i.stateNode.containerInfo,l=Pm(t);_h(t,l,o);break;default:throw Error(R(161))}}catch(a){ke(t,t.return,a)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function Xk(t,e,n){I=t,qy(t)}function qy(t,e,n){for(var i=(t.mode&1)!==0;I!==null;){var r=I,s=r.child;if(r.tag===22&&i){var o=r.memoizedState!==null||dl;if(!o){var l=r.alternate,a=l!==null&&l.memoizedState!==null||tt;l=dl;var c=tt;if(dl=o,(tt=a)&&!c)for(I=r;I!==null;)o=I,a=o.child,o.tag===22&&o.memoizedState!==null?Am(r):a!==null?(a.return=o,I=a):Am(r);for(;s!==null;)I=s,qy(s),s=s.sibling;I=r,dl=l,tt=c}Cm(t)}else r.subtreeFlags&8772&&s!==null?(s.return=r,I=s):Cm(t)}}function Cm(t){for(;I!==null;){var e=I;if(e.flags&8772){var n=e.alternate;try{if(e.flags&8772)switch(e.tag){case 0:case 11:case 15:tt||gc(5,e);break;case 1:var i=e.stateNode;if(e.flags&4&&!tt)if(n===null)i.componentDidMount();else{var r=e.elementType===e.type?n.memoizedProps:Jt(e.type,n.memoizedProps);i.componentDidUpdate(r,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var s=e.updateQueue;s!==null&&fm(e,s,i);break;case 3:var o=e.updateQueue;if(o!==null){if(n=null,e.child!==null)switch(e.child.tag){case 5:n=e.child.stateNode;break;case 1:n=e.child.stateNode}fm(e,o,n)}break;case 5:var l=e.stateNode;if(n===null&&e.flags&4){n=l;var a=e.memoizedProps;switch(e.type){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break;case"img":a.src&&(n.src=a.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(e.memoizedState===null){var c=e.alternate;if(c!==null){var u=c.memoizedState;if(u!==null){var h=u.dehydrated;h!==null&&so(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(R(163))}tt||e.flags&512&&zh(e)}catch(f){ke(e,e.return,f)}}if(e===t){I=null;break}if(n=e.sibling,n!==null){n.return=e.return,I=n;break}I=e.return}}function Tm(t){for(;I!==null;){var e=I;if(e===t){I=null;break}var n=e.sibling;if(n!==null){n.return=e.return,I=n;break}I=e.return}}function Am(t){for(;I!==null;){var e=I;try{switch(e.tag){case 0:case 11:case 15:var n=e.return;try{gc(4,e)}catch(a){ke(e,n,a)}break;case 1:var i=e.stateNode;if(typeof i.componentDidMount=="function"){var r=e.return;try{i.componentDidMount()}catch(a){ke(e,r,a)}}var s=e.return;try{zh(e)}catch(a){ke(e,s,a)}break;case 5:var o=e.return;try{zh(e)}catch(a){ke(e,o,a)}}}catch(a){ke(e,e.return,a)}if(e===t){I=null;break}var l=e.sibling;if(l!==null){l.return=e.return,I=l;break}I=e.return}}var Ik=Math.ceil,Ta=qn.ReactCurrentDispatcher,Md=qn.ReactCurrentOwner,Wt=qn.ReactCurrentBatchConfig,re=0,Ne=null,Ce=null,qe=0,Tt=0,kr=Ti(0),De=0,Oo=null,Ki=0,Oc=0,Rd=0,Fs=null,mt=null,Ed=0,Yr=1/0,Rn=null,Aa=!1,Ih=null,Oi=null,pl=!1,ci=null,Ma=0,Vs=0,Nh=null,ql=-1,Gl=0;function ct(){return re&6?Pe():ql!==-1?ql:ql=Pe()}function yi(t){return t.mode&1?re&2&&qe!==0?qe&-qe:bk.transition!==null?(Gl===0&&(Gl=E0()),Gl):(t=oe,t!==0||(t=window.event,t=t===void 0?16:X0(t.type)),t):1}function sn(t,e,n,i){if(50<Vs)throw Vs=0,Nh=null,Error(R(185));zo(t,n,i),(!(re&2)||t!==Ne)&&(t===Ne&&(!(re&2)&&(Oc|=n),De===4&&oi(t,qe)),kt(t,i),n===1&&re===0&&!(e.mode&1)&&(Yr=Pe()+500,dc&&Ai()))}function kt(t,e){var n=t.callbackNode;bw(t,e);var i=pa(t,t===Ne?qe:0);if(i===0)n!==null&&_p(n),t.callbackNode=null,t.callbackPriority=0;else if(e=i&-i,t.callbackPriority!==e){if(n!=null&&_p(n),e===1)t.tag===0?kk(Mm.bind(null,t)):sy(Mm.bind(null,t)),xk(function(){!(re&6)&&Ai()}),n=null;else{switch(j0(i)){case 1:n=sd;break;case 4:n=M0;break;case 16:n=da;break;case 536870912:n=R0;break;default:n=da}n=i1(n,Gy.bind(null,t))}t.callbackPriority=e,t.callbackNode=n}}function Gy(t,e){if(ql=-1,Gl=0,re&6)throw Error(R(327));var n=t.callbackNode;if(Er()&&t.callbackNode!==n)return null;var i=pa(t,t===Ne?qe:0);if(i===0)return null;if(i&30||i&t.expiredLanes||e)e=Ra(t,i);else{e=i;var r=re;re|=2;var s=Ky();(Ne!==t||qe!==e)&&(Rn=null,Yr=Pe()+500,Wi(t,e));do try{Wk();break}catch(l){Hy(t,l)}while(!0);yd(),Ta.current=s,re=r,Ce!==null?e=0:(Ne=null,qe=0,e=De)}if(e!==0){if(e===2&&(r=mh(t),r!==0&&(i=r,e=Bh(t,r))),e===1)throw n=Oo,Wi(t,0),oi(t,i),kt(t,Pe()),n;if(e===6)oi(t,i);else{if(r=t.current.alternate,!(i&30)&&!Nk(r)&&(e=Ra(t,i),e===2&&(s=mh(t),s!==0&&(i=s,e=Bh(t,s))),e===1))throw n=Oo,Wi(t,0),oi(t,i),kt(t,Pe()),n;switch(t.finishedWork=r,t.finishedLanes=i,e){case 0:case 1:throw Error(R(345));case 2:Zi(t,mt,Rn);break;case 3:if(oi(t,i),(i&130023424)===i&&(e=Ed+500-Pe(),10<e)){if(pa(t,0)!==0)break;if(r=t.suspendedLanes,(r&i)!==i){ct(),t.pingedLanes|=t.suspendedLanes&r;break}t.timeoutHandle=kh(Zi.bind(null,t,mt,Rn),e);break}Zi(t,mt,Rn);break;case 4:if(oi(t,i),(i&4194240)===i)break;for(e=t.eventTimes,r=-1;0<i;){var o=31-rn(i);s=1<<o,o=e[o],o>r&&(r=o),i&=~s}if(i=r,i=Pe()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Ik(i/1960))-i,10<i){t.timeoutHandle=kh(Zi.bind(null,t,mt,Rn),i);break}Zi(t,mt,Rn);break;case 5:Zi(t,mt,Rn);break;default:throw Error(R(329))}}}return kt(t,Pe()),t.callbackNode===n?Gy.bind(null,t):null}function Bh(t,e){var n=Fs;return t.current.memoizedState.isDehydrated&&(Wi(t,e).flags|=256),t=Ra(t,e),t!==2&&(e=mt,mt=n,e!==null&&Wh(e)),t}function Wh(t){mt===null?mt=t:mt.push.apply(mt,t)}function Nk(t){for(var e=t;;){if(e.flags&16384){var n=e.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var i=0;i<n.length;i++){var r=n[i],s=r.getSnapshot;r=r.value;try{if(!on(s(),r))return!1}catch{return!1}}}if(n=e.child,e.subtreeFlags&16384&&n!==null)n.return=e,e=n;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function oi(t,e){for(e&=~Rd,e&=~Oc,t.suspendedLanes|=e,t.pingedLanes&=~e,t=t.expirationTimes;0<e;){var n=31-rn(e),i=1<<n;t[n]=-1,e&=~i}}function Mm(t){if(re&6)throw Error(R(327));Er();var e=pa(t,0);if(!(e&1))return kt(t,Pe()),null;var n=Ra(t,e);if(t.tag!==0&&n===2){var i=mh(t);i!==0&&(e=i,n=Bh(t,i))}if(n===1)throw n=Oo,Wi(t,0),oi(t,e),kt(t,Pe()),n;if(n===6)throw Error(R(345));return t.finishedWork=t.current.alternate,t.finishedLanes=e,Zi(t,mt,Rn),kt(t,Pe()),null}function jd(t,e){var n=re;re|=1;try{return t(e)}finally{re=n,re===0&&(Yr=Pe()+500,dc&&Ai())}}function Ji(t){ci!==null&&ci.tag===0&&!(re&6)&&Er();var e=re;re|=1;var n=Wt.transition,i=oe;try{if(Wt.transition=null,oe=1,t)return t()}finally{oe=i,Wt.transition=n,re=e,!(re&6)&&Ai()}}function Zd(){Tt=kr.current,ge(kr)}function Wi(t,e){t.finishedWork=null,t.finishedLanes=0;var n=t.timeoutHandle;if(n!==-1&&(t.timeoutHandle=-1,yk(n)),Ce!==null)for(n=Ce.return;n!==null;){var i=n;switch(md(i),i.tag){case 1:i=i.type.childContextTypes,i!=null&&xa();break;case 3:Fr(),ge(St),ge(it),bd();break;case 5:kd(i);break;case 4:Fr();break;case 13:ge(ve);break;case 19:ge(ve);break;case 10:xd(i.type._context);break;case 22:case 23:Zd()}n=n.return}if(Ne=t,Ce=t=xi(t.current,null),qe=Tt=e,De=0,Oo=null,Rd=Oc=Ki=0,mt=Fs=null,Xi!==null){for(e=0;e<Xi.length;e++)if(n=Xi[e],i=n.interleaved,i!==null){n.interleaved=null;var r=i.next,s=n.pending;if(s!==null){var o=s.next;s.next=r,i.next=o}n.pending=i}Xi=null}return t}function Hy(t,e){do{var n=Ce;try{if(yd(),Vl.current=Ca,$a){for(var i=Se.memoizedState;i!==null;){var r=i.queue;r!==null&&(r.pending=null),i=i.next}$a=!1}if(Hi=0,_e=Ee=Se=null,Bs=!1,po=0,Md.current=null,n===null||n.return===null){De=1,Oo=e,Ce=null;break}e:{var s=t,o=n.return,l=n,a=e;if(e=qe,l.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){var c=a,u=l,h=u.tag;if(!(u.mode&1)&&(h===0||h===11||h===15)){var f=u.alternate;f?(u.updateQueue=f.updateQueue,u.memoizedState=f.memoizedState,u.lanes=f.lanes):(u.updateQueue=null,u.memoizedState=null)}var d=ym(o);if(d!==null){d.flags&=-257,xm(d,o,l,s,e),d.mode&1&&Om(s,c,e),e=d,a=c;var m=e.updateQueue;if(m===null){var y=new Set;y.add(a),e.updateQueue=y}else m.add(a);break e}else{if(!(e&1)){Om(s,c,e),Dd();break e}a=Error(R(426))}}else if(ye&&l.mode&1){var v=ym(o);if(v!==null){!(v.flags&65536)&&(v.flags|=256),xm(v,o,l,s,e),gd(Vr(a,l));break e}}s=a=Vr(a,l),De!==4&&(De=2),Fs===null?Fs=[s]:Fs.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,e&=-e,s.lanes|=e;var O=jy(s,a,e);hm(s,O);break e;case 1:l=a;var g=s.type,x=s.stateNode;if(!(s.flags&128)&&(typeof g.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(Oi===null||!Oi.has(x)))){s.flags|=65536,e&=-e,s.lanes|=e;var S=Zy(s,l,e);hm(s,S);break e}}s=s.return}while(s!==null)}e1(n)}catch(k){e=k,Ce===n&&n!==null&&(Ce=n=n.return);continue}break}while(!0)}function Ky(){var t=Ta.current;return Ta.current=Ca,t===null?Ca:t}function Dd(){(De===0||De===3||De===2)&&(De=4),Ne===null||!(Ki&268435455)&&!(Oc&268435455)||oi(Ne,qe)}function Ra(t,e){var n=re;re|=2;var i=Ky();(Ne!==t||qe!==e)&&(Rn=null,Wi(t,e));do try{Bk();break}catch(r){Hy(t,r)}while(!0);if(yd(),re=n,Ta.current=i,Ce!==null)throw Error(R(261));return Ne=null,qe=0,De}function Bk(){for(;Ce!==null;)Jy(Ce)}function Wk(){for(;Ce!==null&&!mw();)Jy(Ce)}function Jy(t){var e=n1(t.alternate,t,Tt);t.memoizedProps=t.pendingProps,e===null?e1(t):Ce=e,Md.current=null}function e1(t){var e=t;do{var n=e.alternate;if(t=e.return,e.flags&32768){if(n=Lk(n,e),n!==null){n.flags&=32767,Ce=n;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{De=6,Ce=null;return}}else if(n=Dk(n,e,Tt),n!==null){Ce=n;return}if(e=e.sibling,e!==null){Ce=e;return}Ce=e=t}while(e!==null);De===0&&(De=5)}function Zi(t,e,n){var i=oe,r=Wt.transition;try{Wt.transition=null,oe=1,Fk(t,e,n,i)}finally{Wt.transition=r,oe=i}return null}function Fk(t,e,n,i){do Er();while(ci!==null);if(re&6)throw Error(R(327));n=t.finishedWork;var r=t.finishedLanes;if(n===null)return null;if(t.finishedWork=null,t.finishedLanes=0,n===t.current)throw Error(R(177));t.callbackNode=null,t.callbackPriority=0;var s=n.lanes|n.childLanes;if(Qw(t,s),t===Ne&&(Ce=Ne=null,qe=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||pl||(pl=!0,i1(da,function(){return Er(),null})),s=(n.flags&15990)!==0,n.subtreeFlags&15990||s){s=Wt.transition,Wt.transition=null;var o=oe;oe=1;var l=re;re|=4,Md.current=null,_k(t,n),Uy(n,t),hk(Sh),ma=!!vh,Sh=vh=null,t.current=n,Xk(n),gw(),re=l,oe=o,Wt.transition=s}else t.current=n;if(pl&&(pl=!1,ci=t,Ma=r),s=t.pendingLanes,s===0&&(Oi=null),xw(n.stateNode),kt(t,Pe()),e!==null)for(i=t.onRecoverableError,n=0;n<e.length;n++)r=e[n],i(r.value,{componentStack:r.stack,digest:r.digest});if(Aa)throw Aa=!1,t=Ih,Ih=null,t;return Ma&1&&t.tag!==0&&Er(),s=t.pendingLanes,s&1?t===Nh?Vs++:(Vs=0,Nh=t):Vs=0,Ai(),null}function Er(){if(ci!==null){var t=j0(Ma),e=Wt.transition,n=oe;try{if(Wt.transition=null,oe=16>t?16:t,ci===null)var i=!1;else{if(t=ci,ci=null,Ma=0,re&6)throw Error(R(331));var r=re;for(re|=4,I=t.current;I!==null;){var s=I,o=s.child;if(I.flags&16){var l=s.deletions;if(l!==null){for(var a=0;a<l.length;a++){var c=l[a];for(I=c;I!==null;){var u=I;switch(u.tag){case 0:case 11:case 15:Ws(8,u,s)}var h=u.child;if(h!==null)h.return=u,I=h;else for(;I!==null;){u=I;var f=u.sibling,d=u.return;if(Fy(u),u===c){I=null;break}if(f!==null){f.return=d,I=f;break}I=d}}}var m=s.alternate;if(m!==null){var y=m.child;if(y!==null){m.child=null;do{var v=y.sibling;y.sibling=null,y=v}while(y!==null)}}I=s}}if(s.subtreeFlags&2064&&o!==null)o.return=s,I=o;else e:for(;I!==null;){if(s=I,s.flags&2048)switch(s.tag){case 0:case 11:case 15:Ws(9,s,s.return)}var O=s.sibling;if(O!==null){O.return=s.return,I=O;break e}I=s.return}}var g=t.current;for(I=g;I!==null;){o=I;var x=o.child;if(o.subtreeFlags&2064&&x!==null)x.return=o,I=x;else e:for(o=g;I!==null;){if(l=I,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:gc(9,l)}}catch(k){ke(l,l.return,k)}if(l===o){I=null;break e}var S=l.sibling;if(S!==null){S.return=l.return,I=S;break e}I=l.return}}if(re=r,Ai(),Qn&&typeof Qn.onPostCommitFiberRoot=="function")try{Qn.onPostCommitFiberRoot(ac,t)}catch{}i=!0}return i}finally{oe=n,Wt.transition=e}}return!1}function Rm(t,e,n){e=Vr(n,e),e=jy(t,e,1),t=gi(t,e,1),e=ct(),t!==null&&(zo(t,1,e),kt(t,e))}function ke(t,e,n){if(t.tag===3)Rm(t,t,n);else for(;e!==null;){if(e.tag===3){Rm(e,t,n);break}else if(e.tag===1){var i=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Oi===null||!Oi.has(i))){t=Vr(n,t),t=Zy(e,t,1),e=gi(e,t,1),t=ct(),e!==null&&(zo(e,1,t),kt(e,t));break}}e=e.return}}function Vk(t,e,n){var i=t.pingCache;i!==null&&i.delete(e),e=ct(),t.pingedLanes|=t.suspendedLanes&n,Ne===t&&(qe&n)===n&&(De===4||De===3&&(qe&130023424)===qe&&500>Pe()-Ed?Wi(t,0):Rd|=n),kt(t,e)}function t1(t,e){e===0&&(t.mode&1?(e=rl,rl<<=1,!(rl&130023424)&&(rl=4194304)):e=1);var n=ct();t=Wn(t,e),t!==null&&(zo(t,e,n),kt(t,n))}function Yk(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),t1(t,n)}function Uk(t,e){var n=0;switch(t.tag){case 13:var i=t.stateNode,r=t.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=t.stateNode;break;default:throw Error(R(314))}i!==null&&i.delete(e),t1(t,n)}var n1;n1=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||St.current)yt=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return yt=!1,Zk(t,e,n);yt=!!(t.flags&131072)}else yt=!1,ye&&e.flags&1048576&&oy(e,wa,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Ul(t,e),t=e.pendingProps;var r=Nr(e,it.current);Rr(e,n),r=Pd(null,e,i,t,r,n);var s=$d();return e.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,wt(i)?(s=!0,va(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Sd(e),r.updater=mc,e.stateNode=r,r._reactInternals=e,Ah(e,i,t,n),e=Eh(null,e,i,!0,s,n)):(e.tag=0,ye&&s&&pd(e),ot(null,e,r,n),e=e.child),e;case 16:i=e.elementType;e:{switch(Ul(t,e),t=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=Gk(i),t=Jt(i,t),r){case 0:e=Rh(null,e,i,t,n);break e;case 1:e=wm(null,e,i,t,n);break e;case 11:e=vm(null,e,i,t,n);break e;case 14:e=Sm(null,e,i,Jt(i.type,t),n);break e}throw Error(R(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jt(i,r),Rh(t,e,i,r,n);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jt(i,r),wm(t,e,i,r,n);case 3:e:{if(_y(e),t===null)throw Error(R(387));i=e.pendingProps,s=e.memoizedState,r=s.element,fy(t,e),Qa(e,i,null,n);var o=e.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){r=Vr(Error(R(423)),e),e=km(t,e,i,n,r);break e}else if(i!==r){r=Vr(Error(R(424)),e),e=km(t,e,i,n,r);break e}else for(Mt=mi(e.stateNode.containerInfo.firstChild),Et=e,ye=!0,tn=null,n=uy(e,null,i,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Br(),i===r){e=Fn(t,e,n);break e}ot(t,e,i,n)}e=e.child}return e;case 5:return dy(e),t===null&&$h(e),i=e.type,r=e.pendingProps,s=t!==null?t.memoizedProps:null,o=r.children,wh(i,r)?o=null:s!==null&&wh(i,s)&&(e.flags|=32),zy(t,e),ot(t,e,o,n),e.child;case 6:return t===null&&$h(e),null;case 13:return Xy(t,e,n);case 4:return wd(e,e.stateNode.containerInfo),i=e.pendingProps,t===null?e.child=Wr(e,null,i,n):ot(t,e,i,n),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jt(i,r),vm(t,e,i,r,n);case 7:return ot(t,e,e.pendingProps,n),e.child;case 8:return ot(t,e,e.pendingProps.children,n),e.child;case 12:return ot(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(i=e.type._context,r=e.pendingProps,s=e.memoizedProps,o=r.value,de(ka,i._currentValue),i._currentValue=o,s!==null)if(on(s.value,o)){if(s.children===r.children&&!St.current){e=Fn(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Xn(-1,n&-n),a.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?a.next=a:(a.next=u.next,u.next=a),c.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ch(s.return,n,e),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(R(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ch(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}ot(t,e,r.children,n),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Rr(e,n),r=Vt(r),i=i(r),e.flags|=1,ot(t,e,i,n),e.child;case 14:return i=e.type,r=Jt(i,e.pendingProps),r=Jt(i.type,r),Sm(t,e,i,r,n);case 15:return Dy(t,e,e.type,e.pendingProps,n);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jt(i,r),Ul(t,e),e.tag=1,wt(i)?(t=!0,va(e)):t=!1,Rr(e,n),Ey(e,i,r),Ah(e,i,r,n),Eh(null,e,i,!0,t,n);case 19:return Iy(t,e,n);case 22:return Ly(t,e,n)}throw Error(R(156,e.tag))};function i1(t,e){return A0(t,e)}function qk(t,e,n,i){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function It(t,e,n,i){return new qk(t,e,n,i)}function Ld(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Gk(t){if(typeof t=="function")return Ld(t)?1:0;if(t!=null){if(t=t.$$typeof,t===nd)return 11;if(t===id)return 14}return 2}function xi(t,e){var n=t.alternate;return n===null?(n=It(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function Hl(t,e,n,i,r,s){var o=2;if(i=t,typeof t=="function")Ld(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case dr:return Fi(n.children,r,s,e);case td:o=8,r|=8;break;case eh:return t=It(12,n,e,r|2),t.elementType=eh,t.lanes=s,t;case th:return t=It(13,n,e,r),t.elementType=th,t.lanes=s,t;case nh:return t=It(19,n,e,r),t.elementType=nh,t.lanes=s,t;case d0:return yc(n,r,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case h0:o=10;break e;case f0:o=9;break e;case nd:o=11;break e;case id:o=14;break e;case ei:o=16,i=null;break e}throw Error(R(130,t==null?t:typeof t,""))}return e=It(o,n,e,r),e.elementType=t,e.type=i,e.lanes=s,e}function Fi(t,e,n,i){return t=It(7,t,i,e),t.lanes=n,t}function yc(t,e,n,i){return t=It(22,t,i,e),t.elementType=d0,t.lanes=n,t.stateNode={isHidden:!1},t}function gu(t,e,n){return t=It(6,t,null,e),t.lanes=n,t}function Ou(t,e,n){return e=It(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function Hk(t,e,n,i,r){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Hc(0),this.expirationTimes=Hc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hc(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function zd(t,e,n,i,r,s,o,l,a){return t=new Hk(t,e,n,l,a),e===1?(e=1,s===!0&&(e|=8)):e=0,s=It(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Sd(s),t}function Kk(t,e,n){var i=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:fr,key:i==null?null:""+i,children:t,containerInfo:e,implementation:n}}function r1(t){if(!t)return wi;t=t._reactInternals;e:{if(or(t)!==t||t.tag!==1)throw Error(R(170));var e=t;do{switch(e.tag){case 3:e=e.stateNode.context;break e;case 1:if(wt(e.type)){e=e.stateNode.__reactInternalMemoizedMergedChildContext;break e}}e=e.return}while(e!==null);throw Error(R(171))}if(t.tag===1){var n=t.type;if(wt(n))return ry(t,n,e)}return e}function s1(t,e,n,i,r,s,o,l,a){return t=zd(n,i,!0,t,r,s,o,l,a),t.context=r1(null),n=t.current,i=ct(),r=yi(n),s=Xn(i,r),s.callback=e??null,gi(n,s,r),t.current.lanes=r,zo(t,r,i),kt(t,i),t}function xc(t,e,n,i){var r=e.current,s=ct(),o=yi(r);return n=r1(n),e.context===null?e.context=n:e.pendingContext=n,e=Xn(s,o),e.payload={element:t},i=i===void 0?null:i,i!==null&&(e.callback=i),t=gi(r,e,o),t!==null&&(sn(t,r,o,s),Fl(t,r,o)),o}function Ea(t){if(t=t.current,!t.child)return null;switch(t.child.tag){case 5:return t.child.stateNode;default:return t.child.stateNode}}function Em(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<e?n:e}}function _d(t,e){Em(t,e),(t=t.alternate)&&Em(t,e)}function Jk(){return null}var o1=typeof reportError=="function"?reportError:function(t){console.error(t)};function Xd(t){this._internalRoot=t}vc.prototype.render=Xd.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(R(409));xc(t,e,null,null)};vc.prototype.unmount=Xd.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;Ji(function(){xc(null,t,null,null)}),e[Bn]=null}};function vc(t){this._internalRoot=t}vc.prototype.unstable_scheduleHydration=function(t){if(t){var e=L0();t={blockedOn:null,target:t,priority:e};for(var n=0;n<si.length&&e!==0&&e<si[n].priority;n++);si.splice(n,0,t),n===0&&_0(t)}};function Id(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function Sc(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function jm(){}function eb(t,e,n,i,r){if(r){if(typeof i=="function"){var s=i;i=function(){var c=Ea(o);s.call(c)}}var o=s1(e,i,t,0,null,!1,!1,"",jm);return t._reactRootContainer=o,t[Bn]=o.current,ao(t.nodeType===8?t.parentNode:t),Ji(),o}for(;r=t.lastChild;)t.removeChild(r);if(typeof i=="function"){var l=i;i=function(){var c=Ea(a);l.call(c)}}var a=zd(t,0,!1,null,null,!1,!1,"",jm);return t._reactRootContainer=a,t[Bn]=a.current,ao(t.nodeType===8?t.parentNode:t),Ji(function(){xc(e,a,n,i)}),a}function wc(t,e,n,i,r){var s=n._reactRootContainer;if(s){var o=s;if(typeof r=="function"){var l=r;r=function(){var a=Ea(o);l.call(a)}}xc(e,o,t,r)}else o=eb(n,e,t,r,i);return Ea(o)}Z0=function(t){switch(t.tag){case 3:var e=t.stateNode;if(e.current.memoizedState.isDehydrated){var n=Ms(e.pendingLanes);n!==0&&(od(e,n|1),kt(e,Pe()),!(re&6)&&(Yr=Pe()+500,Ai()))}break;case 13:Ji(function(){var i=Wn(t,1);if(i!==null){var r=ct();sn(i,t,1,r)}}),_d(t,1)}};ld=function(t){if(t.tag===13){var e=Wn(t,134217728);if(e!==null){var n=ct();sn(e,t,134217728,n)}_d(t,134217728)}};D0=function(t){if(t.tag===13){var e=yi(t),n=Wn(t,e);if(n!==null){var i=ct();sn(n,t,e,i)}_d(t,e)}};L0=function(){return oe};z0=function(t,e){var n=oe;try{return oe=t,e()}finally{oe=n}};fh=function(t,e,n){switch(e){case"input":if(sh(t,n),e=n.name,n.type==="radio"&&e!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),e=0;e<n.length;e++){var i=n[e];if(i!==t&&i.form===t.form){var r=fc(i);if(!r)throw Error(R(90));m0(i),sh(i,r)}}}break;case"textarea":O0(t,n);break;case"select":e=n.value,e!=null&&Cr(t,!!n.multiple,e,!1)}};b0=jd;Q0=Ji;var tb={usingClientEntryPoint:!1,Events:[Xo,Or,fc,w0,k0,jd]},vs={findFiberByHostInstance:_i,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nb={bundleType:vs.bundleType,version:vs.version,rendererPackageName:vs.rendererPackageName,rendererConfig:vs.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:qn.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=C0(t),t===null?null:t.stateNode},findFiberByHostInstance:vs.findFiberByHostInstance||Jk,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 ml=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ml.isDisabled&&ml.supportsFiber)try{ac=ml.inject(nb),Qn=ml}catch{}}Zt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tb;Zt.createPortal=function(t,e){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Id(e))throw Error(R(200));return Kk(t,e,null,n)};Zt.createRoot=function(t,e){if(!Id(t))throw Error(R(299));var n=!1,i="",r=o1;return e!=null&&(e.unstable_strictMode===!0&&(n=!0),e.identifierPrefix!==void 0&&(i=e.identifierPrefix),e.onRecoverableError!==void 0&&(r=e.onRecoverableError)),e=zd(t,1,!1,null,null,n,!1,i,r),t[Bn]=e.current,ao(t.nodeType===8?t.parentNode:t),new Xd(e)};Zt.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(R(188)):(t=Object.keys(t).join(","),Error(R(268,t)));return t=C0(e),t=t===null?null:t.stateNode,t};Zt.flushSync=function(t){return Ji(t)};Zt.hydrate=function(t,e,n){if(!Sc(e))throw Error(R(200));return wc(null,t,e,!0,n)};Zt.hydrateRoot=function(t,e,n){if(!Id(t))throw Error(R(405));var i=n!=null&&n.hydratedSources||null,r=!1,s="",o=o1;if(n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(s=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),e=s1(e,null,t,1,n??null,r,!1,s,o),t[Bn]=e.current,ao(t),i)for(t=0;t<i.length;t++)n=i[t],r=n._getVersion,r=r(n._source),e.mutableSourceEagerHydrationData==null?e.mutableSourceEagerHydrationData=[n,r]:e.mutableSourceEagerHydrationData.push(n,r);return new vc(e)};Zt.render=function(t,e,n){if(!Sc(e))throw Error(R(200));return wc(null,t,e,!1,n)};Zt.unmountComponentAtNode=function(t){if(!Sc(t))throw Error(R(40));return t._reactRootContainer?(Ji(function(){wc(null,null,t,!1,function(){t._reactRootContainer=null,t[Bn]=null})}),!0):!1};Zt.unstable_batchedUpdates=jd;Zt.unstable_renderSubtreeIntoContainer=function(t,e,n,i){if(!Sc(n))throw Error(R(200));if(t==null||t._reactInternals===void 0)throw Error(R(38));return wc(t,e,n,!1,i)};Zt.version="18.3.1-next-f1338f8080-20240426";function l1(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l1)}catch(t){console.error(t)}}l1(),l0.exports=Zt;var ib=l0.exports,Gn,Zm=ib;Gn=ca.createRoot=Zm.createRoot,ca.hydrateRoot=Zm.hydrateRoot;const rb=Object.freeze(Object.defineProperty({__proto__:null,get createRoot(){return Gn},default:ca},Symbol.toStringTag,{value:"Module"})),sb={},Dm=t=>{let e;const n=new Set,i=(u,h)=>{const f=typeof u=="function"?u(e):u;if(!Object.is(f,e)){const d=e;e=h??(typeof f!="object"||f===null)?f:Object.assign({},e,f),n.forEach(m=>m(e,d))}},r=()=>e,a={setState:i,getState:r,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(sb?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},c=e=t(i,r,a);return a},ob=t=>t?Dm(t):Dm;var a1={exports:{}},c1={},u1={exports:{}},h1={};/**
|
|
41
|
+
* @license React
|
|
42
|
+
* use-sync-external-store-shim.production.js
|
|
43
|
+
*
|
|
44
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
45
|
+
*
|
|
46
|
+
* This source code is licensed under the MIT license found in the
|
|
47
|
+
* LICENSE file in the root directory of this source tree.
|
|
48
|
+
*/var Ur=E;function lb(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var ab=typeof Object.is=="function"?Object.is:lb,cb=Ur.useState,ub=Ur.useEffect,hb=Ur.useLayoutEffect,fb=Ur.useDebugValue;function db(t,e){var n=e(),i=cb({inst:{value:n,getSnapshot:e}}),r=i[0].inst,s=i[1];return hb(function(){r.value=n,r.getSnapshot=e,yu(r)&&s({inst:r})},[t,n,e]),ub(function(){return yu(r)&&s({inst:r}),t(function(){yu(r)&&s({inst:r})})},[t]),fb(n),n}function yu(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!ab(t,n)}catch{return!0}}function pb(t,e){return e()}var mb=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?pb:db;h1.useSyncExternalStore=Ur.useSyncExternalStore!==void 0?Ur.useSyncExternalStore:mb;u1.exports=h1;var gb=u1.exports;/**
|
|
49
|
+
* @license React
|
|
50
|
+
* use-sync-external-store-shim/with-selector.production.js
|
|
51
|
+
*
|
|
52
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
53
|
+
*
|
|
54
|
+
* This source code is licensed under the MIT license found in the
|
|
55
|
+
* LICENSE file in the root directory of this source tree.
|
|
56
|
+
*/var kc=E,Ob=gb;function yb(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var xb=typeof Object.is=="function"?Object.is:yb,vb=Ob.useSyncExternalStore,Sb=kc.useRef,wb=kc.useEffect,kb=kc.useMemo,bb=kc.useDebugValue;c1.useSyncExternalStoreWithSelector=function(t,e,n,i,r){var s=Sb(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=kb(function(){function a(d){if(!c){if(c=!0,u=d,d=i(d),r!==void 0&&o.hasValue){var m=o.value;if(r(m,d))return h=m}return h=d}if(m=h,xb(u,d))return m;var y=i(d);return r!==void 0&&r(m,y)?(u=d,m):(u=d,h=y)}var c=!1,u,h,f=n===void 0?null:n;return[function(){return a(e())},f===null?void 0:function(){return a(f())}]},[e,n,i,r]);var l=vb(t,s[0],s[1]);return wb(function(){o.hasValue=!0,o.value=l},[l]),bb(l),l};a1.exports=c1;var Qb=a1.exports;const Pb=UO(Qb),f1={},{useDebugValue:$b}=s0,{useSyncExternalStoreWithSelector:Cb}=Pb;let Lm=!1;const Tb=t=>t;function Ab(t,e=Tb,n){(f1?"production":void 0)!=="production"&&n&&!Lm&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Lm=!0);const i=Cb(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return $b(i),i}const zm=t=>{(f1?"production":void 0)!=="production"&&typeof t!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const e=typeof t=="function"?ob(t):t,n=(i,r)=>Ab(e,i,r);return Object.assign(n,e),n},os=t=>t?zm(t):zm,ni=os((t,e)=>({windows:[],activeWindowId:null,nextZIndex:100,createWindow:n=>{const i=`window-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,{nextZIndex:r}=e(),s={id:i,title:"Untitled",x:100+e().windows.length*30,y:100+e().windows.length*30,width:400,height:300,isShaded:!1,isMaximized:!1,zIndex:r,appId:"unknown",closable:!0,resizable:!0,...n};return t(o=>({windows:[...o.windows,s],activeWindowId:i,nextZIndex:r+1})),i},closeWindow:n=>{t(i=>({windows:i.windows.filter(r=>r.id!==n),activeWindowId:i.activeWindowId===n?null:i.activeWindowId}))},focusWindow:n=>{const{nextZIndex:i,windows:r}=e();r.find(o=>o.id===n)&&t(o=>({windows:o.windows.map(l=>l.id===n?{...l,zIndex:i}:l),activeWindowId:n,nextZIndex:i+1}))},updateWindow:(n,i)=>{t(r=>({windows:r.windows.map(s=>s.id===n?{...s,...i}:s)}))},toggleShade:n=>{t(i=>({windows:i.windows.map(r=>r.id===n?{...r,isShaded:!r.isShaded}:r)}))},toggleMaximize:n=>{t(i=>({windows:i.windows.map(r=>r.id===n?{...r,isMaximized:!r.isMaximized}:r)}))}})),En=os(t=>({apps:new Map,runningApps:new Set,foregroundApp:null,registerApp:e=>{t(n=>{const i=new Map(n.apps);return i.set(e.id,e),{apps:i}})},unregisterApp:e=>{t(n=>{const i=new Map(n.apps);return i.delete(e),{apps:i}})},launchApp:e=>{t(n=>{const i=new Set(n.runningApps);return i.add(e),{runningApps:i,foregroundApp:e}})},quitApp:e=>{t(n=>{const i=new Set(n.runningApps);return i.delete(e),{runningApps:i,foregroundApp:n.foregroundApp===e?null:n.foregroundApp}})},setForeground:e=>{t({foregroundApp:e})}})),_m=os(t=>({activeMenu:null,appMenus:new Map,setActiveMenu:e=>{t({activeMenu:e})},setAppMenus:(e,n)=>{t(i=>{const r=new Map(i.appMenus);return r.set(e,n),{appMenus:r}})},clearAppMenus:e=>{t(n=>{const i=new Map(n.appMenus);return i.delete(e),{appMenus:i}})}})),jr=os((t,e)=>({toasts:[],alerts:[],controlStripCollapsed:!1,controlStripItems:[],showFPS:!1,scanlines:!1,addToast:n=>{const i=`toast-${Date.now()}`,r={id:i,message:n,timestamp:Date.now()};t(s=>({toasts:[...s.toasts,r]})),setTimeout(()=>{e().removeToast(i)},3e3)},removeToast:n=>{t(i=>({toasts:i.toasts.filter(r=>r.id!==n)}))},showAlert:n=>new Promise(i=>{const s={id:`alert-${Date.now()}`,options:n,resolve:i};t(o=>({alerts:[...o.alerts,s]}))}),dismissAlert:(n,i)=>{const r=e().alerts.find(s=>s.id===n);r&&(r.resolve(i),t(s=>({alerts:s.alerts.filter(o=>o.id!==n)})))},toggleControlStrip:()=>{t(n=>({controlStripCollapsed:!n.controlStripCollapsed}))},addControlStripItem:n=>{t(i=>({controlStripItems:[...i.controlStripItems,n]}))},removeControlStripItem:n=>{t(i=>({controlStripItems:i.controlStripItems.filter(r=>r.id!==n)}))},toggleFPS:()=>{t(n=>({showFPS:!n.showFPS}))},toggleScanlines:()=>{t(n=>({scanlines:!n.scanlines}))}}));os(t=>({booted:!1,bootProgress:0,preferences:{appearance:{theme:"platinum",accentColor:"#0000DD",showScrollArrows:!0},sound:{volume:.7,alertSound:"Sosumi",uiSounds:!0},displays:{brightness:1,resolution:"800x600"},general:{showFPS:!1,scanlines:!1,smoothScrolling:!0}},setBoot:e=>{t({booted:e})},setBootProgress:e=>{t({bootProgress:e})},updatePreferences:e=>{t(n=>({preferences:{...n.preferences,...e}}))}}));function ls(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}function Mb(t,e){let n;const i=()=>{if(n)return n;const r=indexedDB.open(t);return r.onupgradeneeded=()=>r.result.createObjectStore(e),n=ls(r),n.then(s=>{s.onclose=()=>n=void 0},()=>{}),n};return(r,s)=>i().then(o=>s(o.transaction(e,r).objectStore(e)))}let xu;function bc(){return xu||(xu=Mb("keyval-store","keyval")),xu}function Ss(t,e=bc()){return e("readonly",n=>ls(n.get(t)))}function vu(t,e,n=bc()){return n("readwrite",i=>(i.put(e,t),ls(i.transaction)))}function Rb(t,e=bc()){return e("readwrite",n=>(n.delete(t),ls(n.transaction)))}function Eb(t,e){return t.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},ls(t.transaction)}function jb(t=bc()){return t("readonly",e=>{if(e.getAllKeys)return ls(e.getAllKeys());const n=[];return Eb(e,i=>n.push(i.key)).then(()=>n)})}const Zb="nova64-fs:";class Db{constructor(){Ko(this,"cache",new Map);this.initializeDefaults()}async initializeDefaults(){await this.exists("/System")||await this.seedFilesystem()}async seedFilesystem(){const e=["/System","/System/Extensions","/System/Control Panels","/Applications","/Users","/Users/Player","/Users/Player/Desktop","/Users/Player/Documents","/Users/Player/Library","/Users/Player/Library/Preferences","/Trash"];for(const i of e)await this.mkdir(i);await this.write("/Users/Player/Library/Preferences/com.nova64.shell.json",JSON.stringify({appearance:{theme:"platinum",accentColor:"#0000FF",showScrollArrows:!0},sound:{volume:.7,alertSound:"Sosumi",uiSounds:!0},displays:{brightness:1,resolution:"800x600"},general:{showFPS:!1,scanlines:!1,smoothScrolling:!0}}));const n=[{id:"com.nova64.graphics",name:"Graphics Accelerator",icon:"๐จ"},{id:"com.nova64.sound",name:"Sound Manager",icon:"๐"},{id:"com.nova64.network",name:"Network Extension",icon:"๐"},{id:"com.nova64.memory",name:"Memory Manager",icon:"๐พ"}];for(const i of n)await this.write(`/System/Extensions/${i.id}.json`,JSON.stringify({...i,version:"1.0",enabled:!0}));await this.createAlias("/Applications","/Users/Player/Desktop/Applications"),await this.createAlias("/Users/Player/Documents","/Users/Player/Desktop/Documents")}getKey(e){return Zb+e}normalizePath(e){return e!=="/"&&e.endsWith("/")&&(e=e.slice(0,-1)),e}async read(e){if(e=this.normalizePath(e),this.cache.has(e)){const i=this.cache.get(e);if(i.type==="file"&&i.data)return i.data}const n=await Ss(this.getKey(e));if(!n)throw new Error(`File not found: ${e}`);if(n.type==="directory")throw new Error(`Cannot read directory: ${e}`);if(n.type==="alias"){const i=n.data;return this.read(i.targetPath)}return this.cache.set(e,n),n.data||""}async write(e,n,i){e=this.normalizePath(e);const r=this.getParentPath(e);r&&!await this.exists(r)&&await this.mkdir(r);let s=n;if(i!=null&&i.append&&await this.exists(e)){const a=await this.read(e);typeof a=="string"&&typeof n=="string"&&(s=a+n)}const o=Date.now();let l=await Ss(this.getKey(e));l||(l={path:e,type:"file",created:o,modified:o}),l.data=s,l.modified=o,await vu(this.getKey(e),l),this.cache.set(e,l)}async mkdir(e){if(e=this.normalizePath(e),await this.exists(e))return;const n=e.split("/").filter(Boolean);let i="";for(const r of n)if(i+="/"+r,!await this.exists(i)){const s=Date.now(),o={path:i,type:"directory",created:s,modified:s};await vu(this.getKey(i),o),this.cache.set(i,o)}}async rm(e,n){if(e=this.normalizePath(e),!await this.exists(e))throw new Error(`Path not found: ${e}`);if((await this.stat(e)).type==="directory"){if(n!=null&&n.recursive){const r=await this.readdir(e);for(const s of r)await this.rm(`${e}/${s}`,{recursive:!0})}else if((await this.readdir(e)).length>0)throw new Error(`Directory not empty: ${e}`)}await Rb(this.getKey(e)),this.cache.delete(e)}async stat(e){e=this.normalizePath(e);const n=await Ss(this.getKey(e));if(!n)throw new Error(`Path not found: ${e}`);let i=0;return n.type==="file"&&n.data&&(typeof n.data=="string"?i=n.data.length:n.data instanceof ArrayBuffer&&(i=n.data.byteLength)),{path:n.path,type:n.type,size:i,created:n.created,modified:n.modified}}async readdir(e){if(e=this.normalizePath(e),!await this.exists(e))throw new Error(`Directory not found: ${e}`);if((await this.stat(e)).type!=="directory")throw new Error(`Not a directory: ${e}`);const i=await jb(),r=this.getKey(e+"/"),s=[];for(const o of i)if(typeof o=="string"&&o.startsWith(r)){const l=o.substring(r.length);l.includes("/")||s.push(l)}return s.sort()}async exists(e){if(e=this.normalizePath(e),this.cache.has(e))return!0;const n=await Ss(this.getKey(e));return n&&this.cache.set(e,n),!!n}async createAlias(e,n){if(e=this.normalizePath(e),n=this.normalizePath(n),!await this.exists(e))throw new Error(`Target not found: ${e}`);const i=Date.now(),s={path:n,type:"alias",data:{type:"alias",targetPath:e,created:i},created:i,modified:i};await vu(this.getKey(n),s),this.cache.set(n,s)}async resolveAlias(e,n=0){if(n>10)throw new Error("Alias chain too deep (circular reference?)");e=this.normalizePath(e);const i=await Ss(this.getKey(e));if(!i)throw new Error(`Path not found: ${e}`);if(i.type!=="alias")return e;const r=i.data;return this.resolveAlias(r.targetPath,n+1)}getParentPath(e){const n=e.split("/").filter(Boolean);return n.length===0?null:(n.pop(),n.length===0?"/":"/"+n.join("/"))}async moveToTrash(e){e=this.normalizePath(e);const n=await this.stat(e),i=e.split("/").pop()||"unknown";let s=`/Trash/${i}`,o=1;for(;await this.exists(s);)s=`/Trash/${i}.${o}`,o++;if(n.type==="file"){const l=await this.read(e);await this.write(s,l)}else if(n.type==="directory"){await this.mkdir(s);const l=await this.readdir(e);for(const a of l)await this.moveToTrash(`${e}/${a}`)}await this.rm(e,{recursive:!0})}async emptyTrash(){const e=await this.readdir("/Trash");for(const n of e)await this.rm(`/Trash/${n}`,{recursive:!0})}}const Lt=new Db;class Lb{constructor(){Ko(this,"handlers",new Map)}on(e,n){return this.handlers.has(e)||this.handlers.set(e,new Set),this.handlers.get(e).add(n),()=>{const i=this.handlers.get(e);i&&(i.delete(n),i.size===0&&this.handlers.delete(e))}}emit(e){const n=this.handlers.get(e.type);n&&n.forEach(r=>{try{r(e)}catch(s){console.error(`Error in event handler for ${e.type}:`,s)}});const i=this.handlers.get("*");i&&i.forEach(r=>{try{r(e)}catch(s){console.error("Error in wildcard event handler:",s)}})}once(e,n){const i=r=>{n(r),this.off(e,i)};this.on(e,i)}off(e,n){const i=this.handlers.get(e);i&&i.delete(n)}clear(e){e?this.handlers.delete(e):this.handlers.clear()}}const Kt=new Lb;function An(t,e){return{type:t,payload:e,timestamp:Date.now()}}class zb{constructor(){Ko(this,"version","1.0.0")}async read(e){return Lt.read(e)}async write(e,n,i){await Lt.write(e,n,i),Kt.emit(An("fs:changed",{path:e,action:"write"}))}async mkdir(e){await Lt.mkdir(e),Kt.emit(An("fs:changed",{path:e,action:"mkdir"}))}async rm(e,n){await Lt.rm(e,n),Kt.emit(An("fs:changed",{path:e,action:"rm"}))}async stat(e){return Lt.stat(e)}async readdir(e){return Lt.readdir(e)}async exists(e){return Lt.exists(e)}async createAlias(e,n){await Lt.createAlias(e,n),Kt.emit(An("fs:changed",{path:n,action:"alias"}))}async resolveAlias(e){return Lt.resolveAlias(e)}registerApp(e){En.getState().registerApp(e),console.log(`โ
Registered app: ${e.id} (${e.name})`),Kt.emit(An("app:registered",{appId:e.id}))}async launchApp(e,n){console.log(`๐ launchApp called with appId: ${e}`);const i=En.getState().apps.get(e);if(!i){const s=Array.from(En.getState().apps.keys());throw console.error(`โ App not found: ${e}`),console.error("Available apps:",s),new Error(`App not found: ${e}. Available: ${s.join(", ")}`)}console.log("โ
Found app:",i.name),En.getState().launchApp(e);const r=ni.getState().createWindow({title:i.name,appId:e,width:600,height:400});setTimeout(()=>{const s=document.querySelector(`[data-window-id="${r}"] .window-content`);s&&i.mount&&i.mount(s,this)},0),i.menus&&this.setAppMenus(e,i.menus),Kt.emit(An("app:launched",{appId:e,args:n}))}quitApp(e){const n=En.getState().apps.get(e);n&&n.unmount&&n.unmount(),ni.getState().windows.filter(r=>r.appId===e).forEach(r=>{ni.getState().closeWindow(r.id)}),En.getState().quitApp(e),this.clearAppMenus(e),Kt.emit(An("app:quit",{appId:e}))}getRunningApps(){return Array.from(En.getState().runningApps)}async alert(e){return jr.getState().showAlert(e)}toast(e){jr.getState().addToast(e)}registerControlStrip(e){jr.getState().addControlStripItem(e)}setAppMenus(e,n){_m.getState().setAppMenus(e,n),Kt.emit(An("menu:updated",{appId:e}))}clearAppMenus(e){_m.getState().clearAppMenus(e)}on(e,n){return Kt.on(e,n)}emit(e){Kt.emit(e)}createWindow(e){return ni.getState().createWindow(e)}closeWindow(e){ni.getState().closeWindow(e)}focusWindow(e){ni.getState().focusWindow(e)}async getPref(e){try{const n=await this.read("/Users/Player/Library/Preferences/com.nova64.shell.json");return JSON.parse(n)[e]}catch{return}}async setPref(e,n){try{let i={};try{const r=await this.read("/Users/Player/Library/Preferences/com.nova64.shell.json");i=JSON.parse(r)}catch{}i[e]=n,await this.write("/Users/Player/Library/Preferences/com.nova64.shell.json",JSON.stringify(i,null,2)),Kt.emit(An("prefs:changed",{key:e,value:n}))}catch(i){console.error("Failed to set preference:",i)}}}const Ie=new zb;typeof window<"u"&&(window.novaContext=Ie);const _b=[{id:"hypernova",name:"hyperNova",icon:"๐",description:"HyperCard-like stack editor โ build interactive cards & mini-apps",category:"Creativity"},{id:"game-launcher",name:"Game Launcher",icon:"๐ฎ",description:"Browse and launch Nova64 games",category:"Entertainment"},{id:"studio",name:"Game Studio",icon:"๐ป",description:"Code editor with live preview",category:"Development"},{id:"paint",name:"Paint",icon:"๐จ",description:"Pixel art editor",category:"Graphics"},{id:"sprite-editor",name:"Sprite Editor",icon:"๐ผ๏ธ",description:"Create and export pixel sprites",category:"Graphics"},{id:"notes",name:"Notes",icon:"๐",description:"Text editor and notepad",category:"Productivity"},{id:"docs",name:"Documentation",icon:"๐",description:"Nova64 API reference",category:"Reference"}];function Xb({onClose:t}){const[e,n]=E.useState(""),i=_b.filter(s=>s.name.toLowerCase().includes(e.toLowerCase())||s.description.toLowerCase().includes(e.toLowerCase())),r=s=>{Ie.launchApp(s),t()};return p.jsx("div",{className:"app-launcher-overlay",onClick:t,children:p.jsxs("div",{className:"app-launcher",onClick:s=>s.stopPropagation(),children:[p.jsx("div",{className:"app-launcher-header",children:p.jsx("input",{type:"text",className:"app-launcher-search",placeholder:"Type to search...",value:e,onChange:s=>n(s.target.value),autoFocus:!0})}),p.jsxs("div",{className:"app-launcher-content",children:[p.jsx("div",{className:"app-launcher-grid",children:i.map(s=>p.jsxs("div",{className:"app-launcher-item",onClick:()=>r(s.id),children:[p.jsx("div",{className:"app-launcher-icon",children:s.icon}),p.jsx("div",{className:"app-launcher-name",children:s.name}),p.jsx("div",{className:"app-launcher-description",children:s.description})]},s.id))}),i.length===0&&p.jsxs("div",{className:"app-launcher-empty",children:[p.jsx("div",{style:{fontSize:48,opacity:.3,marginBottom:16},children:"๐"}),p.jsx("div",{style:{opacity:.5},children:"No applications found"})]})]}),p.jsx("div",{className:"app-launcher-footer",children:p.jsx("button",{className:"app-launcher-close",onClick:t,children:"Close"})})]})})}function Ib({appMenus:t=[],onCommand:e}){const[n,i]=E.useState(null),[r,s]=E.useState(!1),[o,l]=E.useState(new Date),a=E.useRef(null);E.useEffect(()=>{const y=setInterval(()=>l(new Date),1e3);return()=>clearInterval(y)},[]),E.useEffect(()=>{const y=O=>{a.current&&!a.current.contains(O.target)&&i(null)},v=O=>{O.key==="Escape"&&i(null)};if(n)return document.addEventListener("mousedown",y),document.addEventListener("keydown",v),()=>{document.removeEventListener("mousedown",y),document.removeEventListener("keydown",v)}},[n]);const c={label:"๐",submenu:[{label:"About nova64 OS",role:"about"},{type:"separator",label:""},{label:"System Profiler..."},{label:"Control Panels",type:"submenu",submenu:[{label:"Appearance"},{label:"Sound"},{label:"Displays"}]},{type:"separator",label:""},{label:"Recent Items",type:"submenu",submenu:[{label:"Applications",type:"separator"},{label:"Clear Menu",enabled:!1}]},{type:"separator",label:""},{label:"Restart..."},{label:"Shut Down..."}]},u=[{label:"Applications",submenu:[{label:"๐ hyperNova",id:"hypernova",click:()=>Ie.launchApp("hypernova")},{type:"separator",label:""},{label:"Sprite Editor",id:"sprite-editor",click:()=>Ie.launchApp("sprite-editor")},{label:"Game Studio",id:"studio",click:()=>Ie.launchApp("studio")},{label:"Game Launcher",id:"game-launcher",click:()=>Ie.launchApp("game-launcher")}]},{label:"File",submenu:[{label:"New Folder",accelerator:"โN"},{label:"Open",accelerator:"โO"},{type:"separator",label:""},{label:"Close Window",accelerator:"โW"},{label:"Get Info",accelerator:"โI"},{label:"Duplicate",accelerator:"โD"},{label:"Make Alias",accelerator:"โL"},{type:"separator",label:""},{label:"Put Away",accelerator:"โY"},{type:"separator",label:""},{label:"Find...",accelerator:"โF"},{type:"separator",label:""},{label:"Empty Trash..."}]},{label:"Edit",submenu:[{label:"Undo",accelerator:"โZ"},{type:"separator",label:""},{label:"Cut",accelerator:"โX",role:"cut"},{label:"Copy",accelerator:"โC",role:"copy"},{label:"Paste",accelerator:"โV",role:"paste"},{label:"Clear"},{label:"Select All",accelerator:"โA"}]},{label:"View",submenu:[{label:"as Icons",checked:!0},{label:"as List"},{label:"as Columns"},{type:"separator",label:""},{label:"Clean Up"},{label:"Arrange",type:"submenu",submenu:[{label:"by Name"},{label:"by Date Modified"},{label:"by Size"},{label:"by Kind"}]}]},{label:"Special",submenu:[{label:"Empty Trash..."},{label:"Eject",accelerator:"โE",enabled:!1},{type:"separator",label:""},{label:"Sleep"},{label:"Restart..."},{label:"Shut Down..."}]}],h=[c,...t.length>0?t:u],f=y=>y.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}),d=y=>{i(n===y?null:y)},m=y=>{y.type==="separator"||y.enabled===!1||(y.click?y.click():y.id&&e&&e(y.id),i(null))};return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"menubar",ref:a,children:[p.jsxs("div",{className:"menubar-left",children:[p.jsx("button",{className:"activities-button",onClick:()=>s(!0),children:"โก Activities"}),h.map((y,v)=>p.jsxs("div",{style:{position:"relative"},children:[p.jsx("div",{className:`menu-item ${n===y.label?"active":""}`,onClick:()=>d(y.label),children:y.label}),n===y.label&&p.jsx("div",{className:"menu-dropdown",children:y.submenu.map((O,g)=>p.jsx(d1,{item:O,onClick:()=>m(O)},g))})]},v))]}),p.jsxs("div",{className:"menubar-right",children:[p.jsx("div",{className:"menu-status-icon",title:"Network",children:"๐ถ"}),p.jsx("div",{className:"menu-status-icon",title:"Volume",children:"๏ฟฝ"}),p.jsx("div",{className:"menu-status-icon",title:"Battery",children:"๏ฟฝ๐"}),p.jsx("div",{className:"menu-time",children:f(o)})]})]}),r&&p.jsx(Xb,{onClose:()=>s(!1)})]})}function d1({item:t,onClick:e}){const[n,i]=E.useState(!1);return t.type==="separator"?p.jsx("div",{className:"menu-dropdown-item separator"}):p.jsxs("div",{className:`menu-dropdown-item ${t.enabled===!1?"disabled":""}`,onClick:t.enabled!==!1?e:void 0,onMouseEnter:()=>t.submenu&&i(!0),onMouseLeave:()=>i(!1),children:[t.checked&&p.jsx("span",{className:"menu-checkmark",children:"โ"}),p.jsx("span",{children:t.label}),t.accelerator&&p.jsx("span",{className:"menu-accelerator",children:t.accelerator}),t.submenu&&p.jsx("span",{className:"menu-arrow",children:"โธ"}),t.submenu&&n&&p.jsx("div",{className:"menu-dropdown",style:{left:"100%",top:-4},children:t.submenu.map((r,s)=>p.jsx(d1,{item:r,onClick:e},s))})]})}function Nb(){const[t]=E.useState([{id:"hd",name:"Nova HD",path:"/",type:"disk",icon:"๐พ",x:window.innerWidth-100,y:40},{id:"game-launcher",name:"Game Launcher",path:"/Applications/GameLauncher.app",type:"app",icon:"๐ฎ",x:window.innerWidth-100,y:140},{id:"sprite-editor",name:"Sprite Editor",path:"/Applications/SpriteEditor.app",type:"app",icon:"๐จ",x:window.innerWidth-100,y:240},{id:"studio",name:"Game Studio",path:"/Applications/GameStudio.app",type:"app",icon:"๐ป",x:window.innerWidth-100,y:340},{id:"docs",name:"Documentation",path:"/Applications/Documentation.app",type:"app",icon:"๐",x:window.innerWidth-100,y:440},{id:"trash",name:"Trash",path:"/Trash",type:"directory",icon:"๐๏ธ",x:window.innerWidth-100,y:window.innerHeight-140}]),[e,n]=E.useState(new Set),i=(o,l)=>{if(l.metaKey||l.ctrlKey){const a=new Set(e);a.has(o)?a.delete(o):a.add(o),n(a)}else n(new Set([o]))},r=o=>{console.log("Open:",o.name,o.path),o.type==="app"?Ie.launchApp(o.id):o.id==="hd"&&Ie.launchApp("demoscene")},s=o=>{o.target===o.currentTarget&&n(new Set)};return p.jsx("div",{className:"desktop",onClick:s,children:t.map(o=>p.jsxs("div",{className:`desktop-icon ${e.has(o.id)?"selected":""}`,style:{left:o.x,top:o.y},onClick:l=>i(o.id,l),onDoubleClick:()=>r(o),children:[p.jsx("div",{className:"desktop-icon-image",children:o.icon}),p.jsx("div",{className:"desktop-icon-label",children:o.name})]},o.id))})}function Bb({id:t,title:e,x:n,y:i,width:r,height:s,minWidth:o=150,minHeight:l=50,isShaded:a,isMaximized:c,zIndex:u,isActive:h,closable:f=!0,resizable:d=!0,children:m,onClose:y,onFocus:v}){const O=E.useRef(null),[g,x]=E.useState(!1),[S,k]=E.useState(!1),[b,Q]=E.useState({x:0,y:0}),[T,X]=E.useState({x:0,y:0,width:0,height:0}),{updateWindow:$,toggleShade:P,toggleMaximize:A}=ni(),N=c?0:n,z=c?20:i,V=c?window.innerWidth:r,ce=c?window.innerHeight-50:s;E.useEffect(()=>{const se=be=>{if(g){const te=be.clientX-b.x,He=be.clientY-b.y;$(t,{x:n+te,y:i+He}),Q({x:be.clientX,y:be.clientY})}else if(S){const te=Math.max(o,T.width+(be.clientX-T.x)),He=Math.max(l,T.height+(be.clientY-T.y));$(t,{width:te,height:He})}},ue=()=>{x(!1),k(!1)};if(g||S)return document.addEventListener("mousemove",se),document.addEventListener("mouseup",ue),()=>{document.removeEventListener("mousemove",se),document.removeEventListener("mouseup",ue)}},[g,S,b,T,n,i,t,$,o,l]);const U=se=>{se.button===0&&!c&&(x(!0),Q({x:se.clientX,y:se.clientY}),v==null||v())},M=()=>{P(t)},_=se=>{se.button===0&&!c&&(se.stopPropagation(),k(!0),X({x:se.clientX,y:se.clientY,width:r,height:s}),v==null||v())},B=()=>{y==null||y()},F=()=>{A(t)},q=()=>{v==null||v()};return p.jsxs("div",{ref:O,"data-window-id":t,className:`window ${h?"active":""} ${a?"shaded":""}`,style:{left:N,top:z,width:V,height:a?"auto":ce,zIndex:u},onClick:q,children:[p.jsxs("div",{className:"window-title",onMouseDown:U,onDoubleClick:M,children:[p.jsx("div",{className:"window-controls",children:f&&p.jsx("div",{className:"window-button window-close",onClick:B,children:"โช"})}),p.jsx("div",{className:"window-title-text",children:e}),p.jsx("div",{className:"window-button window-zoom",onClick:F,children:"โช"})]}),!a&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"window-content",children:m}),d&&!c&&p.jsx("div",{className:"window-resize-handle",onMouseDown:_})]})]})}function Wb(){const{controlStripCollapsed:t,controlStripItems:e,scanlines:n,toggleControlStrip:i,toggleFPS:r,toggleScanlines:s}=jr(),o=a=>{const c=parseFloat(a.target.value);console.log("Volume:",c)},l=a=>{const c=parseFloat(a.target.value);document.documentElement.style.filter=`brightness(${c})`};return p.jsxs("div",{className:`control-strip ${t?"collapsed":""}`,children:[p.jsx("div",{className:"control-strip-toggle",onClick:i,children:t?"โฒ":"โผ"}),!t&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"control-strip-item",children:[p.jsx("span",{className:"control-strip-icon",children:"๐"}),p.jsx("input",{type:"range",min:"0",max:"1",step:"0.1",defaultValue:"0.7",onChange:o,style:{width:60}})]}),p.jsxs("div",{className:"control-strip-item",children:[p.jsx("span",{className:"control-strip-icon",children:"โ๏ธ"}),p.jsx("input",{type:"range",min:"0.5",max:"1.5",step:"0.1",defaultValue:"1",onChange:l,style:{width:60}})]}),p.jsxs("div",{className:"control-strip-item",onClick:s,children:[p.jsx("span",{className:"control-strip-icon",children:"๐บ"}),p.jsx("span",{className:"control-strip-label",children:n?"ON":"OFF"})]}),p.jsxs("div",{className:"control-strip-item",onClick:r,children:[p.jsx("span",{className:"control-strip-icon",children:"โก"}),p.jsx("span",{className:"control-strip-label",children:"FPS"})]}),p.jsxs("div",{className:"control-strip-item",children:[p.jsx("span",{className:"control-strip-icon",children:"๐"}),p.jsx("span",{className:"control-strip-label",children:"Offline"})]}),e.map(a=>p.jsxs("div",{className:"control-strip-item",onClick:a.onClick,children:[p.jsx("span",{className:"control-strip-icon",children:a.icon}),p.jsx("span",{className:"control-strip-label",children:a.label})]},a.id))]})]})}function Fb(){const{alerts:t,dismissAlert:e}=jr();if(t.length===0)return null;const n=t[0],i=s=>{e(n.id,s)},r=()=>{switch(n.options.icon){case"warning":return"โ ๏ธ";case"error":return"๐";case"question":return"โ";case"info":default:return"โน๏ธ"}};return p.jsx("div",{className:"modal-overlay",children:p.jsxs("div",{className:"alert-dialog",children:[p.jsxs("div",{className:"alert-content",children:[p.jsx("div",{className:"alert-icon",children:r()}),p.jsxs("div",{className:"alert-text",children:[p.jsx("div",{className:"alert-title",children:n.options.title}),p.jsx("div",{className:"alert-message",children:n.options.message})]})]}),p.jsx("div",{className:"alert-buttons",children:n.options.buttons.map((s,o)=>p.jsx("button",{className:`button ${o===0?"default":""}`,onClick:()=>i(s),children:s},o))})]})})}const Xm=200,Su=[{id:"1",name:"Graphics Accelerator",version:"1.0",icon:"๐จ",enabled:!0},{id:"2",name:"Sound Manager",version:"1.0",icon:"๐",enabled:!0},{id:"3",name:"Network Extension",version:"1.0",icon:"๐",enabled:!0},{id:"4",name:"Memory Manager",version:"1.0",icon:"๐พ",enabled:!0},{id:"5",name:"File System",version:"1.0",icon:"๐",enabled:!0},{id:"6",name:"Display Manager",version:"1.0",icon:"๐ฅ๏ธ",enabled:!0}];function Vb({onComplete:t}){const[e,n]=E.useState("splash"),[i,r]=E.useState([]);return E.useEffect(()=>{const s=setTimeout(()=>{n("extensions")},1500);return()=>clearTimeout(s)},[]),E.useEffect(()=>{if(e==="extensions"){Su.forEach((o,l)=>{setTimeout(()=>{r(a=>[...a,o.id])},l*Xm)});const s=setTimeout(()=>{n("complete"),t()},Su.length*Xm+500);return()=>{clearTimeout(s)}}},[e,t]),e==="complete"?null:p.jsxs("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"#888888",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",zIndex:1e5},children:[e==="splash"&&p.jsxs("div",{style:{textAlign:"center"},children:[p.jsx("div",{style:{fontSize:48,marginBottom:24},children:"๐"}),p.jsx("div",{style:{fontSize:24,fontWeight:"bold",marginBottom:8},children:"Welcome to nova64 OS"}),p.jsx("div",{style:{fontSize:14,color:"#333"},children:"Version 1.0"})]}),e==="extensions"&&p.jsxs("div",{style:{width:600,textAlign:"center"},children:[p.jsx("div",{style:{fontSize:18,marginBottom:24,fontWeight:"bold"},children:"Loading System Extensions..."}),p.jsx("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:16,padding:20,background:"#DDDDDD",border:"2px solid #000"},children:Su.map(s=>p.jsx("div",{style:{fontSize:32,opacity:i.includes(s.id)?1:.2,transition:"opacity 0.2s"},title:s.name,children:s.icon},s.id))})]})]})}function Yb(){const[t,e]=E.useState(0);return E.useEffect(()=>{let n=0,i=performance.now(),r;const s=()=>{n++;const o=performance.now();o>=i+1e3&&(e(Math.round(n*1e3/(o-i))),n=0,i=o),r=requestAnimationFrame(s)};return r=requestAnimationFrame(s),()=>{cancelAnimationFrame(r)}},[]),p.jsxs("div",{className:"fps-counter",children:["FPS: ",t]})}function Ub(){const[t,e]=E.useState(!1),{windows:n,activeWindowId:i,focusWindow:r,closeWindow:s}=ni(),{showFPS:o,scanlines:l}=jr(),a=()=>{e(!0),console.log("๐ Startup chime!");const h=new URLSearchParams(window.location.search).get("app");h&&(console.log("๏ฟฝ URL parameter detected:",h),console.log("๐ Auto-launching app:",h),setTimeout(()=>{try{Ie.launchApp(h),console.log("โ
App launched successfully")}catch(f){console.error("โ Failed to launch app:",f)}},500))},c=u=>{console.log("Menu command:",u)};return p.jsxs("div",{className:l?"scanlines":"",children:[!t&&p.jsx(Vb,{onComplete:a}),t&&p.jsxs(p.Fragment,{children:[p.jsx(Ib,{onCommand:c}),p.jsx(Nb,{}),n.map(u=>p.jsx(Bb,{...u,isActive:u.id===i,onFocus:()=>r(u.id),onClose:()=>s(u.id)},u.id)),p.jsx(Wb,{}),p.jsx(Fb,{}),o&&p.jsx(Yb,{})]})]})}function qb(){const[t,e]=E.useState(""),[n,i]=E.useState("notes.txt"),[r,s]=E.useState(!0),o=async()=>{try{await Lt.write(`/Documents/${n}`,t),s(!0)}catch(a){alert("Error: "+a)}},l=t.split(/\s+/).filter(a=>a.length>0).length;return p.jsxs("div",{style:{height:"100%",display:"flex",flexDirection:"column",background:"linear-gradient(135deg, #fbc2eb 0%, #a6c1ee 100%)"},children:[p.jsxs("div",{style:{padding:12,background:"#2A2A2A",borderBottom:"2px solid #000",display:"flex",gap:12,alignItems:"center"},children:[p.jsx("span",{style:{fontSize:24},children:"๐"}),p.jsx("input",{type:"text",value:n,onChange:a=>{i(a.target.value),s(!1)},style:{padding:"6px 12px",border:"2px solid #a6c1ee",borderRadius:6,background:"#1E1E1E",color:"#FFF",width:250}}),p.jsx("div",{style:{flex:1}}),p.jsxs("button",{onClick:o,style:{padding:"8px 20px",background:r?"#00DD77":"#FFA500",border:"2px solid #000",borderRadius:8,cursor:"pointer",fontSize:13,color:"#000",fontWeight:"bold"},children:["๐พ ",r?"Saved":"Save"]})]}),p.jsx("div",{style:{flex:1,padding:16},children:p.jsxs("div",{style:{height:"100%",display:"flex",flexDirection:"column",background:"rgba(255,255,255,0.95)",borderRadius:12,border:"4px solid rgba(0,0,0,0.2)",overflow:"hidden"},children:[p.jsx("textarea",{value:t,onChange:a=>{e(a.target.value),s(!1)},placeholder:"Start typing...",style:{flex:1,padding:24,border:"none",outline:"none",resize:"none",fontFamily:"Georgia, serif",fontSize:16,lineHeight:1.8,color:"#1a1a1a"}}),p.jsxs("div",{style:{padding:"8px 16px",background:"#f8f8f8",borderTop:"2px solid rgba(0,0,0,0.1)",fontSize:11,color:"#666",fontWeight:"bold"},children:["๐ ",l," words | ",t.length," characters"]})]})})]})}const Gb={id:"notes",name:"Notes",icon:"๐",mount(t){const e=Gn(t);return e.render(p.jsx(qb,{})),()=>e.unmount()},unmount(){},getInfo(){return{name:"Notes",version:"2.0",description:"Text editor",author:"nova64 OS",icon:"๐"}}};Ie.registerApp(Gb);function Hb(){const t=E.useRef(null),[e,n]=E.useState(!1),[i,r]=E.useState("#FF00FF"),[s,o]=E.useState(4);E.useEffect(()=>{const c=t.current;if(!c)return;const u=c.getContext("2d");u&&(u.fillStyle="#FFFFFF",u.fillRect(0,0,c.width,c.height))},[]);const l=c=>{if(!e)return;const u=t.current;if(!u)return;const h=u.getContext("2d");if(!h)return;const f=u.getBoundingClientRect(),d=c.clientX-f.left,m=c.clientY-f.top;h.beginPath(),h.arc(d,m,s/2,0,Math.PI*2),h.fillStyle=i,h.fill()},a=["#FF00FF","#00FFFF","#FFFF00","#FF0000","#00FF00","#0000FF","#FFFFFF","#000000"];return p.jsxs("div",{style:{height:"100%",display:"flex",flexDirection:"column",background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)"},children:[p.jsxs("div",{style:{padding:12,background:"#2A2A2A",borderBottom:"2px solid #000",display:"flex",gap:12,alignItems:"center"},children:[p.jsx("span",{style:{fontSize:24},children:"๐จ"}),a.map(c=>p.jsx("button",{onClick:()=>r(c),style:{width:30,height:30,background:c,border:i===c?"3px solid #FFF":"2px solid #000",borderRadius:6,cursor:"pointer"}},c)),p.jsx("input",{type:"range",min:"1",max:"30",value:s,onChange:c=>o(Number(c.target.value)),style:{width:100}})]}),p.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:20},children:p.jsx("canvas",{ref:t,width:800,height:600,onMouseDown:()=>n(!0),onMouseMove:l,onMouseUp:()=>n(!1),onMouseLeave:()=>n(!1),style:{border:"4px solid #000",borderRadius:12,background:"#FFF",boxShadow:"0 12px 40px rgba(0,0,0,0.6)"}})})]})}const Kb={id:"paint",name:"Paint",icon:"๐จ",mount(t){const e=Gn(t);return e.render(p.jsx(Hb,{})),()=>e.unmount()},unmount(){},getInfo(){return{name:"Paint",version:"2.0",description:"Pixel art editor",author:"nova64 OS",icon:"๐จ"}}};Ie.registerApp(Kb);const Jb={id:"com.nova64.profiler",name:"System Profiler",icon:"๐ป",mount(t){const e=`
|
|
57
|
+
<div style="
|
|
58
|
+
padding: 20px;
|
|
59
|
+
font-family: 'Courier New', monospace;
|
|
60
|
+
font-size: 12px;
|
|
61
|
+
line-height: 1.8;
|
|
62
|
+
">
|
|
63
|
+
<h2 style="margin: 0 0 16px 0; font-size: 16px;">๐ System Profiler</h2>
|
|
64
|
+
|
|
65
|
+
<div style="background: #F5F5F5; padding: 12px; margin-bottom: 12px; border: 1px solid #CCC;">
|
|
66
|
+
<strong>System Software</strong><br/>
|
|
67
|
+
Operating System: nova64 OS<br/>
|
|
68
|
+
Version: 1.0.0<br/>
|
|
69
|
+
Build: ${new Date().toISOString().split("T")[0]}<br/>
|
|
70
|
+
Kernel: WebOS 2024<br/>
|
|
71
|
+
</div>
|
|
72
|
+
|
|
73
|
+
<div style="background: #F5F5F5; padding: 12px; margin-bottom: 12px; border: 1px solid #CCC;">
|
|
74
|
+
<strong>Hardware</strong><br/>
|
|
75
|
+
Processor: ${navigator.hardwareConcurrency||4} cores<br/>
|
|
76
|
+
Memory: ${navigator.deviceMemory||"?"} GB<br/>
|
|
77
|
+
Display: ${window.innerWidth}ร${window.innerHeight}<br/>
|
|
78
|
+
Platform: ${navigator.platform}<br/>
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<div style="background: #F5F5F5; padding: 12px; margin-bottom: 12px; border: 1px solid #CCC;">
|
|
82
|
+
<strong>Browser Information</strong><br/>
|
|
83
|
+
User Agent: ${navigator.userAgent.split(" ").slice(0,3).join(" ")}...<br/>
|
|
84
|
+
Language: ${navigator.language}<br/>
|
|
85
|
+
Online: ${navigator.onLine?"Yes":"No"}<br/>
|
|
86
|
+
Cookies Enabled: ${navigator.cookieEnabled?"Yes":"No"}<br/>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<div style="background: #F5F5F5; padding: 12px; margin-bottom: 12px; border: 1px solid #CCC;">
|
|
90
|
+
<strong>Storage</strong><br/>
|
|
91
|
+
IndexedDB: Available<br/>
|
|
92
|
+
LocalStorage: ${typeof localStorage<"u"?"Available":"Not Available"}<br/>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div style="margin-top: 20px; padding: 12px; background: #E8F4FF; border: 1px solid #0066CC;">
|
|
96
|
+
<strong>About nova64 OS</strong><br/>
|
|
97
|
+
A Mac OS 9-inspired operating system shell built with modern web technologies.
|
|
98
|
+
Features include a classic Platinum UI theme, virtual filesystem, window management,
|
|
99
|
+
and extensible application framework.
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
`;t.innerHTML=e,t.style.overflow="auto"},unmount(){},getInfo(){return{name:"System Profiler",version:"1.0",description:"View system information and hardware details",author:"nova64 OS",icon:"๐ป"}}};Ie.registerApp(Jb);const eQ=[{id:"fzero",name:"F-ZERO RACING",description:"Hyper-speed quantum racing",emoji:"๐๏ธ",path:"/examples/f-zero-nova-3d/code.js",category:"racing",color1:"#FF006E",color2:"#8338EC"},{id:"knight",name:"KNIGHT QUEST",description:"Medieval combat realm",emoji:"โ๏ธ",path:"/examples/strider-demo-3d/code.js",category:"platformer",color1:"#06FFA5",color2:"#0066FF"},{id:"cyberpunk",name:"NEO TOKYO 2077",description:"Neon dystopian adventure",emoji:"๐",path:"/examples/cyberpunk-city-3d/code.js",category:"adventure",color1:"#FF006E",color2:"#FFBE0B"},{id:"strider",name:"CYBER STRIDER",description:"Slash through dimensions",emoji:"๐ฎ",path:"/examples/strider-demo-3d/code.js",category:"platformer",color1:"#7209B7",color2:"#F72585"},{id:"demoscene",name:"DEMOโSCENE",description:"Audiovisual hypnosis",emoji:"โจ",path:"/examples/demoscene/code.js",category:"demo",color1:"#4CC9F0",color2:"#4361EE"},{id:"space-combat",name:"VOID HUNTER",description:"Deep space warfare",emoji:"๐",path:"/examples/star-fox-nova-3d/code.js",category:"racing",color1:"#FF006E",color2:"#3A0CA3"},{id:"minecraft",name:"VOXEL REALM",description:"Infinite procedural worlds",emoji:"โ๏ธ",path:"/examples/minecraft-demo/code.js",category:"adventure",color1:"#06FFA5",color2:"#FFB703"}];function tQ(){const t=En(s=>s.launchApp),[e,n]=E.useState(null),i=s=>{const a=`${window.location.hostname==="localhost"&&(window.location.port==="3000"||window.location.port==="3001")?"http://localhost:5174":window.location.origin}/?path=${encodeURIComponent(s.path)}`;console.log("๐ฎ Launching game:",s.name,"at",a),window.open(a,`nova64-${s.id}`,"width=1400,height=900,menubar=no,toolbar=no,location=no,status=no")},r=()=>{t("studio")};return p.jsxs("div",{style:{height:"100%",overflow:"auto",background:"#0a0a0a",position:"relative"},children:[p.jsx("div",{style:{padding:"48px 32px",background:"linear-gradient(135deg, #FF006E, #8338EC, #3A0CA3)",borderBottom:"4px solid #FF006E"},children:p.jsx("h1",{style:{margin:0,fontSize:48,fontWeight:900,color:"#FFF",textShadow:"0 0 20px #FF006E",letterSpacing:"3px"},children:"โก NOVA64 ARCADE"})}),p.jsxs("div",{style:{padding:32},children:[p.jsx("button",{onClick:r,style:{padding:"14px 28px",background:"linear-gradient(135deg, #06FFA5, #00D9FF)",border:"3px solid #06FFA5",borderRadius:8,cursor:"pointer",fontWeight:900,fontSize:16,color:"#000",marginBottom:24},children:"โก CREATE NEW GAME"}),p.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:24},children:eQ.map(s=>p.jsxs("div",{onClick:()=>i(s),onMouseEnter:()=>n(s.id),onMouseLeave:()=>n(null),style:{background:e===s.id?`linear-gradient(135deg, ${s.color1}, ${s.color2})`:"#1a1a1a",border:`3px solid ${e===s.id?s.color1:"#333"}`,borderRadius:12,cursor:"pointer",padding:20,transition:"all 0.3s",transform:e===s.id?"translateY(-8px) scale(1.03)":"scale(1)",boxShadow:e===s.id?`0 0 40px ${s.color1}`:"0 4px 12px rgba(0,0,0,0.8)"},children:[p.jsx("div",{style:{fontSize:60,textAlign:"center",marginBottom:16,filter:`drop-shadow(0 0 20px ${s.color1})`},children:s.emoji}),p.jsx("div",{style:{fontSize:18,fontWeight:900,color:e===s.id?"#FFF":s.color1,textAlign:"center",marginBottom:8},children:s.name}),p.jsx("div",{style:{fontSize:13,color:e===s.id?"#FFF":"#888",textAlign:"center"},children:s.description})]},s.id))})]})]})}const nQ={id:"game-launcher",name:"Game Launcher",icon:"๐ฎ",mount(t,e){const n=Gn(t);return n.render(p.jsx(tQ,{})),()=>{n.unmount()}},unmount(){},getInfo(){return{name:"Game Launcher",version:"1.0",description:"Browse and launch nova64 games",author:"nova64 OS",icon:"๐ฎ"}}};Ie.registerApp(nQ);const iQ="modulepreload",rQ=function(t,e){return new URL(t,e).href},Im={},lt=function(e,n,i){let r=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),a=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=rQ(c,i),c in Im)return;Im[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(!!i)for(let m=o.length-1;m>=0;m--){const y=o[m];if(y.href===c&&(!u||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":iQ,u||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),u)return new Promise((m,y)=>{d.addEventListener("load",m),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return e().catch(s)})};let Fh=[],p1=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,n=0;e<t.length;e++)(e%2?p1:Fh).push(n=n+t[e])})();function sQ(t){if(t<768)return!1;for(let e=0,n=Fh.length;;){let i=e+n>>1;if(t<Fh[i])n=i;else if(t>=p1[i])e=i+1;else return!0;if(e==n)return!1}}function Nm(t){return t>=127462&&t<=127487}const Bm=8205;function oQ(t,e,n=!0,i=!0){return(n?m1:lQ)(t,e,i)}function m1(t,e,n){if(e==t.length)return e;e&&g1(t.charCodeAt(e))&&O1(t.charCodeAt(e-1))&&e--;let i=wu(t,e);for(e+=Wm(i);e<t.length;){let r=wu(t,e);if(i==Bm||r==Bm||n&&sQ(r))e+=Wm(r),i=r;else if(Nm(r)){let s=0,o=e-2;for(;o>=0&&Nm(wu(t,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function lQ(t,e,n){for(;e>0;){let i=m1(t,e-2,n);if(i<e)return i;e--}return 0}function wu(t,e){let n=t.charCodeAt(e);if(!O1(n)||e+1==t.length)return n;let i=t.charCodeAt(e+1);return g1(i)?(n-55296<<10)+(i-56320)+65536:n}function g1(t){return t>=56320&&t<57344}function O1(t){return t>=55296&&t<56320}function Wm(t){return t<65536?1:2}class ee{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,n,i){[e,n]=qr(this,e,n);let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(n,this.length,r,1),xn.from(r,this.length-(n-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,n=this.length){[e,n]=qr(this,e,n);let i=[];return this.decompose(e,n,i,0),xn.from(i,n-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let n=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),r=new Ys(this),s=new Ys(e);for(let o=n,l=n;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(l+=r.value.length,r.done||l>=i)return!0}}iter(e=1){return new Ys(this,e)}iterRange(e,n=this.length){return new y1(this,e,n)}iterLines(e,n){let i;if(e==null)i=this.iter();else{n==null&&(n=this.lines+1);let r=this.line(e).from;i=this.iterRange(r,Math.max(r,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new x1(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?ee.empty:e.length<=32?new Qe(e):xn.from(Qe.split(e,[]))}}class Qe extends ee{constructor(e,n=aQ(e)){super(),this.text=e,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(e,n,i,r){for(let s=0;;s++){let o=this.text[s],l=r+o.length;if((n?i:l)>=e)return new cQ(r,l,i,o);r=l+1,i++}}decompose(e,n,i,r){let s=e<=0&&n>=this.length?this:new Qe(Fm(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(r&1){let o=i.pop(),l=Kl(s.text,o.text.slice(),0,s.length);if(l.length<=32)i.push(new Qe(l,o.length+s.length));else{let a=l.length>>1;i.push(new Qe(l.slice(0,a)),new Qe(l.slice(a)))}}else i.push(s)}replace(e,n,i){if(!(i instanceof Qe))return super.replace(e,n,i);[e,n]=qr(this,e,n);let r=Kl(this.text,Kl(i.text,Fm(this.text,0,e)),n),s=this.length+i.length-(n-e);return r.length<=32?new Qe(r,s):xn.from(Qe.split(r,[]),s)}sliceString(e,n=this.length,i=`
|
|
103
|
+
`){[e,n]=qr(this,e,n);let r="";for(let s=0,o=0;s<=n&&o<this.text.length;o++){let l=this.text[o],a=s+l.length;s>e&&o&&(r+=i),e<a&&n>s&&(r+=l.slice(Math.max(0,e-s),n-s)),s=a+1}return r}flatten(e){for(let n of this.text)e.push(n)}scanIdentical(){return 0}static split(e,n){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,i.length==32&&(n.push(new Qe(i,r)),i=[],r=-1);return r>-1&&n.push(new Qe(i,r)),n}}class xn extends ee{constructor(e,n){super(),this.children=e,this.length=n,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,n,i,r){for(let s=0;;s++){let o=this.children[s],l=r+o.length,a=i+o.lines-1;if((n?a:l)>=e)return o.lineInner(e,n,i,r);r=l+1,i=a+1}}decompose(e,n,i,r){for(let s=0,o=0;o<=n&&s<this.children.length;s++){let l=this.children[s],a=o+l.length;if(e<=a&&n>=o){let c=r&((o<=e?1:0)|(a>=n?2:0));o>=e&&a<=n&&!c?i.push(l):l.decompose(e-o,n-o,i,c)}o=a+1}}replace(e,n,i){if([e,n]=qr(this,e,n),i.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],l=s+o.length;if(e>=s&&n<=l){let a=o.replace(e-s,n-s,i),c=this.lines-o.lines+a.lines;if(a.lines<c>>4&&a.lines>c>>6){let u=this.children.slice();return u[r]=a,new xn(u,this.length-(n-e)+i.length)}return super.replace(s,l,a)}s=l+1}return super.replace(e,n,i)}sliceString(e,n=this.length,i=`
|
|
104
|
+
`){[e,n]=qr(this,e,n);let r="";for(let s=0,o=0;s<this.children.length&&o<=n;s++){let l=this.children[s],a=o+l.length;o>e&&s&&(r+=i),e<a&&n>o&&(r+=l.sliceString(e-o,n-o,i)),o=a+1}return r}flatten(e){for(let n of this.children)n.flatten(e)}scanIdentical(e,n){if(!(e instanceof xn))return 0;let i=0,[r,s,o,l]=n>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=n,s+=n){if(r==o||s==l)return i;let a=this.children[r],c=e.children[s];if(a!=c)return i+a.scanIdentical(c,n);i+=a.length+1}}static from(e,n=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let m of e)m.flatten(d);return new Qe(d,n)}let r=Math.max(32,i>>5),s=r<<1,o=r>>1,l=[],a=0,c=-1,u=[];function h(d){let m;if(d.lines>s&&d instanceof xn)for(let y of d.children)h(y);else d.lines>o&&(a>o||!a)?(f(),l.push(d)):d instanceof Qe&&a&&(m=u[u.length-1])instanceof Qe&&d.lines+m.lines<=32?(a+=d.lines,c+=d.length+1,u[u.length-1]=new Qe(m.text.concat(d.text),m.length+1+d.length)):(a+d.lines>r&&f(),a+=d.lines,c+=d.length+1,u.push(d))}function f(){a!=0&&(l.push(u.length==1?u[0]:xn.from(u,c)),c=-1,a=u.length=0)}for(let d of e)h(d);return f(),l.length==1?l[0]:new xn(l,n)}}ee.empty=new Qe([""],0);function aQ(t){let e=-1;for(let n of t)e+=n.length+1;return e}function Kl(t,e,n=0,i=1e9){for(let r=0,s=0,o=!0;s<t.length&&r<=i;s++){let l=t[s],a=r+l.length;a>=n&&(a>i&&(l=l.slice(0,i-r)),r<n&&(l=l.slice(n-r)),o?(e[e.length-1]+=l,o=!1):e.push(l)),r=a+1}return e}function Fm(t,e,n){return Kl(t,[""],e,n)}class Ys{constructor(e,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[n>0?1:(e instanceof Qe?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],o=s>>1,l=r instanceof Qe?r.text.length:r.children.length;if(o==(n>0?l:0)){if(i==0)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(n>0?0:1)){if(this.offsets[i]+=n,e==0)return this.lineBreak=!0,this.value=`
|
|
105
|
+
`,this;e--}else if(r instanceof Qe){let a=r.text[o+(n<0?-1:0)];if(this.offsets[i]+=n,a.length>Math.max(0,e))return this.value=e==0?a:n>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[o+(n<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(n>0?1:(a instanceof Qe?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class y1{constructor(e,n,i){this.value="",this.done=!1,this.cursor=new Ys(e,n>i?-1:1),this.pos=n>i?e.length:0,this.from=Math.min(n,i),this.to=Math.max(n,i)}nextInner(e,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let i=n<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*n,this.value=r.length<=i?r:n<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class x1{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:n,lineBreak:i,value:r}=this.inner.next(e);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(ee.prototype[Symbol.iterator]=function(){return this.iter()},Ys.prototype[Symbol.iterator]=y1.prototype[Symbol.iterator]=x1.prototype[Symbol.iterator]=function(){return this});class cQ{constructor(e,n,i,r){this.from=e,this.to=n,this.number=i,this.text=r}get length(){return this.to-this.from}}function qr(t,e,n){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,n))]}function Ue(t,e,n=!0,i=!0){return oQ(t,e,n,i)}function uQ(t){return t>=56320&&t<57344}function hQ(t){return t>=55296&&t<56320}function gt(t,e){let n=t.charCodeAt(e);if(!hQ(n)||e+1==t.length)return n;let i=t.charCodeAt(e+1);return uQ(i)?(n-55296<<10)+(i-56320)+65536:n}function Nd(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function vn(t){return t<65536?1:2}const Vh=/\r\n?|\n/;var Ye=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(Ye||(Ye={}));class $n{constructor(e){this.sections=e}get length(){let e=0;for(let n=0;n<this.sections.length;n+=2)e+=this.sections[n];return e}get newLength(){let e=0;for(let n=0;n<this.sections.length;n+=2){let i=this.sections[n+1];e+=i<0?this.sections[n]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let n=0,i=0,r=0;n<this.sections.length;){let s=this.sections[n++],o=this.sections[n++];o<0?(e(i,r,s),r+=s):r+=o,i+=s}}iterChangedRanges(e,n=!1){Yh(this,e,n)}get invertedDesc(){let e=[];for(let n=0;n<this.sections.length;){let i=this.sections[n++],r=this.sections[n++];r<0?e.push(i,r):e.push(r,i)}return new $n(e)}composeDesc(e){return this.empty?e:e.empty?this:v1(this,e)}mapDesc(e,n=!1){return e.empty?this:Uh(this,e,n)}mapPos(e,n=-1,i=Ye.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],c=r+l;if(a<0){if(c>e)return s+(e-r);s+=l}else{if(i!=Ye.Simple&&c>=e&&(i==Ye.TrackDel&&r<e&&c>e||i==Ye.TrackBefore&&r<e||i==Ye.TrackAfter&&c>e))return null;if(c>e||c==e&&n<0&&!l)return e==r||n<0?s:s+a;s+=a}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,n=e){for(let i=0,r=0;i<this.sections.length&&r<=n;){let s=this.sections[i++],o=this.sections[i++],l=r+s;if(o>=0&&r<=n&&l>=e)return r<e&&l>n?"cover":!0;r=l}return!1}toString(){let e="";for(let n=0;n<this.sections.length;){let i=this.sections[n++],r=this.sections[n++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new $n(e)}static create(e){return new $n(e)}}class je extends $n{constructor(e,n){super(e),this.inserted=n}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Yh(this,(n,i,r,s,o)=>e=e.replace(r,r+(i-n),o),!1),e}mapDesc(e,n=!1){return Uh(this,e,n,!0)}invert(e){let n=this.sections.slice(),i=[];for(let r=0,s=0;r<n.length;r+=2){let o=n[r],l=n[r+1];if(l>=0){n[r]=l,n[r+1]=o;let a=r>>1;for(;i.length<a;)i.push(ee.empty);i.push(o?e.slice(s,s+o):ee.empty)}s+=o}return new je(n,i)}compose(e){return this.empty?e:e.empty?this:v1(this,e,!0)}map(e,n=!1){return e.empty?this:Uh(this,e,n,!0)}iterChanges(e,n=!1){Yh(this,e,n)}get desc(){return $n.create(this.sections)}filter(e){let n=[],i=[],r=[],s=new yo(this);e:for(let o=0,l=0;;){let a=o==e.length?1e9:e[o++];for(;l<a||l==a&&s.len==0;){if(s.done)break e;let u=Math.min(s.len,a-l);et(r,u,-1);let h=s.ins==-1?-1:s.off==0?s.ins:0;et(n,u,h),h>0&&ui(i,n,s.text),s.forward(u),l+=u}let c=e[o++];for(;l<c;){if(s.done)break e;let u=Math.min(s.len,c-l);et(n,u,-1),et(r,u,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(u),l+=u}}return{changes:new je(n,i),filtered:$n.create(r)}}toJSON(){let e=[];for(let n=0;n<this.sections.length;n+=2){let i=this.sections[n],r=this.sections[n+1];r<0?e.push(i):r==0?e.push([i]):e.push([i].concat(this.inserted[n>>1].toJSON()))}return e}static of(e,n,i){let r=[],s=[],o=0,l=null;function a(u=!1){if(!u&&!r.length)return;o<n&&et(r,n-o,-1);let h=new je(r,s);l=l?l.compose(h.map(l)):h,r=[],s=[],o=0}function c(u){if(Array.isArray(u))for(let h of u)c(h);else if(u instanceof je){if(u.length!=n)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${n})`);a(),l=l?l.compose(u.map(l)):u}else{let{from:h,to:f=h,insert:d}=u;if(h>f||h<0||f>n)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${n})`);let m=d?typeof d=="string"?ee.of(d.split(i||Vh)):d:ee.empty,y=m.length;if(h==f&&y==0)return;h<o&&a(),h>o&&et(r,h-o,-1),et(r,f-h,y),ui(s,r,m),o=f}}return c(e),a(!l),l}static empty(e){return new je(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")n.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,l)=>l&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)n.push(s[0],0);else{for(;i.length<r;)i.push(ee.empty);i[r]=ee.of(s.slice(1)),n.push(s[0],i[r].length)}}}return new je(n,i)}static createSet(e,n){return new je(e,n)}}function et(t,e,n,i=!1){if(e==0&&n<=0)return;let r=t.length-2;r>=0&&n<=0&&n==t[r+1]?t[r]+=e:r>=0&&e==0&&t[r]==0?t[r+1]+=n:i?(t[r]+=e,t[r+1]+=n):t.push(e,n)}function ui(t,e,n){if(n.length==0)return;let i=e.length-2>>1;if(i<t.length)t[t.length-1]=t[t.length-1].append(n);else{for(;t.length<i;)t.push(ee.empty);t.push(n)}}function Yh(t,e,n){let i=t.inserted;for(let r=0,s=0,o=0;o<t.sections.length;){let l=t.sections[o++],a=t.sections[o++];if(a<0)r+=l,s+=l;else{let c=r,u=s,h=ee.empty;for(;c+=l,u+=a,a&&i&&(h=h.append(i[o-2>>1])),!(n||o==t.sections.length||t.sections[o+1]<0);)l=t.sections[o++],a=t.sections[o++];e(r,c,s,u,h),r=c,s=u}}}function Uh(t,e,n,i=!1){let r=[],s=i?[]:null,o=new yo(t),l=new yo(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let c=Math.min(o.len,l.len);et(r,c,-1),o.forward(c),l.forward(c)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len<o.len||l.len==o.len&&!n))){let c=l.len;for(et(r,l.ins,-1);c;){let u=Math.min(o.len,c);o.ins>=0&&a<o.i&&o.len<=u&&(et(r,0,o.ins),s&&ui(s,r,o.text),a=o.i),o.forward(u),c-=u}l.next()}else if(o.ins>=0){let c=0,u=o.len;for(;u;)if(l.ins==-1){let h=Math.min(u,l.len);c+=h,u-=h,l.forward(h)}else if(l.ins==0&&l.len<u)u-=l.len,l.next();else break;et(r,c,a<o.i?o.ins:0),s&&a<o.i&&ui(s,r,o.text),a=o.i,o.forward(o.len-u)}else{if(o.done&&l.done)return s?je.createSet(r,s):$n.create(r);throw new Error("Mismatched change set lengths")}}}function v1(t,e,n=!1){let i=[],r=n?[]:null,s=new yo(t),o=new yo(e);for(let l=!1;;){if(s.done&&o.done)return r?je.createSet(i,r):$n.create(i);if(s.ins==0)et(i,s.len,0,l),s.next();else if(o.len==0&&!o.done)et(i,0,o.ins,l),r&&ui(r,i,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let a=Math.min(s.len2,o.len),c=i.length;if(s.ins==-1){let u=o.ins==-1?-1:o.off?0:o.ins;et(i,a,u,l),r&&u&&ui(r,i,o.text)}else o.ins==-1?(et(i,s.off?0:s.len,a,l),r&&ui(r,i,s.textBit(a))):(et(i,s.off?0:s.len,o.off?0:o.ins,l),r&&!o.off&&ui(r,i,o.text));l=(s.ins>a||o.ins>=0&&o.len>a)&&(l||i.length>c),s.forward2(a),o.forward(a)}}}}class yo{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,n=this.i-2>>1;return n>=e.length?ee.empty:e[n]}textBit(e){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!e?ee.empty:n[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Ni{constructor(e,n,i){this.from=e,this.to=n,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,n=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,n):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new Ni(i,r,this.flags)}extend(e,n=e){if(e<=this.anchor&&n>=this.anchor)return C.range(e,n);let i=Math.abs(e-this.anchor)>Math.abs(n-this.anchor)?e:n;return C.range(this.anchor,i)}eq(e,n=!1){return this.anchor==e.anchor&&this.head==e.head&&(!n||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return C.range(e.anchor,e.head)}static create(e,n,i){return new Ni(e,n,i)}}class C{constructor(e,n){this.ranges=e,this.mainIndex=n}map(e,n=-1){return e.empty?this:C.create(this.ranges.map(i=>i.map(e,n)),this.mainIndex)}eq(e,n=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],n))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new C([this.main],0)}addRange(e,n=!0){return C.create([e].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(e,n=this.mainIndex){let i=this.ranges.slice();return i[n]=e,C.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new C(e.ranges.map(n=>Ni.fromJSON(n)),e.main)}static single(e,n=e){return new C([C.range(e,n)],0)}static create(e,n=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=i:s.from<i)return C.normalized(e.slice(),n);i=s.to}return new C(e,n)}static cursor(e,n=0,i,r){return Ni.create(e,e,(n==0?0:n<0?8:16)|(i==null?7:Math.min(6,i))|(r??16777215)<<6)}static range(e,n,i,r){let s=(i??16777215)<<6|(r==null?7:Math.min(6,r));return n<e?Ni.create(n,e,48|s):Ni.create(e,n,(n>e?8:0)|s)}static normalized(e,n=0){let i=e[n];e.sort((r,s)=>r.from-s.from),n=e.indexOf(i);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let l=o.from,a=Math.max(s.to,o.to);r<=n&&n--,e.splice(--r,2,s.anchor>s.head?C.range(a,l):C.range(l,a))}}return new C(e,n)}}function S1(t,e){for(let n of t.ranges)if(n.to>e)throw new RangeError("Selection points outside of document")}let Bd=0;class L{constructor(e,n,i,r,s){this.combine=e,this.compareInput=n,this.compare=i,this.isStatic=r,this.id=Bd++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new L(e.combine||(n=>n),e.compareInput||((n,i)=>n===i),e.compare||(e.combine?(n,i)=>n===i:Wd),!!e.static,e.enables)}of(e){return new Jl([],this,0,e)}compute(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Jl(e,this,1,n)}computeN(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Jl(e,this,2,n)}from(e,n){return n||(n=i=>i),this.compute([e],i=>n(i.field(e)))}}function Wd(t,e){return t==e||t.length==e.length&&t.every((n,i)=>n===e[i])}class Jl{constructor(e,n,i,r){this.dependencies=e,this.facet=n,this.type=i,this.value=r,this.id=Bd++}dynamicSlot(e){var n;let i=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,l=this.type==2,a=!1,c=!1,u=[];for(let h of this.dependencies)h=="doc"?a=!0:h=="selection"?c=!0:((n=e[h.id])!==null&&n!==void 0?n:1)&1||u.push(e[h.id]);return{create(h){return h.values[o]=i(h),1},update(h,f){if(a&&f.docChanged||c&&(f.docChanged||f.selection)||qh(h,u)){let d=i(h);if(l?!Vm(d,h.values[o],r):!r(d,h.values[o]))return h.values[o]=d,1}return 0},reconfigure:(h,f)=>{let d,m=f.config.address[s];if(m!=null){let y=Za(f,m);if(this.dependencies.every(v=>v instanceof L?f.facet(v)===h.facet(v):v instanceof Be?f.field(v,!1)==h.field(v,!1):!0)||(l?Vm(d=i(h),y,r):r(d=i(h),y)))return h.values[o]=y,0}else d=i(h);return h.values[o]=d,1}}}}function Vm(t,e,n){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!n(t[i],e[i]))return!1;return!0}function qh(t,e){let n=!1;for(let i of e)Us(t,i)&1&&(n=!0);return n}function fQ(t,e,n){let i=n.map(a=>t[a.id]),r=n.map(a=>a.type),s=i.filter(a=>!(a&1)),o=t[e.id]>>1;function l(a){let c=[];for(let u=0;u<i.length;u++){let h=Za(a,i[u]);if(r[u]==2)for(let f of h)c.push(f);else c.push(h)}return e.combine(c)}return{create(a){for(let c of i)Us(a,c);return a.values[o]=l(a),1},update(a,c){if(!qh(a,s))return 0;let u=l(a);return e.compare(u,a.values[o])?0:(a.values[o]=u,1)},reconfigure(a,c){let u=qh(a,i),h=c.config.facets[e.id],f=c.facet(e);if(h&&!u&&Wd(n,h))return a.values[o]=f,0;let d=l(a);return e.compare(d,f)?(a.values[o]=f,0):(a.values[o]=d,1)}}}const gl=L.define({static:!0});class Be{constructor(e,n,i,r,s){this.id=e,this.createF=n,this.updateF=i,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let n=new Be(Bd++,e.create,e.update,e.compare||((i,r)=>i===r),e);return e.provide&&(n.provides=e.provide(n)),n}create(e){let n=e.facet(gl).find(i=>i.field==this);return((n==null?void 0:n.create)||this.createF)(e)}slot(e){let n=e[this.id]>>1;return{create:i=>(i.values[n]=this.create(i),1),update:(i,r)=>{let s=i.values[n],o=this.updateF(s,r);return this.compareF(s,o)?0:(i.values[n]=o,1)},reconfigure:(i,r)=>{let s=i.facet(gl),o=r.facet(gl),l;return(l=s.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(i.values[n]=l.create(i),1):r.config.address[this.id]!=null?(i.values[n]=r.field(this),0):(i.values[n]=this.create(i),1)}}}init(e){return[this,gl.of({field:this,create:e})]}get extension(){return this}}const Li={lowest:4,low:3,default:2,high:1,highest:0};function ws(t){return e=>new w1(e,t)}const Mi={highest:ws(Li.highest),high:ws(Li.high),default:ws(Li.default),low:ws(Li.low),lowest:ws(Li.lowest)};class w1{constructor(e,n){this.inner=e,this.prec=n}}class Qc{of(e){return new Gh(this,e)}reconfigure(e){return Qc.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Gh{constructor(e,n){this.compartment=e,this.inner=n}}class ja{constructor(e,n,i,r,s,o){for(this.base=e,this.compartments=n,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let n=this.address[e.id];return n==null?e.default:this.staticValues[n>>1]}static resolve(e,n,i){let r=[],s=Object.create(null),o=new Map;for(let f of dQ(e,n,o))f instanceof Be?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let l=Object.create(null),a=[],c=[];for(let f of r)l[f.id]=c.length<<1,c.push(d=>f.slot(d));let u=i==null?void 0:i.config.facets;for(let f in s){let d=s[f],m=d[0].facet,y=u&&u[f]||[];if(d.every(v=>v.type==0))if(l[m.id]=a.length<<1|1,Wd(y,d))a.push(i.facet(m));else{let v=m.combine(d.map(O=>O.value));a.push(i&&m.compare(v,i.facet(m))?i.facet(m):v)}else{for(let v of d)v.type==0?(l[v.id]=a.length<<1|1,a.push(v.value)):(l[v.id]=c.length<<1,c.push(O=>v.dynamicSlot(O)));l[m.id]=c.length<<1,c.push(v=>fQ(v,m,d))}}let h=c.map(f=>f(l));return new ja(e,o,h,l,a,s)}}function dQ(t,e,n){let i=[[],[],[],[],[]],r=new Map;function s(o,l){let a=r.get(o);if(a!=null){if(a<=l)return;let c=i[a].indexOf(o);c>-1&&i[a].splice(c,1),o instanceof Gh&&n.delete(o.compartment)}if(r.set(o,l),Array.isArray(o))for(let c of o)s(c,l);else if(o instanceof Gh){if(n.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;n.set(o.compartment,c),s(c,l)}else if(o instanceof w1)s(o.inner,o.prec);else if(o instanceof Be)i[l].push(o),o.provides&&s(o.provides,l);else if(o instanceof Jl)i[l].push(o),o.facet.extensions&&s(o.facet.extensions,Li.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,l)}}return s(t,Li.default),i.reduce((o,l)=>o.concat(l))}function Us(t,e){if(e&1)return 2;let n=e>>1,i=t.status[n];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;t.status[n]=4;let r=t.computeSlot(t,t.config.dynamicSlots[n]);return t.status[n]=2|r}function Za(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const k1=L.define(),Hh=L.define({combine:t=>t.some(e=>e),static:!0}),b1=L.define({combine:t=>t.length?t[0]:void 0,static:!0}),Q1=L.define(),P1=L.define(),$1=L.define(),C1=L.define({combine:t=>t.length?t[0]:!1});class Hn{constructor(e,n){this.type=e,this.value=n}static define(){return new pQ}}class pQ{of(e){return new Hn(this,e)}}class mQ{constructor(e){this.map=e}of(e){return new Y(this,e)}}class Y{constructor(e,n){this.type=e,this.value=n}map(e){let n=this.type.map(this.value,e);return n===void 0?void 0:n==this.value?this:new Y(this.type,n)}is(e){return this.type==e}static define(e={}){return new mQ(e.map||(n=>n))}static mapEffects(e,n){if(!e.length)return e;let i=[];for(let r of e){let s=r.map(n);s&&i.push(s)}return i}}Y.reconfigure=Y.define();Y.appendConfig=Y.define();class Te{constructor(e,n,i,r,s,o){this.startState=e,this.changes=n,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,i&&S1(i,n.newLength),s.some(l=>l.type==Te.time)||(this.annotations=s.concat(Te.time.of(Date.now())))}static create(e,n,i,r,s,o){return new Te(e,n,i,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let n of this.annotations)if(n.type==e)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let n=this.annotation(Te.userEvent);return!!(n&&(n==e||n.length>e.length&&n.slice(0,e.length)==e&&n[e.length]=="."))}}Te.time=Hn.define();Te.userEvent=Hn.define();Te.addToHistory=Hn.define();Te.remote=Hn.define();function gQ(t,e){let n=[];for(let i=0,r=0;;){let s,o;if(i<t.length&&(r==e.length||e[r]>=t[i]))s=t[i++],o=t[i++];else if(r<e.length)s=e[r++],o=e[r++];else return n;!n.length||n[n.length-1]<s?n.push(s,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function T1(t,e,n){var i;let r,s,o;return n?(r=e.changes,s=je.empty(e.changes.length),o=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),s=t.changes.mapDesc(e.changes,!0),o=t.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(i=t.selection)===null||i===void 0?void 0:i.map(r),effects:Y.mapEffects(t.effects,r).concat(Y.mapEffects(e.effects,s)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function Kh(t,e,n){let i=e.selection,r=Zr(e.annotations);return e.userEvent&&(r=r.concat(Te.userEvent.of(e.userEvent))),{changes:e.changes instanceof je?e.changes:je.of(e.changes||[],n,t.facet(b1)),selection:i&&(i instanceof C?i:C.single(i.anchor,i.head)),effects:Zr(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function A1(t,e,n){let i=Kh(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(n=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(n=!1);let o=!!e[s].sequential;i=T1(i,Kh(t,e[s],o?i.changes.newLength:t.doc.length),o)}let r=Te.create(t,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return yQ(n?OQ(r):r)}function OQ(t){let e=t.startState,n=!0;for(let r of e.facet(Q1)){let s=r(t);if(s===!1){n=!1;break}Array.isArray(s)&&(n=n===!0?s:gQ(n,s))}if(n!==!0){let r,s;if(n===!1)s=t.changes.invertedDesc,r=je.empty(e.doc.length);else{let o=t.changes.filter(n);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}t=Te.create(e,r,t.selection&&t.selection.map(s),Y.mapEffects(t.effects,s),t.annotations,t.scrollIntoView)}let i=e.facet(P1);for(let r=i.length-1;r>=0;r--){let s=i[r](t);s instanceof Te?t=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Te?t=s[0]:t=A1(e,Zr(s),!1)}return t}function yQ(t){let e=t.startState,n=e.facet($1),i=t;for(let r=n.length-1;r>=0;r--){let s=n[r](t);s&&Object.keys(s).length&&(i=T1(i,Kh(e,s,t.changes.newLength),!0))}return i==t?t:Te.create(e,t.changes,t.selection,i.effects,i.annotations,i.scrollIntoView)}const xQ=[];function Zr(t){return t==null?xQ:Array.isArray(t)?t:[t]}var xe=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(xe||(xe={}));const vQ=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Jh;try{Jh=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function SQ(t){if(Jh)return Jh.test(t);for(let e=0;e<t.length;e++){let n=t[e];if(/\w/.test(n)||n>"ย"&&(n.toUpperCase()!=n.toLowerCase()||vQ.test(n)))return!0}return!1}function wQ(t){return e=>{if(!/\S/.test(e))return xe.Space;if(SQ(e))return xe.Word;for(let n=0;n<t.length;n++)if(e.indexOf(t[n])>-1)return xe.Word;return xe.Other}}class ne{constructor(e,n,i,r,s,o){this.config=e,this.doc=n,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)Us(this,l<<1);this.computeSlot=null}field(e,n=!0){let i=this.config.address[e.id];if(i==null){if(n)throw new RangeError("Field is not present in this state");return}return Us(this,i),Za(this,i)}update(...e){return A1(this,e,!0)}applyTransaction(e){let n=this.config,{base:i,compartments:r}=n;for(let l of e.effects)l.is(Qc.reconfigure)?(n&&(r=new Map,n.compartments.forEach((a,c)=>r.set(c,a)),n=null),r.set(l.value.compartment,l.value.extension)):l.is(Y.reconfigure)?(n=null,i=l.value):l.is(Y.appendConfig)&&(n=null,i=Zr(i).concat(l.value));let s;n?s=e.startState.values.slice():(n=ja.resolve(i,r,this),s=new ne(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(a,c)=>c.reconfigure(a,this),null).values);let o=e.startState.facet(Hh)?e.newSelection:e.newSelection.asSingle();new ne(n,e.newDoc,o,s,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:e},range:C.cursor(n.from+e.length)}))}changeByRange(e){let n=this.selection,i=e(n.ranges[0]),r=this.changes(i.changes),s=[i.range],o=Zr(i.effects);for(let l=1;l<n.ranges.length;l++){let a=e(n.ranges[l]),c=this.changes(a.changes),u=c.map(r);for(let f=0;f<l;f++)s[f]=s[f].map(u);let h=r.mapDesc(c,!0);s.push(a.range.map(h)),r=r.compose(u),o=Y.mapEffects(o,u).concat(Y.mapEffects(Zr(a.effects),h))}return{changes:r,selection:C.create(s,n.mainIndex),effects:o}}changes(e=[]){return e instanceof je?e:je.of(e,this.doc.length,this.facet(ne.lineSeparator))}toText(e){return ee.of(e.split(this.facet(ne.lineSeparator)||Vh))}sliceDoc(e=0,n=this.doc.length){return this.doc.sliceString(e,n,this.lineBreak)}facet(e){let n=this.config.address[e.id];return n==null?e.default:(Us(this,n),Za(this,n))}toJSON(e){let n={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let r=e[i];r instanceof Be&&this.config.address[r.id]!=null&&(n[i]=r.spec.toJSON(this.field(e[i]),this))}return n}static fromJSON(e,n={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(i){for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)){let o=i[s],l=e[s];r.push(o.init(a=>o.spec.fromJSON(l,a)))}}return ne.create({doc:e.doc,selection:C.fromJSON(e.selection),extensions:n.extensions?r.concat([n.extensions]):r})}static create(e={}){let n=ja.resolve(e.extensions||[],new Map),i=e.doc instanceof ee?e.doc:ee.of((e.doc||"").split(n.staticFacet(ne.lineSeparator)||Vh)),r=e.selection?e.selection instanceof C?e.selection:C.single(e.selection.anchor,e.selection.head):C.single(0);return S1(r,i.length),n.staticFacet(Hh)||(r=r.asSingle()),new ne(n,i,r,n.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(ne.tabSize)}get lineBreak(){return this.facet(ne.lineSeparator)||`
|
|
106
|
+
`}get readOnly(){return this.facet(C1)}phrase(e,...n){for(let i of this.facet(ne.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return n.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>n.length?i:n[s-1]})),e}languageDataAt(e,n,i=-1){let r=[];for(let s of this.facet(k1))for(let o of s(this,n,i))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){return wQ(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:n,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=Ue(n,o,!1);if(s(n.slice(a,o))!=xe.Word)break;o=a}for(;l<r;){let a=Ue(n,l);if(s(n.slice(l,a))!=xe.Word)break;l=a}return o==l?null:C.range(o+i,l+i)}}ne.allowMultipleSelections=Hh;ne.tabSize=L.define({combine:t=>t.length?t[0]:4});ne.lineSeparator=b1;ne.readOnly=C1;ne.phrases=L.define({compare(t,e){let n=Object.keys(t),i=Object.keys(e);return n.length==i.length&&n.every(r=>t[r]==e[r])}});ne.languageData=k1;ne.changeFilter=Q1;ne.transactionFilter=P1;ne.transactionExtender=$1;Qc.reconfigure=Y.define();function Tn(t,e,n={}){let i={};for(let r of t)for(let s of Object.keys(r)){let o=r[s],l=i[s];if(l===void 0)i[s]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(n,s))i[s]=n[s](l,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}class er{eq(e){return this==e}range(e,n=e){return ef.create(e,n,this)}}er.prototype.startSide=er.prototype.endSide=0;er.prototype.point=!1;er.prototype.mapMode=Ye.TrackDel;let ef=class M1{constructor(e,n,i){this.from=e,this.to=n,this.value=i}static create(e,n,i){return new M1(e,n,i)}};function tf(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Fd{constructor(e,n,i,r){this.from=e,this.to=n,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,n,i,r=0){let s=i?this.to:this.from;for(let o=r,l=s.length;;){if(o==l)return o;let a=o+l>>1,c=s[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-n;if(a==o)return c>=0?o:l;c>=0?l=a:o=a+1}}between(e,n,i,r){for(let s=this.findIndex(n,-1e9,!0),o=this.findIndex(i,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,n){let i=[],r=[],s=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let c=this.value[a],u=this.from[a]+e,h=this.to[a]+e,f,d;if(u==h){let m=n.mapPos(u,c.startSide,c.mapMode);if(m==null||(f=d=m,c.startSide!=c.endSide&&(d=n.mapPos(u,c.endSide),d<f)))continue}else if(f=n.mapPos(u,c.startSide),d=n.mapPos(h,c.endSide),f>d||f==d&&c.startSide>0&&c.endSide<=0)continue;(d-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(l=Math.max(l,d-f)),i.push(c),r.push(f-o),s.push(d-o))}return{mapped:i.length?new Fd(r,s,i,l):null,pos:o}}}class ie{constructor(e,n,i,r){this.chunkPos=e,this.chunk=n,this.nextLayer=i,this.maxPoint=r}static create(e,n,i,r){return new ie(e,n,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let n of this.chunk)e+=n.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:n=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(n.length==0&&!o)return this;if(i&&(n=n.slice().sort(tf)),this.isEmpty)return n.length?ie.of(n):this;let l=new R1(this,null,-1).goto(0),a=0,c=[],u=new Vn;for(;l.value||a<n.length;)if(a<n.length&&(l.from-n[a].from||l.startSide-n[a].value.startSide)>=0){let h=n[a++];u.addInner(h.from,h.to,h.value)||c.push(h)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==n.length||this.chunkEnd(l.chunkIndex)<n[a].from)&&(!o||r>this.chunkEnd(l.chunkIndex)||s<this.chunkPos[l.chunkIndex])&&u.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||r>l.to||s<l.from||o(l.from,l.to,l.value))&&(u.addInner(l.from,l.to,l.value)||c.push(ef.create(l.from,l.to,l.value))),l.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?ie.empty:this.nextLayer.update({add:c,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let n=[],i=[],r=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],c=e.touchesRange(l,l+a.length);if(c===!1)r=Math.max(r,a.maxPoint),n.push(a),i.push(e.mapPos(l));else if(c===!0){let{mapped:u,pos:h}=a.map(l,e);u&&(r=Math.max(r,u.maxPoint),n.push(u),i.push(h))}}let s=this.nextLayer.map(e);return n.length==0?s:new ie(i,n,s||ie.empty,r)}between(e,n,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(n>=s&&e<=s+o.length&&o.between(s,e-s,n-s,i)===!1)return}this.nextLayer.between(e,n,i)}}iter(e=0){return xo.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,n=0){return xo.from(e).goto(n)}static compare(e,n,i,r,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),l=n.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=Ym(o,l,i),c=new ks(o,a,s),u=new ks(l,a,s);i.iterGaps((h,f,d)=>Um(c,h,u,f,d,r)),i.empty&&i.length==0&&Um(c,0,u,0,0,r)}static eq(e,n,i=0,r){r==null&&(r=999999999);let s=e.filter(u=>!u.isEmpty&&n.indexOf(u)<0),o=n.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let l=Ym(s,o),a=new ks(s,l,0).goto(i),c=new ks(o,l,0).goto(i);for(;;){if(a.to!=c.to||!nf(a.active,c.active)||a.point&&(!c.point||!a.point.eq(c.point)))return!1;if(a.to>r)return!0;a.next(),c.next()}}static spans(e,n,i,r,s=-1){let o=new ks(e,null,s).goto(n),l=n,a=o.openStart;for(;;){let c=Math.min(o.to,i);if(o.point){let u=o.activeForPoint(o.to),h=o.pointFrom<n?u.length+1:o.point.startSide<0?u.length:Math.min(u.length,a);r.point(l,c,o.point,u,h,o.pointRank),a=Math.min(o.openEnd(c),u.length)}else c>l&&(r.span(l,c,o.active,a),a=o.openEnd(c));if(o.to>i)return a+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(e,n=!1){let i=new Vn;for(let r of e instanceof ef?[e]:n?kQ(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return ie.empty;let n=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=ie.empty;r=r.nextLayer)n=new ie(r.chunkPos,r.chunk,n,Math.max(r.maxPoint,n.maxPoint));return n}}ie.empty=new ie([],[],null,-1);function kQ(t){if(t.length>1)for(let e=t[0],n=1;n<t.length;n++){let i=t[n];if(tf(e,i)>0)return t.slice().sort(tf);e=i}return t}ie.empty.nextLayer=ie.empty;class Vn{finishChunk(e){this.chunks.push(new Fd(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,n,i){this.addInner(e,n,i)||(this.nextLayer||(this.nextLayer=new Vn)).add(e,n,i)}addInner(e,n,i){let r=e-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(n-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=n,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,n-e)),!0)}addChunk(e,n){if((e-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(e);let i=n.value.length-1;return this.last=n.value[i],this.lastFrom=n.from[i]+e,this.lastTo=n.to[i]+e,!0}finish(){return this.finishInner(ie.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let n=ie.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,n}}function Ym(t,e,n){let i=new Map;for(let s of t)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&i.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let l=i.get(s.chunk[o]);l!=null&&(n?n.mapPos(l):l)==s.chunkPos[o]&&!(n!=null&&n.touchesRange(l,l+s.chunk[o].length))&&r.add(s.chunk[o])}return r}class R1{constructor(e,n,i,r=0){this.layer=e,this.skip=n,this.minPoint=i,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,n=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,n,!1),this}gotoInner(e,n,i){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],n,!0);(!i||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,n){(this.to-e||this.endSide-n)<0&&this.gotoInner(e,n,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],n=this.layer.chunk[this.chunkIndex],i=e+n.from[this.rangeIndex];if(this.from=i,this.to=e+n.to[this.rangeIndex],this.value=n.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class xo{constructor(e){this.heap=e}static from(e,n=null,i=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=i&&r.push(new R1(o,n,i,s));return r.length==1?r[0]:new xo(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,n=-1e9){for(let i of this.heap)i.goto(e,n);for(let i=this.heap.length>>1;i>=0;i--)ku(this.heap,i);return this.next(),this}forward(e,n){for(let i of this.heap)i.forward(e,n);for(let i=this.heap.length>>1;i>=0;i--)ku(this.heap,i);(this.to-e||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),ku(this.heap,0)}}}function ku(t,e){for(let n=t[e];;){let i=(e<<1)+1;if(i>=t.length)break;let r=t[i];if(i+1<t.length&&r.compare(t[i+1])>=0&&(r=t[i+1],i++),n.compare(r)<0)break;t[i]=n,t[e]=r,e=i}}class ks{constructor(e,n,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=xo.from(e,n,i)}goto(e,n=-1e9){return this.cursor.goto(e,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=n,this.openStart=-1,this.next(),this}forward(e,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(e,n)}removeActive(e){Ol(this.active,e),Ol(this.activeTo,e),Ol(this.activeRank,e),this.minActive=qm(this.active,this.activeTo)}addActive(e){let n=0,{value:i,to:r,rank:s}=this.cursor;for(;n<this.activeRank.length&&(s-this.activeRank[n]||r-this.activeTo[n])>0;)n++;yl(this.active,n,i),yl(this.activeTo,n,r),yl(this.activeRank,n,s),e&&yl(e,n,this.cursor.from),this.minActive=qm(this.active,this.activeTo)}next(){let e=this.to,n=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&Ol(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let r=i.length-1;r>=0&&i[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let n=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&n.push(this.active[i]);return n.reverse()}openEnd(e){let n=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)n++;return n}}function Um(t,e,n,i,r,s){t.goto(e),n.goto(i);let o=i+r,l=i,a=i-e;for(;;){let c=t.to+a-n.to,u=c||t.endSide-n.endSide,h=u<0?t.to+a:n.to,f=Math.min(h,o);if(t.point||n.point?t.point&&n.point&&(t.point==n.point||t.point.eq(n.point))&&nf(t.activeForPoint(t.to),n.activeForPoint(n.to))||s.comparePoint(l,f,t.point,n.point):f>l&&!nf(t.active,n.active)&&s.compareRange(l,f,t.active,n.active),h>o)break;(c||t.openEnd!=n.openEnd)&&s.boundChange&&s.boundChange(h),l=h,u<=0&&t.next(),u>=0&&n.next()}}function nf(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!=e[n]&&!t[n].eq(e[n]))return!1;return!0}function Ol(t,e){for(let n=e,i=t.length-1;n<i;n++)t[n]=t[n+1];t.pop()}function yl(t,e,n){for(let i=t.length-1;i>=e;i--)t[i+1]=t[i];t[e]=n}function qm(t,e){let n=-1,i=1e9;for(let r=0;r<e.length;r++)(e[r]-i||t[r].endSide-t[n].endSide)<0&&(n=r,i=e[r]);return n}function as(t,e,n=t.length){let i=0;for(let r=0;r<n&&r<t.length;)t.charCodeAt(r)==9?(i+=e-i%e,r++):(i++,r=Ue(t,r));return i}function rf(t,e,n,i){for(let r=0,s=0;;){if(s>=e)return r;if(r==t.length)break;s+=t.charCodeAt(r)==9?n-s%n:1,r=Ue(t,r)}return i===!0?-1:t.length}const sf="อผ",Gm=typeof Symbol>"u"?"__"+sf:Symbol.for(sf),of=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Hm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class ki{constructor(e,n){this.rules=[];let{finish:i}=n||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,l,a,c){let u=[],h=/^@(\w+)\b/.exec(o[0]),f=h&&h[1]=="keyframes";if(h&&l==null)return a.push(o[0]+";");for(let d in l){let m=l[d];if(/&/.test(d))s(d.split(/,\s*/).map(y=>o.map(v=>y.replace(/&/,v))).reduce((y,v)=>y.concat(v)),m,a);else if(m&&typeof m=="object"){if(!h)throw new RangeError("The value of a property ("+d+") should be a primitive value.");s(r(d),m,u,f)}else m!=null&&u.push(d.replace(/_.*/,"").replace(/[A-Z]/g,y=>"-"+y.toLowerCase())+": "+m+";")}(u.length||f)&&a.push((i&&!h&&!c?o.map(i):o).join(", ")+" {"+u.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(`
|
|
107
|
+
`)}static newName(){let e=Hm[Gm]||1;return Hm[Gm]=e+1,sf+e.toString(36)}static mount(e,n,i){let r=e[of],s=i&&i.nonce;r?s&&r.setNonce(s):r=new bQ(e,s),r.mount(Array.isArray(n)?n:[n],e)}}let Km=new Map;class bQ{constructor(e,n){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Km.get(i);if(s)return e[of]=s;this.sheet=new r.CSSStyleSheet,Km.set(i,this)}else this.styleTag=i.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],e[of]=this}mount(e,n){let i=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let l=e[o],a=this.modules.indexOf(l);if(a<s&&a>-1&&(this.modules.splice(a,1),s--,a=-1),a==-1){if(this.modules.splice(s++,0,l),i)for(let c=0;c<l.rules.length;c++)i.insertRule(l.rules[c],r++)}else{for(;s<a;)r+=this.modules[s++].rules.length;r+=l.rules.length,s++}}if(i)n.adoptedStyleSheets.indexOf(this.sheet)<0&&(n.adoptedStyleSheets=[this.sheet,...n.adoptedStyleSheets]);else{let o="";for(let a=0;a<this.modules.length;a++)o+=this.modules[a].getRules()+`
|
|
108
|
+
`;this.styleTag.textContent=o;let l=n.head||n;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var bi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},vo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},QQ=typeof navigator<"u"&&/Mac/.test(navigator.platform),PQ=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Ve=0;Ve<10;Ve++)bi[48+Ve]=bi[96+Ve]=String(Ve);for(var Ve=1;Ve<=24;Ve++)bi[Ve+111]="F"+Ve;for(var Ve=65;Ve<=90;Ve++)bi[Ve]=String.fromCharCode(Ve+32),vo[Ve]=String.fromCharCode(Ve);for(var bu in bi)vo.hasOwnProperty(bu)||(vo[bu]=bi[bu]);function $Q(t){var e=QQ&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||PQ&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?vo:bi)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function he(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];typeof r=="string"?t.setAttribute(i,r):r!=null&&(t[i]=r)}e++}for(;e<arguments.length;e++)E1(t,arguments[e]);return t}function E1(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var n=0;n<e.length;n++)E1(t,e[n]);else throw new RangeError("Unsupported child node: "+e)}let at=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},lf=typeof document<"u"?document:{documentElement:{style:{}}};const af=/Edge\/(\d+)/.exec(at.userAgent),j1=/MSIE \d/.test(at.userAgent),cf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(at.userAgent),Pc=!!(j1||cf||af),Jm=!Pc&&/gecko\/(\d+)/i.test(at.userAgent),Qu=!Pc&&/Chrome\/(\d+)/.exec(at.userAgent),CQ="webkitFontSmoothing"in lf.documentElement.style,uf=!Pc&&/Apple Computer/.test(at.vendor),eg=uf&&(/Mobile\/\w+/.test(at.userAgent)||at.maxTouchPoints>2);var Z={mac:eg||/Mac/.test(at.platform),windows:/Win/.test(at.platform),linux:/Linux|X11/.test(at.platform),ie:Pc,ie_version:j1?lf.documentMode||6:cf?+cf[1]:af?+af[1]:0,gecko:Jm,gecko_version:Jm?+(/Firefox\/(\d+)/.exec(at.userAgent)||[0,0])[1]:0,chrome:!!Qu,chrome_version:Qu?+Qu[1]:0,ios:eg,android:/Android\b/.test(at.userAgent),webkit_version:CQ?+(/\bAppleWebKit\/(\d+)/.exec(at.userAgent)||[0,0])[1]:0,safari:uf,safari_version:uf?+(/\bVersion\/(\d+(\.\d+)?)/.exec(at.userAgent)||[0,0])[1]:0,tabSize:lf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function So(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function hf(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function ea(t,e){if(!e.anchorNode)return!1;try{return hf(t,e.anchorNode)}catch{return!1}}function wo(t){return t.nodeType==3?nr(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function qs(t,e,n,i){return n?tg(t,e,n,i,-1)||tg(t,e,n,i,1):!1}function tr(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Da(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function tg(t,e,n,i,r){for(;;){if(t==n&&e==i)return!0;if(e==(r<0?0:Cn(t))){if(t.nodeName=="DIV")return!1;let s=t.parentNode;if(!s||s.nodeType!=1)return!1;e=tr(t)+(r<0?0:1),t=s}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?Cn(t):0}else return!1}}function Cn(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function $c(t,e){let n=e?t.left:t.right;return{left:n,right:n,top:t.top,bottom:t.bottom}}function TQ(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function Z1(t,e){let n=e.width/t.offsetWidth,i=e.height/t.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.width-t.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-t.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}function AQ(t,e,n,i,r,s,o,l){let a=t.ownerDocument,c=a.defaultView||window;for(let u=t,h=!1;u&&!h;)if(u.nodeType==1){let f,d=u==a.body,m=1,y=1;if(d)f=TQ(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(h=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let g=u.getBoundingClientRect();({scaleX:m,scaleY:y}=Z1(u,g)),f={left:g.left,right:g.left+u.clientWidth*m,top:g.top,bottom:g.top+u.clientHeight*y}}let v=0,O=0;if(r=="nearest")e.top<f.top?(O=e.top-(f.top+o),n>0&&e.bottom>f.bottom+O&&(O=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(O=e.bottom-f.bottom+o,n<0&&e.top-O<f.top&&(O=e.top-(f.top+o)));else{let g=e.bottom-e.top,x=f.bottom-f.top;O=(r=="center"&&g<=x?e.top+g/2-x/2:r=="start"||r=="center"&&n<0?e.top-o:e.bottom-x+o)-f.top}if(i=="nearest"?e.left<f.left?(v=e.left-(f.left+s),n>0&&e.right>f.right+v&&(v=e.right-f.right+s)):e.right>f.right&&(v=e.right-f.right+s,n<0&&e.left<f.left+v&&(v=e.left-(f.left+s))):v=(i=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:i=="start"==l?e.left-s:e.right-(f.right-f.left)+s)-f.left,v||O)if(d)c.scrollBy(v,O);else{let g=0,x=0;if(O){let S=u.scrollTop;u.scrollTop+=O/y,x=(u.scrollTop-S)*y}if(v){let S=u.scrollLeft;u.scrollLeft+=v/m,g=(u.scrollLeft-S)*m}e={left:e.left-g,top:e.top-x,right:e.right-g,bottom:e.bottom-x},g&&Math.abs(g-v)<1&&(i="nearest"),x&&Math.abs(x-O)<1&&(r="nearest")}if(d)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function MQ(t){let e=t.ownerDocument,n,i;for(let r=t.parentNode;r&&!(r==e.body||n&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),!n&&r.scrollWidth>r.clientWidth&&(n=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:n,y:i}}class RQ{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:n,focusNode:i}=e;this.set(n,Math.min(e.anchorOffset,n?Cn(n):0),i,Math.min(e.focusOffset,i?Cn(i):0))}set(e,n,i,r){this.anchorNode=e,this.anchorOffset=n,this.focusNode=i,this.focusOffset=r}}let Di=null;Z.safari&&Z.safari_version>=26&&(Di=!1);function D1(t){if(t.setActive)return t.setActive();if(Di)return t.focus(Di);let e=[];for(let n=t;n&&(e.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(t.focus(Di==null?{get preventScroll(){return Di={preventScroll:!0},!0}}:void 0),!Di){Di=!1;for(let n=0;n<e.length;){let i=e[n++],r=e[n++],s=e[n++];i.scrollTop!=r&&(i.scrollTop=r),i.scrollLeft!=s&&(i.scrollLeft=s)}}}let ng;function nr(t,e,n=e){let i=ng||(ng=document.createRange());return i.setEnd(t,n),i.setStart(t,e),i}function Dr(t,e,n,i){let r={key:e,code:e,keyCode:n,which:n,cancelable:!0};i&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=i);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,t.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,t.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function EQ(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function L1(t){for(;t.attributes.length;)t.removeAttributeNode(t.attributes[0])}function jQ(t,e){let n=e.focusNode,i=e.focusOffset;if(!n||e.anchorNode!=n||e.anchorOffset!=i)return!1;for(i=Math.min(i,Cn(n));;)if(i){if(n.nodeType!=1)return!1;let r=n.childNodes[i-1];r.contentEditable=="false"?i--:(n=r,i=Cn(n))}else{if(n==t)return!0;i=tr(n),n=n.parentNode}}function z1(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function _1(t,e){for(let n=t,i=e;;){if(n.nodeType==3&&i>0)return{node:n,offset:i};if(n.nodeType==1&&i>0){if(n.contentEditable=="false")return null;n=n.childNodes[i-1],i=Cn(n)}else if(n.parentNode&&!Da(n))i=tr(n),n=n.parentNode;else return null}}function X1(t,e){for(let n=t,i=e;;){if(n.nodeType==3&&i<n.nodeValue.length)return{node:n,offset:i};if(n.nodeType==1&&i<n.childNodes.length){if(n.contentEditable=="false")return null;n=n.childNodes[i],i=0}else if(n.parentNode&&!Da(n))i=tr(n)+1,n=n.parentNode;else return null}}class nt{constructor(e,n,i=!0){this.node=e,this.offset=n,this.precise=i}static before(e,n){return new nt(e.parentNode,tr(e),n)}static after(e,n){return new nt(e.parentNode,tr(e)+1,n)}}const Vd=[];class ae{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let n=this.posAtStart;for(let i of this.children){if(i==e)return n;n+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,n){if(this.flags&2){let i=this.dom,r=null,s;for(let o of this.children){if(o.flags&7){if(!o.dom&&(s=r?r.nextSibling:i.firstChild)){let l=ae.get(s);(!l||!l.parent&&l.canReuseDOM(o))&&o.reuseDOM(s)}o.sync(e,n),o.flags&=-8}if(s=r?r.nextSibling:i.firstChild,n&&!n.written&&n.node==i&&s!=o.dom&&(n.written=!0),o.dom.parentNode==i)for(;s&&s!=o.dom;)s=ig(s);else i.insertBefore(o.dom,s);r=o.dom}for(s=r?r.nextSibling:i.firstChild,s&&n&&n.node==i&&(n.written=!0);s;)s=ig(s)}else if(this.flags&1)for(let i of this.children)i.flags&7&&(i.sync(e,n),i.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,n){let i;if(e==this.dom)i=this.dom.childNodes[n];else{let r=Cn(e)==0?0:n==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;r==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?r=-1:r=1),e=s}r<0?i=e:i=e.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!ae.get(i);)i=i.nextSibling;if(!i)return this.length;for(let r=0,s=0;;r++){let o=this.children[r];if(o.dom==i)return s;s+=o.length+o.breakAfter}}domBoundsAround(e,n,i=0){let r=-1,s=-1,o=-1,l=-1;for(let a=0,c=i,u=i;a<this.children.length;a++){let h=this.children[a],f=c+h.length;if(c<e&&f>n)return h.domBoundsAround(e,n,c);if(f>=e&&r==-1&&(r=a,s=c),c>n&&h.dom.parentNode==this.dom){o=a,l=u;break}u=f,c=f+h.breakAfter}return{from:s,to:l<0?i+this.length:l,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let n=this.parent;n;n=n.parent){if(e&&(n.flags|=2),n.flags&1)return;n.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let n=e.parent;if(!n)return e;e=n}}replaceChildren(e,n,i=Vd){this.markDirty();for(let r=e;r<n;r++){let s=this.children[r];s.parent==this&&i.indexOf(s)<0&&s.destroy()}i.length<250?this.children.splice(e,n-e,...i):this.children=[].concat(this.children.slice(0,e),i,this.children.slice(n));for(let r=0;r<i.length;r++)i[r].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new I1(this.children,e,this.children.length)}childPos(e,n=1){return this.childCursor().findPos(e,n)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,n,i,r,s,o){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}}ae.prototype.breakAfter=0;function ig(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class I1{constructor(e,n,i){this.children=e,this.pos=n,this.i=i,this.off=0}findPos(e,n=1){for(;;){if(e>this.pos||e==this.pos&&(n>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function N1(t,e,n,i,r,s,o,l,a){let{children:c}=t,u=c.length?c[e]:null,h=s.length?s[s.length-1]:null,f=h?h.breakAfter:o;if(!(e==i&&u&&!o&&!f&&s.length<2&&u.merge(n,r,s.length?h:null,n==0,l,a))){if(i<c.length){let d=c[i];d&&(r<d.length||d.breakAfter&&(h!=null&&h.breakAfter))?(e==i&&(d=d.split(r),r=0),!f&&h&&d.merge(0,r,h,!0,0,a)?s[s.length-1]=d:((r||d.children.length&&!d.children[0].length)&&d.merge(0,r,null,!1,0,a),s.push(d))):d!=null&&d.breakAfter&&(h?h.breakAfter=1:o=1),i++}for(u&&(u.breakAfter=o,n>0&&(!o&&s.length&&u.merge(n,u.length,s[0],!1,l,0)?u.breakAfter=s.shift().breakAfter:(n<u.length||u.children.length&&u.children[u.children.length-1].length==0)&&u.merge(n,u.length,null,!1,l,0),e++));e<i&&s.length;)if(c[i-1].become(s[s.length-1]))i--,s.pop(),a=s.length?0:l;else if(c[e].become(s[0]))e++,s.shift(),l=s.length?0:a;else break;!s.length&&e&&i<c.length&&!c[e-1].breakAfter&&c[i].merge(0,0,c[e-1],!1,l,a)&&e--,(e<i||s.length)&&t.replaceChildren(e,i,s)}}function B1(t,e,n,i,r,s){let o=t.childCursor(),{i:l,off:a}=o.findPos(n,1),{i:c,off:u}=o.findPos(e,-1),h=e-n;for(let f of i)h+=f.length;t.length+=h,N1(t,c,u,l,a,i,0,r,s)}const ZQ=256;class ln extends ae{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,n){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(n&&n.node==this.dom&&(n.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,n,i){return this.flags&8||i&&(!(i instanceof ln)||this.length-(n-e)+i.length>ZQ||i.flags&8)?!1:(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(n),this.markDirty(),!0)}split(e){let n=new ln(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),n.flags|=this.flags&8,n}localPosFromDOM(e,n){return e==this.dom?n:n?this.text.length:0}domAtPos(e){return new nt(this.dom,e)}domBoundsAround(e,n,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,n){return DQ(this.dom,e,n)}}class Yn extends ae{constructor(e,n=[],i=0){super(),this.mark=e,this.children=n,this.length=i;for(let r of n)r.setParent(this)}setAttrs(e){if(L1(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let n in this.mark.attrs)e.setAttribute(n,this.mark.attrs[n]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,n){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,n)}merge(e,n,i,r,s,o){return i&&(!(i instanceof Yn&&i.mark.eq(this.mark))||e&&s<=0||n<this.length&&o<=0)?!1:(B1(this,e,n,i?i.children.slice():[],s-1,o-1),this.markDirty(),!0)}split(e){let n=[],i=0,r=-1,s=0;for(let l of this.children){let a=i+l.length;a>e&&n.push(i<e?l.split(e-i):l),r<0&&i>=e&&(r=s),i=a,s++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new Yn(this.mark,n,o)}domAtPos(e){return W1(this,e)}coordsAt(e,n){return V1(this,e,n)}}function DQ(t,e,n){let i=t.nodeValue.length;e>i&&(e=i);let r=e,s=e,o=0;e==0&&n<0||e==i&&n>=0?Z.chrome||Z.gecko||(e?(r--,o=1):s<i&&(s++,o=-1)):n<0?r--:s<i&&s++;let l=nr(t,r,s).getClientRects();if(!l.length)return null;let a=l[(o?o<0:n>=0)?0:l.length-1];return Z.safari&&!o&&a.width==0&&(a=Array.prototype.find.call(l,c=>c.width)||a),o?$c(a,o<0):a||null}class _n extends ae{static create(e,n,i){return new _n(e,n,i)}constructor(e,n,i){super(),this.widget=e,this.length=n,this.side=i,this.prevWidget=null}split(e){let n=_n.create(this.widget,this.length-e,this.side);return this.length-=e,n}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,n,i,r,s,o){return i&&(!(i instanceof _n)||!this.widget.compare(i.widget)||e>0&&s<=0||n<this.length&&o<=0)?!1:(this.length=e+(i?i.length:0)+(this.length-n),!0)}become(e){return e instanceof _n&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return ee.empty;let e=this;for(;e.parent;)e=e.parent;let{view:n}=e,i=n&&n.state.doc,r=this.posAtStart;return i?i.slice(r,r+this.length):ee.empty}domAtPos(e){return(this.length?e==0:this.side>0)?nt.before(this.dom):nt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,n){let i=this.widget.coordsAt(this.dom,e,n);if(i)return i;let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let l=o?r.length-1:0;s=r[l],!(e>0?l==0:l==r.length-1||s.top<s.bottom);l+=o?-1:1);return $c(s,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class Gr extends ae{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof Gr&&e.side==this.side}split(){return new Gr(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?nt.before(this.dom):nt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return ee.empty}get isHidden(){return!0}}ln.prototype.children=_n.prototype.children=Gr.prototype.children=Vd;function W1(t,e){let n=t.dom,{children:i}=t,r=0;for(let s=0;r<i.length;r++){let o=i[r],l=s+o.length;if(!(l==s&&o.getSide()<=0)){if(e>s&&e<l&&o.dom.parentNode==n)return o.domAtPos(e-s);if(e<=s)break;s=l}}for(let s=r;s>0;s--){let o=i[s-1];if(o.dom.parentNode==n)return o.domAtPos(o.length)}for(let s=r;s<i.length;s++){let o=i[s];if(o.dom.parentNode==n)return o.domAtPos(0)}return new nt(n,0)}function F1(t,e,n){let i,{children:r}=t;n>0&&e instanceof Yn&&r.length&&(i=r[r.length-1])instanceof Yn&&i.mark.eq(e.mark)?F1(i,e.children[0],n-1):(r.push(e),e.setParent(t)),t.length+=e.length}function V1(t,e,n){let i=null,r=-1,s=null,o=-1;function l(c,u){for(let h=0,f=0;h<c.children.length&&f<=u;h++){let d=c.children[h],m=f+d.length;m>=u&&(d.children.length?l(d,u-f):(!s||s.isHidden&&(n>0||zQ(s,d)))&&(m>u||f==m&&d.getSide()>0)?(s=d,o=u-f):(f<u||f==m&&d.getSide()<0&&!d.isHidden)&&(i=d,r=u-f)),f=m}}l(t,e);let a=(n<0?i:s)||i||s;return a?a.coordsAt(Math.max(0,a==i?r:o),n):LQ(t)}function LQ(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let n=wo(e);return n[n.length-1]||null}function zQ(t,e){let n=t.coordsAt(0,1),i=e.coordsAt(0,1);return n&&i&&i.top<n.bottom}function ff(t,e){for(let n in t)n=="class"&&e.class?e.class+=" "+t.class:n=="style"&&e.style?e.style+=";"+t.style:e[n]=t[n];return e}const rg=Object.create(null);function La(t,e,n){if(t==e)return!0;t||(t=rg),e||(e=rg);let i=Object.keys(t),r=Object.keys(e);if(i.length-(n&&i.indexOf(n)>-1?1:0)!=r.length-(n&&r.indexOf(n)>-1?1:0))return!1;for(let s of i)if(s!=n&&(r.indexOf(s)==-1||t[s]!==e[s]))return!1;return!0}function df(t,e,n){let i=!1;if(e)for(let r in e)n&&r in n||(i=!0,r=="style"?t.style.cssText="":t.removeAttribute(r));if(n)for(let r in n)e&&e[r]==n[r]||(i=!0,r=="style"?t.style.cssText=n[r]:t.setAttribute(r,n[r]));return i}function _Q(t){let e=Object.create(null);for(let n=0;n<t.attributes.length;n++){let i=t.attributes[n];e[i.name]=i.value}return e}class Kn{eq(e){return!1}updateDOM(e,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,n,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ut=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(ut||(ut={}));class W extends er{constructor(e,n,i,r){super(),this.startSide=e,this.endSide=n,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return new No(e)}static widget(e){let n=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return n+=i&&!e.inlineOrder?n>0?3e8:-4e8:n>0?1e8:-1e8,new Qi(e,n,n,i,e.widget||null,!1)}static replace(e){let n=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:o}=Y1(e,n);i=(s?n?-3e8:-1:5e8)-1,r=(o?n?2e8:1:-6e8)+1}return new Qi(e,i,r,n,e.widget||null,!0)}static line(e){return new Bo(e)}static set(e,n=!1){return ie.of(e,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}W.none=ie.empty;class No extends W{constructor(e){let{start:n,end:i}=Y1(e);super(n?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var n,i;return this==e||e instanceof No&&this.tagName==e.tagName&&(this.class||((n=this.attrs)===null||n===void 0?void 0:n.class))==(e.class||((i=e.attrs)===null||i===void 0?void 0:i.class))&&La(this.attrs,e.attrs,"class")}range(e,n=e){if(e>=n)throw new RangeError("Mark decorations may not be empty");return super.range(e,n)}}No.prototype.point=!1;class Bo extends W{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Bo&&this.spec.class==e.spec.class&&La(this.spec.attributes,e.spec.attributes)}range(e,n=e){if(n!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,n)}}Bo.prototype.mapMode=Ye.TrackBefore;Bo.prototype.point=!0;class Qi extends W{constructor(e,n,i,r,s,o){super(n,i,s,e),this.block=r,this.isReplace=o,this.mapMode=r?n<=0?Ye.TrackBefore:Ye.TrackAfter:Ye.TrackDel}get type(){return this.startSide!=this.endSide?ut.WidgetRange:this.startSide<=0?ut.WidgetBefore:ut.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Qi&&XQ(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,n=e){if(this.isReplace&&(e>n||e==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,n)}}Qi.prototype.point=!0;function Y1(t,e=!1){let{inclusiveStart:n,inclusiveEnd:i}=t;return n==null&&(n=t.inclusive),i==null&&(i=t.inclusive),{start:n??e,end:i??e}}function XQ(t,e){return t==e||!!(t&&e&&t.compare(e))}function ta(t,e,n,i=0){let r=n.length-1;r>=0&&n[r]+i>=t?n[r]=Math.max(n[r],e):n.push(t,e)}class $e extends ae{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,n,i,r,s,o){if(i){if(!(i instanceof $e))return!1;this.dom||i.transferDOM(this)}return r&&this.setDeco(i?i.attrs:null),B1(this,e,n,i?i.children.slice():[],s,o),!0}split(e){let n=new $e;if(n.breakAfter=this.breakAfter,this.length==0)return n;let{i,off:r}=this.childPos(e);r&&(n.append(this.children[i].split(r),0),this.children[i].merge(r,this.children[i].length,null,!1,0,0),i++);for(let s=i;s<this.children.length;s++)n.append(this.children[s],0);for(;i>0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,n}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){La(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,n){F1(this,e,n)}addLineDeco(e){let n=e.spec.attributes,i=e.spec.class;n&&(this.attrs=ff(n,this.attrs||{})),i&&(this.attrs=ff({class:i},this.attrs||{}))}domAtPos(e){return W1(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,n){var i;this.dom?this.flags&4&&(L1(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(df(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,n);let r=this.dom.lastChild;for(;r&&ae.get(r)instanceof Yn;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((i=ae.get(r))===null||i===void 0?void 0:i.isEditable)==!1&&(!Z.ios||!this.children.some(s=>s instanceof ln))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,n;for(let i of this.children){if(!(i instanceof ln)||/[^ -~]/.test(i.text))return null;let r=wo(i.dom);if(r.length!=1)return null;e+=r[0].width,n=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:n}:null}coordsAt(e,n){let i=V1(this,e,n);if(!this.children.length&&i&&this.parent){let{heightOracle:r}=this.parent.view.viewState,s=i.bottom-i.top;if(Math.abs(s-r.lineHeight)<2&&r.textHeight<s){let o=(s-r.textHeight)/2;return{top:i.top+o,bottom:i.bottom-o,left:i.left,right:i.left}}}return i}become(e){return e instanceof $e&&this.children.length==0&&e.children.length==0&&La(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,n){for(let i=0,r=0;i<e.children.length;i++){let s=e.children[i],o=r+s.length;if(o>=n){if(s instanceof $e)return s;if(o>n)break}r=o+s.breakAfter}return null}}class In extends ae{constructor(e,n,i){super(),this.widget=e,this.length=n,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,n,i,r,s,o){return i&&(!(i instanceof In)||!this.widget.compare(i.widget)||e>0&&s<=0||n<this.length&&o<=0)?!1:(this.length=e+(i?i.length:0)+(this.length-n),!0)}domAtPos(e){return e==0?nt.before(this.dom):nt.after(this.dom,e==this.length)}split(e){let n=this.length-e;this.length=e;let i=new In(this.widget,n,this.deco);return i.breakAfter=this.breakAfter,i}get children(){return Vd}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):ee.empty}domBoundsAround(){return null}become(e){return e instanceof In&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,n){let i=this.widget.coordsAt(this.dom,e,n);return i||(this.widget instanceof pf?null:$c(this.dom.getBoundingClientRect(),this.length?e==0:n<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:n,endSide:i}=this.deco;return n==i?!1:e<0?n<0:i>0}}class pf extends Kn{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class Gs{constructor(e,n,i,r){this.doc=e,this.pos=n,this.end=i,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=n}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof In&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new $e),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(xl(new Gr(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof In)&&this.getLine()}buildText(e,n,i){for(;e>0;){if(this.textOff==this.text.length){let{value:o,lineBreak:l,done:a}=this.cursor.next(this.skip);if(this.skip=0,a)throw new Error("Ran out of text content when drawing inline views");if(l){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=o,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e),s=Math.min(r,512);this.flushBuffer(n.slice(n.length-i)),this.getLine().append(xl(new ln(this.text.slice(this.textOff,this.textOff+s)),n),i),this.atCursorPos=!0,this.textOff+=s,e-=s,i=r<=s?0:n.length}}span(e,n,i,r){this.buildText(n-e,i,r),this.pos=n,this.openStart<0&&(this.openStart=r)}point(e,n,i,r,s,o){if(this.disallowBlockEffectsFor[o]&&i instanceof Qi){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(n>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=n-e;if(i instanceof Qi)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new In(i.widget||Hr.block,l,i));else{let a=_n.create(i.widget||Hr.inline,l,l?0:i.startSide),c=this.atCursorPos&&!a.isEditable&&s<=r.length&&(e<n||i.startSide>0),u=!a.isEditable&&(e<n||s>r.length||i.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!c&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),c&&(h.append(xl(new Gr(1),r),s),s=r.length+Math.max(0,s-r.length)),h.append(xl(a,r),s),this.atCursorPos=u,this.pendingBuffer=u?e<n||s>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=n),this.openStart<0&&(this.openStart=s)}static build(e,n,i,r,s){let o=new Gs(e,n,i,s);return o.openEnd=ie.spans(r,n,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function xl(t,e){for(let n of e)t=new Yn(n,[t],t.length);return t}class Hr extends Kn{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Hr.inline=new Hr("span");Hr.block=new Hr("div");var Oe=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(Oe||(Oe={}));const ir=Oe.LTR,Yd=Oe.RTL;function U1(t){let e=[];for(let n=0;n<t.length;n++)e.push(1<<+t[n]);return e}const IQ=U1("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),NQ=U1("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),mf=Object.create(null),fn=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),n=t.charCodeAt(1);mf[e]=n,mf[n]=-e}function q1(t){return t<=247?IQ[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?NQ[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const BQ=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class hi{get dir(){return this.level%2?Yd:ir}constructor(e,n,i){this.from=e,this.to=n,this.level=i}side(e,n){return this.dir==n==e?this.to:this.from}forward(e,n){return e==(this.dir==n)}static find(e,n,i,r){let s=-1;for(let o=0;o<e.length;o++){let l=e[o];if(l.from<=n&&l.to>=n){if(l.level==i)return o;(s<0||(r!=0?r<0?l.from<n:l.to>n:e[s].level>l.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function G1(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++){let i=t[n],r=e[n];if(i.from!=r.from||i.to!=r.to||i.direction!=r.direction||!G1(i.inner,r.inner))return!1}return!0}const fe=[];function WQ(t,e,n,i,r){for(let s=0;s<=i.length;s++){let o=s?i[s-1].to:e,l=s<i.length?i[s].from:n,a=s?256:r;for(let c=o,u=a,h=a;c<l;c++){let f=q1(t.charCodeAt(c));f==512?f=u:f==8&&h==4&&(f=16),fe[c]=f==4?2:f,f&7&&(h=f),u=f}for(let c=o,u=a,h=a;c<l;c++){let f=fe[c];if(f==128)c<l-1&&u==fe[c+1]&&u&24?f=fe[c]=u:fe[c]=256;else if(f==64){let d=c+1;for(;d<l&&fe[d]==64;)d++;let m=c&&u==8||d<n&&fe[d]==8?h==1?1:8:256;for(let y=c;y<d;y++)fe[y]=m;c=d-1}else f==8&&h==1&&(fe[c]=1);u=f,f&7&&(h=f)}}}function FQ(t,e,n,i,r){let s=r==1?2:1;for(let o=0,l=0,a=0;o<=i.length;o++){let c=o?i[o-1].to:e,u=o<i.length?i[o].from:n;for(let h=c,f,d,m;h<u;h++)if(d=mf[f=t.charCodeAt(h)])if(d<0){for(let y=l-3;y>=0;y-=3)if(fn[y+1]==-d){let v=fn[y+2],O=v&2?r:v&4?v&1?s:r:0;O&&(fe[h]=fe[fn[y]]=O),l=y;break}}else{if(fn.length==189)break;fn[l++]=h,fn[l++]=f,fn[l++]=a}else if((m=fe[h])==2||m==1){let y=m==r;a=y?0:1;for(let v=l-3;v>=0;v-=3){let O=fn[v+2];if(O&2)break;if(y)fn[v+2]|=2;else{if(O&4)break;fn[v+2]|=4}}}}}function VQ(t,e,n,i){for(let r=0,s=i;r<=n.length;r++){let o=r?n[r-1].to:t,l=r<n.length?n[r].from:e;for(let a=o;a<l;){let c=fe[a];if(c==256){let u=a+1;for(;;)if(u==l){if(r==n.length)break;u=n[r++].to,l=r<n.length?n[r].from:e}else if(fe[u]==256)u++;else break;let h=s==1,f=(u<e?fe[u]:i)==1,d=h==f?h?1:2:i;for(let m=u,y=r,v=y?n[y-1].to:t;m>a;)m==v&&(m=n[--y].from,v=y?n[y-1].to:t),fe[--m]=d;a=u}else s=c,a++}}}function gf(t,e,n,i,r,s,o){let l=i%2?2:1;if(i%2==r%2)for(let a=e,c=0;a<n;){let u=!0,h=!1;if(c==s.length||a<s[c].from){let y=fe[a];y!=l&&(u=!1,h=y==16)}let f=!u&&l==1?[]:null,d=u?i:i+1,m=a;e:for(;;)if(c<s.length&&m==s[c].from){if(h)break e;let y=s[c];if(!u)for(let v=y.to,O=c+1;;){if(v==n)break e;if(O<s.length&&s[O].from==v)v=s[O++].to;else{if(fe[v]==l)break e;break}}if(c++,f)f.push(y);else{y.from>a&&o.push(new hi(a,y.from,d));let v=y.direction==ir!=!(d%2);Of(t,v?i+1:i,r,y.inner,y.from,y.to,o),a=y.to}m=y.to}else{if(m==n||(u?fe[m]!=l:fe[m]==l))break;m++}f?gf(t,a,m,i+1,r,f,o):a<m&&o.push(new hi(a,m,d)),a=m}else for(let a=n,c=s.length;a>e;){let u=!0,h=!1;if(!c||a>s[c-1].to){let y=fe[a-1];y!=l&&(u=!1,h=y==16)}let f=!u&&l==1?[]:null,d=u?i:i+1,m=a;e:for(;;)if(c&&m==s[c-1].to){if(h)break e;let y=s[--c];if(!u)for(let v=y.from,O=c;;){if(v==e)break e;if(O&&s[O-1].to==v)v=s[--O].from;else{if(fe[v-1]==l)break e;break}}if(f)f.push(y);else{y.to<a&&o.push(new hi(y.to,a,d));let v=y.direction==ir!=!(d%2);Of(t,v?i+1:i,r,y.inner,y.from,y.to,o),a=y.from}m=y.from}else{if(m==e||(u?fe[m-1]!=l:fe[m-1]==l))break;m--}f?gf(t,m,a,i+1,r,f,o):m<a&&o.push(new hi(m,a,d)),a=m}}function Of(t,e,n,i,r,s,o){let l=e%2?2:1;WQ(t,r,s,i,l),FQ(t,r,s,i,l),VQ(r,s,i,l),gf(t,r,s,e,n,i,o)}function YQ(t,e,n){if(!t)return[new hi(0,0,e==Yd?1:0)];if(e==ir&&!n.length&&!BQ.test(t))return H1(t.length);if(n.length)for(;t.length>fe.length;)fe[fe.length]=256;let i=[],r=e==ir?0:1;return Of(t,r,r,n,0,t.length,i),i}function H1(t){return[new hi(0,t,0)]}let K1="";function UQ(t,e,n,i,r){var s;let o=i.head-t.from,l=hi.find(e,o,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),a=e[l],c=a.side(r,n);if(o==c){let f=l+=r?1:-1;if(f<0||f>=e.length)return null;a=e[l=f],o=a.side(!r,n),c=a.side(r,n)}let u=Ue(t.text,o,a.forward(r,n));(u<a.from||u>a.to)&&(u=c),K1=t.text.slice(Math.min(o,u),Math.max(o,u));let h=l==(r?e.length-1:0)?null:e[l+(r?1:-1)];return h&&u==c&&h.level+(r?0:1)<a.level?C.cursor(h.side(!r,n)+t.from,h.forward(r,n)?1:-1,h.level):C.cursor(u+t.from,a.forward(r,n)?-1:1,a.level)}function qQ(t,e,n){for(let i=e;i<n;i++){let r=q1(t.charCodeAt(i));if(r==1)return ir;if(r==2||r==4)return Yd}return ir}const J1=L.define(),ex=L.define(),tx=L.define(),nx=L.define(),yf=L.define(),ix=L.define(),rx=L.define(),Ud=L.define(),qd=L.define(),sx=L.define({combine:t=>t.some(e=>e)}),ox=L.define({combine:t=>t.some(e=>e)}),lx=L.define();class Lr{constructor(e,n="nearest",i="nearest",r=5,s=5,o=!1){this.range=e,this.y=n,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new Lr(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Lr(C.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const vl=Y.define({map:(t,e)=>t.map(e)}),ax=Y.define();function xt(t,e,n){let i=t.facet(nx);i.length?i[0](e):window.onerror&&window.onerror(String(e),n,void 0,void 0,e)||(n?console.error(n+":",e):console.error(e))}const Dn=L.define({combine:t=>t.length?t[0]:!0});let GQ=0;const br=L.define({combine(t){return t.filter((e,n)=>{for(let i=0;i<n;i++)if(t[i].plugin==e.plugin)return!1;return!0})}});class Me{constructor(e,n,i,r,s){this.id=e,this.create=n,this.domEventHandlers=i,this.domEventObservers=r,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(br.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(br.of({plugin:this,arg:e}))}static define(e,n){const{eventHandlers:i,eventObservers:r,provide:s,decorations:o}=n||{};return new Me(GQ++,e,i,r,l=>{let a=[];return o&&a.push(ko.of(c=>{let u=c.plugin(l);return u?o(u):W.none})),s&&a.push(s(l)),a})}static fromClass(e,n){return Me.define((i,r)=>new e(i,r),n)}}class Pu{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(i){if(xt(n.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(n){xt(e.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(i){xt(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const cx=L.define(),Gd=L.define(),ko=L.define(),ux=L.define(),Wo=L.define(),hx=L.define();function sg(t,e){let n=t.state.facet(hx);if(!n.length)return n;let i=n.map(s=>s instanceof Function?s(t):s),r=[];return ie.spans(i,e.from,e.to,{point(){},span(s,o,l,a){let c=s-e.from,u=o-e.from,h=r;for(let f=l.length-1;f>=0;f--,a--){let d=l[f].spec.bidiIsolate,m;if(d==null&&(d=qQ(e.text,c,u)),a>0&&h.length&&(m=h[h.length-1]).to==c&&m.direction==d)m.to=u,h=m.inner;else{let y={from:c,to:u,direction:d,inner:[]};h.push(y),h=y.inner}}}}),r}const fx=L.define();function Hd(t){let e=0,n=0,i=0,r=0;for(let s of t.state.facet(fx)){let o=s(t);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(n=Math.max(n,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:n,top:i,bottom:r}}const Es=L.define();class Ft{constructor(e,n,i,r){this.fromA=e,this.toA=n,this.fromB=i,this.toB=r}join(e){return new Ft(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let n=e.length,i=this;for(;n>0;n--){let r=e[n-1];if(!(r.fromA>i.toA)){if(r.toA<i.fromA)break;i=i.join(r),e.splice(n-1,1)}}return e.splice(n,0,i),e}static extendWithRanges(e,n){if(n.length==0)return e;let i=[];for(let r=0,s=0,o=0,l=0;;r++){let a=r==e.length?null:e[r],c=o-l,u=a?a.fromB:1e9;for(;s<n.length&&n[s]<u;){let h=n[s],f=n[s+1],d=Math.max(l,h),m=Math.min(u,f);if(d<=m&&new Ft(d+c,m+c,d,m).addToSet(i),f>u)break;s+=2}if(!a)return i;new Ft(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),o=a.toA,l=a.toB}}}class za{constructor(e,n,i){this.view=e,this.state=n,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=je.empty(this.startState.doc.length);for(let s of i)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,l,a)=>r.push(new Ft(s,o,l,a))),this.changedRanges=r}static create(e,n,i){return new za(e,n,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class og extends ae{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=W.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new $e],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Ft(0,0,0,e.state.doc.length)],0,null)}update(e){var n;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:c,toA:u})=>u<this.minWidthFrom||c>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?r=this.domChanged.newSel.head:!iP(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?KQ(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:c,to:u}=this.hasComposition;i=new Ft(c,u,e.changes.mapPos(c,-1),e.changes.mapPos(u,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(Z.ie||Z.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.updateDeco(),a=tP(o,l,e.changes);return i=Ft.extendWithRanges(i,a),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,n,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,n,i);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=Z.chrome||Z.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||r.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof In&&o.widget instanceof pf&&s.push(o.dom);r.updateGaps(s)}updateChildren(e,n,i){let r=i?i.range.addToSet(e.slice()):e,s=this.childCursor(n);for(let o=r.length-1;;o--){let l=o>=0?r[o]:null;if(!l)break;let{fromA:a,toA:c,fromB:u,toB:h}=l,f,d,m,y;if(i&&i.range.fromB<h&&i.range.toB>u){let S=Gs.build(this.view.state.doc,u,i.range.fromB,this.decorations,this.dynamicDecorationMap),k=Gs.build(this.view.state.doc,i.range.toB,h,this.decorations,this.dynamicDecorationMap);d=S.breakAtStart,m=S.openStart,y=k.openEnd;let b=this.compositionView(i);k.breakAtStart?b.breakAfter=1:k.content.length&&b.merge(b.length,b.length,k.content[0],!1,k.openStart,0)&&(b.breakAfter=k.content[0].breakAfter,k.content.shift()),S.content.length&&b.merge(0,0,S.content[S.content.length-1],!0,0,S.openEnd)&&S.content.pop(),f=S.content.concat(b).concat(k.content)}else({content:f,breakAtStart:d,openStart:m,openEnd:y}=Gs.build(this.view.state.doc,u,h,this.decorations,this.dynamicDecorationMap));let{i:v,off:O}=s.findPos(c,1),{i:g,off:x}=s.findPos(a,-1);N1(this,g,x,v,O,f,d,m,y)}i&&this.fixCompositionDOM(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let n of e.transactions)for(let i of n.effects)i.is(ax)&&(this.editContextFormatting=i.value)}compositionView(e){let n=new ln(e.text.nodeValue);n.flags|=8;for(let{deco:r}of e.marks)n=new Yn(r,[n],n.length);let i=new $e;return i.append(n,0),i}fixCompositionDOM(e){let n=(s,o)=>{o.flags|=8|(o.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(o);let l=ae.get(s);l&&l!=o&&(l.dom=null),o.setDOM(s)},i=this.childPos(e.range.fromB,1),r=this.children[i.i];n(e.line,r);for(let s=e.marks.length-1;s>=-1;s--)i=r.childPos(i.off,1),r=r.children[i.i],n(s>=0?e.marks[s].node:e.text,r)}updateSelection(e=!1,n=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,r=i==this.dom,s=!r&&!(this.view.state.facet(Dn)||this.dom.tabIndex>-1)&&ea(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(r||n||s))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),c=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(Z.gecko&&l.empty&&!this.hasComposition&&HQ(a)){let h=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(h,a.node.childNodes[a.offset]||null)),a=c=new nt(h,0),o=!0}let u=this.view.observer.selectionRange;(o||!u.focusNode||(!qs(a.node,a.offset,u.anchorNode,u.anchorOffset)||!qs(c.node,c.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{Z.android&&Z.chrome&&this.dom.contains(u.focusNode)&&nP(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=So(this.view.root);if(h)if(l.empty){if(Z.gecko){let f=JQ(a.node,a.offset);if(f&&f!=3){let d=(f==1?_1:X1)(a.node,a.offset);d&&(a=new nt(d.node,d.offset))}}h.collapse(a.node,a.offset),l.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=l.bidiLevel)}else if(h.extend){h.collapse(a.node,a.offset);try{h.extend(c.node,c.offset)}catch{}}else{let f=document.createRange();l.anchor>l.head&&([a,c]=[c,a]),f.setEnd(c.node,c.offset),f.setStart(a.node,a.offset),h.removeAllRanges(),h.addRange(f)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(a,c)),this.impreciseAnchor=a.precise?null:new nt(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new nt(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,n){return this.hasComposition&&n.empty&&qs(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,n=e.state.selection.main,i=So(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!i||!n.empty||!n.assoc||!i.modify)return;let o=$e.find(this,n.head);if(!o)return;let l=o.posAtStart;if(n.head==l||n.head==l+o.length)return;let a=this.coordsAt(n.head,-1),c=this.coordsAt(n.head,1);if(!a||!c||a.bottom>c.top)return;let u=this.domAtPos(n.head+n.assoc);i.collapse(u.node,u.offset),i.modify("move",n.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=n.from&&i.collapse(r,s)}moveToLine(e){let n=this.dom,i;if(e.node!=n)return e;for(let r=e.offset;!i&&r<n.childNodes.length;r++){let s=ae.get(n.childNodes[r]);s instanceof $e&&(i=s.domAtPos(0))}for(let r=e.offset-1;!i&&r>=0;r--){let s=ae.get(n.childNodes[r]);s instanceof $e&&(i=s.domAtPos(s.length))}return i?new nt(i.node,i.offset,!0):e}nearest(e){for(let n=e;n;){let i=ae.get(n);if(i&&i.rootView==this)return i;n=n.parentNode}return null}posFromDOM(e,n){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,n)+i.posAtStart}domAtPos(e){let{i:n,off:i}=this.childCursor().findPos(e,-1);for(;n<this.children.length-1;){let r=this.children[n];if(i<r.length||r instanceof $e)break;n++,i=0}return this.children[n].domAtPos(i)}coordsAt(e,n){let i=null,r=0;for(let s=this.length,o=this.children.length-1;o>=0;o--){let l=this.children[o],a=s-l.breakAfter,c=a-l.length;if(a<e)break;if(c<=e&&(c<e||l.covers(-1))&&(a>e||l.covers(1))&&(!i||l instanceof $e&&!(i instanceof $e&&n>=0)))i=l,r=c;else if(i&&c==e&&a==e&&l instanceof In&&Math.abs(n)<2){if(l.deco.startSide<0)break;o&&(i=null)}s=c}return i?i.coordsAt(e-r,n):null}coordsForChar(e){let{i:n,off:i}=this.childPos(e,1),r=this.children[n];if(!(r instanceof $e))return null;for(;r.children.length;){let{i:l,off:a}=r.childPos(i,1);for(;;l++){if(l==r.children.length)return null;if((r=r.children[l]).length)break}i=a}if(!(r instanceof ln))return null;let s=Ue(r.text,i);if(s==i)return null;let o=nr(r.dom,i,s).getClientRects();for(let l=0;l<o.length;l++){let a=o[l];if(l==o.length-1||a.top<a.bottom&&a.left<a.right)return a}return null}measureVisibleLineHeights(e){let n=[],{from:i,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==Oe.LTR;for(let c=0,u=0;u<this.children.length;u++){let h=this.children[u],f=c+h.length;if(f>r)break;if(c>=i){let d=h.dom.getBoundingClientRect();if(n.push(d.height),o){let m=h.dom.lastChild,y=m?wo(m):[];if(y.length){let v=y[y.length-1],O=a?v.right-d.left:d.right-v.left;O>l&&(l=O,this.minWidth=s,this.minWidthFrom=c,this.minWidthTo=f)}}}c=f+h.breakAfter}return n}textDirectionAt(e){let{i:n}=this.childPos(e,1);return getComputedStyle(this.children[n].dom).direction=="rtl"?Oe.RTL:Oe.LTR}measureTextSize(){for(let s of this.children)if(s instanceof $e){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),n,i,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=wo(e.firstChild)[0];n=e.getBoundingClientRect().height,i=s?s.width/27:7,r=s?s.height:n,e.remove()}),{lineHeight:n,charWidth:i,textHeight:r}}childCursor(e=this.length){let n=this.children.length;return n&&(e-=this.children[--n].length),new I1(this.children,e,n)}computeBlockGapDeco(){let e=[],n=this.view.viewState;for(let i=0,r=0;;r++){let s=r==n.viewports.length?null:n.viewports[r],o=s?s.from-1:this.length;if(o>i){let l=(n.lineBlockAt(o).bottom-n.lineBlockAt(i).top)/this.view.scaleY;e.push(W.replace({widget:new pf(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!s)break;i=s.to+1}return W.set(e)}updateDeco(){let e=1,n=this.view.state.facet(ko).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(ux).map((s,o)=>{let l=typeof s=="function";return l&&(i=!0),l?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=i,n.push(ie.join(r))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(lx))try{if(c(this.view,e.range,e))return!0}catch(u){xt(this.view.state,u,"scroll handler")}let{range:n}=e,i=this.coordsAt(n.head,n.empty?n.assoc:n.head>n.anchor?-1:1),r;if(!i)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=Hd(this.view),o={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;AQ(this.view.scrollDOM,o,n.head<n.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,a),-a),this.view.textDirection==Oe.LTR)}lineHasWidget(e){let{i:n}=this.childCursor().findPos(e);if(n==this.children.length)return!1;let i=r=>r instanceof _n||r.children.some(i);return i(this.children[n])}}function HQ(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function dx(t,e){let n=t.observer.selectionRange;if(!n.focusNode)return null;let i=_1(n.focusNode,n.focusOffset),r=X1(n.focusNode,n.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let l=ae.get(r.node);if(!l||l instanceof ln&&l.text!=r.node.nodeValue)s=r;else if(t.docView.lastCompositionAfterCursor){let a=ae.get(i.node);!a||a instanceof ln&&a.text!=i.node.nodeValue||(s=r)}}if(t.docView.lastCompositionAfterCursor=s!=i,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function KQ(t,e,n){let i=dx(t,n);if(!i)return null;let{node:r,from:s,to:o}=i,l=r.nodeValue;if(/[\n\r]/.test(l)||t.state.doc.sliceString(i.from,i.to)!=l)return null;let a=e.invertedDesc,c=new Ft(a.mapPos(s),a.mapPos(o),s,o),u=[];for(let h=r.parentNode;;h=h.parentNode){let f=ae.get(h);if(f instanceof Yn)u.push({node:h,deco:f.mark});else{if(f instanceof $e||h.nodeName=="DIV"&&h.parentNode==t.contentDOM)return{range:c,text:r,marks:u,line:h};if(h!=t.contentDOM)u.push({node:h,deco:new No({inclusive:!0,attributes:_Q(h),tagName:h.tagName.toLowerCase()})});else return null}}}function JQ(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}let eP=class{constructor(){this.changes=[]}compareRange(e,n){ta(e,n,this.changes)}comparePoint(e,n){ta(e,n,this.changes)}boundChange(e){ta(e,e,this.changes)}};function tP(t,e,n){let i=new eP;return ie.compare(t,e,n,i),i.changes}function nP(t,e){for(let n=t;n&&n!=e;n=n.assignedSlot||n.parentNode)if(n.nodeType==1&&n.contentEditable=="false")return!0;return!1}function iP(t,e){let n=!1;return e&&t.iterChangedRanges((i,r)=>{i<e.to&&r>e.from&&(n=!0)}),n}function rP(t,e,n=1){let i=t.charCategorizer(e),r=t.doc.lineAt(e),s=e-r.from;if(r.length==0)return C.cursor(e);s==0?n=1:s==r.length&&(n=-1);let o=s,l=s;n<0?o=Ue(r.text,s,!1):l=Ue(r.text,s);let a=i(r.text.slice(o,l));for(;o>0;){let c=Ue(r.text,o,!1);if(i(r.text.slice(c,o))!=a)break;o=c}for(;l<r.length;){let c=Ue(r.text,l);if(i(r.text.slice(l,c))!=a)break;l=c}return C.range(o+r.from,l+r.from)}function sP(t,e){return e.left>t?e.left-t:Math.max(0,t-e.right)}function oP(t,e){return e.top>t?e.top-t:Math.max(0,t-e.bottom)}function $u(t,e){return t.top<e.bottom-1&&t.bottom>e.top+1}function lg(t,e){return e<t.top?{top:e,left:t.left,right:t.right,bottom:t.bottom}:t}function ag(t,e){return e>t.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function xf(t,e,n){let i,r,s,o,l=!1,a,c,u,h;for(let m=t.firstChild;m;m=m.nextSibling){let y=wo(m);for(let v=0;v<y.length;v++){let O=y[v];r&&$u(r,O)&&(O=lg(ag(O,r.bottom),r.top));let g=sP(e,O),x=oP(n,O);if(g==0&&x==0)return m.nodeType==3?cg(m,e,n):xf(m,e,n);(!i||o>x||o==x&&s>g)&&(i=m,r=O,s=g,o=x,l=g?e<O.left?v>0:v<y.length-1:!0),g==0?n>O.bottom&&(!u||u.bottom<O.bottom)?(a=m,u=O):n<O.top&&(!h||h.top>O.top)&&(c=m,h=O):u&&$u(u,O)?u=ag(u,O.bottom):h&&$u(h,O)&&(h=lg(h,O.top))}}if(u&&u.bottom>=n?(i=a,r=u):h&&h.top<=n&&(i=c,r=h),!i)return{node:t,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(i.nodeType==3)return cg(i,f,n);if(l&&i.contentEditable!="false")return xf(i,f,n);let d=Array.prototype.indexOf.call(t.childNodes,i)+(e>=(r.left+r.right)/2?1:0);return{node:t,offset:d}}function cg(t,e,n){let i=t.nodeValue.length,r=-1,s=1e9,o=0;for(let l=0;l<i;l++){let a=nr(t,l,l+1).getClientRects();for(let c=0;c<a.length;c++){let u=a[c];if(u.top==u.bottom)continue;o||(o=e-u.left);let h=(u.top>n?u.top-n:n-u.bottom)-1;if(u.left-1<=e&&u.right+1>=e&&h<s){let f=e>=(u.left+u.right)/2,d=f;if((Z.chrome||Z.gecko)&&nr(t,l).getBoundingClientRect().left==u.right&&(d=!f),h<=0)return{node:t,offset:l+(d?1:0)};r=l+(d?1:0),s=h}}}return{node:t,offset:r>-1?r:o>0?t.nodeValue.length:0}}function px(t,e,n,i=-1){var r,s;let o=t.contentDOM.getBoundingClientRect(),l=o.top+t.viewState.paddingTop,a,{docHeight:c}=t.viewState,{x:u,y:h}=e,f=h-l;if(f<0)return 0;if(f>c)return t.state.doc.length;for(let S=t.viewState.heightOracle.textHeight/2,k=!1;a=t.elementAtHeight(f),a.type!=ut.Text;)for(;f=i>0?a.bottom+S:a.top-S,!(f>=0&&f<=c);){if(k)return n?null:0;k=!0,i=-i}h=l+f;let d=a.from;if(d<t.viewport.from)return t.viewport.from==0?0:n?null:ug(t,o,a,u,h);if(d>t.viewport.to)return t.viewport.to==t.state.doc.length?t.state.doc.length:n?null:ug(t,o,a,u,h);let m=t.dom.ownerDocument,y=t.root.elementFromPoint?t.root:m,v=y.elementFromPoint(u,h);v&&!t.contentDOM.contains(v)&&(v=null),v||(u=Math.max(o.left+1,Math.min(o.right-1,u)),v=y.elementFromPoint(u,h),v&&!t.contentDOM.contains(v)&&(v=null));let O,g=-1;if(v&&((r=t.docView.nearest(v))===null||r===void 0?void 0:r.isEditable)!=!1){if(m.caretPositionFromPoint){let S=m.caretPositionFromPoint(u,h);S&&({offsetNode:O,offset:g}=S)}else if(m.caretRangeFromPoint){let S=m.caretRangeFromPoint(u,h);S&&({startContainer:O,startOffset:g}=S)}O&&(!t.contentDOM.contains(O)||Z.safari&&lP(O,g,u)||Z.chrome&&aP(O,g,u))&&(O=void 0),O&&(g=Math.min(Cn(O),g))}if(!O||!t.docView.dom.contains(O)){let S=$e.find(t.docView,d);if(!S)return f>a.top+a.height/2?a.to:a.from;({node:O,offset:g}=xf(S.dom,u,h))}let x=t.docView.nearest(O);if(!x)return null;if(x.isWidget&&((s=x.dom)===null||s===void 0?void 0:s.nodeType)==1){let S=x.dom.getBoundingClientRect();return e.y<S.top||e.y<=S.bottom&&e.x<=(S.left+S.right)/2?x.posAtStart:x.posAtEnd}else return x.localPosFromDOM(O,g)+x.posAtStart}function ug(t,e,n,i,r){let s=Math.round((i-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&n.height>t.defaultLineHeight*1.5){let l=t.viewState.heightOracle.textHeight,a=Math.floor((r-n.top-(t.defaultLineHeight-l)*.5)/l);s+=a*t.viewState.heightOracle.lineLength}let o=t.state.sliceDoc(n.from,n.to);return n.from+rf(o,s,t.state.tabSize)}function mx(t,e,n){let i,r=t;if(t.nodeType!=3||e!=(i=t.nodeValue.length))return!1;for(;;){let s=r.nextSibling;if(s){if(s.nodeName=="BR")break;return!1}else{let o=r.parentNode;if(!o||o.nodeName=="DIV")break;r=o}}return nr(t,i-1,i).getBoundingClientRect().right>n}function lP(t,e,n){return mx(t,e,n)}function aP(t,e,n){if(e!=0)return mx(t,e,n);for(let r=t;;){let s=r.parentNode;if(!s||s.nodeType!=1||s.firstChild!=r)return!1;if(s.classList.contains("cm-line"))break;r=s}let i=t.nodeType==1?t.getBoundingClientRect():nr(t,0,Math.max(t.nodeValue.length,1)).getBoundingClientRect();return n-i.left>5}function vf(t,e,n){let i=t.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==ut.Text&&(r.type!=s.type||(n<0?s.from<e:s.to>e)))&&(r=s)}}return r||i}return i}function cP(t,e,n,i){let r=vf(t,e.head,e.assoc||-1),s=!i||r.type!=ut.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=t.dom.getBoundingClientRect(),l=t.textDirectionAt(r.from),a=t.posAtCoords({x:n==(l==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(a!=null)return C.cursor(a,n?-1:1)}return C.cursor(n?r.to:r.from,n?-1:1)}function hg(t,e,n,i){let r=t.state.doc.lineAt(e.head),s=t.bidiSpans(r),o=t.textDirectionAt(r.from);for(let l=e,a=null;;){let c=UQ(r,s,o,l,n),u=K1;if(!c){if(r.number==(n?t.state.doc.lines:1))return l;u=`
|
|
109
|
+
`,r=t.state.doc.line(r.number+(n?1:-1)),s=t.bidiSpans(r),c=t.visualLineSide(r,!n)}if(a){if(!a(u))return l}else{if(!i)return c;a=i(u)}l=c}}function uP(t,e,n){let i=t.state.charCategorizer(e),r=i(n);return s=>{let o=i(s);return r==xe.Space&&(r=o),r==o}}function hP(t,e,n,i){let r=e.head,s=n?1:-1;if(r==(n?t.state.doc.length:0))return C.cursor(r,e.assoc);let o=e.goalColumn,l,a=t.contentDOM.getBoundingClientRect(),c=t.coordsAtPos(r,e.assoc||-1),u=t.documentTop;if(c)o==null&&(o=c.left-a.left),l=s<0?c.top:c.bottom;else{let d=t.viewState.lineBlockAt(r);o==null&&(o=Math.min(a.right-a.left,t.defaultCharacterWidth*(r-d.from))),l=(s<0?d.top:d.bottom)+u}let h=a.left+o,f=i??t.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let m=l+(f+d)*s,y=px(t,{x:h,y:m},!1,s);if(m<a.top||m>a.bottom||(s<0?y<r:y>r)){let v=t.docView.coordsForChar(y),O=!v||m<v.top?-1:1;return C.cursor(y,O,void 0,o)}}}function Hs(t,e,n){for(;;){let i=0;for(let r of t)r.between(e-1,e+1,(s,o,l)=>{if(e>s&&e<o){let a=i||n||(e-s<o-e?-1:1);e=a<0?s:o,i=a}});if(!i)return e}}function gx(t,e){let n=null;for(let i=0;i<e.ranges.length;i++){let r=e.ranges[i],s=null;if(r.empty){let o=Hs(t,r.from,0);o!=r.from&&(s=C.cursor(o,-1))}else{let o=Hs(t,r.from,-1),l=Hs(t,r.to,1);(o!=r.from||l!=r.to)&&(s=C.range(r.from==r.anchor?o:l,r.from==r.head?o:l))}s&&(n||(n=e.ranges.slice()),n[i]=s)}return n?C.create(n,e.mainIndex):e}function Cu(t,e,n){let i=Hs(t.state.facet(Wo).map(r=>r(t)),n.from,e.head>n.from?-1:1);return i==n.from?n:C.cursor(i,i<n.from?1:-1)}const js="๏ฟฟ";class fP{constructor(e,n){this.points=e,this.text="",this.lineSeparator=n.facet(ne.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=js}readRange(e,n){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let o=r.nextSibling;if(o==n)break;let l=ae.get(r),a=ae.get(o);(l&&a?l.breakAfter:(l?l.breakAfter:Da(r))||Da(o)&&(r.nodeName!="BR"||r.cmIgnore)&&this.text.length>s)&&!pP(o,n)&&this.lineBreak(),r=o}return this.findPointBefore(i,n),this}readTextNode(e){let n=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,n.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,l;if(this.lineSeparator?(s=n.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(l=r.exec(n))&&(s=l.index,o=l[0].length),this.append(n.slice(i,s<0?n.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);i=s+o}}readNode(e){if(e.cmIgnore)return;let n=ae.get(e),i=n&&n.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,n){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==n&&(i.pos=this.text.length)}findPointInside(e,n){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(dP(e,i.node,i.offset)?n:0))}}function dP(t,e,n){for(;;){if(!e||n<Cn(e))return!1;if(e==t)return!0;n=tr(e)+1,e=e.parentNode}}function pP(t,e){let n;for(;!(t==e||!t);t=t.nextSibling){let i=ae.get(t);if(!(i!=null&&i.isWidget||t.cmIgnore))return!1;i&&(n||(n=[])).push(i)}if(n)for(let i of n){let r=i.overrideDOMText;if(r!=null&&r.length)return!1}return!0}class fg{constructor(e,n){this.node=e,this.offset=n,this.pos=-1}}class mP{constructor(e,n,i,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=n>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=e.docView.domBoundsAround(n,i,0))){let l=s||o?[]:OP(e),a=new fP(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=yP(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!hf(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),c=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!hf(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),u=e.viewport;if((Z.ios||Z.chrome)&&e.state.selection.main.empty&&a!=c&&(u.from>0||u.to<e.state.doc.length)){let h=Math.min(a,c),f=Math.max(a,c),d=u.from-h,m=u.to-f;(d==0||d==1||h==0)&&(m==0||m==-1||f==e.state.doc.length)&&(a=0,c=e.state.doc.length)}this.newSel=C.single(c,a)}}}function Ox(t,e){let n,{newSel:i}=e,r=t.state.selection.main,s=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:l}=e.bounds,a=r.from,c=null;(s===8||Z.android&&e.text.length<l-o)&&(a=r.to,c="end");let u=yx(t.state.doc.sliceString(o,l,js),e.text,a-o,c);u&&(Z.chrome&&s==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==js+js&&u.toB--,n={from:o+u.from,to:o+u.toA,insert:ee.of(e.text.slice(u.from,u.toB).split(js))})}else i&&(!t.hasFocus&&t.state.facet(Dn)||i.main.eq(r))&&(i=null);if(!n&&!i)return!1;if(!n&&e.typeOver&&!r.empty&&i&&i.main.empty?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,r.to)}:(Z.mac||Z.android)&&n&&n.from==n.to&&n.from==r.head-1&&/^\. ?$/.test(n.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(i&&n.insert.length==2&&(i=C.single(i.main.anchor-1,i.main.head-1)),n={from:n.from,to:n.to,insert:ee.of([n.insert.toString().replace("."," ")])}):n&&n.from>=r.from&&n.to<=r.to&&(n.from!=r.from||n.to!=r.to)&&r.to-r.from-(n.to-n.from)<=4?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,r.to))}:t.state.doc.lineAt(r.from).to<r.to&&t.docView.lineHasWidget(r.to)&&t.inputState.insertingTextAt>Date.now()-50?n={from:r.from,to:r.to,insert:t.state.toText(t.inputState.insertingText)}:Z.chrome&&n&&n.from==n.to&&n.from==r.head&&n.insert.toString()==`
|
|
110
|
+
`&&t.lineWrapping&&(i&&(i=C.single(i.main.anchor-1,i.main.head-1)),n={from:r.from,to:r.to,insert:ee.of([" "])}),n)return Kd(t,n,i,s);if(i&&!i.main.eq(r)){let o=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(o=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(i=gx(t.state.facet(Wo).map(a=>a(t)),i))),t.dispatch({selection:i,scrollIntoView:o,userEvent:l}),!0}else return!1}function Kd(t,e,n,i=-1){if(Z.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(Z.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&t.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Dr(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Dr(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Dr(t.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let o,l=()=>o||(o=gP(t,e,n));return t.state.facet(ix).some(a=>a(t,e.from,e.to,s,l))||t.dispatch(l()),!0}function gP(t,e,n){let i,r=t.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let a=e.from<s.from?-1:1,c=a<0?s.from:s.to,u=Hs(r.facet(Wo).map(h=>h(t)),c,a);e.from==u&&(o=u)}if(o>-1)i={changes:e,selection:C.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let a=s.from<e.from?r.sliceDoc(s.from,e.from):"",c=s.to>e.to?r.sliceDoc(e.to,s.to):"";i=r.replaceSelection(t.state.toText(a+e.insert.sliceString(0,void 0,t.state.lineBreak)+c))}else{let a=r.changes(e),c=n&&n.main.to<=a.newLength?n.main:void 0;if(r.selection.ranges.length>1&&t.inputState.composing>=0&&e.to<=s.to+10&&e.to>=s.to-10){let u=t.state.sliceDoc(e.from,e.to),h,f=n&&dx(t,n.main.head);if(f){let y=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-y}}else h=t.state.doc.lineAt(s.head);let d=s.to-e.to,m=s.to-s.from;i=r.changeByRange(y=>{if(y.from==s.from&&y.to==s.to)return{changes:a,range:c||y.map(a)};let v=y.to-d,O=v-u.length;if(y.to-y.from!=m||t.state.sliceDoc(O,v)!=u||y.to>=h.from&&y.from<=h.to)return{range:y};let g=r.changes({from:O,to:v,insert:e.insert}),x=y.to-s.to;return{changes:g,range:c?C.range(Math.max(0,c.anchor+x),Math.max(0,c.head+x)):y.map(g)}})}else i={changes:a,selection:c&&r.selection.replaceRange(c)}}let l="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,l+=".compose",t.inputState.compositionFirstChange&&(l+=".start",t.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:l,scrollIntoView:!0})}function yx(t,e,n,i){let r=Math.min(t.length,e.length),s=0;for(;s<r&&t.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&t.length==e.length)return null;let o=t.length,l=e.length;for(;o>0&&l>0&&t.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,s-Math.min(o,l));n-=o+a-s}if(o<s&&t.length<e.length){let a=n<=s&&n>=o?s-n:0;s-=a,l=s+(l-o),o=s}else if(l<s){let a=n<=s&&n>=l?s-n:0;s-=a,o=s+(o-l),l=s}return{from:s,toA:o,toB:l}}function OP(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}=t.observer.selectionRange;return n&&(e.push(new fg(n,i)),(r!=n||s!=i)&&e.push(new fg(r,s))),e}function yP(t,e){if(t.length==0)return null;let n=t[0].pos,i=t.length==2?t[1].pos:n;return n>-1&&i>-1?C.single(n+e,i+e):null}class xP{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Z.safari&&e.contentDOM.addEventListener("input",()=>null),Z.gecko&&ZP(e.contentDOM.ownerDocument)}handleEvent(e){!$P(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,n){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,n);for(let r of i.handlers){if(n.defaultPrevented)break;if(r(this.view,n)){n.preventDefault();break}}}}ensureHandlers(e){let n=vP(e),i=this.handlers,r=this.view.contentDOM;for(let s in n)if(s!="scroll"){let o=!n[s].handlers.length,l=i[s];l&&o!=!l.handlers.length&&(r.removeEventListener(s,this.handleEvent),l=null),l||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in i)s!="scroll"&&!n[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=n}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&vx.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Z.android&&Z.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let n;return Z.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((n=xx.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||SP.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=n||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Dr(this.view.contentDOM,n.key,n.keyCode,n instanceof KeyboardEvent?n:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Z.safari&&!Z.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function dg(t,e){return(n,i)=>{try{return e.call(t,i,n)}catch(r){xt(n.state,r)}}}function vP(t){let e=Object.create(null);function n(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of t){let r=i.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let l in s){let a=s[l];a&&n(l).handlers.push(dg(i.value,a))}if(o)for(let l in o){let a=o[l];a&&n(l).observers.push(dg(i.value,a))}}for(let i in an)n(i).handlers.push(an[i]);for(let i in Ut)n(i).observers.push(Ut[i]);return e}const xx=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],SP="dthko",vx=[16,17,18,20,91,92,224,225],Sl=6;function wl(t){return Math.max(0,t)*.7+8}function wP(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class kP{constructor(e,n,i,r){this.view=e,this.startEvent=n,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=MQ(e.contentDOM),this.atoms=e.state.facet(Wo).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(ne.allowMultipleSelections)&&bP(e,n),this.dragging=PP(e,n)&&kx(n)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&wP(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,i=0,r=0,s=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=Hd(this.view);e.clientX-a.left<=r+Sl?n=-wl(r-e.clientX):e.clientX+a.right>=o-Sl&&(n=wl(e.clientX-o)),e.clientY-a.top<=s+Sl?i=-wl(s-e.clientY):e.clientY+a.bottom>=l-Sl&&(i=wl(e.clientY-l)),this.setScrollSpeed(n,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,n){this.scrollSpeed={x:e,y:n},e||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:n}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(e||n)&&this.view.win.scrollBy(e,n),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:n}=this,i=gx(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function bP(t,e){let n=t.state.facet(J1);return n.length?n[0](e):Z.mac?e.metaKey:e.ctrlKey}function QP(t,e){let n=t.state.facet(ex);return n.length?n[0](e):Z.mac?!e.altKey:!e.ctrlKey}function PP(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let i=So(t.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let o=r[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function $P(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target,i;n!=t.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(i=ae.get(n))&&i.ignoreEvent(e))return!1;return!0}const an=Object.create(null),Ut=Object.create(null),Sx=Z.ie&&Z.ie_version<15||Z.ios&&Z.webkit_version<604;function CP(t){let e=t.dom.parentNode;if(!e)return;let n=e.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{t.focus(),n.remove(),wx(t,n.value)},50)}function Cc(t,e,n){for(let i of t.facet(e))n=i(n,t);return n}function wx(t,e){e=Cc(t.state,Ud,e);let{state:n}=t,i,r=1,s=n.toText(e),o=s.lines==n.selection.ranges.length;if(Sf!=null&&n.selection.ranges.every(a=>a.empty)&&Sf==s.toString()){let a=-1;i=n.changeByRange(c=>{let u=n.doc.lineAt(c.from);if(u.from==a)return{range:c};a=u.from;let h=n.toText((o?s.line(r++).text:e)+n.lineBreak);return{changes:{from:u.from,insert:h},range:C.cursor(c.from+h.length)}})}else o?i=n.changeByRange(a=>{let c=s.line(r++);return{changes:{from:a.from,to:a.to,insert:c.text},range:C.cursor(a.from+c.length)}}):i=n.replaceSelection(s);t.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Ut.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};an.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Ut.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};Ut.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};an.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let i of t.state.facet(tx))if(n=i(t,e),n)break;if(!n&&e.button==0&&(n=MP(t,e)),n){let i=!t.hasFocus;t.inputState.startMouseSelection(new kP(t,e,n,i)),i&&t.observer.ignore(()=>{D1(t.contentDOM);let s=t.root.activeElement;s&&!s.contains(t.contentDOM)&&s.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function pg(t,e,n,i){if(i==1)return C.cursor(e,n);if(i==2)return rP(t.state,e,n);{let r=$e.find(t.docView,e),s=t.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,l=r?r.posAtEnd:s.to;return l<t.state.doc.length&&l==s.to&&l++,C.range(o,l)}}let mg=(t,e,n)=>e>=n.top&&e<=n.bottom&&t>=n.left&&t<=n.right;function TP(t,e,n,i){let r=$e.find(t.docView,e);if(!r)return 1;let s=e-r.posAtStart;if(s==0)return 1;if(s==r.length)return-1;let o=r.coordsAt(s,-1);if(o&&mg(n,i,o))return-1;let l=r.coordsAt(s,1);return l&&mg(n,i,l)?1:o&&o.bottom>=i?-1:1}function gg(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:n,bias:TP(t,n,e.clientX,e.clientY)}}const AP=Z.ie&&Z.ie_version<=11;let Og=null,yg=0,xg=0;function kx(t){if(!AP)return t.detail;let e=Og,n=xg;return Og=t,xg=Date.now(),yg=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(yg+1)%3:1}function MP(t,e){let n=gg(t,e),i=kx(e),r=t.state.selection;return{update(s){s.docChanged&&(n.pos=s.changes.mapPos(n.pos),r=r.map(s.changes))},get(s,o,l){let a=gg(t,s),c,u=pg(t,a.pos,a.bias,i);if(n.pos!=a.pos&&!o){let h=pg(t,n.pos,n.bias,i),f=Math.min(h.from,u.from),d=Math.max(h.to,u.to);u=f<u.from?C.range(f,d):C.range(d,f)}return o?r.replaceRange(r.main.extend(u.from,u.to)):l&&i==1&&r.ranges.length>1&&(c=RP(r,a.pos))?c:l?r.addRange(u):C.create([u])}}}function RP(t,e){for(let n=0;n<t.ranges.length;n++){let{from:i,to:r}=t.ranges[n];if(i<=e&&r>=e)return C.create(t.ranges.slice(0,n).concat(t.ranges.slice(n+1)),t.mainIndex==n?0:t.mainIndex-(t.mainIndex>n?1:0))}return null}an.dragstart=(t,e)=>{let{selection:{main:n}}=t.state;if(e.target.draggable){let r=t.docView.nearest(e.target);if(r&&r.isWidget){let s=r.posAtStart,o=s+r.length;(s>=n.to||o<=n.from)&&(n=C.range(s,o))}}let{inputState:i}=t;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,e.dataTransfer&&(e.dataTransfer.setData("Text",Cc(t.state,qd,t.state.sliceDoc(n.from,n.to))),e.dataTransfer.effectAllowed="copyMove"),!1};an.dragend=t=>(t.inputState.draggedContent=null,!1);function vg(t,e,n,i){if(n=Cc(t.state,Ud,n),!n)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=t.inputState,o=i&&s&&QP(t,e)?{from:s.from,to:s.to}:null,l={from:r,insert:n},a=t.state.changes(o?[o,l]:l);t.focus(),t.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),t.inputState.draggedContent=null}an.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let n=e.dataTransfer.files;if(n&&n.length){let i=Array(n.length),r=0,s=()=>{++r==n.length&&vg(t,e,i.filter(o=>o!=null).join(t.state.lineBreak),!1)};for(let o=0;o<n.length;o++){let l=new FileReader;l.onerror=s,l.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(i[o]=l.result),s()},l.readAsText(n[o])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return vg(t,e,i,!0),!0}return!1};an.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let n=Sx?null:e.clipboardData;return n?(wx(t,n.getData("text/plain")||n.getData("text/uri-list")),!0):(CP(t),!1)};function EP(t,e){let n=t.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),t.focus()},50)}function jP(t){let e=[],n=[],i=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),n.push(r));if(!e.length){let r=-1;for(let{from:s}of t.selection.ranges){let o=t.doc.lineAt(s);o.number>r&&(e.push(o.text),n.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),r=o.number}i=!0}return{text:Cc(t,qd,e.join(t.lineBreak)),ranges:n,linewise:i}}let Sf=null;an.copy=an.cut=(t,e)=>{let{text:n,ranges:i,linewise:r}=jP(t.state);if(!n&&!r)return!1;Sf=r?n:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=Sx?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(EP(t,n),!1)};const bx=Hn.define();function Qx(t,e){let n=[];for(let i of t.facet(rx)){let r=i(t,e);r&&n.push(r)}return n.length?t.update({effects:n,annotations:bx.of(!0)}):null}function Px(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=Qx(t.state,e);n?t.dispatch(n):t.update([])}},10)}Ut.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),Px(t)};Ut.blur=t=>{t.observer.clearSelectionRange(),Px(t)};Ut.compositionstart=Ut.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Ut.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Z.chrome&&Z.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Ut.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};an.beforeinput=(t,e)=>{var n,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let s=(n=e.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let l=o[0],a=t.posAtDOM(l.startContainer,l.startOffset),c=t.posAtDOM(l.endContainer,l.endOffset);return Kd(t,{from:a,to:c,insert:t.state.toText(s)},null),!0}}let r;if(Z.chrome&&Z.android&&(r=xx.find(s=>s.inputType==e.inputType))&&(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Z.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Z.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Ut.compositionend(t,e),20),!1};const Sg=new Set;function ZP(t){Sg.has(t)||(Sg.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const wg=["pre-wrap","normal","pre-line","break-spaces"];let Kr=!1;function kg(){Kr=!1}class DP{constructor(e){this.lineWrapping=e,this.doc=ee.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,n){let i=this.doc.lineAt(n).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((n-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return wg.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let i=0;i<e.length;i++){let r=e[i];r<0?i++:this.heightSamples[Math.floor(r*10)]||(n=!0,this.heightSamples[Math.floor(r*10)]=!0)}return n}refresh(e,n,i,r,s,o){let l=wg.indexOf(e)>-1,a=Math.round(n)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=n,this.charWidth=i,this.textHeight=r,this.lineLength=s,a){this.heightSamples={};for(let c=0;c<o.length;c++){let u=o[c];u<0?c++:this.heightSamples[Math.floor(u*10)]=!0}}return a}}class LP{constructor(e,n){this.from=e,this.heights=n,this.index=0}get more(){return this.index<this.heights.length}}class Sn{constructor(e,n,i,r,s){this.from=e,this.length=n,this.top=i,this.height=r,this._content=s}get type(){return typeof this._content=="number"?ut.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Qi?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Sn(this.from,this.length+e.length,this.top,this.height+e.height,n)}}var me=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(me||(me={}));const na=.001;class ht{constructor(e,n,i=2){this.length=e,this.height=n,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>na&&(Kr=!0),this.height=e)}replace(e,n,i){return ht.of(i)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,i,r){let s=this,o=i.doc;for(let l=r.length-1;l>=0;l--){let{fromA:a,toA:c,fromB:u,toB:h}=r[l],f=s.lineAt(a,me.ByPosNoHeight,i.setDoc(n),0,0),d=f.to>=c?f:s.lineAt(c,me.ByPosNoHeight,i,0,0);for(h+=d.to-c,c=d.to;l>0&&f.from<=r[l-1].toA;)a=r[l-1].fromA,u=r[l-1].fromB,l--,a<f.from&&(f=s.lineAt(a,me.ByPosNoHeight,i,0,0));u+=f.from-a,a=f.from;let m=Jd.build(i.setDoc(o),e,u,h);s=_a(s,s.replace(a,c,m))}return s.updateHeight(i,0)}static empty(){return new At(0,0)}static of(e){if(e.length==1)return e[0];let n=0,i=e.length,r=0,s=0;for(;;)if(n==i)if(r>s*2){let l=e[n-1];l.break?e.splice(--n,1,l.left,null,l.right):e.splice(--n,1,l.left,l.right),i+=1+l.break,r-=l.size}else if(s>r*2){let l=e[i];l.break?e.splice(i,1,l.left,null,l.right):e.splice(i,1,l.left,l.right),i+=2+l.break,s-=l.size}else break;else if(r<s){let l=e[n++];l&&(r+=l.size)}else{let l=e[--i];l&&(s+=l.size)}let o=0;return e[n-1]==null?(o=1,n--):e[n]==null&&(o=1,i++),new zP(ht.of(e.slice(0,n)),o,ht.of(e.slice(i)))}}function _a(t,e){return t==e?t:(t.constructor!=e.constructor&&(Kr=!0),e)}ht.prototype.size=1;class $x extends ht{constructor(e,n,i){super(e,n),this.deco=i}blockAt(e,n,i,r){return new Sn(r,this.length,i,this.height,this.deco||0)}lineAt(e,n,i,r,s){return this.blockAt(0,i,r,s)}forEachLine(e,n,i,r,s,o){e<=s+this.length&&n>=s&&o(this.blockAt(0,i,r,s))}updateHeight(e,n=0,i=!1,r){return r&&r.from<=n&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class At extends $x{constructor(e,n){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,n,i,r){return new Sn(r,this.length,i,this.height,this.breaks)}replace(e,n,i){let r=i[0];return i.length==1&&(r instanceof At||r instanceof Fe&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Fe?r=new At(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):ht.of(i)}updateHeight(e,n=0,i=!1,r){return r&&r.from<=n&&r.more?this.setHeight(r.heights[r.index++]):(i||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Fe extends ht{constructor(e){super(e,0)}heightMetrics(e,n){let i=e.doc.lineAt(n).number,r=e.doc.lineAt(n+this.length).number,s=r-i+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);o=a/s,this.length>s+1&&(l=(this.height-a)/(this.length-s-1))}else o=this.height/s;return{firstLine:i,lastLine:r,perLine:o,perChar:l}}blockAt(e,n,i,r){let{firstLine:s,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(n,r);if(n.lineWrapping){let c=r+(e<n.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length)),u=n.doc.lineAt(c),h=l+u.length*a,f=Math.max(i,e-h/2);return new Sn(u.from,u.length,f,h,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-i)/l))),{from:u,length:h}=n.doc.line(s+c);return new Sn(u,h,i+l*c,l,0)}}lineAt(e,n,i,r,s){if(n==me.ByHeight)return this.blockAt(e,i,r,s);if(n==me.ByPosNoHeight){let{from:d,to:m}=i.doc.lineAt(e);return new Sn(d,m-d,0,0,0)}let{firstLine:o,perLine:l,perChar:a}=this.heightMetrics(i,s),c=i.doc.lineAt(e),u=l+c.length*a,h=c.number-o,f=r+l*h+a*(c.from-s-h);return new Sn(c.from,c.length,Math.max(r,Math.min(f,r+this.height-u)),u,0)}forEachLine(e,n,i,r,s,o){e=Math.max(e,s),n=Math.min(n,s+this.length);let{firstLine:l,perLine:a,perChar:c}=this.heightMetrics(i,s);for(let u=e,h=r;u<=n;){let f=i.doc.lineAt(u);if(u==e){let m=f.number-l;h+=a*m+c*(e-s-m)}let d=a+c*f.length;o(new Sn(f.from,f.length,h,d,0)),h+=d,u=f.to+1}}replace(e,n,i){let r=this.length-n;if(r>0){let s=i[i.length-1];s instanceof Fe?i[i.length-1]=new Fe(s.length+r):i.push(null,new Fe(r-1))}if(e>0){let s=i[0];s instanceof Fe?i[0]=new Fe(e+s.length):i.unshift(new Fe(e-1),null)}return ht.of(i)}decomposeLeft(e,n){n.push(new Fe(e-1),null)}decomposeRight(e,n){n.push(null,new Fe(this.length-e-1))}updateHeight(e,n=0,i=!1,r){let s=n+this.length;if(r&&r.from<=n+this.length&&r.more){let o=[],l=Math.max(n,r.from),a=-1;for(r.from>n&&o.push(new Fe(r.from-n-1).updateHeight(e,n));l<=s&&r.more;){let u=e.doc.lineAt(l).length;o.length&&o.push(null);let h=r.heights[r.index++];a==-1?a=h:Math.abs(h-a)>=na&&(a=-2);let f=new At(u,h);f.outdated=!1,o.push(f),l+=u+1}l<=s&&o.push(null,new Fe(s-l).updateHeight(e,l));let c=ht.of(o);return(a<0||Math.abs(c.height-this.height)>=na||Math.abs(a-this.heightMetrics(e,n).perLine)>=na)&&(Kr=!0),_a(this,c)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class zP extends ht{constructor(e,n,i){super(e.length+n+i.length,e.height+i.height,n|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,n,i,r){let s=i+this.left.height;return e<s?this.left.blockAt(e,n,i,r):this.right.blockAt(e,n,s,r+this.left.length+this.break)}lineAt(e,n,i,r,s){let o=r+this.left.height,l=s+this.left.length+this.break,a=n==me.ByHeight?e<o:e<l,c=a?this.left.lineAt(e,n,i,r,s):this.right.lineAt(e,n,i,o,l);if(this.break||(a?c.to<l:c.from>l))return c;let u=n==me.ByPosNoHeight?me.ByPosNoHeight:me.ByPos;return a?c.join(this.right.lineAt(l,u,i,o,l)):this.left.lineAt(l,u,i,r,s).join(c)}forEachLine(e,n,i,r,s,o){let l=r+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,n,i,r,s,o),n>=a&&this.right.forEachLine(e,n,i,l,a,o);else{let c=this.lineAt(a,me.ByPos,i,r,s);e<c.from&&this.left.forEachLine(e,c.from-1,i,r,s,o),c.to>=e&&c.from<=n&&o(c),n>c.to&&this.right.forEachLine(c.to+1,n,i,l,a,o)}}replace(e,n,i){let r=this.left.length+this.break;if(n<r)return this.balanced(this.left.replace(e,n,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,n-r,i));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let l of i)s.push(l);if(e>0&&bg(s,o-1),n<this.length){let l=s.length;this.decomposeRight(n,s),bg(s,l)}return ht.of(s)}decomposeLeft(e,n){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,n);n.push(this.left),this.break&&(i++,e>=i&&n.push(null)),e>i&&this.right.decomposeLeft(e-i,n)}decomposeRight(e,n){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,n);e<i&&this.left.decomposeRight(e,n),this.break&&e<r&&n.push(null),n.push(this.right)}balanced(e,n){return e.size>2*n.size||n.size>2*e.size?ht.of(this.break?[e,null,n]:[e,n]):(this.left=_a(this.left,e),this.right=_a(this.right,n),this.setHeight(e.height+n.height),this.outdated=e.outdated||n.outdated,this.size=e.size+n.size,this.length=e.length+this.break+n.length,this)}updateHeight(e,n=0,i=!1,r){let{left:s,right:o}=this,l=n+s.length+this.break,a=null;return r&&r.from<=n+s.length&&r.more?a=s=s.updateHeight(e,n,i,r):s.updateHeight(e,n,i),r&&r.from<=l+o.length&&r.more?a=o=o.updateHeight(e,l,i,r):o.updateHeight(e,l,i),a?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function bg(t,e){let n,i;t[e]==null&&(n=t[e-1])instanceof Fe&&(i=t[e+1])instanceof Fe&&t.splice(e-1,3,new Fe(n.length+1+i.length))}const _P=5;class Jd{constructor(e,n){this.pos=e,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,n){if(this.lineStart>-1){let i=Math.min(n,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof At?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new At(i-this.pos,-1)),this.writtenTo=i,n>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,i){if(e<n||i.heightRelevant){let r=i.widget?i.widget.estimatedHeight:0,s=i.widget?i.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let o=n-e;i.block?this.addBlock(new $x(o,r,i)):(o||s||r>=_P)&&this.addLineDeco(r,s,o)}else n>e&&this.span(e,n);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new At(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,n){let i=new Fe(n-e);return this.oracle.doc.lineAt(e).to==n&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof At)return e;let n=new At(0,-1);return this.nodes.push(n),n}addBlock(e){this.enterLine();let n=e.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n&&n.endSide>0&&(this.covering=e)}addLineDeco(e,n,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=n,this.writtenTo=this.pos=this.pos+i}finish(e){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof At)&&!this.isCovered?this.nodes.push(new At(0,-1)):(this.writtenTo<this.pos||n==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=e;for(let r of this.nodes)r instanceof At&&r.updateHeight(this.oracle,i),i+=r?r.length:1;return this.nodes}static build(e,n,i,r){let s=new Jd(i,e);return ie.spans(n,i,r,s,0),s.finish(i)}}function XP(t,e,n){let i=new IP;return ie.compare(t,e,n,i,0),i.changes}class IP{constructor(){this.changes=[]}compareRange(){}comparePoint(e,n,i,r){(e<n||i&&i.heightRelevant||r&&r.heightRelevant)&&ta(e,n,this.changes,5)}}function NP(t,e){let n=t.getBoundingClientRect(),i=t.ownerDocument,r=i.defaultView||window,s=Math.max(0,n.left),o=Math.min(r.innerWidth,n.right),l=Math.max(0,n.top),a=Math.min(r.innerHeight,n.bottom);for(let c=t.parentNode;c&&c!=i.body;)if(c.nodeType==1){let u=c,h=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&h.overflow!="visible"){let f=u.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),l=Math.max(l,f.top),a=Math.min(c==t.parentNode?r.innerHeight:a,f.bottom)}c=h.position=="absolute"||h.position=="fixed"?u.offsetParent:u.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-n.left,right:Math.max(s,o)-n.left,top:l-(n.top+e),bottom:Math.max(l,a)-(n.top+e)}}function BP(t){let e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView||window;return e.left<n.innerWidth&&e.right>0&&e.top<n.innerHeight&&e.bottom>0}function WP(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}class Tu{constructor(e,n,i,r){this.from=e,this.to=n,this.size=i,this.displaySize=r}static same(e,n){if(e.length!=n.length)return!1;for(let i=0;i<e.length;i++){let r=e[i],s=n[i];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,n){return W.replace({widget:new FP(this.displaySize*(n?e.scaleY:e.scaleX),n)}).range(this.from,this.to)}}class FP extends Kn{constructor(e,n){super(),this.size=e,this.vertical=n}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Qg{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Pg,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Oe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=e.facet(Gd).some(i=>typeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new DP(n),this.stateDeco=e.facet(ko).filter(i=>typeof i!="function"),this.heightMap=ht.empty().applyChanges(this.stateDeco,ee.empty,this.heightOracle.setDoc(e.doc),[new Ft(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=W.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let i=0;i<=1;i++){let r=i?n.head:n.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new kl(s,o))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Pg:new ep(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Zs(e,this.scaler))})}update(e,n=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(ko).filter(u=>typeof u!="function");let r=e.changedRanges,s=Ft.extendWithRanges(r,XP(i,this.stateDeco,e?e.changes:je.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);kg(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Kr)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.head<a.from||n.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,n));let c=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(ox)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,i=window.getComputedStyle(n),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),l=n.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,u=0;if(l.width&&l.height){let{scaleX:S,scaleY:k}=Z1(n,l);(S>.005&&Math.abs(this.scaleX-S)>.005||k>.005&&Math.abs(this.scaleY-k)>.005)&&(this.scaleX=S,this.scaleY=k,c|=16,o=a=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,f=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=z1(e.scrollDOM);let m=(this.printing?WP:NP)(n,this.paddingTop),y=m.top-this.pixelViewport.top,v=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let O=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(O!=this.inView&&(this.inView=O,O&&(a=!0)),!this.inView&&!this.scrollTarget&&!BP(e.dom))return 0;let g=l.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),a){let S=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(S)&&(o=!0),o||r.lineWrapping&&Math.abs(g-this.contentDOMWidth)>r.charWidth){let{lineHeight:k,charWidth:b,textHeight:Q}=e.docView.measureTextSize();o=k>0&&r.refresh(s,k,b,Q,Math.max(5,g/b),S),o&&(e.docView.minWidth=0,c|=16)}y>0&&v>0?u=Math.max(y,v):y<0&&v<0&&(u=Math.min(y,v)),kg();for(let k of this.viewports){let b=k.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(k);this.heightMap=(o?ht.empty().applyChanges(this.stateDeco,ee.empty,this.heightOracle,[new Ft(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new LP(k.from,b))}Kr&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(u,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,n){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new kl(r.lineAt(o-i*1e3,me.ByHeight,s,0,0).from,r.lineAt(l+(1-i)*1e3,me.ByHeight,s,0,0).to);if(n){let{head:c}=n.range;if(c<a.from||c>a.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=r.lineAt(c,me.ByPos,s,0,0),f;n.y=="center"?f=(h.top+h.bottom)/2-u/2:n.y=="start"||n.y=="nearest"&&c<a.from?f=h.top:f=h.bottom-u,a=new kl(r.lineAt(f-1e3/2,me.ByHeight,s,0,0).from,r.lineAt(f+u+1e3/2,me.ByHeight,s,0,0).to)}}return a}mapViewport(e,n){let i=n.mapPos(e.from,-1),r=n.mapPos(e.to,1);return new kl(this.heightMap.lineAt(i,me.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,me.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:n},i=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,me.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(n,me.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(e==0||r<=o-Math.max(10,Math.min(-i,250)))&&(n==this.state.doc.length||s>=l+Math.max(10,Math.min(i,250)))&&r>o-2*1e3&&s<l+2*1e3}mapLineGaps(e,n){if(!e.length||n.empty)return e;let i=[];for(let r of e)n.touchesRange(r.from,r.to)||i.push(new Tu(n.mapPos(r.from),n.mapPos(r.to),r.size,r.displaySize));return i}ensureLineGaps(e,n){let i=this.heightOracle.lineWrapping,r=i?1e4:2e3,s=r>>1,o=r<<1;if(this.defaultTextDirection!=Oe.LTR&&!i)return[];let l=[],a=(u,h,f,d)=>{if(h-u<s)return;let m=this.state.selection.main,y=[m.from];m.empty||y.push(m.to);for(let O of y)if(O>u&&O<h){a(u,O-10,f,d),a(O+10,h,f,d);return}let v=YP(e,O=>O.from>=f.from&&O.to<=f.to&&Math.abs(O.from-u)<s&&Math.abs(O.to-h)<s&&!y.some(g=>O.from<g&&O.to>g));if(!v){if(h<f.to&&n&&i&&n.visibleRanges.some(x=>x.from<=h&&x.to>=h)){let x=n.moveToLineBoundary(C.cursor(h),!1,!0).head;x>u&&(h=x)}let O=this.gapSize(f,u,h,d),g=i||O<2e6?O:2e6;v=new Tu(u,h,O,g)}l.push(v)},c=u=>{if(u.length<o||u.type!=ut.Text)return;let h=VP(u.from,u.to,this.stateDeco);if(h.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,d,m;if(i){let y=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,v,O;if(f!=null){let g=Ql(h,f),x=((this.visibleBottom-this.visibleTop)/2+y)/u.height;v=g-x,O=g+x}else v=(this.visibleTop-u.top-y)/u.height,O=(this.visibleBottom-u.top+y)/u.height;d=bl(h,v),m=bl(h,O)}else{let y=h.total*this.heightOracle.charWidth,v=r*this.heightOracle.charWidth,O=0;if(y>2e6)for(let b of e)b.from>=u.from&&b.from<u.to&&b.size!=b.displaySize&&b.from*this.heightOracle.charWidth+O<this.pixelViewport.left&&(O=b.size-b.displaySize);let g=this.pixelViewport.left+O,x=this.pixelViewport.right+O,S,k;if(f!=null){let b=Ql(h,f),Q=((x-g)/2+v)/y;S=b-Q,k=b+Q}else S=(g-v)/y,k=(x+v)/y;d=bl(h,S),m=bl(h,k)}d>u.from&&a(u.from,d,u,h),m<u.to&&a(m,u.to,u,h)};for(let u of this.viewportLines)Array.isArray(u.type)?u.type.forEach(c):c(u);return l}gapSize(e,n,i,r){let s=Ql(r,i)-Ql(r,n);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){Tu.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=W.set(e.map(n=>n.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let i=[];ie.spans(n,this.viewport.from,this.viewport.to,{span(s,o){i.push({from:s,to:o})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s<i.length&&!(r&8);s++){let o=this.visibleRanges[s],l=i[s];(o.from!=l.from||o.to!=l.to)&&(r|=4,e&&e.mapPos(o.from,-1)==l.from&&e.mapPos(o.to,1)==l.to||(r|=8))}return this.visibleRanges=i,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||Zs(this.heightMap.lineAt(e,me.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=e&&n.bottom>=e)||Zs(this.heightMap.lineAt(this.scaler.fromDOM(e),me.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let n=this.lineBlockAtHeight(e+8);return n.from>=this.viewport.from||this.viewportLines[0].top-e>200?n:this.viewportLines[0]}elementAtHeight(e){return Zs(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class kl{constructor(e,n){this.from=e,this.to=n}}function VP(t,e,n){let i=[],r=t,s=0;return ie.spans(n,t,e,{span(){},point(o,l){o>r&&(i.push({from:r,to:o}),s+=o-r),r=l}},20),r<e&&(i.push({from:r,to:e}),s+=e-r),{total:s,ranges:i}}function bl({total:t,ranges:e},n){if(n<=0)return e[0].from;if(n>=1)return e[e.length-1].to;let i=Math.floor(t*n);for(let r=0;;r++){let{from:s,to:o}=e[r],l=o-s;if(i<=l)return s+i;i-=l}}function Ql(t,e){let n=0;for(let{from:i,to:r}of t.ranges){if(e<=r){n+=e-i;break}n+=r-i}return n/t.total}function YP(t,e){for(let n of t)if(e(n))return n}const Pg={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};class ep{constructor(e,n,i){let r=0,s=0,o=0;this.viewports=i.map(({from:l,to:a})=>{let c=n.lineAt(l,me.ByPos,e,0,0).top,u=n.lineAt(a,me.ByPos,e,0,0).bottom;return r+=u-c,{from:l,to:a,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(n.height-r);for(let l of this.viewports)l.domTop=o+(l.top-s)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),s=l.bottom}toDOM(e){for(let n=0,i=0,r=0;;n++){let s=n<this.viewports.length?this.viewports[n]:null;if(!s||e<s.top)return r+(e-i)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);i=s.bottom,r=s.domBottom}}fromDOM(e){for(let n=0,i=0,r=0;;n++){let s=n<this.viewports.length?this.viewports[n]:null;if(!s||e<s.domTop)return i+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);i=s.bottom,r=s.domBottom}}eq(e){return e instanceof ep?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((n,i)=>n.from==e.viewports[i].from&&n.to==e.viewports[i].to):!1}}function Zs(t,e){if(e.scale==1)return t;let n=e.toDOM(t.top),i=e.toDOM(t.bottom);return new Sn(t.from,t.length,n,i-n,Array.isArray(t._content)?t._content.map(r=>Zs(r,e)):t._content)}const Pl=L.define({combine:t=>t.join(" ")}),wf=L.define({combine:t=>t.indexOf(!0)>-1}),kf=ki.newName(),Cx=ki.newName(),Tx=ki.newName(),Ax={"&light":"."+Cx,"&dark":"."+Tx};function bf(t,e,n){return new ki(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return t;if(!n||!n[r])throw new RangeError(`Unsupported selector: ${r}`);return n[r]}):t+" "+i}})}const UP=bf("."+kf,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Ax),qP={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Au=Z.ie&&Z.ie_version<=11;class GP{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new RQ,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(n=>{for(let i of n)this.queue.push(i);(Z.ie&&Z.ie_version<=11||Z.ios&&e.composing)&&n.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Z.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Z.chrome&&Z.chrome_version<126)&&(this.editContext=new KP(e),e.state.facet(Dn)&&(e.contentDOM.editContext=this.editContext.editContext)),Au&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(n=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((n,i)=>n!=e[i]))){this.gapIntersection.disconnect();for(let n of e)this.gapIntersection.observe(n);this.gaps=e}}onSelectionChange(e){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(Dn)?i.root.activeElement!=this.dom:!ea(this.dom,r))return;let s=r.anchorNode&&i.docView.nearest(r.anchorNode);if(s&&s.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(Z.ie&&Z.ie_version<=11||Z.android&&Z.chrome)&&!i.state.selection.main.empty&&r.focusNode&&qs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=So(e.root);if(!n)return!1;let i=Z.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&HP(this.view,n)||n;if(!i||this.selectionRange.eq(i))return!1;let r=ea(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&jQ(this.dom,i)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(i),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,n){this.selectionRange.set(e.node,e.offset,n.node,n.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,n=null;for(let i=this.dom;i;)if(i.nodeType==1)!n&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:n||(n=this.scrollTargets.slice(0,e)),n&&n.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(e<this.scrollTargets.length&&!n&&(n=this.scrollTargets.slice(0,e)),n){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=n)i.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,qP),Au&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Au&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,n){var i;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Dr(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let n=-1,i=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),n==-1?{from:n,to:i}=o:(n=Math.min(o.from,n),i=Math.max(o.to,i)))}return{from:n,to:i,typeOver:r}}readChange(){let{from:e,to:n,typeOver:i}=this.processRecords(),r=this.selectionChanged&&ea(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new mP(this.view,e,n,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let i=this.view.state,r=Ox(this.view,n);return this.view.state==i&&(n.domChanged||n.newSel&&!n.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let n=this.view.docView.nearest(e.target);if(!n||n.ignoreMutation(e))return null;if(n.markDirty(e.type=="attributes"),e.type=="attributes"&&(n.flags|=4),e.type=="childList"){let i=$g(n,e.previousSibling||e.target.previousSibling,-1),r=$g(n,e.nextSibling||e.target.nextSibling,1);return{from:i?n.posAfter(i):n.posAtStart,to:r?n.posBefore(r):n.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Dn)!=e.state.facet(Dn)&&(e.view.contentDOM.editContext=e.state.facet(Dn)?this.editContext.editContext:null))}destroy(){var e,n,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function $g(t,e,n){for(;e;){let i=ae.get(e);if(i&&i.parent==t)return i;let r=e.parentNode;e=r!=t.dom?r:n>0?e.nextSibling:e.previousSibling}return null}function Cg(t,e){let n=e.startContainer,i=e.startOffset,r=e.endContainer,s=e.endOffset,o=t.docView.domAtPos(t.state.selection.main.anchor);return qs(o.node,o.offset,r,s)&&([n,i,r,s]=[r,s,n,i]),{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}}function HP(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return Cg(t,r)}let n=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),n=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",i,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",i,!0),n?Cg(t,n):null}class KP{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let n=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:s,head:o}=r,l=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:l,drifted:!1});let c=a-l>i.text.length;l==this.from&&s<this.from?l=s:a==this.to&&s>this.to&&(a=s);let u=yx(e.state.sliceDoc(l,a),i.text,(c?r.from:r.to)-l,c?"end":null);if(!u){let f=C.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));f.main.eq(r)||e.dispatch({selection:f,userEvent:"select"});return}let h={from:u.from+l,to:u.toA+l,insert:ee.of(i.text.slice(u.from,u.toB).split(`
|
|
111
|
+
`))};if((Z.mac||Z.android)&&h.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:l,to:a,insert:ee.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);Kd(e,h,C.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(n.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=e.coordsForChar(o);s=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||s||new DOMRect,r.push(s)}n.updateCharacterBounds(i.rangeStart,r)},this.handlers.textformatupdate=i=>{let r=[];for(let s of i.getTextFormats()){let o=s.underlineStyle,l=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(a<c){let u=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;r.push(W.mark({attributes:{style:u}}).range(a,c))}}}e.dispatch({effects:ax.of(W.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)n.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=So(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let n=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,l,a,c)=>{if(i)return;let u=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,n+=u,this.to+=u;return}else r=null,this.revertPending(e.state);if(s+=n,o+=n,o<=this.from)this.from+=u,this.to+=u;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=u}n+=u}),r&&!i&&this.revertPending(e.state),!i}update(e){let n=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||n)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:n}=e.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(e.doc.length,n+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),e.doc.sliceString(n.from,n.to))}setSelection(e){let{main:n}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),r=this.toContextPos(n.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:n}=e.selection.main;return!(this.from>0&&n-this.from<500||this.to<e.doc.length&&this.to-n<500||this.to-this.from>1e4*3)}toEditorPos(e,n=this.to-this.from){e=Math.min(e,n);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let n=this.composing;return n&&n.drifted?n.contextBase+(e-n.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class D{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||EQ(e.parent)||document,this.viewState=new Qg(e.state||ne.create(e)),e.scrollTo&&e.scrollTo.is(vl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(br).map(r=>new Pu(r));for(let r of this.plugins)r.update(this);this.observer=new GP(this),this.inputState=new xP(this),this.inputState.ensureHandlers(this.plugins),this.docView=new og(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let n=e.length==1&&e[0]instanceof Te?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(n,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,i=!1,r,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,l=0,a=null;e.some(f=>f.annotation(bx))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=Qx(s,o),a||(l=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(u=null)):this.observer.clear(),s.facet(ne.phrases)!=this.state.facet(ne.phrases))return this.setState(s);r=za.create(this,s,e),r.flags|=l;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;h=new Lr(d.empty?d:C.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(vl)&&(h=d.value.clip(this.state))}this.viewState.update(r,h),this.bidiCache=Xa.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),n=this.docView.update(r),this.state.facet(Es)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Pl)!=r.state.facet(Pl)&&(this.viewState.mustMeasureContent=!0),(n||i||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(yf))try{f(r)}catch(d){xt(this.state,d,"update listener")}(a||u)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),u&&!Ox(this,u)&&c.force&&Dr(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let n=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Qg(e),this.plugins=e.facet(br).map(i=>new Pu(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new og(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(e){let n=e.startState.facet(br),i=e.state.facet(br);if(n!=i){let r=[];for(let s of i){let o=n.indexOf(s);if(o<0)r.push(new Pu(s));else{let l=this.plugins[o];l.mustUpdate=e,r.push(l)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);n!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let n=e.value;if(n&&n.docViewUpdate)try{n.docViewUpdate(this)}catch(i){xt(this.state,i,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let n=null,i=this.scrollDOM,r=i.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(z1(i))s=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(r);s=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];a&4||([this.measureRequests,c]=[c,this.measureRequests]);let u=c.map(d=>{try{return d.read(this)}catch(m){return xt(this.state,m),Tg}}),h=za.create(this,this.state,[]),f=!1;h.flags|=a,n?n.flags|=a:n=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let d=0;d<c.length;d++)if(u[d]!=Tg)try{let m=c[d];m.write&&m.write(u[d],this)}catch(m){xt(this.state,m)}if(f&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let m=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(m>1||m<-1){r=r+m,i.scrollTop=r/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let l of this.state.facet(yf))l(n)}get themeClasses(){return kf+" "+(this.state.facet(wf)?Tx:Cx)+" "+this.state.facet(Pl)}updateAttrs(){let e=Ag(this,cx,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Dn)?"true":"false",class:"cm-content",style:`${Z.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),Ag(this,Gd,n);let i=this.observer.ignore(()=>{let r=df(this.contentDOM,this.contentAttrs,n),s=df(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=n,i}showAnnouncements(e){let n=!0;for(let i of e)for(let r of i.effects)if(r.is(D.announce)){n&&(this.announceDOM.textContent=""),n=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Es);let e=this.state.facet(D.cspNonce);ki.mount(this.root,this.styleModules.concat(UP).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let n=0;n<this.measureRequests.length;n++)if(this.measureRequests[n].key===e.key){this.measureRequests[n]=e;return}}this.measureRequests.push(e)}}plugin(e){let n=this.pluginMap.get(e);return(n===void 0||n&&n.plugin!=e)&&this.pluginMap.set(e,n=this.plugins.find(i=>i.plugin==e)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,n,i){return Cu(this,e,hg(this,e,n,i))}moveByGroup(e,n){return Cu(this,e,hg(this,e,n,i=>uP(this,e.head,i)))}visualLineSide(e,n){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=i[n?i.length-1:0];return C.cursor(s.side(n,r)+e.from,s.forward(!n,r)?1:-1)}moveToLineBoundary(e,n,i=!0){return cP(this,e,n,i)}moveVertically(e,n,i){return Cu(this,e,hP(this,e,n,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){return this.readMeasured(),px(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let i=this.docView.coordsAt(e,n);if(!i||i.left==i.right)return i;let r=this.state.doc.lineAt(e),s=this.bidiSpans(r),o=s[hi.find(s,e-r.from,-1,n)];return $c(i,o.dir==Oe.LTR==n>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(sx)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>JP)return H1(e.length);let n=this.textDirectionAt(e.from),i;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==n&&(s.fresh||G1(s.isolates,i=sg(this,e))))return s.order;i||(i=sg(this,e));let r=YQ(e.text,n,i);return this.bidiCache.push(new Xa(e.from,e.to,n,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Z.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{D1(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,n={}){return vl.of(new Lr(typeof e=="number"?C.cursor(e):e,n.y,n.x,n.yMargin,n.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:n}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return vl.of(new Lr(C.cursor(i.from),"start","start",i.top-e,n,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Me.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Me.define(()=>({}),{eventObservers:e})}static theme(e,n){let i=ki.newName(),r=[Pl.of(i),Es.of(bf(`.${i}`,e))];return n&&n.dark&&r.push(wf.of(!0)),r}static baseTheme(e){return Mi.lowest(Es.of(bf("."+kf,e,Ax)))}static findFromDOM(e){var n;let i=e.querySelector(".cm-content"),r=i&&ae.get(i)||ae.get(e);return((n=r==null?void 0:r.rootView)===null||n===void 0?void 0:n.view)||null}}D.styleModule=Es;D.inputHandler=ix;D.clipboardInputFilter=Ud;D.clipboardOutputFilter=qd;D.scrollHandler=lx;D.focusChangeEffect=rx;D.perLineTextDirection=sx;D.exceptionSink=nx;D.updateListener=yf;D.editable=Dn;D.mouseSelectionStyle=tx;D.dragMovesSelection=ex;D.clickAddsSelectionRange=J1;D.decorations=ko;D.outerDecorations=ux;D.atomicRanges=Wo;D.bidiIsolatedRanges=hx;D.scrollMargins=fx;D.darkTheme=wf;D.cspNonce=L.define({combine:t=>t.length?t[0]:""});D.contentAttributes=Gd;D.editorAttributes=cx;D.lineWrapping=D.contentAttributes.of({class:"cm-lineWrapping"});D.announce=Y.define();const JP=4096,Tg={};class Xa{constructor(e,n,i,r,s,o){this.from=e,this.to=n,this.dir=i,this.isolates=r,this.fresh=s,this.order=o}static update(e,n){if(n.empty&&!e.some(s=>s.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==r&&!n.touchesRange(o.from,o.to)&&i.push(new Xa(n.mapPos(o.from,1),n.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return i}}function Ag(t,e,n){for(let i=t.state.facet(e),r=i.length-1;r>=0;r--){let s=i[r],o=typeof s=="function"?s(t):s;o&&ff(o,n)}return n}const e2=Z.mac?"mac":Z.windows?"win":Z.linux?"linux":"key";function t2(t,e){const n=t.split(/-(?!$)/);let i=n[n.length-1];i=="Space"&&(i=" ");let r,s,o,l;for(let a=0;a<n.length-1;++a){const c=n[a];if(/^(cmd|meta|m)$/i.test(c))l=!0;else if(/^a(lt)?$/i.test(c))r=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?l=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return r&&(i="Alt-"+i),s&&(i="Ctrl-"+i),l&&(i="Meta-"+i),o&&(i="Shift-"+i),i}function $l(t,e,n){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n!==!1&&e.shiftKey&&(t="Shift-"+t),t}const n2=Mi.default(D.domEventHandlers({keydown(t,e){return Rx(Mx(e.state),t,e,"editor")}})),Tc=L.define({enables:n2}),Mg=new WeakMap;function Mx(t){let e=t.facet(Tc),n=Mg.get(e);return n||Mg.set(e,n=s2(e.reduce((i,r)=>i.concat(r),[]))),n}function i2(t,e,n){return Rx(Mx(t.state),e,t,n)}let li=null;const r2=4e3;function s2(t,e=e2){let n=Object.create(null),i=Object.create(null),r=(o,l)=>{let a=i[o];if(a==null)i[o]=l;else if(a!=l)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,l,a,c,u)=>{var h,f;let d=n[o]||(n[o]=Object.create(null)),m=l.split(/ (?!$)/).map(O=>t2(O,e));for(let O=1;O<m.length;O++){let g=m.slice(0,O).join(" ");r(g,!0),d[g]||(d[g]={preventDefault:!0,stopPropagation:!1,run:[x=>{let S=li={view:x,prefix:g,scope:o};return setTimeout(()=>{li==S&&(li=null)},r2),!0}]})}let y=m.join(" ");r(y,!1);let v=d[y]||(d[y]={preventDefault:!1,stopPropagation:!1,run:((f=(h=d._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});a&&v.run.push(a),c&&(v.preventDefault=!0),u&&(v.stopPropagation=!0)};for(let o of t){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of l){let u=n[c]||(n[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=o;for(let f in u)u[f].run.push(d=>h(d,Qf))}let a=o[e]||o.key;if(a)for(let c of l)s(c,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return n}let Qf=null;function Rx(t,e,n,i){Qf=e;let r=$Q(e),s=gt(r,0),o=vn(s)==r.length&&r!=" ",l="",a=!1,c=!1,u=!1;li&&li.view==n&&li.scope==i&&(l=li.prefix+" ",vx.indexOf(e.keyCode)<0&&(c=!0,li=null));let h=new Set,f=v=>{if(v){for(let O of v.run)if(!h.has(O)&&(h.add(O),O(n)))return v.stopPropagation&&(u=!0),!0;v.preventDefault&&(v.stopPropagation&&(u=!0),c=!0)}return!1},d=t[i],m,y;return d&&(f(d[l+$l(r,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Z.windows&&e.ctrlKey&&e.altKey)&&!(Z.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=bi[e.keyCode])&&m!=r?(f(d[l+$l(m,e,!0)])||e.shiftKey&&(y=vo[e.keyCode])!=r&&y!=m&&f(d[l+$l(y,e,!1)]))&&(a=!0):o&&e.shiftKey&&f(d[l+$l(r,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),c&&(a=!0),a&&u&&e.stopPropagation(),Qf=null,a}class Fo{constructor(e,n,i,r,s){this.className=e,this.left=n,this.top=i,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,n){return n.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,n,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=Ex(e);return[new Fo(n,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return o2(e,n,i)}}function Ex(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Oe.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function Rg(t,e,n,i){let r=t.coordsAtPos(e,n*2);if(!r)return i;let s=t.dom.getBoundingClientRect(),o=(r.top+r.bottom)/2,l=t.posAtCoords({x:s.left+1,y:o}),a=t.posAtCoords({x:s.right-1,y:o});return l==null||a==null?i:{from:Math.max(i.from,Math.min(l,a)),to:Math.min(i.to,Math.max(l,a))}}function o2(t,e,n){if(n.to<=t.viewport.from||n.from>=t.viewport.to)return[];let i=Math.max(n.from,t.viewport.from),r=Math.min(n.to,t.viewport.to),s=t.textDirection==Oe.LTR,o=t.contentDOM,l=o.getBoundingClientRect(),a=Ex(t),c=o.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),h=l.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),f=l.right-(u?parseInt(u.paddingRight):0),d=vf(t,i,1),m=vf(t,r,-1),y=d.type==ut.Text?d:null,v=m.type==ut.Text?m:null;if(y&&(t.lineWrapping||d.widgetLineBreaks)&&(y=Rg(t,i,1,y)),v&&(t.lineWrapping||m.widgetLineBreaks)&&(v=Rg(t,r,-1,v)),y&&v&&y.from==v.from&&y.to==v.to)return g(x(n.from,n.to,y));{let k=y?x(n.from,null,y):S(d,!1),b=v?x(null,n.to,v):S(m,!0),Q=[];return(y||d).to<(v||m).from-(y&&v?1:0)||d.widgetLineBreaks>1&&k.bottom+t.defaultLineHeight/2<b.top?Q.push(O(h,k.bottom,f,b.top)):k.bottom<b.top&&t.elementAtHeight((k.bottom+b.top)/2).type==ut.Text&&(k.bottom=b.top=(k.bottom+b.top)/2),g(k).concat(Q).concat(g(b))}function O(k,b,Q,T){return new Fo(e,k-a.left,b-a.top,Q-k,T-b)}function g({top:k,bottom:b,horizontal:Q}){let T=[];for(let X=0;X<Q.length;X+=2)T.push(O(Q[X],k,Q[X+1],b));return T}function x(k,b,Q){let T=1e9,X=-1e9,$=[];function P(z,V,ce,U,M){let _=t.coordsAtPos(z,z==Q.to?-2:2),B=t.coordsAtPos(ce,ce==Q.from?2:-2);!_||!B||(T=Math.min(_.top,B.top,T),X=Math.max(_.bottom,B.bottom,X),M==Oe.LTR?$.push(s&&V?h:_.left,s&&U?f:B.right):$.push(!s&&U?h:B.left,!s&&V?f:_.right))}let A=k??Q.from,N=b??Q.to;for(let z of t.visibleRanges)if(z.to>A&&z.from<N)for(let V=Math.max(z.from,A),ce=Math.min(z.to,N);;){let U=t.state.doc.lineAt(V);for(let M of t.bidiSpans(U)){let _=M.from+U.from,B=M.to+U.from;if(_>=ce)break;B>V&&P(Math.max(_,V),k==null&&_<=A,Math.min(B,ce),b==null&&B>=N,M.dir)}if(V=U.to+1,V>=ce)break}return $.length==0&&P(A,k==null,N,b==null,t.textDirection),{top:T,bottom:X,horizontal:$}}function S(k,b){let Q=l.top+(b?k.top:k.bottom);return{top:Q,bottom:Q,horizontal:[]}}}function l2(t,e){return t.constructor==e.constructor&&t.eq(e)}class a2{constructor(e,n){this.view=e,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,e)}update(e){e.startState.facet(ia)!=e.state.facet(ia)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let n=0,i=e.facet(ia);for(;n<i.length&&i[n]!=this.layer;)n++;this.dom.style.zIndex=String((this.layer.above?150:-1)-n)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:n}=this.view;(e!=this.scaleX||n!=this.scaleY)&&(this.scaleX=e,this.scaleY=n,this.dom.style.transform=`scale(${1/e}, ${1/n})`)}draw(e){if(e.length!=this.drawn.length||e.some((n,i)=>!l2(n,this.drawn[i]))){let n=this.dom.firstChild,i=0;for(let r of e)r.update&&n&&r.constructor&&this.drawn[i].constructor&&r.update(n,this.drawn[i])?(n=n.nextSibling,i++):this.dom.insertBefore(r.draw(),n);for(;n;){let r=n.nextSibling;n.remove(),n=r}this.drawn=e,Z.safari&&Z.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const ia=L.define();function jx(t){return[Me.define(e=>new a2(e,t)),ia.of(t)]}const bo=L.define({combine(t){return Tn(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function c2(t={}){return[bo.of(t),u2,h2,f2,ox.of(!0)]}function Zx(t){return t.startState.facet(bo)!=t.state.facet(bo)}const u2=jx({above:!0,markers(t){let{state:e}=t,n=e.facet(bo),i=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty||n.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=r.empty?r:C.cursor(r.head,r.head>r.anchor?-1:1);for(let a of Fo.forRange(t,o,l))i.push(a)}}return i},update(t,e){t.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=Zx(t);return n&&Eg(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){Eg(e.state,t)},class:"cm-cursorLayer"});function Eg(t,e){e.style.animationDuration=t.facet(bo).cursorBlinkRate+"ms"}const h2=jx({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:Fo.forRange(t,"cm-selectionBackground",e)).reduce((e,n)=>e.concat(n))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||Zx(t)},class:"cm-selectionLayer"}),f2=Mi.highest(D.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Dx=Y.define({map(t,e){return t==null?null:e.mapPos(t)}}),Ds=Be.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((n,i)=>i.is(Dx)?i.value:n,t)}}),d2=Me.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let n=t.state.field(Ds);n==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(Ds)!=n||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(Ds),n=e!=null&&t.coordsAtPos(e);if(!n)return null;let i=t.scrollDOM.getBoundingClientRect();return{left:n.left-i.left+t.scrollDOM.scrollLeft*t.scaleX,top:n.top-i.top+t.scrollDOM.scrollTop*t.scaleY,height:n.bottom-n.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:n}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/n+"px",this.cursor.style.height=t.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(Ds)!=t&&this.view.dispatch({effects:Dx.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function p2(){return[Ds,d2]}function jg(t,e,n,i,r){e.lastIndex=0;for(let s=t.iterRange(n,i),o=n,l;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;l=e.exec(s.value);)r(o+l.index,l)}function m2(t,e){let n=t.visibleRanges;if(n.length==1&&n[0].from==t.viewport.from&&n[0].to==t.viewport.to)return n;let i=[];for(let{from:r,to:s}of n)r=Math.max(t.state.doc.lineAt(r).from,r-e),s=Math.min(t.state.doc.lineAt(s).to,s+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class g2{constructor(e){const{regexp:n,decoration:i,decorate:r,boundary:s,maxLength:o=1e3}=e;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,r)this.addMatch=(l,a,c,u)=>r(u,c,c+l[0].length,l,a);else if(typeof i=="function")this.addMatch=(l,a,c,u)=>{let h=i(l,a,c);h&&u(c,c+l[0].length,h)};else if(i)this.addMatch=(l,a,c,u)=>u(c,c+l[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let n=new Vn,i=n.add.bind(n);for(let{from:r,to:s}of m2(e,this.maxLength))jg(e.state.doc,this.regexp,r,s,(o,l)=>this.addMatch(l,e,o,i));return n.finish()}updateDeco(e,n){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((s,o,l,a)=>{a>=e.view.viewport.from&&l<=e.view.viewport.to&&(i=Math.min(l,i),r=Math.max(a,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,n.map(e.changes),i,r):n}updateRange(e,n,i,r){for(let s of e.visibleRanges){let o=Math.max(s.from,i),l=Math.min(s.to,r);if(l>=o){let a=e.state.doc.lineAt(o),c=a.to<l?e.state.doc.lineAt(l):a,u=Math.max(s.from,a.from),h=Math.min(s.to,c.to);if(this.boundary){for(;o>a.from;o--)if(this.boundary.test(a.text[o-1-a.from])){u=o;break}for(;l<c.to;l++)if(this.boundary.test(c.text[l-c.from])){h=l;break}}let f=[],d,m=(y,v,O)=>f.push(O.range(y,v));if(a==c)for(this.regexp.lastIndex=u-a.from;(d=this.regexp.exec(a.text))&&d.index<h-a.from;)this.addMatch(d,e,d.index+a.from,m);else jg(e.state.doc,this.regexp,u,h,(y,v)=>this.addMatch(v,e,y,m));n=n.update({filterFrom:u,filterTo:h,filter:(y,v)=>y<u||v>h,add:f})}}return n}}const Pf=/x/.unicode!=null?"gu":"g",O2=new RegExp(`[\0-\b
|
|
112
|
+
--ยยญุโโโ\u2028\u2029โญโฎโฆโงโฉ\uFEFF๏ฟน-๏ฟผ]`,Pf),y2={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Mu=null;function x2(){var t;if(Mu==null&&typeof document<"u"&&document.body){let e=document.body.style;Mu=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return Mu||!1}const ra=L.define({combine(t){let e=Tn(t,{render:null,specialChars:O2,addSpecialChars:null});return(e.replaceTabs=!x2())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Pf)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Pf)),e}});function v2(t={}){return[ra.of(t),S2()]}let Zg=null;function S2(){return Zg||(Zg=Me.fromClass(class{constructor(t){this.view=t,this.decorations=W.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(ra)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new g2({regexp:t.specialChars,decoration:(e,n,i)=>{let{doc:r}=n.state,s=gt(e[0],0);if(s==9){let o=r.lineAt(i),l=n.state.tabSize,a=as(o.text,l,i-o.from);return W.replace({widget:new Q2((l-a%l)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=W.replace({widget:new b2(t,s)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(ra);t.startState.facet(ra)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const w2="โข";function k2(t){return t>=32?w2:t==10?"โค":String.fromCharCode(9216+t)}class b2 extends Kn{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=k2(this.code),i=e.state.phrase("Control character")+" "+(y2[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,n);if(r)return r;let s=document.createElement("span");return s.textContent=n,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class Q2 extends Kn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function P2(){return C2}const $2=W.line({class:"cm-activeLine"}),C2=Me.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let i of t.state.selection.ranges){let r=t.lineBlockAt(i.head);r.from>e&&(n.push($2.range(r.from)),e=r.from)}return W.set(n)}},{decorations:t=>t.decorations}),$f=2e3;function T2(t,e,n){let i=Math.min(e.line,n.line),r=Math.max(e.line,n.line),s=[];if(e.off>$f||n.off>$f||e.col<0||n.col<0){let o=Math.min(e.off,n.off),l=Math.max(e.off,n.off);for(let a=i;a<=r;a++){let c=t.doc.line(a);c.length<=l&&s.push(C.range(c.from+o,c.to+l))}}else{let o=Math.min(e.col,n.col),l=Math.max(e.col,n.col);for(let a=i;a<=r;a++){let c=t.doc.line(a),u=rf(c.text,o,t.tabSize,!0);if(u<0)s.push(C.cursor(c.to));else{let h=rf(c.text,l,t.tabSize);s.push(C.range(c.from+u,c.from+h))}}}return s}function A2(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function Dg(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),i=t.state.doc.lineAt(n),r=n-i.from,s=r>$f?-1:r==i.length?A2(t,e.clientX):as(i.text,t.state.tabSize,n-i.from);return{line:i.number,col:s,off:r}}function M2(t,e){let n=Dg(t,e),i=t.state.selection;return n?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(n.line).from),o=r.state.doc.lineAt(s);n={line:o.number,col:n.col,off:Math.min(n.off,o.length)},i=i.map(r.changes)}},get(r,s,o){let l=Dg(t,r);if(!l)return i;let a=T2(t.state,n,l);return a.length?o?C.create(a.concat(i.ranges)):C.create(a):i}}:null}function R2(t){let e=n=>n.altKey&&n.button==0;return D.mouseSelectionStyle.of((n,i)=>e(i)?M2(n,i):null)}const E2={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},j2={style:"cursor: crosshair"};function Z2(t={}){let[e,n]=E2[t.key||"Alt"],i=Me.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||n(r))},keyup(r){(r.keyCode==e||!n(r))&&this.set(!1)},mousemove(r){this.set(n(r))}}});return[i,D.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.isDown?j2:null})]}const Cl="-10000px";class Lx{constructor(e,n,i,r){this.facet=n,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(n),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=i(o,s))}update(e,n){var i;let r=e.state.facet(this.facet),s=r.filter(a=>a);if(r===this.input){for(let a of this.tooltipViews)a.update&&a.update(e);return!1}let o=[],l=n?[]:null;for(let a=0;a<s.length;a++){let c=s[a],u=-1;if(c){for(let h=0;h<this.tooltips.length;h++){let f=this.tooltips[h];f&&f.create==c.create&&(u=h)}if(u<0)o[a]=this.createTooltipView(c,a?o[a-1]:null),l&&(l[a]=!!c.above);else{let h=o[a]=this.tooltipViews[u];l&&(l[a]=n[u]),h.update&&h.update(e)}}}for(let a of this.tooltipViews)o.indexOf(a)<0&&(this.removeTooltipView(a),(i=a.destroy)===null||i===void 0||i.call(a));return n&&(l.forEach((a,c)=>n[c]=a),n.length=l.length),this.input=r,this.tooltips=s,this.tooltipViews=o,!0}}function D2(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const Ru=L.define({combine:t=>{var e,n,i;return{position:Z.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(r=>r.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((i=t.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||D2}}}),Lg=new WeakMap,tp=Me.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(Ru);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new Lx(t,np,(n,i)=>this.createTooltip(n,i),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,i=t.state.facet(Ru);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),i=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",n.dom.appendChild(r)}return n.dom.style.position=this.position,n.dom.style.top=Cl,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(t=i.destroy)===null||t===void 0||t.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(Z.safari){let o=s.getBoundingClientRect();n=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else n=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(t=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=Hd(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let l=this.manager.tooltipViews[o];return l.getCoords?l.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(Ru).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let l of this.manager.tooltipViews)l.dom.style.position="absolute"}let{visible:n,space:i,scaleX:r,scaleY:s}=t,o=[];for(let l=0;l<this.manager.tooltips.length;l++){let a=this.manager.tooltips[l],c=this.manager.tooltipViews[l],{dom:u}=c,h=t.pos[l],f=t.size[l];if(!h||a.clip!==!1&&(h.bottom<=Math.max(n.top,i.top)||h.top>=Math.min(n.bottom,i.bottom)||h.right<Math.max(n.left,i.left)-.1||h.left>Math.min(n.right,i.right)+.1)){u.style.top=Cl;continue}let d=a.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=d?7:0,y=f.right-f.left,v=(e=Lg.get(c))!==null&&e!==void 0?e:f.bottom-f.top,O=c.offset||z2,g=this.view.textDirection==Oe.LTR,x=f.width>i.right-i.left?g?i.left:i.right-f.width:g?Math.max(i.left,Math.min(h.left-(d?14:0)+O.x,i.right-y)):Math.min(Math.max(i.left,h.left-y+(d?14:0)-O.x),i.right-y),S=this.above[l];!a.strictSide&&(S?h.top-v-m-O.y<i.top:h.bottom+v+m+O.y>i.bottom)&&S==i.bottom-h.bottom>h.top-i.top&&(S=this.above[l]=!S);let k=(S?h.top-i.top:i.bottom-h.bottom)-m;if(k<v&&c.resize!==!1){if(k<this.view.defaultLineHeight){u.style.top=Cl;continue}Lg.set(c,v),u.style.height=(v=k)/s+"px"}else u.style.height&&(u.style.height="");let b=S?h.top-v-m-O.y:h.bottom+m+O.y,Q=x+y;if(c.overlap!==!0)for(let T of o)T.left<Q&&T.right>x&&T.top<b+v&&T.bottom>b&&(b=S?T.top-v-2-m:T.bottom+m+2);if(this.position=="absolute"?(u.style.top=(b-t.parent.top)/s+"px",zg(u,(x-t.parent.left)/r)):(u.style.top=b/s+"px",zg(u,x/r)),d){let T=h.left+(g?O.x:-O.x)-(x+14-7);d.style.left=T/r+"px"}c.overlap!==!0&&o.push({left:x,top:b,right:Q,bottom:b+v}),u.classList.toggle("cm-tooltip-above",S),u.classList.toggle("cm-tooltip-below",!S),c.positioned&&c.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Cl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function zg(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const L2=D.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),z2={x:0,y:0},np=L.define({enables:[tp,L2]}),Ia=L.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class Ac{static create(e){return new Ac(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Lx(e,Ia,(n,i)=>this.createHostedView(n,i),n=>n.dom.remove())}createHostedView(e,n){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const _2=np.compute([Ia],t=>{let e=t.facet(Ia);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var i;return(i=n.end)!==null&&i!==void 0?i:n.pos})),create:Ac.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class X2{constructor(e,n,i,r,s){this.view=e,this.source=n,this.field=i,this.setHover=r,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:n}=this,i=e.docView.nearest(n.target);if(!i)return;let r,s=1;if(i instanceof _n)r=i.posAtStart;else{if(r=e.posAtCoords(n),r==null)return;let l=e.coordsAtPos(r);if(!l||n.y<l.top||n.y>l.bottom||n.x<l.left-e.defaultCharacterWidth||n.x>l.right+e.defaultCharacterWidth)return;let a=e.bidiSpans(e.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),c=a&&a.dir==Oe.RTL?-1:1;s=n.x<l.left?-c:c}let o=this.source(e,r,s);if(o!=null&&o.then){let l=this.pending={pos:r};o.then(a=>{this.pending==l&&(this.pending=null,a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])}))},a=>xt(e.state,a,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(tp),n=e?e.manager.tooltips.findIndex(i=>i.create==Ac.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&s&&!I2(s.dom,e)||this.pending){let{pos:o}=r[0]||this.pending,l=(i=(n=r[0])===null||n===void 0?void 0:n.end)!==null&&i!==void 0?i:o;(o==l?this.view.posAtCoords(this.lastMove)!=o:!N2(this.view,o,l,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=i=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Tl=4;function I2(t,e){let{left:n,right:i,top:r,bottom:s}=t.getBoundingClientRect(),o;if(o=t.querySelector(".cm-tooltip-arrow")){let l=o.getBoundingClientRect();r=Math.min(l.top,r),s=Math.max(l.bottom,s)}return e.clientX>=n-Tl&&e.clientX<=i+Tl&&e.clientY>=r-Tl&&e.clientY<=s+Tl}function N2(t,e,n,i,r,s){let o=t.scrollDOM.getBoundingClientRect(),l=t.documentTop+t.documentPadding.top+t.contentHeight;if(o.left>i||o.right<i||o.top>r||Math.min(o.bottom,l)<r)return!1;let a=t.posAtCoords({x:i,y:r},!1);return a>=e&&a<=n}function B2(t,e={}){let n=Y.define(),i=Be.define({create(){return[]},update(r,s){if(r.length&&(e.hideOnChange&&(s.docChanged||s.selection)?r=[]:e.hideOn&&(r=r.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let l of r){let a=s.changes.mapPos(l.pos,-1,Ye.TrackDel);if(a!=null){let c=Object.assign(Object.create(null),l);c.pos=a,c.end!=null&&(c.end=s.changes.mapPos(c.end)),o.push(c)}}r=o}for(let o of s.effects)o.is(n)&&(r=o.value),o.is(W2)&&(r=[]);return r},provide:r=>Ia.from(r)});return{active:i,extension:[i,Me.define(r=>new X2(r,t,i,n,e.hoverTime||300)),_2]}}function zx(t,e){let n=t.plugin(tp);if(!n)return null;let i=n.manager.tooltips.indexOf(e);return i<0?null:n.manager.tooltipViews[i]}const W2=Y.define(),_g=L.define({combine(t){let e,n;for(let i of t)e=e||i.topContainer,n=n||i.bottomContainer;return{topContainer:e,bottomContainer:n}}});function Qo(t,e){let n=t.plugin(_x),i=n?n.specs.indexOf(e):-1;return i>-1?n.panels[i]:null}const _x=Me.fromClass(class{constructor(t){this.input=t.state.facet(Po),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(_g);this.top=new Al(t,!0,e.topContainer),this.bottom=new Al(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(_g);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Al(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Al(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Po);if(n!=this.input){let i=n.filter(a=>a),r=[],s=[],o=[],l=[];for(let a of i){let c=this.specs.indexOf(a),u;c<0?(u=a(t.view),l.push(u)):(u=this.panels[c],u.update&&u.update(t)),r.push(u),(u.top?s:o).push(u)}this.specs=i,this.panels=r,this.top.sync(s),this.bottom.sync(o);for(let a of l)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let i of this.panels)i.update&&i.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>D.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Al{constructor(e,n,i){this.view=e,this.top=n,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=Xg(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=Xg(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Xg(t){let e=t.nextSibling;return t.remove(),e}const Po=L.define({enables:_x});class Un extends er{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Un.prototype.elementClass="";Un.prototype.toDOM=void 0;Un.prototype.mapMode=Ye.TrackBefore;Un.prototype.startSide=Un.prototype.endSide=-1;Un.prototype.point=!0;const sa=L.define(),F2=L.define(),V2={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ie.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ks=L.define();function Y2(t){return[Xx(),Ks.of({...V2,...t})]}const Ig=L.define({combine:t=>t.some(e=>e)});function Xx(t){return[U2]}const U2=Me.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Ks).map(e=>new Bg(t,e)),this.fixed=!t.state.facet(Ig);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,i=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(i<(n.to-n.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ig)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=ie.iter(this.view.state.facet(sa),this.view.viewport.from),i=[],r=this.gutters.map(s=>new q2(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let o=!0;for(let l of s.type)if(l.type==ut.Text&&o){Cf(n,i,l.from);for(let a of r)a.line(this.view,l,i);o=!1}else if(l.widget)for(let a of r)a.widget(this.view,l)}else if(s.type==ut.Text){Cf(n,i,s.from);for(let o of r)o.line(this.view,s,i)}else if(s.widget)for(let o of r)o.widget(this.view,s);for(let s of r)s.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Ks),n=t.state.facet(Ks),i=t.docChanged||t.heightChanged||t.viewportChanged||!ie.eq(t.startState.facet(sa),t.state.facet(sa),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let r of this.gutters)r.update(t)&&(i=!0);else{i=!0;let r=[];for(let s of n){let o=e.indexOf(s);o<0?r.push(new Bg(this.view,s)):(this.gutters[o].update(t),r.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>D.scrollMargins.of(e=>{let n=e.plugin(t);if(!n||n.gutters.length==0||!n.fixed)return null;let i=n.dom.offsetWidth*e.scaleX,r=n.domAfter?n.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Oe.LTR?{left:i,right:r}:{right:i,left:r}})});function Ng(t){return Array.isArray(t)?t:[t]}function Cf(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class q2{constructor(e,n,i){this.gutter=e,this.height=i,this.i=0,this.cursor=ie.iter(e.markers,n.from)}addElement(e,n,i){let{gutter:r}=this,s=(n.top-this.height)/e.scaleY,o=n.height/e.scaleY;if(this.i==r.elements.length){let l=new Ix(e,o,s,i);r.elements.push(l),r.dom.appendChild(l.dom)}else r.elements[this.i].update(e,o,s,i);this.height=n.bottom,this.i++}line(e,n,i){let r=[];Cf(this.cursor,r,n.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(e,n,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(e,n,r)}widget(e,n){let i=this.gutter.config.widgetMarker(e,n.widget,n),r=i?[i]:null;for(let s of e.state.facet(F2)){let o=s(e,n.widget,n);o&&(r||(r=[])).push(o)}r&&this.addElement(e,n,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class Bg{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in n.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let a=s.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=r.clientY;let l=e.lineBlockAtHeight(o-e.documentTop);n.domEventHandlers[i](e,l,r)&&r.preventDefault()});this.markers=Ng(n.markers(e)),n.initialSpacer&&(this.spacer=new Ix(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=Ng(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!ie.eq(this.markers,n,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class Ix{constructor(e,n,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,i,r)}update(e,n,i,r){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),G2(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,n){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let l=o,a=s<n.length?n[s++]:null,c=!1;if(a){let u=a.elementClass;u&&(i+=" "+u);for(let h=o;h<this.markers.length;h++)if(this.markers[h].compare(a)){l=h,c=!0;break}}else l=this.markers.length;for(;o<l;){let u=this.markers[o++];if(u.toDOM){u.destroy(r);let h=r.nextSibling;r.remove(),r=h}}if(!a)break;a.toDOM&&(c?r=r.nextSibling:this.dom.insertBefore(a.toDOM(e),r)),c&&o++}this.dom.className=i,this.markers=n}destroy(){this.setMarkers(null,[])}}function G2(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].compare(e[n]))return!1;return!0}const H2=L.define(),K2=L.define(),Qr=L.define({combine(t){return Tn(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,n){let i=Object.assign({},e);for(let r in n){let s=i[r],o=n[r];i[r]=s?(l,a,c)=>s(l,a,c)||o(l,a,c):o}return i}})}});class Eu extends Un{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function ju(t,e){return t.state.facet(Qr).formatNumber(e,t.state)}const J2=Ks.compute([Qr],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(H2)},lineMarker(e,n,i){return i.some(r=>r.toDOM)?null:new Eu(ju(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,i)=>{for(let r of e.state.facet(K2)){let s=r(e,n,i);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(Qr)!=e.state.facet(Qr),initialSpacer(e){return new Eu(ju(e,Wg(e.state.doc.lines)))},updateSpacer(e,n){let i=ju(n.view,Wg(n.view.state.doc.lines));return i==e.number?e:new Eu(i)},domEventHandlers:t.facet(Qr).domEventHandlers,side:"before"}));function e$(t={}){return[Qr.of(t),Xx(),J2]}function Wg(t){let e=9;for(;e<t;)e=e*10+9;return e}const t$=new class extends Un{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},n$=sa.compute(["selection"],t=>{let e=[],n=-1;for(let i of t.selection.ranges){let r=t.doc.lineAt(i.head).from;r>n&&(n=r,e.push(t$.range(r)))}return ie.of(e)});function i$(){return n$}const Nx=1024;let r$=0;class Zu{constructor(e,n){this.from=e,this.to=n}}class H{constructor(e={}){this.id=r$++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Qt.match(e)),n=>{let i=e(n);return i===void 0?null:[this,i]}}}H.closedBy=new H({deserialize:t=>t.split(" ")});H.openedBy=new H({deserialize:t=>t.split(" ")});H.group=new H({deserialize:t=>t.split(" ")});H.isolate=new H({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});H.contextHash=new H({perNode:!0});H.lookAhead=new H({perNode:!0});H.mounted=new H({perNode:!0});class Na{constructor(e,n,i){this.tree=e,this.overlay=n,this.parser=i}static get(e){return e&&e.props&&e.props[H.mounted.id]}}const s$=Object.create(null);class Qt{constructor(e,n,i,r=0){this.name=e,this.props=n,this.id=i,this.flags=r}static define(e){let n=e.props&&e.props.length?Object.create(null):s$,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Qt(e.name||"",n,e.id,i);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(H.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let i in e)for(let r of i.split(" "))n[r]=e[i];return i=>{for(let r=i.prop(H.group),s=-1;s<(r?r.length:0);s++){let o=n[s<0?i.name:r[s]];if(o)return o}}}}Qt.none=new Qt("",Object.create(null),0,8);class ip{constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let i of this.types){let r=null;for(let s of e){let o=s(i);if(o){r||(r=Object.assign({},i.props));let l=o[1],a=o[0];a.combine&&a.id in r&&(l=a.combine(r[a.id],l)),r[a.id]=l}}n.push(r?new Qt(i.name,r,i.id,i.flags):i)}return new ip(n)}}const Ml=new WeakMap,Fg=new WeakMap;var Ze;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(Ze||(Ze={}));class Ae{constructor(e,n,i,r,s){if(this.type=e,this.children=n,this.positions=i,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,l]of s)this.props[typeof o=="number"?o:o.id]=l}}toString(){let e=Na.get(this);if(e&&!e.overlay)return e.tree.toString();let n="";for(let i of this.children){let r=i.toString();r&&(n&&(n+=","),n+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new Af(this.topNode,e)}cursorAt(e,n=0,i=0){let r=Ml.get(this)||this.topNode,s=new Af(r);return s.moveTo(e,n),Ml.set(this,s._tree),s}get topNode(){return new bt(this,0,0,null)}resolve(e,n=0){let i=$o(Ml.get(this)||this.topNode,e,n,!1);return Ml.set(this,i),i}resolveInner(e,n=0){let i=$o(Fg.get(this)||this.topNode,e,n,!0);return Fg.set(this,i),i}resolveStack(e,n=0){return a$(this,e,n)}iterate(e){let{enter:n,leave:i,from:r=0,to:s=this.length}=e,o=e.mode||0,l=(o&Ze.IncludeAnonymous)>0;for(let a=this.cursor(o|Ze.IncludeAnonymous);;){let c=!1;if(a.from<=s&&a.to>=r&&(!l&&a.type.isAnonymous||n(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&i&&(l||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:op(Qt.none,this.children,this.positions,0,this.children.length,0,this.length,(n,i,r)=>new Ae(this.type,n,i,r,this.propValues),e.makeTree||((n,i,r)=>new Ae(Qt.none,n,i,r)))}static build(e){return c$(e)}}Ae.empty=new Ae(Qt.none,[],[],0);class rp{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new rp(this.buffer,this.index)}}class Pi{constructor(e,n,i){this.buffer=e,this.length=n,this.set=i}get type(){return Qt.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],i=this.buffer[e+3],r=this.set.types[n],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,i==e)return s;let o=[];for(;e<i;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,n,i,r,s){let{buffer:o}=this,l=-1;for(let a=e;a!=n&&!(Bx(s,r,o[a+1],o[a+2])&&(l=a,i>0));a=o[a+3]);return l}slice(e,n,i){let r=this.buffer,s=new Uint16Array(n-e),o=0;for(let l=e,a=0;l<n;){s[a++]=r[l++],s[a++]=r[l++]-i;let c=s[a++]=r[l++]-i;s[a++]=r[l++]-e,o=Math.max(o,c)}return new Pi(s,o,this.set)}}function Bx(t,e,n,i){switch(t){case-2:return n<e;case-1:return i>=e&&n<e;case 0:return n<e&&i>e;case 1:return n<=e&&i>e;case 2:return i>e;case 4:return!0}}function $o(t,e,n,i){for(var r;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let o=!i&&t instanceof bt&&t.index<0?null:t.parent;if(!o)return t;t=o}let s=i?0:Ze.IgnoreOverlays;if(i)for(let o=t,l=o.parent;l;o=l,l=o.parent)o instanceof bt&&o.index<0&&((r=l.enter(e,n,s))===null||r===void 0?void 0:r.from)!=o.from&&(t=l);for(;;){let o=t.enter(e,n,s);if(!o)return t;t=o}}class Wx{cursor(e=0){return new Af(this,e)}getChild(e,n=null,i=null){let r=Vg(this,e,n,i);return r.length?r[0]:null}getChildren(e,n=null,i=null){return Vg(this,e,n,i)}resolve(e,n=0){return $o(this,e,n,!1)}resolveInner(e,n=0){return $o(this,e,n,!0)}matchContext(e){return Tf(this.parent,e)}enterUnfinishedNodesBefore(e){let n=this.childBefore(e),i=this;for(;n;){let r=n.lastChild;if(!r||r.to!=n.to)break;r.type.isError&&r.from==r.to?(i=n,n=r.prevSibling):n=r}return i}get node(){return this}get next(){return this.parent}}class bt extends Wx{constructor(e,n,i,r){super(),this._tree=e,this.from=n,this.index=i,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,i,r,s=0){for(let o=this;;){for(let{children:l,positions:a}=o._tree,c=n>0?l.length:-1;e!=c;e+=n){let u=l[e],h=a[e]+o.from;if(Bx(r,i,h,h+u.length)){if(u instanceof Pi){if(s&Ze.ExcludeBuffers)continue;let f=u.findChild(0,u.buffer.length,n,i-h,r);if(f>-1)return new wn(new o$(o,u,e,h),null,f)}else if(s&Ze.IncludeAnonymous||!u.type.isAnonymous||sp(u)){let f;if(!(s&Ze.IgnoreMounts)&&(f=Na.get(u))&&!f.overlay)return new bt(f.tree,h,e,o);let d=new bt(u,h,e,o);return s&Ze.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(n<0?u.children.length-1:0,n,i,r)}}}if(s&Ze.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+n:e=n<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,n,i=0){let r;if(!(i&Ze.IgnoreOverlays)&&(r=Na.get(this._tree))&&r.overlay){let s=e-this.from;for(let{from:o,to:l}of r.overlay)if((n>0?o<=s:o<s)&&(n<0?l>=s:l>s))return new bt(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Vg(t,e,n,i){let r=t.cursor(),s=[];if(!r.firstChild())return s;if(n!=null){for(let o=!1;!o;)if(o=r.type.is(n),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function Tf(t,e,n=e.length-1){for(let i=t;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[n]&&e[n]!=i.name)return!1;n--}}return!0}class o${constructor(e,n,i,r){this.parent=e,this.buffer=n,this.index=i,this.start=r}}class wn extends Wx{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,i){super(),this.context=e,this._parent=n,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,n,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.context.start,i);return s<0?null:new wn(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,n,i=0){if(i&Ze.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return s<0?null:new wn(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new wn(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new wn(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],n=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let o=i.buffer[this.index+1];e.push(i.slice(r,s,o)),n.push(0)}return new Ae(this.type,e,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Fx(t){if(!t.length)return null;let e=0,n=t[0];for(let s=1;s<t.length;s++){let o=t[s];(o.from>n.from||o.to<n.to)&&(n=o,e=s)}let i=n instanceof bt&&n.index<0?null:n.parent,r=t.slice();return i?r[e]=i:r.splice(e,1),new l$(r,n)}class l${constructor(e,n){this.heads=e,this.node=n}get next(){return Fx(this.heads)}}function a$(t,e,n){let i=t.resolveInner(e,n),r=null;for(let s=i instanceof bt?i:i.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[i])).push(o.resolve(e,n)),s=o}else{let o=Na.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let l=new bt(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[i])).push($o(l,e,n,!1))}}return r?Fx(r):i}class Af{get name(){return this.type.name}constructor(e,n=0){if(this.mode=n,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof bt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof bt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,i=this.mode){return this.buffer?i&Ze.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ze.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ze.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(i<0?n.buffer.length:n.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,i,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:n,parent:i}=r)}else({index:n,_parent:i}=this._tree);for(;i;{index:n,_parent:i}=i)if(n>-1)for(let s=n+e,o=e<0?-1:i._tree.children.length;s!=o;s+=e){let l=i._tree.children[s];if(this.mode&Ze.IncludeAnonymous||l instanceof Pi||!l.type.isAnonymous||sp(l))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,i=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;n=o,i=s+1;break e}r=this.stack[--s]}for(let r=i;r<this.stack.length;r++)n=new wn(this.buffer,n,this.stack[r]);return this.bufferNode=new wn(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let i=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&n&&n(this),r=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,r=!0}}}matchContext(e){if(!this.buffer)return Tf(this.node.parent,e);let{buffer:n}=this.buffer,{types:i}=n.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return Tf(this._tree,e,r);let o=i[n.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}}function sp(t){return t.children.some(e=>e instanceof Pi||!e.type.isAnonymous||sp(e))}function c$(t){var e;let{buffer:n,nodeSet:i,maxBufferLength:r=Nx,reused:s=[],minRepeatType:o=i.types.length}=t,l=Array.isArray(n)?new rp(n,n.length):n,a=i.types,c=0,u=0;function h(k,b,Q,T,X,$){let{id:P,start:A,end:N,size:z}=l,V=u,ce=c;if(z<0)if(l.next(),z==-1){let F=s[P];Q.push(F),T.push(A-k);return}else if(z==-3){c=P;return}else if(z==-4){u=P;return}else throw new RangeError(`Unrecognized record size: ${z}`);let U=a[P],M,_,B=A-k;if(N-A<=r&&(_=v(l.pos-b,X))){let F=new Uint16Array(_.size-_.skip),q=l.pos-_.size,se=F.length;for(;l.pos>q;)se=O(_.start,F,se);M=new Pi(F,N-_.start,i),B=_.start-k}else{let F=l.pos-z;l.next();let q=[],se=[],ue=P>=o?P:-1,be=0,te=N;for(;l.pos>F;)ue>=0&&l.id==ue&&l.size>=0?(l.end<=te-r&&(m(q,se,A,be,l.end,te,ue,V,ce),be=q.length,te=l.end),l.next()):$>2500?f(A,F,q,se):h(A,F,q,se,ue,$+1);if(ue>=0&&be>0&&be<q.length&&m(q,se,A,be,A,te,ue,V,ce),q.reverse(),se.reverse(),ue>-1&&be>0){let He=d(U,ce);M=op(U,q,se,0,q.length,0,N-A,He,He)}else M=y(U,q,se,N-A,V-N,ce)}Q.push(M),T.push(B)}function f(k,b,Q,T){let X=[],$=0,P=-1;for(;l.pos>b;){let{id:A,start:N,end:z,size:V}=l;if(V>4)l.next();else{if(P>-1&&N<P)break;P<0&&(P=z-r),X.push(A,N,z),$++,l.next()}}if($){let A=new Uint16Array($*4),N=X[X.length-2];for(let z=X.length-3,V=0;z>=0;z-=3)A[V++]=X[z],A[V++]=X[z+1]-N,A[V++]=X[z+2]-N,A[V++]=V;Q.push(new Pi(A,X[2]-N,i)),T.push(N-k)}}function d(k,b){return(Q,T,X)=>{let $=0,P=Q.length-1,A,N;if(P>=0&&(A=Q[P])instanceof Ae){if(!P&&A.type==k&&A.length==X)return A;(N=A.prop(H.lookAhead))&&($=T[P]+A.length+N)}return y(k,Q,T,X,$,b)}}function m(k,b,Q,T,X,$,P,A,N){let z=[],V=[];for(;k.length>T;)z.push(k.pop()),V.push(b.pop()+Q-X);k.push(y(i.types[P],z,V,$-X,A-$,N)),b.push(X-Q)}function y(k,b,Q,T,X,$,P){if($){let A=[H.contextHash,$];P=P?[A].concat(P):[A]}if(X>25){let A=[H.lookAhead,X];P=P?[A].concat(P):[A]}return new Ae(k,b,Q,T,P)}function v(k,b){let Q=l.fork(),T=0,X=0,$=0,P=Q.end-r,A={size:0,start:0,skip:0};e:for(let N=Q.pos-k;Q.pos>N;){let z=Q.size;if(Q.id==b&&z>=0){A.size=T,A.start=X,A.skip=$,$+=4,T+=4,Q.next();continue}let V=Q.pos-z;if(z<0||V<N||Q.start<P)break;let ce=Q.id>=o?4:0,U=Q.start;for(Q.next();Q.pos>V;){if(Q.size<0)if(Q.size==-3)ce+=4;else break e;else Q.id>=o&&(ce+=4);Q.next()}X=U,T+=z,$+=ce}return(b<0||T==k)&&(A.size=T,A.start=X,A.skip=$),A.size>4?A:void 0}function O(k,b,Q){let{id:T,start:X,end:$,size:P}=l;if(l.next(),P>=0&&T<o){let A=Q;if(P>4){let N=l.pos-(P-4);for(;l.pos>N;)Q=O(k,b,Q)}b[--Q]=A,b[--Q]=$-k,b[--Q]=X-k,b[--Q]=T}else P==-3?c=T:P==-4&&(u=T);return Q}let g=[],x=[];for(;l.pos>0;)h(t.start||0,t.bufferStart||0,g,x,-1,0);let S=(e=t.length)!==null&&e!==void 0?e:g.length?x[0]+g[0].length:0;return new Ae(a[t.topID],g.reverse(),x.reverse(),S)}const Yg=new WeakMap;function oa(t,e){if(!t.isAnonymous||e instanceof Pi||e.type!=t)return 1;let n=Yg.get(e);if(n==null){n=1;for(let i of e.children){if(i.type!=t||!(i instanceof Ae)){n=1;break}n+=oa(t,i)}Yg.set(e,n)}return n}function op(t,e,n,i,r,s,o,l,a){let c=0;for(let m=i;m<r;m++)c+=oa(t,e[m]);let u=Math.ceil(c*1.5/8),h=[],f=[];function d(m,y,v,O,g){for(let x=v;x<O;){let S=x,k=y[x],b=oa(t,m[x]);for(x++;x<O;x++){let Q=oa(t,m[x]);if(b+Q>=u)break;b+=Q}if(x==S+1){if(b>u){let Q=m[S];d(Q.children,Q.positions,0,Q.children.length,y[S]+g);continue}h.push(m[S])}else{let Q=y[x-1]+m[x-1].length-k;h.push(op(t,m,y,S,x,k,Q,null,a))}f.push(k+g-s)}}return d(e,n,i,r,0),(l||a)(h,f,o)}class u${constructor(){this.map=new WeakMap}setBuffer(e,n,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(n,i)}getBuffer(e,n){let i=this.map.get(e);return i&&i.get(n)}set(e,n){e instanceof wn?this.setBuffer(e.context.buffer,e.index,n):e instanceof bt&&this.map.set(e.tree,n)}get(e){return e instanceof wn?this.getBuffer(e.context.buffer,e.index):e instanceof bt?this.map.get(e.tree):void 0}cursorSet(e,n){e.buffer?this.setBuffer(e.buffer.buffer,e.index,n):this.map.set(e.tree,n)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Vi{constructor(e,n,i,r,s=!1,o=!1){this.from=e,this.to=n,this.tree=i,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,n=[],i=!1){let r=[new Vi(0,e.length,e,0,!1,i)];for(let s of n)s.to>e.length&&r.push(s);return r}static applyChanges(e,n,i=128){if(!n.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let l=0,a=0,c=0;;l++){let u=l<n.length?n[l]:null,h=u?u.fromA:1e9;if(h-a>=i)for(;o&&o.from<h;){let f=o;if(a>=f.from||h<=f.to||c){let d=Math.max(f.from,a)-c,m=Math.min(f.to,h)-c;f=d>=m?null:new Vi(d,m,f.tree,f.offset+c,l>0,!!u)}if(f&&r.push(f),o.to>h)break;o=s<e.length?e[s++]:null}if(!u)break;a=u.toA,c=u.toA-u.toB}return r}}class Vx{startParse(e,n,i){return typeof e=="string"&&(e=new h$(e)),i=i?i.length?i.map(r=>new Zu(r.from,r.to)):[new Zu(0,0)]:[new Zu(0,e.length)],this.createParse(e,n||[],i)}parse(e,n,i){let r=this.startParse(e,n,i);for(;;){let s=r.advance();if(s)return s}}}class h${constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}}new H({perNode:!0});let f$=0;class Xt{constructor(e,n,i,r){this.name=e,this.set=n,this.base=i,this.modified=r,this.id=f$++}toString(){let{name:e}=this;for(let n of this.modified)n.name&&(e=`${n.name}(${e})`);return e}static define(e,n){let i=typeof e=="string"?e:"?";if(e instanceof Xt&&(n=e),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let r=new Xt(i,[],null,[]);if(r.set.push(r),n)for(let s of n.set)r.set.push(s);return r}static defineModifier(e){let n=new Ba(e);return i=>i.modified.indexOf(n)>-1?i:Ba.get(i.base||i,i.modified.concat(n).sort((r,s)=>r.id-s.id))}}let d$=0;class Ba{constructor(e){this.name=e,this.instances=[],this.id=d$++}static get(e,n){if(!n.length)return e;let i=n[0].instances.find(l=>l.base==e&&p$(n,l.modified));if(i)return i;let r=[],s=new Xt(e.name,r,e,n);for(let l of n)l.instances.push(s);let o=m$(n);for(let l of e.set)if(!l.modified.length)for(let a of o)r.push(Ba.get(l,a));return s}}function p$(t,e){return t.length==e.length&&t.every((n,i)=>n==e[i])}function m$(t){let e=[[]];for(let n=0;n<t.length;n++)for(let i=0,r=e.length;i<r;i++)e.push(e[i].concat(t[n]));return e.sort((n,i)=>i.length-n.length)}function Yx(t){let e=Object.create(null);for(let n in t){let i=t[n];Array.isArray(i)||(i=[i]);for(let r of n.split(" "))if(r){let s=[],o=2,l=r;for(let h=0;;){if(l=="..."&&h>0&&h+3==r.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let d=r[h++];if(h==r.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+r);l=r.slice(h)}let a=s.length-1,c=s[a];if(!c)throw new RangeError("Invalid path: "+r);let u=new Co(i,o,a>0?s.slice(0,a):null);e[c]=u.sort(e[c])}}return Ux.add(e)}const Ux=new H({combine(t,e){let n,i,r;for(;t||e;){if(!t||e&&t.depth>=e.depth?(r=e,e=e.next):(r=t,t=t.next),n&&n.mode==r.mode&&!r.context&&!n.context)continue;let s=new Co(r.tags,r.mode,r.context);n?n.next=s:i=s,n=s}return i}});class Co{constructor(e,n,i,r){this.tags=e,this.mode=n,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}Co.empty=new Co([],2,null);function qx(t,e){let n=Object.create(null);for(let s of t)if(!Array.isArray(s.tag))n[s.tag.id]=s.class;else for(let o of s.tag)n[o.id]=s.class;let{scope:i,all:r=null}=e||{};return{style:s=>{let o=r;for(let l of s)for(let a of l.set){let c=n[a.id];if(c){o=o?o+" "+c:c;break}}return o},scope:i}}function g$(t,e){let n=null;for(let i of t){let r=i.style(e);r&&(n=n?n+" "+r:r)}return n}function O$(t,e,n,i=0,r=t.length){let s=new y$(i,Array.isArray(e)?e:[e],n);s.highlightRange(t.cursor(),i,r,"",s.highlighters),s.flush(r)}class y${constructor(e,n,i){this.at=e,this.highlighters=n,this.span=i,this.class=""}startSpan(e,n){n!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=n)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,n,i,r,s){let{type:o,from:l,to:a}=e;if(l>=i||a<=n)return;o.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(o)));let c=r,u=x$(e)||Co.empty,h=g$(s,u.tags);if(h&&(c&&(c+=" "),c+=h,u.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(n,l),c),u.opaque)return;let f=e.tree&&e.tree.prop(H.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+l,1),m=this.highlighters.filter(v=>!v.scope||v.scope(f.tree.type)),y=e.firstChild();for(let v=0,O=l;;v++){let g=v<f.overlay.length?f.overlay[v]:null,x=g?g.from+l:a,S=Math.max(n,O),k=Math.min(i,x);if(S<k&&y)for(;e.from<k&&(this.highlightRange(e,S,k,r,s),this.startSpan(Math.min(k,e.to),c),!(e.to>=x||!e.nextSibling())););if(!g||x>i)break;O=g.to+l,O>n&&(this.highlightRange(d.cursor(),Math.max(n,g.from+l),Math.min(i,O),"",m),this.startSpan(Math.min(i,O),c))}y&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=n)){if(e.from>=i)break;this.highlightRange(e,n,i,r,s),this.startSpan(Math.min(i,e.to),c)}while(e.nextSibling());e.parent()}}}function x$(t){let e=t.type.prop(Ux);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const j=Xt.define,Rl=j(),ii=j(),Ug=j(ii),qg=j(ii),ri=j(),El=j(ri),Du=j(ri),gn=j(),Ei=j(gn),dn=j(),pn=j(),Mf=j(),bs=j(Mf),jl=j(),w={comment:Rl,lineComment:j(Rl),blockComment:j(Rl),docComment:j(Rl),name:ii,variableName:j(ii),typeName:Ug,tagName:j(Ug),propertyName:qg,attributeName:j(qg),className:j(ii),labelName:j(ii),namespace:j(ii),macroName:j(ii),literal:ri,string:El,docString:j(El),character:j(El),attributeValue:j(El),number:Du,integer:j(Du),float:j(Du),bool:j(ri),regexp:j(ri),escape:j(ri),color:j(ri),url:j(ri),keyword:dn,self:j(dn),null:j(dn),atom:j(dn),unit:j(dn),modifier:j(dn),operatorKeyword:j(dn),controlKeyword:j(dn),definitionKeyword:j(dn),moduleKeyword:j(dn),operator:pn,derefOperator:j(pn),arithmeticOperator:j(pn),logicOperator:j(pn),bitwiseOperator:j(pn),compareOperator:j(pn),updateOperator:j(pn),definitionOperator:j(pn),typeOperator:j(pn),controlOperator:j(pn),punctuation:Mf,separator:j(Mf),bracket:bs,angleBracket:j(bs),squareBracket:j(bs),paren:j(bs),brace:j(bs),content:gn,heading:Ei,heading1:j(Ei),heading2:j(Ei),heading3:j(Ei),heading4:j(Ei),heading5:j(Ei),heading6:j(Ei),contentSeparator:j(gn),list:j(gn),quote:j(gn),emphasis:j(gn),strong:j(gn),link:j(gn),monospace:j(gn),strikethrough:j(gn),inserted:j(),deleted:j(),changed:j(),invalid:j(),meta:jl,documentMeta:j(jl),annotation:j(jl),processingInstruction:j(jl),definition:Xt.defineModifier("definition"),constant:Xt.defineModifier("constant"),function:Xt.defineModifier("function"),standard:Xt.defineModifier("standard"),local:Xt.defineModifier("local"),special:Xt.defineModifier("special")};for(let t in w){let e=w[t];e instanceof Xt&&(e.name=t)}qx([{tag:w.link,class:"tok-link"},{tag:w.heading,class:"tok-heading"},{tag:w.emphasis,class:"tok-emphasis"},{tag:w.strong,class:"tok-strong"},{tag:w.keyword,class:"tok-keyword"},{tag:w.atom,class:"tok-atom"},{tag:w.bool,class:"tok-bool"},{tag:w.url,class:"tok-url"},{tag:w.labelName,class:"tok-labelName"},{tag:w.inserted,class:"tok-inserted"},{tag:w.deleted,class:"tok-deleted"},{tag:w.literal,class:"tok-literal"},{tag:w.string,class:"tok-string"},{tag:w.number,class:"tok-number"},{tag:[w.regexp,w.escape,w.special(w.string)],class:"tok-string2"},{tag:w.variableName,class:"tok-variableName"},{tag:w.local(w.variableName),class:"tok-variableName tok-local"},{tag:w.definition(w.variableName),class:"tok-variableName tok-definition"},{tag:w.special(w.variableName),class:"tok-variableName2"},{tag:w.definition(w.propertyName),class:"tok-propertyName tok-definition"},{tag:w.typeName,class:"tok-typeName"},{tag:w.namespace,class:"tok-namespace"},{tag:w.className,class:"tok-className"},{tag:w.macroName,class:"tok-macroName"},{tag:w.propertyName,class:"tok-propertyName"},{tag:w.operator,class:"tok-operator"},{tag:w.comment,class:"tok-comment"},{tag:w.meta,class:"tok-meta"},{tag:w.invalid,class:"tok-invalid"},{tag:w.punctuation,class:"tok-punctuation"}]);var Lu;const Pr=new H;function Gx(t){return L.define({combine:t?e=>e.concat(t):void 0})}const lp=new H;class nn{constructor(e,n,i=[],r=""){this.data=e,this.name=r,ne.prototype.hasOwnProperty("tree")||Object.defineProperty(ne.prototype,"tree",{get(){return ze(this)}}),this.parser=n,this.extension=[$i.of(this),ne.languageData.of((s,o,l)=>{let a=Gg(s,o,l),c=a.type.prop(Pr);if(!c)return[];let u=s.facet(c),h=a.type.prop(lp);if(h){let f=a.resolve(o-a.from,l);for(let d of h)if(d.test(f,s)){let m=s.facet(d.facet);return d.type=="replace"?m:m.concat(u)}}return u})].concat(i)}isActiveAt(e,n,i=-1){return Gg(e,n,i).type.prop(Pr)==this.data}findRegions(e){let n=e.facet($i);if((n==null?void 0:n.data)==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let i=[],r=(s,o)=>{if(s.prop(Pr)==this.data){i.push({from:o,to:o+s.length});return}let l=s.prop(H.mounted);if(l){if(l.tree.prop(Pr)==this.data){if(l.overlay)for(let a of l.overlay)i.push({from:a.from+o,to:a.to+o});else i.push({from:o,to:o+s.length});return}else if(l.overlay){let a=i.length;if(r(l.tree,l.overlay[0].from+o),i.length>a)return}}for(let a=0;a<s.children.length;a++){let c=s.children[a];c instanceof Ae&&r(c,s.positions[a]+o)}};return r(ze(e),0),i}get allowsNesting(){return!0}}nn.setState=Y.define();function Gg(t,e,n){let i=t.facet($i),r=ze(t).topNode;if(!i||i.allowsNesting)for(let s=r;s;s=s.enter(e,n,Ze.ExcludeBuffers))s.type.isTop&&(r=s);return r}class Wa extends nn{constructor(e,n,i){super(e,n,[],i),this.parser=n}static define(e){let n=Gx(e.languageData);return new Wa(n,e.parser.configure({props:[Pr.add(i=>i.isTop?n:void 0)]}),e.name)}configure(e,n){return new Wa(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function ze(t){let e=t.field(nn.state,!1);return e?e.tree:Ae.empty}class v${constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let i=this.cursorPos-this.string.length;return e<i||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-i,n-i)}}let Qs=null;class Fa{constructor(e,n,i=[],r,s,o,l,a){this.parser=e,this.state=n,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,n,i){return new Fa(e,n,[],Ae.empty,0,i,[],null)}startParse(){return this.parser.startParse(new v$(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Ae.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(Vi.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(Vi.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=Qs;Qs=this;try{return e()}finally{Qs=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=Hg(e,n.from,n.to);return e}changes(e,n){let{fragments:i,tree:r,treeLen:s,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,u,h,f)=>a.push({fromA:c,toA:u,fromB:h,toB:f})),i=Vi.applyChanges(i,a),r=Ae.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);u<h&&l.push({from:u,to:h})}}}return new Fa(this.parser,n,i,r,s,o,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:r,to:s}=this.skipped[i];r<e.to&&s>e.from&&(this.fragments=Hg(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends Vx{createParse(n,i,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let a=Qs;if(a){for(let c of r)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new Ae(Qt.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return Qs}}function Hg(t,e,n){return Vi.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class Jr{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new Jr(n)}static init(e){let n=Math.min(3e3,e.doc.length),i=Fa.create(e.facet($i).parser,e,{from:0,to:n});return i.work(20,n)||i.takeTree(),new Jr(i)}}nn.state=Be.define({create:Jr.init,update(t,e){for(let n of e.effects)if(n.is(nn.setState))return n.value;return e.startState.facet($i)!=e.state.facet($i)?Jr.init(e.state):t.apply(e)}});let Hx=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Hx=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const zu=typeof navigator<"u"&&(!((Lu=navigator.scheduling)===null||Lu===void 0)&&Lu.isInputPending)?()=>navigator.scheduling.isInputPending():null,S$=Me.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(nn.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(nn.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=Hx(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:r}}=this.view,s=i.field(nn.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!zu?Math.max(25,e.timeRemaining()-5):1e9),l=s.context.treeLen<r&&i.doc.length>r+1e3,a=s.context.work(()=>zu&&zu()||Date.now()>o,r+(l?0:1e5));this.chunkBudget-=Date.now()-n,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:nn.setState.of(new Jr(s.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>xt(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),$i=L.define({combine(t){return t.length?t[0]:null},enables:t=>[nn.state,S$,D.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class w${constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const k$=L.define(),Mc=L.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Va(t){let e=t.facet(Mc);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function To(t,e){let n="",i=t.tabSize,r=t.facet(Mc)[0];if(r==" "){for(;e>=i;)n+=" ",e-=i;r=" "}for(let s=0;s<e;s++)n+=r;return n}function ap(t,e){t instanceof ne&&(t=new Rc(t));for(let i of t.state.facet(k$)){let r=i(t,e);if(r!==void 0)return r}let n=ze(t.state);return n.length>=e?b$(t,n,e):null}class Rc{constructor(e,n={}){this.state=e,this.options=n,this.unit=Va(e)}lineAt(e,n=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==e?{text:"",from:e}:(n<0?r<e:r<=e)?{text:i.text.slice(r-i.from),from:r}:{text:i.text.slice(0,r-i.from),from:i.from}:i}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:r}=this.lineAt(e,n);return i.slice(e-r,Math.min(i.length,e+100-r))}column(e,n=1){let{text:i,from:r}=this.lineAt(e,n),s=this.countColumn(i,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(s+=o-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,n=e.length){return as(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:i,from:r}=this.lineAt(e,n),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Kx=new H;function b$(t,e,n){let i=e.resolveStack(n),r=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(r!=i.node){let s=[];for(let o=r;o&&!(o.from<i.node.from||o.to>i.node.to||o.from==i.node.from&&o.type==i.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)i={node:s[o],next:i}}return Jx(i,t,n)}function Jx(t,e,n){for(let i=t;i;i=i.next){let r=P$(i.node);if(r)return r(cp.create(e,n,i))}return 0}function Q$(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function P$(t){let e=t.type.prop(Kx);if(e)return e;let n=t.firstChild,i;if(n&&(i=n.type.prop(H.closedBy))){let r=t.lastChild,s=r&&i.indexOf(r.name)>-1;return o=>ev(o,!0,1,void 0,s&&!Q$(o)?r.from:void 0)}return t.parent==null?$$:null}function $$(){return 0}class cp extends Rc{constructor(e,n,i){super(e.state,e.options),this.base=e,this.pos=n,this.context=i}get node(){return this.context.node}static create(e,n,i){return new cp(e,n,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(n.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(C$(i,e))break;n=this.state.doc.lineAt(i.from)}return this.lineIndent(n.from)}continue(){return Jx(this.context.next,this.base,this.pos)}}function C$(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function T$(t){let e=t.node,n=e.childAfter(e.from),i=e.lastChild;if(!n)return null;let r=t.options.simulateBreak,s=t.state.doc.lineAt(n.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let l=n.to;;){let a=e.childAfter(l);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let c=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+c}}l=a.to}}function A$({closing:t,align:e=!0,units:n=1}){return i=>ev(i,e,n,t)}function ev(t,e,n,i,r){let s=t.textAfter,o=s.match(/^\s*/)[0].length,l=i&&s.slice(o,o+i.length)==i||r==t.pos+o,a=e?T$(t):null;return a?l?t.column(a.from):t.column(a.to):t.baseIndent+(l?0:t.unit*n)}const M$=t=>t.baseIndent;function _u({except:t,units:e=1}={}){return n=>{let i=t&&t.test(n.textAfter);return n.baseIndent+(i?0:e*n.unit)}}const R$=200;function E$(){return ne.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:i}=t.newSelection.main,r=n.lineAt(i);if(i>r.from+R$)return t;let s=n.sliceString(r.from,i);if(!e.some(c=>c.test(s)))return t;let{state:o}=t,l=-1,a=[];for(let{head:c}of o.selection.ranges){let u=o.doc.lineAt(c);if(u.from==l)continue;l=u.from;let h=ap(o,u.from);if(h==null)continue;let f=/^\s*/.exec(u.text)[0],d=To(o,h);f!=d&&a.push({from:u.from,to:u.from+f.length,insert:d})}return a.length?[t,{changes:a,sequential:!0}]:t})}const j$=L.define(),tv=new H;function Z$(t){let e=t.firstChild,n=t.lastChild;return e&&e.to<n.from?{from:e.to,to:n.type.isError?t.to:n.from}:null}function D$(t,e,n){let i=ze(t);if(i.length<n)return null;let r=i.resolveStack(n,1),s=null;for(let o=r;o;o=o.next){let l=o.node;if(l.to<=n||l.from>n)continue;if(s&&l.from<e)break;let a=l.type.prop(tv);if(a&&(l.to<i.length-50||i.length==t.doc.length||!L$(l))){let c=a(l,t);c&&c.from<=n&&c.from>=e&&c.to>n&&(s=c)}}return s}function L$(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function Ya(t,e,n){for(let i of t.facet(j$)){let r=i(t,e,n);if(r)return r}return D$(t,e,n)}function nv(t,e){let n=e.mapPos(t.from,1),i=e.mapPos(t.to,-1);return n>=i?void 0:{from:n,to:i}}const Ec=Y.define({map:nv}),Vo=Y.define({map:nv});function iv(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(i=>i.from<=n&&i.to>=n)||e.push(t.lineBlockAt(n));return e}const rr=Be.define({create(){return W.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((n,i)=>t=Kg(t,n,i)),t=t.map(e.changes);for(let n of e.effects)if(n.is(Ec)&&!z$(t,n.value.from,n.value.to)){let{preparePlaceholder:i}=e.state.facet(ov),r=i?W.replace({widget:new F$(i(e.state,n.value))}):Jg;t=t.update({add:[r.range(n.value.from,n.value.to)]})}else n.is(Vo)&&(t=t.update({filter:(i,r)=>n.value.from!=i||n.value.to!=r,filterFrom:n.value.from,filterTo:n.value.to}));return e.selection&&(t=Kg(t,e.selection.main.head)),t},provide:t=>D.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(i,r)=>{n.push(i,r)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n<t.length;){let i=t[n++],r=t[n++];if(typeof i!="number"||typeof r!="number")throw new RangeError("Invalid JSON for fold state");e.push(Jg.range(i,r))}return W.set(e,!0)}});function Kg(t,e,n=e){let i=!1;return t.between(e,n,(r,s)=>{r<n&&s>e&&(i=!0)}),i?t.update({filterFrom:e,filterTo:n,filter:(r,s)=>r>=n||s<=e}):t}function Ua(t,e,n){var i;let r=null;return(i=t.field(rr,!1))===null||i===void 0||i.between(e,n,(s,o)=>{(!r||r.from>s)&&(r={from:s,to:o})}),r}function z$(t,e,n){let i=!1;return t.between(e,e,(r,s)=>{r==e&&s==n&&(i=!0)}),i}function rv(t,e){return t.field(rr,!1)?e:e.concat(Y.appendConfig.of(lv()))}const _$=t=>{for(let e of iv(t)){let n=Ya(t.state,e.from,e.to);if(n)return t.dispatch({effects:rv(t.state,[Ec.of(n),sv(t,n)])}),!0}return!1},X$=t=>{if(!t.state.field(rr,!1))return!1;let e=[];for(let n of iv(t)){let i=Ua(t.state,n.from,n.to);i&&e.push(Vo.of(i),sv(t,i,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function sv(t,e,n=!0){let i=t.state.doc.lineAt(e.from).number,r=t.state.doc.lineAt(e.to).number;return D.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${t.state.phrase("to")} ${r}.`)}const I$=t=>{let{state:e}=t,n=[];for(let i=0;i<e.doc.length;){let r=t.lineBlockAt(i),s=Ya(e,r.from,r.to);s&&n.push(Ec.of(s)),i=(s?t.lineBlockAt(s.to):r).to+1}return n.length&&t.dispatch({effects:rv(t.state,n)}),!!n.length},N$=t=>{let e=t.state.field(rr,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(i,r)=>{n.push(Vo.of({from:i,to:r}))}),t.dispatch({effects:n}),!0},B$=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:_$},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:X$},{key:"Ctrl-Alt-[",run:I$},{key:"Ctrl-Alt-]",run:N$}],W$={placeholderDOM:null,preparePlaceholder:null,placeholderText:"โฆ"},ov=L.define({combine(t){return Tn(t,W$)}});function lv(t){return[rr,U$]}function av(t,e){let{state:n}=t,i=n.facet(ov),r=o=>{let l=t.lineBlockAt(t.posAtDOM(o.target)),a=Ua(t.state,l.from,l.to);a&&t.dispatch({effects:Vo.of(a)}),o.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(t,r,e);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}const Jg=W.replace({widget:new class extends Kn{toDOM(t){return av(t,null)}}});class F$ extends Kn{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return av(e,this.value)}}const V$={openText:"โ",closedText:"โบ",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Xu extends Un{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function Y$(t={}){let e={...V$,...t},n=new Xu(e,!0),i=new Xu(e,!1),r=Me.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet($i)!=o.state.facet($i)||o.startState.field(rr,!1)!=o.state.field(rr,!1)||ze(o.startState)!=ze(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let l=new Vn;for(let a of o.viewportLineBlocks){let c=Ua(o.state,a.from,a.to)?i:Ya(o.state,a.from,a.to)?n:null;c&&l.add(a.from,a.from,c)}return l.finish()}}),{domEventHandlers:s}=e;return[r,Y2({class:"cm-foldGutter",markers(o){var l;return((l=o.plugin(r))===null||l===void 0?void 0:l.markers)||ie.empty},initialSpacer(){return new Xu(e,!1)},domEventHandlers:{...s,click:(o,l,a)=>{if(s.click&&s.click(o,l,a))return!0;let c=Ua(o.state,l.from,l.to);if(c)return o.dispatch({effects:Vo.of(c)}),!0;let u=Ya(o.state,l.from,l.to);return u?(o.dispatch({effects:Ec.of(u)}),!0):!1}}}),lv()]}const U$=D.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Yo{constructor(e,n){this.specs=e;let i;function r(l){let a=ki.newName();return(i||(i=Object.create(null)))["."+a]=l,a}const s=typeof n.all=="string"?n.all:n.all?r(n.all):void 0,o=n.scope;this.scope=o instanceof nn?l=>l.prop(Pr)==o.data:o?l=>l==o:void 0,this.style=qx(e.map(l=>({tag:l.tag,class:l.class||r(Object.assign({},l,{tag:null}))})),{all:s}).style,this.module=i?new ki(i):null,this.themeType=n.themeType}static define(e,n){return new Yo(e,n||{})}}const Rf=L.define(),cv=L.define({combine(t){return t.length?[t[0]]:null}});function Iu(t){let e=t.facet(Rf);return e.length?e:t.facet(cv)}function uv(t,e){let n=[G$],i;return t instanceof Yo&&(t.module&&n.push(D.styleModule.of(t.module)),i=t.themeType),e!=null&&e.fallback?n.push(cv.of(t)):i?n.push(Rf.computeN([D.darkTheme],r=>r.facet(D.darkTheme)==(i=="dark")?[t]:[])):n.push(Rf.of(t)),n}class q${constructor(e){this.markCache=Object.create(null),this.tree=ze(e.state),this.decorations=this.buildDeco(e,Iu(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=ze(e.state),i=Iu(e.state),r=i!=Iu(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);n.length<s.to&&!r&&n.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(n!=this.tree||e.viewportChanged||r)&&(this.tree=n,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=s.to)}buildDeco(e,n){if(!n||!this.tree.length)return W.none;let i=new Vn;for(let{from:r,to:s}of e.visibleRanges)O$(this.tree,n,(o,l,a)=>{i.add(o,l,this.markCache[a]||(this.markCache[a]=W.mark({class:a})))},r,s);return i.finish()}}const G$=Mi.high(Me.fromClass(q$,{decorations:t=>t.decorations})),H$=Yo.define([{tag:w.meta,color:"#404740"},{tag:w.link,textDecoration:"underline"},{tag:w.heading,textDecoration:"underline",fontWeight:"bold"},{tag:w.emphasis,fontStyle:"italic"},{tag:w.strong,fontWeight:"bold"},{tag:w.strikethrough,textDecoration:"line-through"},{tag:w.keyword,color:"#708"},{tag:[w.atom,w.bool,w.url,w.contentSeparator,w.labelName],color:"#219"},{tag:[w.literal,w.inserted],color:"#164"},{tag:[w.string,w.deleted],color:"#a11"},{tag:[w.regexp,w.escape,w.special(w.string)],color:"#e40"},{tag:w.definition(w.variableName),color:"#00f"},{tag:w.local(w.variableName),color:"#30a"},{tag:[w.typeName,w.namespace],color:"#085"},{tag:w.className,color:"#167"},{tag:[w.special(w.variableName),w.macroName],color:"#256"},{tag:w.definition(w.propertyName),color:"#00c"},{tag:w.comment,color:"#940"},{tag:w.invalid,color:"#f00"}]),K$=D.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),hv=1e4,fv="()[]{}",dv=L.define({combine(t){return Tn(t,{afterCursor:!0,brackets:fv,maxScanDistance:hv,renderMatch:tC})}}),J$=W.mark({class:"cm-matchingBracket"}),eC=W.mark({class:"cm-nonmatchingBracket"});function tC(t){let e=[],n=t.matched?J$:eC;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const nC=Be.define({create(){return W.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],i=e.state.facet(dv);for(let r of e.state.selection.ranges){if(!r.empty)continue;let s=kn(e.state,r.head,-1,i)||r.head>0&&kn(e.state,r.head-1,1,i)||i.afterCursor&&(kn(e.state,r.head,1,i)||r.head<e.state.doc.length&&kn(e.state,r.head+1,-1,i));s&&(n=n.concat(i.renderMatch(s,e.state)))}return W.set(n,!0)},provide:t=>D.decorations.from(t)}),iC=[nC,K$];function rC(t={}){return[dv.of(t),iC]}const sC=new H;function Ef(t,e,n){let i=t.prop(e<0?H.openedBy:H.closedBy);if(i)return i;if(t.name.length==1){let r=n.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[n[r+e]]}return null}function jf(t){let e=t.type.prop(sC);return e?e(t.node):t}function kn(t,e,n,i={}){let r=i.maxScanDistance||hv,s=i.brackets||fv,o=ze(t),l=o.resolveInner(e,n);for(let a=l;a;a=a.parent){let c=Ef(a.type,n,s);if(c&&a.from<a.to){let u=jf(a);if(u&&(n>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return oC(t,e,n,a,u,c,s)}}return lC(t,e,n,o,l.type,r,s)}function oC(t,e,n,i,r,s,o){let l=i.parent,a={from:r.from,to:r.to},c=0,u=l==null?void 0:l.cursor();if(u&&(n<0?u.childBefore(i.from):u.childAfter(i.to)))do if(n<0?u.to<=i.from:u.from>=i.to){if(c==0&&s.indexOf(u.type.name)>-1&&u.from<u.to){let h=jf(u);return{start:a,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(Ef(u.type,n,o))c++;else if(Ef(u.type,-n,o)){if(c==0){let h=jf(u);return{start:a,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}c--}}while(n<0?u.prevSibling():u.nextSibling());return{start:a,matched:!1}}function lC(t,e,n,i,r,s,o){let l=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),a=o.indexOf(l);if(a<0||a%2==0!=n>0)return null;let c={from:n<0?e-1:e,to:n>0?e+1:e},u=t.doc.iterRange(e,n>0?t.doc.length:0),h=0;for(let f=0;!u.next().done&&f<=s;){let d=u.value;n<0&&(f+=d.length);let m=e+f*n;for(let y=n>0?0:d.length-1,v=n>0?d.length:-1;y!=v;y+=n){let O=o.indexOf(d[y]);if(!(O<0||i.resolveInner(m+y,1).type!=r))if(O%2==0==n>0)h++;else{if(h==1)return{start:c,end:{from:m+y,to:m+y+1},matched:O>>1==a>>1};h--}}n>0&&(f+=d.length)}return u.done?{start:c,matched:!1}:null}const aC=Object.create(null),eO=[Qt.none],tO=[],nO=Object.create(null),cC=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])cC[t]=uC(aC,e);function Nu(t,e){tO.indexOf(t)>-1||(tO.push(t),console.warn(e))}function uC(t,e){let n=[];for(let l of e.split(" ")){let a=[];for(let c of l.split(".")){let u=t[c]||w[c];u?typeof u=="function"?a.length?a=a.map(u):Nu(c,`Modifier ${c} used at start of tag`):a.length?Nu(c,`Tag ${c} used as modifier`):a=Array.isArray(u)?u:[u]:Nu(c,`Unknown highlighting tag ${c}`)}for(let c of a)n.push(c)}if(!n.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+n.map(l=>l.id),s=nO[r];if(s)return s.id;let o=nO[r]=Qt.define({id:eO.length,name:i,props:[Yx({[i]:n})]});return eO.push(o),o.id}Oe.RTL,Oe.LTR;const hC=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),i=hp(t.state,n.from);return i.line?fC(t):i.block?pC(t):!1};function up(t,e){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=t(e,n);return r?(i(n.update(r)),!0):!1}}const fC=up(OC,0),dC=up(pv,0),pC=up((t,e)=>pv(t,e,gC(e)),0);function hp(t,e){let n=t.languageDataAt("commentTokens",e,1);return n.length?n[0]:{}}const Ps=50;function mC(t,{open:e,close:n},i,r){let s=t.sliceDoc(i-Ps,i),o=t.sliceDoc(r,r+Ps),l=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(o)[0].length,c=s.length-l;if(s.slice(c-e.length,c)==e&&o.slice(a,a+n.length)==n)return{open:{pos:i-l,margin:l&&1},close:{pos:r+a,margin:a&&1}};let u,h;r-i<=2*Ps?u=h=t.sliceDoc(i,r):(u=t.sliceDoc(i,i+Ps),h=t.sliceDoc(r-Ps,r));let f=/^\s*/.exec(u)[0].length,d=/\s*$/.exec(h)[0].length,m=h.length-d-n.length;return u.slice(f,f+e.length)==e&&h.slice(m,m+n.length)==n?{open:{pos:i+f+e.length,margin:/\s/.test(u.charAt(f+e.length))?1:0},close:{pos:r-d-n.length,margin:/\s/.test(h.charAt(m-1))?1:0}}:null}function gC(t){let e=[];for(let n of t.selection.ranges){let i=t.doc.lineAt(n.from),r=n.to<=i.to?i:t.doc.lineAt(n.to);r.from>i.from&&r.from==n.to&&(r=n.to==i.to+1?i:t.doc.lineAt(n.to-1));let s=e.length-1;s>=0&&e[s].to>i.from?e[s].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function pv(t,e,n=e.selection.ranges){let i=n.map(s=>hp(e,s.from).block);if(!i.every(s=>s))return null;let r=n.map((s,o)=>mC(e,i[o],s.from,s.to));if(t!=2&&!r.every(s=>s))return{changes:e.changes(n.map((s,o)=>r[o]?[]:[{from:s.from,insert:i[o].open+" "},{from:s.to,insert:" "+i[o].close}]))};if(t!=1&&r.some(s=>s)){let s=[];for(let o=0,l;o<r.length;o++)if(l=r[o]){let a=i[o],{open:c,close:u}=l;s.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:u.pos-u.margin,to:u.pos+a.close.length})}return{changes:s}}return null}function OC(t,e,n=e.selection.ranges){let i=[],r=-1;for(let{from:s,to:o}of n){let l=i.length,a=1e9,c=hp(e,s).line;if(c){for(let u=s;u<=o;){let h=e.doc.lineAt(u);if(h.from>r&&(s==o||o>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,d=f==h.length,m=h.text.slice(f,f+c.length)==c?f:-1;f<h.text.length&&f<a&&(a=f),i.push({line:h,comment:m,token:c,indent:f,empty:d,single:!1})}u=h.to+1}if(a<1e9)for(let u=l;u<i.length;u++)i[u].indent<i[u].line.text.length&&(i[u].indent=a);i.length==l+1&&(i[l].single=!0)}}if(t!=2&&i.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:l,token:a,indent:c,empty:u,single:h}of i)(h||!u)&&s.push({from:l.from+c,insert:a+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(t!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:l,token:a}of i)if(l>=0){let c=o.from+l,u=c+a.length;o.text[u-o.from]==" "&&u++,s.push({from:c,to:u})}return{changes:s}}return null}const Zf=Hn.define(),yC=Hn.define(),xC=L.define(),mv=L.define({combine(t){return Tn(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(i,r)=>e(i,r)||n(i,r)})}}),gv=Be.define({create(){return bn.empty},update(t,e){let n=e.state.facet(mv),i=e.annotation(Zf);if(i){let a=vt.fromTransaction(e,i.selection),c=i.side,u=c==0?t.undone:t.done;return a?u=qa(u,u.length,n.minDepth,a):u=xv(u,e.startState.selection),new bn(c==0?i.rest:u,c==0?u:i.rest)}let r=e.annotation(yC);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Te.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let s=vt.fromTransaction(e),o=e.annotation(Te.time),l=e.annotation(Te.userEvent);return s?t=t.addChanges(s,o,l,n,e):e.selection&&(t=t.addSelection(e.startState.selection,o,l,n.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new bn(t.done.map(vt.fromJSON),t.undone.map(vt.fromJSON))}});function vC(t={}){return[gv,mv.of(t),D.domEventHandlers({beforeinput(e,n){let i=e.inputType=="historyUndo"?Ov:e.inputType=="historyRedo"?Df:null;return i?(e.preventDefault(),i(n)):!1}})]}function jc(t,e){return function({state:n,dispatch:i}){if(!e&&n.readOnly)return!1;let r=n.field(gv,!1);if(!r)return!1;let s=r.pop(t,n,e);return s?(i(s),!0):!1}}const Ov=jc(0,!1),Df=jc(1,!1),SC=jc(0,!0),wC=jc(1,!0);class vt{constructor(e,n,i,r,s){this.changes=e,this.effects=n,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new vt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new vt(e.changes&&je.fromJSON(e.changes),[],e.mapped&&$n.fromJSON(e.mapped),e.startSelection&&C.fromJSON(e.startSelection),e.selectionsAfter.map(C.fromJSON))}static fromTransaction(e,n){let i=Nt;for(let r of e.startState.facet(xC)){let s=r(e);s.length&&(i=i.concat(s))}return!i.length&&e.changes.empty?null:new vt(e.changes.invert(e.startState.doc),i,void 0,n||e.startState.selection,Nt)}static selection(e){return new vt(void 0,Nt,void 0,void 0,e)}}function qa(t,e,n,i){let r=e+1>n+20?e-n-1:0,s=t.slice(r,e);return s.push(i),s}function kC(t,e){let n=[],i=!1;return t.iterChangedRanges((r,s)=>n.push(r,s)),e.iterChangedRanges((r,s,o,l)=>{for(let a=0;a<n.length;){let c=n[a++],u=n[a++];l>=c&&o<=u&&(i=!0)}}),i}function bC(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,i)=>n.empty!=e.ranges[i].empty).length===0}function yv(t,e){return t.length?e.length?t.concat(e):t:e}const Nt=[],QC=200;function xv(t,e){if(t.length){let n=t[t.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-QC));return i.length&&i[i.length-1].eq(e)?t:(i.push(e),qa(t,t.length-1,1e9,n.setSelAfter(i)))}else return[vt.selection([e])]}function PC(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function Bu(t,e){if(!t.length)return t;let n=t.length,i=Nt;for(;n;){let r=$C(t[n-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=t.slice(0,n);return s[n-1]=r,s}else e=r.mapped,n--,i=r.selectionsAfter}return i.length?[vt.selection(i)]:Nt}function $C(t,e,n){let i=yv(t.selectionsAfter.length?t.selectionsAfter.map(l=>l.map(e)):Nt,n);if(!t.changes)return vt.selection(i);let r=t.changes.map(e),s=e.mapDesc(t.changes,!0),o=t.mapped?t.mapped.composeDesc(s):s;return new vt(r,Y.mapEffects(t.effects,e),o,t.startSelection.map(s),i)}const CC=/^(input\.type|delete)($|\.)/;class bn{constructor(e,n,i=0,r=void 0){this.done=e,this.undone=n,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new bn(this.done,this.undone):this}addChanges(e,n,i,r,s){let o=this.done,l=o[o.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!i||CC.test(i))&&(!l.selectionsAfter.length&&n-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,kC(l.changes,e.changes))||i=="input.type.compose")?o=qa(o,o.length-1,r.minDepth,new vt(e.changes.compose(l.changes),yv(Y.mapEffects(e.effects,l.changes),l.effects),l.mapped,l.startSelection,Nt)):o=qa(o,o.length,r.minDepth,e),new bn(o,Nt,n,i)}addSelection(e,n,i,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Nt;return s.length>0&&n-this.prevTime<r&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&bC(s[s.length-1],e)?this:new bn(xv(this.done,e),this.undone,n,i)}addMapping(e){return new bn(Bu(this.done,e),Bu(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,i){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],o=s.selectionsAfter[0]||n.selection;if(i&&s.selectionsAfter.length)return n.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Zf.of({side:e,rest:PC(r),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let l=r.length==1?Nt:r.slice(0,r.length-1);return s.mapped&&(l=Bu(l,s.mapped)),n.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Zf.of({side:e,rest:l,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}bn.empty=new bn(Nt,Nt);const TC=[{key:"Mod-z",run:Ov,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Df,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Df,preventDefault:!0},{key:"Mod-u",run:SC,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:wC,preventDefault:!0}];function cs(t,e){return C.create(t.ranges.map(e),t.mainIndex)}function cn(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function un({state:t,dispatch:e},n){let i=cs(t.selection,n);return i.eq(t.selection,!0)?!1:(e(cn(t,i)),!0)}function Zc(t,e){return C.cursor(e?t.to:t.from)}function vv(t,e){return un(t,n=>n.empty?t.moveByChar(n,e):Zc(n,e))}function rt(t){return t.textDirectionAt(t.state.selection.main.head)==Oe.LTR}const Sv=t=>vv(t,!rt(t)),wv=t=>vv(t,rt(t));function kv(t,e){return un(t,n=>n.empty?t.moveByGroup(n,e):Zc(n,e))}const AC=t=>kv(t,!rt(t)),MC=t=>kv(t,rt(t));function RC(t,e,n){if(e.type.prop(n))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Dc(t,e,n){let i=ze(t).resolveInner(e.head),r=n?H.closedBy:H.openedBy;for(let a=e.head;;){let c=n?i.childAfter(a):i.childBefore(a);if(!c)break;RC(t,c,r)?i=c:a=n?c.to:c.from}let s=i.type.prop(r),o,l;return s&&(o=n?kn(t,i.from,1):kn(t,i.to,-1))&&o.matched?l=n?o.end.to:o.end.from:l=n?i.to:i.from,C.cursor(l,n?-1:1)}const EC=t=>un(t,e=>Dc(t.state,e,!rt(t))),jC=t=>un(t,e=>Dc(t.state,e,rt(t)));function bv(t,e){return un(t,n=>{if(!n.empty)return Zc(n,e);let i=t.moveVertically(n,e);return i.head!=n.head?i:t.moveToLineBoundary(n,e)})}const Qv=t=>bv(t,!1),Pv=t=>bv(t,!0);function $v(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,i=0,r;if(e){for(let s of t.state.facet(D.scrollMargins)){let o=s(t);o!=null&&o.top&&(n=Math.max(o==null?void 0:o.top,n)),o!=null&&o.bottom&&(i=Math.max(o==null?void 0:o.bottom,i))}r=t.scrollDOM.clientHeight-n-i}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:i,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function Cv(t,e){let n=$v(t),{state:i}=t,r=cs(i.selection,o=>o.empty?t.moveVertically(o,e,n.height):Zc(o,e));if(r.eq(i.selection))return!1;let s;if(n.selfScroll){let o=t.coordsAtPos(i.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),a=l.top+n.marginTop,c=l.bottom-n.marginBottom;o&&o.top>a&&o.bottom<c&&(s=D.scrollIntoView(r.main.head,{y:"start",yMargin:o.top-a}))}return t.dispatch(cn(i,r),{effects:s}),!0}const iO=t=>Cv(t,!1),Lf=t=>Cv(t,!0);function Ri(t,e,n){let i=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,n);if(r.head==e.head&&r.head!=(n?i.to:i.from)&&(r=t.moveToLineBoundary(e,n,!1)),!n&&r.head==i.from&&i.length){let s=/^\s*/.exec(t.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&e.head!=i.from+s&&(r=C.cursor(i.from+s))}return r}const ZC=t=>un(t,e=>Ri(t,e,!0)),DC=t=>un(t,e=>Ri(t,e,!1)),LC=t=>un(t,e=>Ri(t,e,!rt(t))),zC=t=>un(t,e=>Ri(t,e,rt(t))),_C=t=>un(t,e=>C.cursor(t.lineBlockAt(e.head).from,1)),XC=t=>un(t,e=>C.cursor(t.lineBlockAt(e.head).to,-1));function IC(t,e,n){let i=!1,r=cs(t.selection,s=>{let o=kn(t,s.head,-1)||kn(t,s.head,1)||s.head>0&&kn(t,s.head-1,1)||s.head<t.doc.length&&kn(t,s.head+1,-1);if(!o||!o.end)return s;i=!0;let l=o.start.from==s.head?o.end.to:o.end.from;return C.cursor(l)});return i?(e(cn(t,r)),!0):!1}const NC=({state:t,dispatch:e})=>IC(t,e);function qt(t,e){let n=cs(t.state.selection,i=>{let r=e(i);return C.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(cn(t.state,n)),!0)}function Tv(t,e){return qt(t,n=>t.moveByChar(n,e))}const Av=t=>Tv(t,!rt(t)),Mv=t=>Tv(t,rt(t));function Rv(t,e){return qt(t,n=>t.moveByGroup(n,e))}const BC=t=>Rv(t,!rt(t)),WC=t=>Rv(t,rt(t)),FC=t=>qt(t,e=>Dc(t.state,e,!rt(t))),VC=t=>qt(t,e=>Dc(t.state,e,rt(t)));function Ev(t,e){return qt(t,n=>t.moveVertically(n,e))}const jv=t=>Ev(t,!1),Zv=t=>Ev(t,!0);function Dv(t,e){return qt(t,n=>t.moveVertically(n,e,$v(t).height))}const rO=t=>Dv(t,!1),sO=t=>Dv(t,!0),YC=t=>qt(t,e=>Ri(t,e,!0)),UC=t=>qt(t,e=>Ri(t,e,!1)),qC=t=>qt(t,e=>Ri(t,e,!rt(t))),GC=t=>qt(t,e=>Ri(t,e,rt(t))),HC=t=>qt(t,e=>C.cursor(t.lineBlockAt(e.head).from)),KC=t=>qt(t,e=>C.cursor(t.lineBlockAt(e.head).to)),oO=({state:t,dispatch:e})=>(e(cn(t,{anchor:0})),!0),lO=({state:t,dispatch:e})=>(e(cn(t,{anchor:t.doc.length})),!0),aO=({state:t,dispatch:e})=>(e(cn(t,{anchor:t.selection.main.anchor,head:0})),!0),cO=({state:t,dispatch:e})=>(e(cn(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),JC=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),eT=({state:t,dispatch:e})=>{let n=Lc(t).map(({from:i,to:r})=>C.range(i,Math.min(r+1,t.doc.length)));return e(t.update({selection:C.create(n),userEvent:"select"})),!0},tT=({state:t,dispatch:e})=>{let n=cs(t.selection,i=>{let r=ze(t),s=r.resolveStack(i.from,1);if(i.empty){let o=r.resolveStack(i.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:l}=o;if((l.from<i.from&&l.to>=i.to||l.to>i.to&&l.from<=i.from)&&o.next)return C.range(l.to,l.from)}return i});return n.eq(t.selection)?!1:(e(cn(t,n)),!0)};function Lv(t,e){let{state:n}=t,i=n.selection,r=n.selection.ranges.slice();for(let s of n.selection.ranges){let o=n.doc.lineAt(s.head);if(e?o.to<t.state.doc.length:o.from>0)for(let l=s;;){let a=t.moveVertically(l,e);if(a.head<o.from||a.head>o.to){r.some(c=>c.head==a.head)||r.push(a);break}else{if(a.head==l.head)break;l=a}}}return r.length==i.ranges.length?!1:(t.dispatch(cn(n,C.create(r,r.length-1))),!0)}const nT=t=>Lv(t,!1),iT=t=>Lv(t,!0),rT=({state:t,dispatch:e})=>{let n=t.selection,i=null;return n.ranges.length>1?i=C.create([n.main]):n.main.empty||(i=C.create([C.cursor(n.main.head)])),i?(e(cn(t,i)),!0):!1};function Uo(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:i}=t,r=i.changeByRange(s=>{let{from:o,to:l}=s;if(o==l){let a=e(s);a<o?(n="delete.backward",a=Zl(t,a,!1)):a>o&&(n="delete.forward",a=Zl(t,a,!0)),o=Math.min(o,a),l=Math.max(l,a)}else o=Zl(t,o,!1),l=Zl(t,l,!0);return o==l?{range:s}:{changes:{from:o,to:l},range:C.cursor(o,o<s.head?-1:1)}});return r.changes.empty?!1:(t.dispatch(i.update(r,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?D.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function Zl(t,e,n){if(t instanceof D)for(let i of t.state.facet(D.atomicRanges).map(r=>r(t)))i.between(e,e,(r,s)=>{r<e&&s>e&&(e=n?s:r)});return e}const zv=(t,e,n)=>Uo(t,i=>{let r=i.from,{state:s}=t,o=s.doc.lineAt(r),l,a;if(n&&!e&&r>o.from&&r<o.from+200&&!/[^ \t]/.test(l=o.text.slice(0,r-o.from))){if(l[l.length-1]==" ")return r-1;let c=as(l,s.tabSize),u=c%Va(s)||Va(s);for(let h=0;h<u&&l[l.length-1-h]==" ";h++)r--;a=r}else a=Ue(o.text,r-o.from,e,e)+o.from,a==r&&o.number!=(e?s.doc.lines:1)?a+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(a-o.from,r-o.from))&&(a=Ue(o.text,a-o.from,!1,!1)+o.from);return a}),zf=t=>zv(t,!1,!0),_v=t=>zv(t,!0,!1),Xv=(t,e)=>Uo(t,n=>{let i=n.head,{state:r}=t,s=r.doc.lineAt(i),o=r.charCategorizer(i);for(let l=null;;){if(i==(e?s.to:s.from)){i==n.head&&s.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let a=Ue(s.text,i-s.from,e)+s.from,c=s.text.slice(Math.min(i,a)-s.from,Math.max(i,a)-s.from),u=o(c);if(l!=null&&u!=l)break;(c!=" "||i!=n.head)&&(l=u),i=a}return i}),Iv=t=>Xv(t,!1),sT=t=>Xv(t,!0),oT=t=>Uo(t,e=>{let n=t.lineBlockAt(e.head).to;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),lT=t=>Uo(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),aT=t=>Uo(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),cT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:ee.of(["",""])},range:C.cursor(i.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},uT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(i=>{if(!i.empty||i.from==0||i.from==t.doc.length)return{range:i};let r=i.from,s=t.doc.lineAt(r),o=r==s.from?r-1:Ue(s.text,r-s.from,!1)+s.from,l=r==s.to?r+1:Ue(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:l,insert:t.doc.slice(r,l).append(t.doc.slice(o,r))},range:C.cursor(l)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Lc(t){let e=[],n=-1;for(let i of t.selection.ranges){let r=t.doc.lineAt(i.from),s=t.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=t.doc.lineAt(i.to-1)),n>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(i)}else e.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return e}function Nv(t,e,n){if(t.readOnly)return!1;let i=[],r=[];for(let s of Lc(t)){if(n?s.to==t.doc.length:s.from==0)continue;let o=t.doc.lineAt(n?s.to+1:s.from-1),l=o.length+1;if(n){i.push({from:s.to,to:o.to},{from:s.from,insert:o.text+t.lineBreak});for(let a of s.ranges)r.push(C.range(Math.min(t.doc.length,a.anchor+l),Math.min(t.doc.length,a.head+l)))}else{i.push({from:o.from,to:s.from},{from:s.to,insert:t.lineBreak+o.text});for(let a of s.ranges)r.push(C.range(a.anchor-l,a.head-l))}}return i.length?(e(t.update({changes:i,scrollIntoView:!0,selection:C.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const hT=({state:t,dispatch:e})=>Nv(t,e,!1),fT=({state:t,dispatch:e})=>Nv(t,e,!0);function Bv(t,e,n){if(t.readOnly)return!1;let i=[];for(let r of Lc(t))n?i.push({from:r.from,insert:t.doc.slice(r.from,r.to)+t.lineBreak}):i.push({from:r.to,insert:t.lineBreak+t.doc.slice(r.from,r.to)});return e(t.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const dT=({state:t,dispatch:e})=>Bv(t,e,!1),pT=({state:t,dispatch:e})=>Bv(t,e,!0),mT=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(Lc(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),i=cs(e.selection,r=>{let s;if(t.lineWrapping){let o=t.lineBlockAt(r.head),l=t.coordsAtPos(r.head,r.assoc||1);l&&(s=o.bottom+t.documentTop-l.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,s)}).map(n);return t.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function gT(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=ze(t).resolveInner(e),i=n.childBefore(e),r=n.childAfter(e),s;return i&&r&&i.to<=e&&r.from>=e&&(s=i.type.prop(H.closedBy))&&s.indexOf(r.name)>-1&&t.doc.lineAt(i.to).from==t.doc.lineAt(r.from).from&&!/\S/.test(t.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const uO=Wv(!1),OT=Wv(!0);function Wv(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:s,to:o}=r,l=e.doc.lineAt(s),a=!t&&s==o&&gT(e,s);t&&(s=o=(o<=l.to?l:e.doc.lineAt(o)).to);let c=new Rc(e,{simulateBreak:s,simulateDoubleBreak:!!a}),u=ap(c,s);for(u==null&&(u=as(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<l.to&&/\s/.test(l.text[o-l.from]);)o++;a?{from:s,to:o}=a:s>l.from&&s<l.from+100&&!/\S/.test(l.text.slice(0,s))&&(s=l.from);let h=["",To(e,u)];return a&&h.push(To(e,c.lineIndent(l.from,-1))),{changes:{from:s,to:o,insert:ee.of(h)},range:C.cursor(s+1+h[1].length)}});return n(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function fp(t,e){let n=-1;return t.changeByRange(i=>{let r=[];for(let o=i.from;o<=i.to;){let l=t.doc.lineAt(o);l.number>n&&(i.empty||i.to>l.from)&&(e(l,r,i),n=l.number),o=l.to+1}let s=t.changes(r);return{changes:r,range:C.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const yT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),i=new Rc(t,{overrideIndentation:s=>{let o=n[s];return o??-1}}),r=fp(t,(s,o,l)=>{let a=ap(i,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let c=/^\s*/.exec(s.text)[0],u=To(t,a);(c!=u||l.from<s.from+c.length)&&(n[s.from]=a,o.push({from:s.from,to:s.from+c.length,insert:u}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},xT=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(fp(t,(n,i)=>{i.push({from:n.from,insert:t.facet(Mc)})}),{userEvent:"input.indent"})),!0),vT=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(fp(t,(n,i)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let s=as(r,t.tabSize),o=0,l=To(t,Math.max(0,s-Va(t)));for(;o<r.length&&o<l.length&&r.charCodeAt(o)==l.charCodeAt(o);)o++;i.push({from:n.from+o,to:n.from+r.length,insert:l.slice(o)})}),{userEvent:"delete.dedent"})),!0),ST=t=>(t.setTabFocusMode(),!0),wT=[{key:"Ctrl-b",run:Sv,shift:Av,preventDefault:!0},{key:"Ctrl-f",run:wv,shift:Mv},{key:"Ctrl-p",run:Qv,shift:jv},{key:"Ctrl-n",run:Pv,shift:Zv},{key:"Ctrl-a",run:_C,shift:HC},{key:"Ctrl-e",run:XC,shift:KC},{key:"Ctrl-d",run:_v},{key:"Ctrl-h",run:zf},{key:"Ctrl-k",run:oT},{key:"Ctrl-Alt-h",run:Iv},{key:"Ctrl-o",run:cT},{key:"Ctrl-t",run:uT},{key:"Ctrl-v",run:Lf}],kT=[{key:"ArrowLeft",run:Sv,shift:Av,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:AC,shift:BC,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:LC,shift:qC,preventDefault:!0},{key:"ArrowRight",run:wv,shift:Mv,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:MC,shift:WC,preventDefault:!0},{mac:"Cmd-ArrowRight",run:zC,shift:GC,preventDefault:!0},{key:"ArrowUp",run:Qv,shift:jv,preventDefault:!0},{mac:"Cmd-ArrowUp",run:oO,shift:aO},{mac:"Ctrl-ArrowUp",run:iO,shift:rO},{key:"ArrowDown",run:Pv,shift:Zv,preventDefault:!0},{mac:"Cmd-ArrowDown",run:lO,shift:cO},{mac:"Ctrl-ArrowDown",run:Lf,shift:sO},{key:"PageUp",run:iO,shift:rO},{key:"PageDown",run:Lf,shift:sO},{key:"Home",run:DC,shift:UC,preventDefault:!0},{key:"Mod-Home",run:oO,shift:aO},{key:"End",run:ZC,shift:YC,preventDefault:!0},{key:"Mod-End",run:lO,shift:cO},{key:"Enter",run:uO,shift:uO},{key:"Mod-a",run:JC},{key:"Backspace",run:zf,shift:zf,preventDefault:!0},{key:"Delete",run:_v,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Iv,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:sT,preventDefault:!0},{mac:"Mod-Backspace",run:lT,preventDefault:!0},{mac:"Mod-Delete",run:aT,preventDefault:!0}].concat(wT.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),bT=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:EC,shift:FC},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:jC,shift:VC},{key:"Alt-ArrowUp",run:hT},{key:"Shift-Alt-ArrowUp",run:dT},{key:"Alt-ArrowDown",run:fT},{key:"Shift-Alt-ArrowDown",run:pT},{key:"Mod-Alt-ArrowUp",run:nT},{key:"Mod-Alt-ArrowDown",run:iT},{key:"Escape",run:rT},{key:"Mod-Enter",run:OT},{key:"Alt-l",mac:"Ctrl-l",run:eT},{key:"Mod-i",run:tT,preventDefault:!0},{key:"Mod-[",run:vT},{key:"Mod-]",run:xT},{key:"Mod-Alt-\\",run:yT},{key:"Shift-Mod-k",run:mT},{key:"Shift-Mod-\\",run:NC},{key:"Mod-/",run:hC},{key:"Alt-A",run:dC},{key:"Ctrl-m",mac:"Shift-Alt-m",run:ST}].concat(kT),hO=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class es{constructor(e,n,i=0,r=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=s?l=>s(hO(l)):hO,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return gt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=Nd(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=vn(e);let r=this.normalize(n);if(r.length)for(let s=0,o=i;;s++){let l=r.charCodeAt(s),a=this.match(l,o,this.bufferPos+this.bufferStart);if(s==r.length-1){if(a)return this.value=a,this;break}o==i&&s<n.length&&n.charCodeAt(s)==l&&o++}}}match(e,n,i){let r=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],l=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?r={from:this.matches[s+1],to:i}:(this.matches[s]++,l=!0)),l||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?r={from:n,to:i}:this.matches.push(1,n)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}}typeof Symbol<"u"&&(es.prototype[Symbol.iterator]=function(){return this});const Fv={from:-1,to:-1,match:/.*/.exec("")},dp="gm"+(/x/.unicode==null?"":"u");class Vv{constructor(e,n,i,r=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=Fv,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new Yv(e,n,i,r,s);this.re=new RegExp(n,dp+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.iter=e.iter();let o=e.lineAt(r);this.curLineStart=o.from,this.matchPos=Ga(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let i=this.curLineStart+n.index,r=i+n[0].length;if(this.matchPos=Ga(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<r||i>this.value.to)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Wu=new WeakMap;class zr{constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,i){let r=Wu.get(e);if(!r||r.from>=i||r.to<=n){let l=new zr(n,e.sliceString(n,i));return Wu.set(e,l),l}if(r.from==n&&r.to==i)return r;let{text:s,from:o}=r;return o>n&&(s=e.sliceString(n,o)+s,o=n),r.to<i&&(s+=e.sliceString(r.to,i)),Wu.set(e,new zr(o,s)),new zr(n,s.slice(n-o,i-o))}}class Yv{constructor(e,n,i,r,s){this.text=e,this.to=s,this.done=!1,this.value=Fv,this.matchPos=Ga(e,r),this.re=new RegExp(n,dp+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.flat=zr.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let i=this.flat.from+n.index,r=i+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,match:n},this.matchPos=Ga(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=zr.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Vv.prototype[Symbol.iterator]=Yv.prototype[Symbol.iterator]=function(){return this});function QT(t){try{return new RegExp(t,dp),!0}catch{return!1}}function Ga(t,e){if(e>=t.length)return e;let n=t.lineAt(e),i;for(;e<n.to&&(i=n.text.charCodeAt(e-n.from))>=56320&&i<57344;)e++;return e}function _f(t){let e=String(t.state.doc.lineAt(t.state.selection.main.head).number),n=he("input",{class:"cm-textfield",name:"line",value:e}),i=he("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),t.dispatch({effects:Js.of(!1)}),t.focus()):s.keyCode==13&&(s.preventDefault(),r())},onsubmit:s=>{s.preventDefault(),r()}},he("label",t.state.phrase("Go to line"),": ",n)," ",he("button",{class:"cm-button",type:"submit"},t.state.phrase("go")),he("button",{name:"close",onclick:()=>{t.dispatch({effects:Js.of(!1)}),t.focus()},"aria-label":t.state.phrase("close"),type:"button"},["ร"]));function r(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.value);if(!s)return;let{state:o}=t,l=o.doc.lineAt(o.selection.main.head),[,a,c,u,h]=s,f=u?+u.slice(1):0,d=c?+c:l.number;if(c&&h){let v=d/100;a&&(v=v*(a=="-"?-1:1)+l.number/o.doc.lines),d=Math.round(o.doc.lines*v)}else c&&a&&(d=d*(a=="-"?-1:1)+l.number);let m=o.doc.line(Math.max(1,Math.min(o.doc.lines,d))),y=C.cursor(m.from+Math.max(0,Math.min(f,m.length)));t.dispatch({effects:[Js.of(!1),D.scrollIntoView(y.from,{y:"center"})],selection:y}),t.focus()}return{dom:i}}const Js=Y.define(),fO=Be.define({create(){return!0},update(t,e){for(let n of e.effects)n.is(Js)&&(t=n.value);return t},provide:t=>Po.from(t,e=>e?_f:null)}),PT=t=>{let e=Qo(t,_f);if(!e){let n=[Js.of(!0)];t.state.field(fO,!1)==null&&n.push(Y.appendConfig.of([fO,$T])),t.dispatch({effects:n}),e=Qo(t,_f)}return e&&e.dom.querySelector("input").select(),!0},$T=D.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),CT={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},TT=L.define({combine(t){return Tn(t,CT,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function AT(t){return[ZT,jT]}const MT=W.mark({class:"cm-selectionMatch"}),RT=W.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function dO(t,e,n,i){return(n==0||t(e.sliceDoc(n-1,n))!=xe.Word)&&(i==e.doc.length||t(e.sliceDoc(i,i+1))!=xe.Word)}function ET(t,e,n,i){return t(e.sliceDoc(n,n+1))==xe.Word&&t(e.sliceDoc(i-1,i))==xe.Word}const jT=Me.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(TT),{state:n}=t,i=n.selection;if(i.ranges.length>1)return W.none;let r=i.main,s,o=null;if(r.empty){if(!e.highlightWordAroundCursor)return W.none;let a=n.wordAt(r.head);if(!a)return W.none;o=n.charCategorizer(r.head),s=n.sliceDoc(a.from,a.to)}else{let a=r.to-r.from;if(a<e.minSelectionLength||a>200)return W.none;if(e.wholeWords){if(s=n.sliceDoc(r.from,r.to),o=n.charCategorizer(r.head),!(dO(o,n,r.from,r.to)&&ET(o,n,r.from,r.to)))return W.none}else if(s=n.sliceDoc(r.from,r.to),!s)return W.none}let l=[];for(let a of t.visibleRanges){let c=new es(n.doc,s,a.from,a.to);for(;!c.next().done;){let{from:u,to:h}=c.value;if((!o||dO(o,n,u,h))&&(r.empty&&u<=r.from&&h>=r.to?l.push(RT.range(u,h)):(u>=r.to||h<=r.from)&&l.push(MT.range(u,h)),l.length>e.maxMatches))return W.none}}return W.set(l)}},{decorations:t=>t.decorations}),ZT=D.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),DT=({state:t,dispatch:e})=>{let{selection:n}=t,i=C.create(n.ranges.map(r=>t.wordAt(r.head)||C.cursor(r.head)),n.mainIndex);return i.eq(n)?!1:(e(t.update({selection:i})),!0)};function LT(t,e){let{main:n,ranges:i}=t.selection,r=t.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let o=!1,l=new es(t.doc,e,i[i.length-1].to);;)if(l.next(),l.done){if(o)return null;l=new es(t.doc,e,0,Math.max(0,i[i.length-1].from-1)),o=!0}else{if(o&&i.some(a=>a.from==l.value.from))continue;if(s){let a=t.wordAt(l.value.from);if(!a||a.from!=l.value.from||a.to!=l.value.to)continue}return l.value}}const zT=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(s=>s.from===s.to))return DT({state:t,dispatch:e});let i=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(s=>t.sliceDoc(s.from,s.to)!=i))return!1;let r=LT(t,i);return r?(e(t.update({selection:t.selection.addRange(C.range(r.from,r.to),!1),effects:D.scrollIntoView(r.to)})),!0):!1},us=L.define({combine(t){return Tn(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new GT(e),scrollToMatch:e=>D.scrollIntoView(e)})}});class Uv{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||QT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,i)=>i=="n"?`
|
|
113
|
+
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new NT(this):new XT(this)}getCursor(e,n=0,i){let r=e.doc?e:ne.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?hr(this,r,n,i):ur(this,r,n,i)}}class qv{constructor(e){this.spec=e}}function ur(t,e,n,i){return new es(e.doc,t.unquoted,n,i,t.caseSensitive?void 0:r=>r.toLowerCase(),t.wholeWord?_T(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function _T(t,e){return(n,i,r,s)=>((s>n||s+r.length<i)&&(s=Math.max(0,n-2),r=t.sliceString(s,Math.min(t.length,i+2))),(e(Ha(r,n-s))!=xe.Word||e(Ka(r,n-s))!=xe.Word)&&(e(Ka(r,i-s))!=xe.Word||e(Ha(r,i-s))!=xe.Word))}class XT extends qv{constructor(e){super(e)}nextMatch(e,n,i){let r=ur(this.spec,e,i,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,n+this.spec.unquoted.length);r=ur(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==n&&r.value.to==i?null:r.value}prevMatchInRange(e,n,i){for(let r=i;;){let s=Math.max(n,r-1e4-this.spec.unquoted.length),o=ur(this.spec,e,s,r),l=null;for(;!o.nextOverlapping().done;)l=o.value;if(l)return l;if(s==n)return null;r-=1e4}}prevMatch(e,n,i){let r=this.prevMatchInRange(e,0,n);return r||(r=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=n||r.to!=i)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let i=ur(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=n)return null;r.push(i.value)}return r}highlight(e,n,i,r){let s=ur(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function hr(t,e,n,i){return new Vv(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:t.wholeWord?IT(e.charCategorizer(e.selection.main.head)):void 0},n,i)}function Ha(t,e){return t.slice(Ue(t,e,!1),e)}function Ka(t,e){return t.slice(e,Ue(t,e))}function IT(t){return(e,n,i)=>!i[0].length||(t(Ha(i.input,i.index))!=xe.Word||t(Ka(i.input,i.index))!=xe.Word)&&(t(Ka(i.input,i.index+i[0].length))!=xe.Word||t(Ha(i.input,i.index+i[0].length))!=xe.Word)}class NT extends qv{nextMatch(e,n,i){let r=hr(this.spec,e,i,e.doc.length).next();return r.done&&(r=hr(this.spec,e,0,n).next()),r.done?null:r.value}prevMatchInRange(e,n,i){for(let r=1;;r++){let s=Math.max(n,i-r*1e4),o=hr(this.spec,e,s,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(s==n||l.from>s+10))return l;if(s==n)return null}}prevMatch(e,n,i){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+i.slice(r)}return n})}matchAll(e,n){let i=hr(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=n)return null;r.push(i.value)}return r}highlight(e,n,i,r){let s=hr(this.spec,e,Math.max(0,n-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const Ao=Y.define(),pp=Y.define(),vi=Be.define({create(t){return new Fu(Xf(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Ao)?t=new Fu(n.value.create(),t.panel):n.is(pp)&&(t=new Fu(t.query,n.value?mp:null));return t},provide:t=>Po.from(t,e=>e.panel)});class Fu{constructor(e,n){this.query=e,this.panel=n}}const BT=W.mark({class:"cm-searchMatch"}),WT=W.mark({class:"cm-searchMatch cm-searchMatch-selected"}),FT=Me.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(vi))}update(t){let e=t.state.field(vi);(e!=t.startState.field(vi)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return W.none;let{view:n}=this,i=new Vn;for(let r=0,s=n.visibleRanges,o=s.length;r<o;r++){let{from:l,to:a}=s[r];for(;r<o-1&&a>s[r+1].from-2*250;)a=s[++r].to;t.highlight(n.state,l,a,(c,u)=>{let h=n.state.selection.ranges.some(f=>f.from==c&&f.to==u);i.add(c,u,h?WT:BT)})}return i.finish()}},{decorations:t=>t.decorations});function qo(t){return e=>{let n=e.state.field(vi,!1);return n&&n.query.spec.valid?t(e,n):Kv(e)}}const Ja=qo((t,{query:e})=>{let{to:n}=t.state.selection.main,i=e.nextMatch(t.state,n,n);if(!i)return!1;let r=C.single(i.from,i.to),s=t.state.facet(us);return t.dispatch({selection:r,effects:[gp(t,i),s.scrollToMatch(r.main,t)],userEvent:"select.search"}),Hv(t),!0}),ec=qo((t,{query:e})=>{let{state:n}=t,{from:i}=n.selection.main,r=e.prevMatch(n,i,i);if(!r)return!1;let s=C.single(r.from,r.to),o=t.state.facet(us);return t.dispatch({selection:s,effects:[gp(t,r),o.scrollToMatch(s.main,t)],userEvent:"select.search"}),Hv(t),!0}),VT=qo((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:C.create(n.map(i=>C.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),YT=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],o=0;for(let l=new es(t.doc,t.sliceDoc(i,r));!l.next().done;){if(s.length>1e3)return!1;l.value.from==i&&(o=s.length),s.push(C.range(l.value.from,l.value.to))}return e(t.update({selection:C.create(s,o),userEvent:"select.search.matches"})),!0},pO=qo((t,{query:e})=>{let{state:n}=t,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=e.nextMatch(n,i,i);if(!s)return!1;let o=s,l=[],a,c,u=[];o.from==i&&o.to==r&&(c=n.toText(e.getReplacement(o)),l.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(n,o.from,o.to),u.push(D.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+".")));let h=t.state.changes(l);return o&&(a=C.single(o.from,o.to).map(h),u.push(gp(t,o)),u.push(n.facet(us).scrollToMatch(a.main,t))),t.dispatch({changes:h,selection:a,effects:u,userEvent:"input.replace"}),!0}),UT=qo((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(r=>{let{from:s,to:o}=r;return{from:s,to:o,insert:e.getReplacement(r)}});if(!n.length)return!1;let i=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:D.announce.of(i),userEvent:"input.replace.all"}),!0});function mp(t){return t.state.facet(us).createPanel(t)}function Xf(t,e){var n,i,r,s,o;let l=t.selection.main,a=l.empty||l.to>l.from+100?"":t.sliceDoc(l.from,l.to);if(e&&!a)return e;let c=t.facet(us);return new Uv({search:((n=e==null?void 0:e.literal)!==null&&n!==void 0?n:c.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:c.caseSensitive,literal:(r=e==null?void 0:e.literal)!==null&&r!==void 0?r:c.literal,regexp:(s=e==null?void 0:e.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function Gv(t){let e=Qo(t,mp);return e&&e.dom.querySelector("[main-field]")}function Hv(t){let e=Gv(t);e&&e==t.root.activeElement&&e.select()}const Kv=t=>{let e=t.state.field(vi,!1);if(e&&e.panel){let n=Gv(t);if(n&&n!=t.root.activeElement){let i=Xf(t.state,e.query.spec);i.valid&&t.dispatch({effects:Ao.of(i)}),n.focus(),n.select()}}else t.dispatch({effects:[pp.of(!0),e?Ao.of(Xf(t.state,e.query.spec)):Y.appendConfig.of(KT)]});return!0},Jv=t=>{let e=t.state.field(vi,!1);if(!e||!e.panel)return!1;let n=Qo(t,mp);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:pp.of(!1)}),!0},qT=[{key:"Mod-f",run:Kv,scope:"editor search-panel"},{key:"F3",run:Ja,shift:ec,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Ja,shift:ec,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Jv,scope:"editor search-panel"},{key:"Mod-Shift-l",run:YT},{key:"Mod-Alt-g",run:PT},{key:"Mod-d",run:zT,preventDefault:!0}];class GT{constructor(e){this.view=e;let n=this.query=e.state.field(vi).query.spec;this.commit=this.commit.bind(this),this.searchField=he("input",{value:n.search,placeholder:$t(e,"Find"),"aria-label":$t(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=he("input",{value:n.replace,placeholder:$t(e,"Replace"),"aria-label":$t(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=he("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=he("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=he("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(r,s,o){return he("button",{class:"cm-button",name:r,onclick:s,type:"button"},o)}this.dom=he("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>Ja(e),[$t(e,"next")]),i("prev",()=>ec(e),[$t(e,"previous")]),i("select",()=>VT(e),[$t(e,"all")]),he("label",null,[this.caseField,$t(e,"match case")]),he("label",null,[this.reField,$t(e,"regexp")]),he("label",null,[this.wordField,$t(e,"by word")]),...e.state.readOnly?[]:[he("br"),this.replaceField,i("replace",()=>pO(e),[$t(e,"replace")]),i("replaceAll",()=>UT(e),[$t(e,"replace all")])],he("button",{name:"close",onclick:()=>Jv(e),"aria-label":$t(e,"close"),type:"button"},["ร"])])}commit(){let e=new Uv({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Ao.of(e)}))}keydown(e){i2(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ec:Ja)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),pO(this.view))}update(e){for(let n of e.transactions)for(let i of n.effects)i.is(Ao)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(us).top}}function $t(t,e){return t.state.phrase(e)}const Dl=30,Ll=/[\s\.,:;?!]/;function gp(t,{from:e,to:n}){let i=t.state.doc.lineAt(e),r=t.state.doc.lineAt(n).to,s=Math.max(i.from,e-Dl),o=Math.min(r,n+Dl),l=t.state.sliceDoc(s,o);if(s!=i.from){for(let a=0;a<Dl;a++)if(!Ll.test(l[a+1])&&Ll.test(l[a])){l=l.slice(a);break}}if(o!=r){for(let a=l.length-1;a>l.length-Dl;a--)if(!Ll.test(l[a-1])&&Ll.test(l[a])){l=l.slice(0,a);break}}return D.announce.of(`${t.state.phrase("current match")}. ${l} ${t.state.phrase("on line")} ${i.number}.`)}const HT=D.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),KT=[vi,Mi.low(FT),HT];class eS{constructor(e,n,i,r){this.state=e,this.pos=n,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=ze(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),i=Math.max(n.from,this.pos-250),r=n.text.slice(i-n.from,this.pos-n.from),s=r.search(nS(e,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function mO(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function JT(t){let e=Object.create(null),n=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let s=1;s<r.length;s++)n[r[s]]=!0}let i=mO(e)+mO(n)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function tS(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[n,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:JT(e);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:n}:null}}function eA(t,e){return n=>{for(let i=ze(n.state).resolveInner(n.pos,-1);i;i=i.parent){if(t.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(n)}}class gO{constructor(e,n,i,r){this.completion=e,this.source=n,this.match=i,this.score=r}}function Yi(t){return t.selection.main.from}function nS(t,e){var n;let{source:i}=t,r=e&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?t:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const Op=Hn.define();function tA(t,e,n,i){let{main:r}=t.selection,s=n-r.from,o=i-r.from;return{...t.changeByRange(l=>{if(l!=r&&n!=i&&t.sliceDoc(l.from+s,l.from+o)!=t.sliceDoc(n,i))return{range:l};let a=t.toText(e);return{changes:{from:l.from+s,to:i==r.from?l.to:l.from+o,insert:a},range:C.cursor(l.from+s+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const OO=new WeakMap;function nA(t){if(!Array.isArray(t))return t;let e=OO.get(t);return e||OO.set(t,e=tS(t)),e}const tc=Y.define(),Mo=Y.define();class iA{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let i=gt(e,n),r=vn(i);this.chars.push(i);let s=e.slice(n,n+r),o=s.toUpperCase();this.folded.push(gt(o==s?s.toLowerCase():o,0)),n+=r}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:n,folded:i,any:r,precise:s,byWord:o}=this;if(n.length==1){let g=gt(e,0),x=vn(g),S=x==e.length?0:-100;if(g!=n[0])if(g==i[0])S+=-200;else return null;return this.ret(S,[0,x])}let l=e.indexOf(this.pattern);if(l==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=n.length,c=0;if(l<0){for(let g=0,x=Math.min(e.length,200);g<x&&c<a;){let S=gt(e,g);(S==n[c]||S==i[c])&&(r[c++]=g),g+=vn(S)}if(c<a)return null}let u=0,h=0,f=!1,d=0,m=-1,y=-1,v=/[a-z]/.test(e),O=!0;for(let g=0,x=Math.min(e.length,200),S=0;g<x&&h<a;){let k=gt(e,g);l<0&&(u<a&&k==n[u]&&(s[u++]=g),d<a&&(k==n[d]||k==i[d]?(d==0&&(m=g),y=g+1,d++):d=0));let b,Q=k<255?k>=48&&k<=57||k>=97&&k<=122?2:k>=65&&k<=90?1:0:(b=Nd(k))!=b.toLowerCase()?1:b!=b.toUpperCase()?2:0;(!g||Q==1&&v||S==0&&Q!=0)&&(n[h]==k||i[h]==k&&(f=!0)?o[h++]=g:o.length&&(O=!1)),S=Q,g+=vn(k)}return h==a&&o[0]==0&&O?this.result(-100+(f?-200:0),o,e):d==a&&m==0?this.ret(-200-e.length+(y==e.length?0:-100),[0,y]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):d==a?this.ret(-900-e.length,[m,y]):h==a?this.result(-100+(f?-200:0)+-700+(O?0:-1100),o,e):n.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,n,i){let r=[],s=0;for(let o of n){let l=o+(this.astral?vn(gt(i,o)):1);s&&r[s-1]==o?r[s-1]=l:(r[s++]=o,r[s++]=l)}return this.ret(e-i.length,r)}}class rA{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let n=e.slice(0,this.pattern.length),i=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return i==null?null:(this.matched=[0,n.length],this.score=i+(e.length==this.pattern.length?0:-100),this)}}const Xe=L.define({combine(t){return Tn(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:sA,filterStrict:!1,compareCompletions:(e,n)=>e.label.localeCompare(n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>i=>yO(e(i),n(i)),optionClass:(e,n)=>i=>yO(e(i),n(i)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function yO(t,e){return t?e?t+" "+e:t:e}function sA(t,e,n,i,r,s){let o=t.textDirection==Oe.RTL,l=o,a=!1,c="top",u,h,f=e.left-r.left,d=r.right-e.right,m=i.right-i.left,y=i.bottom-i.top;if(l&&f<Math.min(m,d)?l=!1:!l&&d<Math.min(m,f)&&(l=!0),m<=(l?f:d))u=Math.max(r.top,Math.min(n.top,r.bottom-y))-e.top,h=Math.min(400,l?f:d);else{a=!0,h=Math.min(400,(o?e.right:r.right-e.left)-30);let g=r.bottom-e.bottom;g>=y||g>e.top?u=n.bottom-e.top:(c="bottom",u=e.bottom-n.top)}let v=(e.bottom-e.top)/s.offsetHeight,O=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${u/v}px; max-width: ${h/O}px`,class:"cm-completionInfo-"+(a?o?"left-narrow":"right-narrow":l?"left":"right")}}function oA(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),n.type&&i.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(n,i,r,s){let o=document.createElement("span");o.className="cm-completionLabel";let l=n.displayLabel||n.label,a=0;for(let c=0;c<s.length;){let u=s[c++],h=s[c++];u>a&&o.appendChild(document.createTextNode(l.slice(a,u)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(l.slice(u,h))),f.className="cm-completionMatchedText",a=h}return a<l.length&&o.appendChild(document.createTextNode(l.slice(a))),o},position:50},{render(n){if(!n.detail)return null;let i=document.createElement("span");return i.className="cm-completionDetail",i.textContent=n.detail,i},position:80}),e.sort((n,i)=>n.position-i.position).map(n=>n.render)}function Vu(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/n);return{from:r*n,to:(r+1)*n}}let i=Math.floor((t-e)/n);return{from:t-(i+1)*n,to:t-i*n}}class lA{constructor(e,n,i){this.view=e,this.stateField=n,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let r=e.state.field(n),{options:s,selected:o}=r.open,l=e.state.facet(Xe);this.optionContent=oA(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=Vu(s.length,o,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{let{options:c}=e.state.field(n).open;for(let u=a.target,h;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(h=/-(\d+)$/.exec(u.id))&&+h[1]<c.length){this.applyCompletion(e,c[+h[1]]),a.preventDefault();return}}),this.dom.addEventListener("focusout",a=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Xe).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:Mo.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:s,selected:o,disabled:l}=i.open;(!r.open||r.open.options!=s)&&(this.range=Vu(s.length,o,e.state.facet(Xe).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),l!=((n=r.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!l)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of n.split(" "))i&&this.dom.classList.add(i);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;(n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=Vu(n.options.length,n.selected,this.view.state.facet(Xe).maxRenderedOptions),this.showOptions(n.options,e.id));let i=this.updateSelectedOption(n.selected);if(i){this.destroyInfo();let{completion:r}=n.options[n.selected],{info:s}=r;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(r);if(!o)return;"then"in o?o.then(l=>{l&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(l,r)}).catch(l=>xt(this.view.state,l,"completion info")):(this.addInfoPane(o,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:s}=e;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),n=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return n&&cA(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return r.top>Math.min(s.bottom,n.bottom)-10||r.bottom<Math.max(s.top,n.top)+10?null:this.view.state.facet(Xe).positionInfo(this.view,n,r,i,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,i){const r=document.createElement("ul");r.id=n,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",o=>{o.target==r&&o.preventDefault()});let s=null;for(let o=i.from;o<i.to;o++){let{completion:l,match:a}=e[o],{section:c}=l;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(o>i.from||i.from==0))if(s=f,typeof c!="string"&&c.header)r.appendChild(c.header(c));else{let d=r.appendChild(document.createElement("completion-section"));d.textContent=f}}const u=r.appendChild(document.createElement("li"));u.id=n+"-"+o,u.setAttribute("role","option");let h=this.optionClass(l);h&&(u.className=h);for(let f of this.optionContent){let d=f(l,this.view.state,this.view,a);d&&u.appendChild(d)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function aA(t,e){return n=>new lA(n,t,e)}function cA(t,e){let n=t.getBoundingClientRect(),i=e.getBoundingClientRect(),r=n.height/t.offsetHeight;i.top<n.top?t.scrollTop-=(n.top-i.top)/r:i.bottom>n.bottom&&(t.scrollTop+=(i.bottom-n.bottom)/r)}function xO(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function uA(t,e){let n=[],i=null,r=null,s=u=>{n.push(u);let{section:h}=u.completion;if(h){i||(i=[]);let f=typeof h=="string"?h:h.name;i.some(d=>d.name==f)||i.push(typeof h=="string"?{name:f}:h)}},o=e.facet(Xe);for(let u of t)if(u.hasResult()){let h=u.result.getMatch;if(u.result.filter===!1)for(let f of u.result.options)s(new gO(f,u.source,h?h(f):[],1e9-n.length));else{let f=e.sliceDoc(u.from,u.to),d,m=o.filterStrict?new rA(f):new iA(f);for(let y of u.result.options)if(d=m.match(y.label)){let v=y.displayLabel?h?h(y,d.matched):[]:d.matched,O=d.score+(y.boost||0);if(s(new gO(y,u.source,v,O)),typeof y.section=="object"&&y.section.rank==="dynamic"){let{name:g}=y.section;r||(r=Object.create(null)),r[g]=Math.max(O,r[g]||-1e9)}}}}if(i){let u=Object.create(null),h=0,f=(d,m)=>(d.rank==="dynamic"&&m.rank==="dynamic"?r[m.name]-r[d.name]:0)||(typeof d.rank=="number"?d.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(d.name<m.name?-1:1);for(let d of i.sort(f))h-=1e5,u[d.name]=h;for(let d of n){let{section:m}=d.completion;m&&(d.score+=u[typeof m=="string"?m:m.name])}}let l=[],a=null,c=o.compareCompletions;for(let u of n.sort((h,f)=>f.score-h.score||c(h.completion,f.completion))){let h=u.completion;!a||a.label!=h.label||a.detail!=h.detail||a.type!=null&&h.type!=null&&a.type!=h.type||a.apply!=h.apply||a.boost!=h.boost?l.push(u):xO(u.completion)>xO(a)&&(l[l.length-1]=u),a=u.completion}return l}class $r{constructor(e,n,i,r,s,o){this.options=e,this.attrs=n,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=o}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new $r(this.options,vO(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,i,r,s,o){if(r&&!o&&e.some(c=>c.isPending))return r.setDisabled();let l=uA(e,n);if(!l.length)return r&&e.some(c=>c.isPending)?r.setDisabled():null;let a=n.facet(Xe).selectOnOpen?0:-1;if(r&&r.selected!=a&&r.selected!=-1){let c=r.options[r.selected].completion;for(let u=0;u<l.length;u++)if(l[u].completion==c){a=u;break}}return new $r(l,vO(i,a),{pos:e.reduce((c,u)=>u.hasResult()?Math.min(c,u.from):c,1e8),create:gA,above:s.aboveCursor},r?r.timestamp:Date.now(),a,!1)}map(e){return new $r(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new $r(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class nc{constructor(e,n,i){this.active=e,this.id=n,this.open=i}static start(){return new nc(pA,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,i=n.facet(Xe),s=(i.override||n.languageDataAt("autocomplete",Yi(n)).map(nA)).map(a=>(this.active.find(u=>u.source==a)||new Bt(a,this.active.some(u=>u.state!=0)?1:0)).update(e,i));s.length==this.active.length&&s.every((a,c)=>a==this.active[c])&&(s=this.active);let o=this.open,l=e.effects.some(a=>a.is(yp));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(a=>a.hasResult()&&e.changes.touchesRange(a.from,a.to))||!hA(s,this.active)||l?o=$r.build(s,n,this.id,o,i,l):o&&o.disabled&&!s.some(a=>a.isPending)&&(o=null),!o&&s.every(a=>!a.isPending)&&s.some(a=>a.hasResult())&&(s=s.map(a=>a.hasResult()?new Bt(a.source,0):a));for(let a of e.effects)a.is(rS)&&(o=o&&o.setSelected(a.value,this.id));return s==this.active&&o==this.open?this:new nc(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?fA:dA}}function hA(t,e){if(t==e)return!0;for(let n=0,i=0;;){for(;n<t.length&&!t[n].hasResult();)n++;for(;i<e.length&&!e[i].hasResult();)i++;let r=n==t.length,s=i==e.length;if(r||s)return r==s;if(t[n++].result!=e[i++].result)return!1}}const fA={"aria-autocomplete":"list"},dA={};function vO(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}const pA=[];function iS(t,e){if(t.isUserEvent("input.complete")){let i=t.annotation(Op);if(i&&e.activateOnCompletion(i))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class Bt{constructor(e,n,i=!1){this.source=e,this.state=n,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let i=iS(e,n),r=this;(i&8||i&16&&this.touches(e))&&(r=new Bt(r.source,0)),i&4&&r.state==0&&(r=new Bt(this.source,1)),r=r.updateFor(e,i);for(let s of e.effects)if(s.is(tc))r=new Bt(r.source,1,s.value);else if(s.is(Mo))r=new Bt(r.source,0);else if(s.is(yp))for(let o of s.value)o.source==r.source&&(r=o);return r}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Yi(e.state))}}class _r extends Bt{constructor(e,n,i,r,s,o){super(e,3,n),this.limit=i,this.result=r,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,n){var i;if(!(n&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),l=Yi(e.state);if(l>o||!r||n&2&&(Yi(e.startState)==this.from||l<this.limit))return new Bt(this.source,n&4?1:0);let a=e.changes.mapPos(this.limit);return mA(r.validFor,e.state,s,o)?new _r(this.source,this.explicit,a,r,s,o):r.update&&(r=r.update(r,s,o,new eS(e.state,l,!1)))?new _r(this.source,this.explicit,a,r,r.from,(i=r.to)!==null&&i!==void 0?i:Yi(e.state)):new Bt(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new _r(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Bt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function mA(t,e,n,i){if(!t)return!1;let r=e.sliceDoc(n,i);return typeof t=="function"?t(r,n,i,e):nS(t,!0).test(r)}const yp=Y.define({map(t,e){return t.map(n=>n.map(e))}}),rS=Y.define(),Ot=Be.define({create(){return nc.start()},update(t,e){return t.update(e)},provide:t=>[np.from(t,e=>e.tooltip),D.contentAttributes.from(t,e=>e.attrs)]});function xp(t,e){const n=e.completion.apply||e.completion.label;let i=t.state.field(Ot).active.find(r=>r.source==e.source);return i instanceof _r?(typeof n=="string"?t.dispatch({...tA(t.state,n,i.from,i.to),annotations:Op.of(e.completion)}):n(t,e.completion,i.from,i.to),!0):!1}const gA=aA(Ot,xp);function zl(t,e="option"){return n=>{let i=n.state.field(Ot,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<n.state.facet(Xe).interactionDelay)return!1;let r=1,s;e=="page"&&(s=zx(n,i.open.tooltip))&&(r=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=i.open.options,l=i.open.selected>-1?i.open.selected+r*(t?1:-1):t?0:o-1;return l<0?l=e=="page"?0:o-1:l>=o&&(l=e=="page"?o-1:0),n.dispatch({effects:rS.of(l)}),!0}}const OA=t=>{let e=t.state.field(Ot,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(Xe).interactionDelay?!1:xp(t,e.open.options[e.open.selected])},Yu=t=>t.state.field(Ot,!1)?(t.dispatch({effects:tc.of(!0)}),!0):!1,yA=t=>{let e=t.state.field(Ot,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:Mo.of(null)}),!0)};class xA{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const vA=50,SA=1e3,wA=Me.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Ot).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Ot),n=t.state.facet(Xe);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Ot)==e)return;let i=t.transactions.some(s=>{let o=iS(s,n);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(i||o.context.abortOnDocChange&&t.docChanged||o.updates.length+t.transactions.length>vA&&Date.now()-o.time>SA){for(let l of o.context.abortListeners)try{l()}catch(a){xt(this.view.state,a)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(s=>s.effects.some(o=>o.is(tc)))&&(this.pendingStart=!0);let r=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of t.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Ot);for(let n of e.active)n.isPending&&!this.running.some(i=>i.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Xe).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=Yi(e),i=new eS(e,n,t.explicit,this.view),r=new xA(t,i);this.running.push(r),Promise.resolve(t.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Mo.of(null)}),xt(this.view.state,s)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Xe).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Xe),i=this.view.state.field(Ot);for(let r=0;r<this.running.length;r++){let s=this.running[r];if(s.done===void 0)continue;if(this.running.splice(r--,1),s.done){let l=Yi(s.updates.length?s.updates[0].startState:this.view.state),a=Math.min(l,s.done.from+(s.active.explicit?0:1)),c=new _r(s.active.source,s.active.explicit,a,s.done,s.done.from,(t=s.done.to)!==null&&t!==void 0?t:l);for(let u of s.updates)c=c.update(u,n);if(c.hasResult()){e.push(c);continue}}let o=i.active.find(l=>l.source==s.active.source);if(o&&o.isPending)if(s.done==null){let l=new Bt(s.active.source,0);for(let a of s.updates)l=l.update(a,n);l.isPending||e.push(l)}else this.startQuery(o)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:yp.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Ot,!1);if(e&&e.tooltip&&this.view.state.facet(Xe).closeOnBlur){let n=e.open&&zx(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Mo.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:tc.of(!1)}),20),this.composing=0}}}),kA=typeof navigator=="object"&&/Win/.test(navigator.platform),bA=Mi.highest(D.domEventHandlers({keydown(t,e){let n=e.state.field(Ot,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(kA&&t.altKey)||t.metaKey)return!1;let i=n.open.options[n.open.selected],r=n.active.find(o=>o.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(t.key)>-1&&xp(e,i),!1}})),sS=D.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"ยทยทยท"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ฦ'"}},".cm-completionIcon-class":{"&:after":{content:"'โ'"}},".cm-completionIcon-interface":{"&:after":{content:"'โ'"}},".cm-completionIcon-variable":{"&:after":{content:"'๐ฅ'"}},".cm-completionIcon-constant":{"&:after":{content:"'๐ถ'"}},".cm-completionIcon-type":{"&:after":{content:"'๐ก'"}},".cm-completionIcon-enum":{"&:after":{content:"'โช'"}},".cm-completionIcon-property":{"&:after":{content:"'โก'"}},".cm-completionIcon-keyword":{"&:after":{content:"'๐๏ธ'"}},".cm-completionIcon-namespace":{"&:after":{content:"'โข'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class QA{constructor(e,n,i,r){this.field=e,this.line=n,this.from=i,this.to=r}}class vp{constructor(e,n,i){this.field=e,this.from=n,this.to=i}map(e){let n=e.mapPos(this.from,-1,Ye.TrackDel),i=e.mapPos(this.to,1,Ye.TrackDel);return n==null||i==null?null:new vp(this.field,n,i)}}class Sp{constructor(e,n){this.lines=e,this.fieldPositions=n}instantiate(e,n){let i=[],r=[n],s=e.doc.lineAt(n),o=/^\s*/.exec(s.text)[0];for(let a of this.lines){if(i.length){let c=o,u=/^\t*/.exec(a)[0].length;for(let h=0;h<u;h++)c+=e.facet(Mc);r.push(n+c.length-u),a=c+a.slice(u)}i.push(a),n+=a.length+1}let l=this.fieldPositions.map(a=>new vp(a.field,r[a.line]+a.from,r[a.line]+a.to));return{text:i,ranges:l}}static parse(e){let n=[],i=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let l=s[1]?+s[1]:null,a=s[2]||s[3]||"",c=-1,u=a.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h<n.length;h++)(l!=null?n[h].seq==l:u&&n[h].name==u)&&(c=h);if(c<0){let h=0;for(;h<n.length&&(l==null||n[h].seq!=null&&n[h].seq<l);)h++;n.splice(h,0,{seq:l,name:u}),c=h;for(let f of r)f.field>=c&&f.field++}for(let h of r)if(h.line==i.length&&h.from>s.index){let f=s[2]?3+(s[1]||"").length:2;h.from-=f,h.to-=f}r.push(new QA(c,i.length,s.index,s.index+u.length)),o=o.slice(0,s.index)+a+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(l,a,c)=>{for(let u of r)u.line==i.length&&u.from>c&&(u.from--,u.to--);return a}),i.push(o)}return new Sp(i,r)}}let PA=W.widget({widget:new class extends Kn{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),$A=W.mark({class:"cm-snippetField"});class hs{constructor(e,n){this.ranges=e,this.active=n,this.deco=W.set(e.map(i=>(i.from==i.to?PA:$A).range(i.from,i.to)),!0)}map(e){let n=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;n.push(r)}return new hs(n,this.active)}selectionInsideField(e){return e.ranges.every(n=>this.ranges.some(i=>i.field==this.active&&i.from<=n.from&&i.to>=n.to))}}const Go=Y.define({map(t,e){return t&&t.map(e)}}),CA=Y.define(),Ro=Be.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(Go))return n.value;if(n.is(CA)&&t)return new hs(t.ranges,n.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>D.decorations.from(t,e=>e?e.deco:W.none)});function wp(t,e){return C.create(t.filter(n=>n.field==e).map(n=>C.range(n.from,n.to)))}function TA(t){let e=Sp.parse(t);return(n,i,r,s)=>{let{text:o,ranges:l}=e.instantiate(n.state,r),{main:a}=n.state.selection,c={changes:{from:r,to:s==a.from?a.to:s,insert:ee.of(o)},scrollIntoView:!0,annotations:i?[Op.of(i),Te.userEvent.of("input.complete")]:void 0};if(l.length&&(c.selection=wp(l,0)),l.some(u=>u.field>0)){let u=new hs(l,0),h=c.effects=[Go.of(u)];n.state.field(Ro,!1)===void 0&&h.push(Y.appendConfig.of([Ro,jA,ZA,sS]))}n.dispatch(n.state.update(c))}}function oS(t){return({state:e,dispatch:n})=>{let i=e.field(Ro,!1);if(!i||t<0&&i.active==0)return!1;let r=i.active+t,s=t>0&&!i.ranges.some(o=>o.field==r+t);return n(e.update({selection:wp(i.ranges,r),effects:Go.of(s?null:new hs(i.ranges,r)),scrollIntoView:!0})),!0}}const AA=({state:t,dispatch:e})=>t.field(Ro,!1)?(e(t.update({effects:Go.of(null)})),!0):!1,MA=oS(1),RA=oS(-1),EA=[{key:"Tab",run:MA,shift:RA},{key:"Escape",run:AA}],SO=L.define({combine(t){return t.length?t[0]:EA}}),jA=Mi.highest(Tc.compute([SO],t=>t.facet(SO)));function pt(t,e){return{...e,apply:TA(t)}}const ZA=D.domEventHandlers({mousedown(t,e){let n=e.state.field(Ro,!1),i;if(!n||(i=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let r=n.ranges.find(s=>s.from<=i&&s.to>=i);return!r||r.field==n.active?!1:(e.dispatch({selection:wp(n.ranges,r.field),effects:Go.of(n.ranges.some(s=>s.field>r.field)?new hs(n.ranges,r.field):null),scrollIntoView:!0}),!0)}}),Eo={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Bi=Y.define({map(t,e){let n=e.mapPos(t,-1,Ye.TrackAfter);return n??void 0}}),kp=new class extends er{};kp.startSide=1;kp.endSide=-1;const lS=Be.define({create(){return ie.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:i=>i>=n.from&&i<=n.to})}for(let n of e.effects)n.is(Bi)&&(t=t.update({add:[kp.range(n.value,n.value+1)]}));return t}});function DA(){return[zA,lS]}const Uu="()[]{}<>ยซยปยปยซ๏ผป๏ผฝ๏ฝ๏ฝ";function aS(t){for(let e=0;e<Uu.length;e+=2)if(Uu.charCodeAt(e)==t)return Uu.charAt(e+1);return Nd(t<128?t:t+1)}function cS(t,e){return t.languageDataAt("closeBrackets",e)[0]||Eo}const LA=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),zA=D.inputHandler.of((t,e,n,i)=>{if((LA?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(i.length>2||i.length==2&&vn(gt(i,0))==1||e!=r.from||n!=r.to)return!1;let s=IA(t.state,i);return s?(t.dispatch(s),!0):!1}),_A=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=cS(t,t.selection.main.head).brackets||Eo.brackets,r=null,s=t.changeByRange(o=>{if(o.empty){let l=NA(t.doc,o.head);for(let a of i)if(a==l&&zc(t.doc,o.head)==aS(gt(a,0)))return{changes:{from:o.head-a.length,to:o.head+a.length},range:C.cursor(o.head-a.length)}}return{range:r=o}});return r||e(t.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},XA=[{key:"Backspace",run:_A}];function IA(t,e){let n=cS(t,t.selection.main.head),i=n.brackets||Eo.brackets;for(let r of i){let s=aS(gt(r,0));if(e==r)return s==r?FA(t,r,i.indexOf(r+r+r)>-1,n):BA(t,r,s,n.before||Eo.before);if(e==s&&uS(t,t.selection.main.from))return WA(t,r,s)}return null}function uS(t,e){let n=!1;return t.field(lS).between(0,t.doc.length,i=>{i==e&&(n=!0)}),n}function zc(t,e){let n=t.sliceString(e,e+2);return n.slice(0,vn(gt(n,0)))}function NA(t,e){let n=t.sliceString(e-2,e);return vn(gt(n,0))==n.length?n:n.slice(1)}function BA(t,e,n,i){let r=null,s=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:n,from:o.to}],effects:Bi.of(o.to+e.length),range:C.range(o.anchor+e.length,o.head+e.length)};let l=zc(t.doc,o.head);return!l||/\s/.test(l)||i.indexOf(l)>-1?{changes:{insert:e+n,from:o.head},effects:Bi.of(o.head+e.length),range:C.cursor(o.head+e.length)}:{range:r=o}});return r?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function WA(t,e,n){let i=null,r=t.changeByRange(s=>s.empty&&zc(t.doc,s.head)==n?{changes:{from:s.head,to:s.head+n.length,insert:n},range:C.cursor(s.head+n.length)}:i={range:s});return i?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function FA(t,e,n,i){let r=i.stringPrefixes||Eo.stringPrefixes,s=null,o=t.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:Bi.of(l.to+e.length),range:C.range(l.anchor+e.length,l.head+e.length)};let a=l.head,c=zc(t.doc,a),u;if(c==e){if(wO(t,a))return{changes:{insert:e+e,from:a},effects:Bi.of(a+e.length),range:C.cursor(a+e.length)};if(uS(t,a)){let f=n&&t.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:C.cursor(a+f.length)}}}else{if(n&&t.sliceDoc(a-2*e.length,a)==e+e&&(u=kO(t,a-2*e.length,r))>-1&&wO(t,u))return{changes:{insert:e+e+e+e,from:a},effects:Bi.of(a+e.length),range:C.cursor(a+e.length)};if(t.charCategorizer(a)(c)!=xe.Word&&kO(t,a,r)>-1&&!VA(t,a,e,r))return{changes:{insert:e+e,from:a},effects:Bi.of(a+e.length),range:C.cursor(a+e.length)}}return{range:s=l}});return s?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function wO(t,e){let n=ze(t).resolveInner(e+1);return n.parent&&n.from==e}function VA(t,e,n,i){let r=ze(t).resolveInner(e,-1),s=i.reduce((o,l)=>Math.max(o,l.length),0);for(let o=0;o<5;o++){let l=t.sliceDoc(r.from,Math.min(r.to,r.from+n.length+s)),a=l.indexOf(n);if(!a||a>-1&&i.indexOf(l.slice(0,a))>-1){let u=r.firstChild;for(;u&&u.from==r.from&&u.to-u.from>n.length+a;){if(t.sliceDoc(u.to-n.length,u.to)==n)return!1;u=u.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function kO(t,e,n){let i=t.charCategorizer(e);if(i(t.sliceDoc(e-1,e))!=xe.Word)return e;for(let r of n){let s=e-r.length;if(t.sliceDoc(s,e)==r&&i(t.sliceDoc(s-1,s))!=xe.Word)return s}return-1}function YA(t={}){return[bA,Ot,Xe.of(t),wA,UA,sS]}const hS=[{key:"Ctrl-Space",run:Yu},{mac:"Alt-`",run:Yu},{mac:"Alt-i",run:Yu},{key:"Escape",run:yA},{key:"ArrowDown",run:zl(!0)},{key:"ArrowUp",run:zl(!1)},{key:"PageDown",run:zl(!0,"page")},{key:"PageUp",run:zl(!1,"page")},{key:"Enter",run:OA}],UA=Mi.highest(Tc.computeN([Xe],t=>t.facet(Xe).defaultKeymap?[hS]:[]));class bO{constructor(e,n,i){this.from=e,this.to=n,this.diagnostic=i}}class zi{constructor(e,n,i){this.diagnostics=e,this.panel=n,this.selected=i}static init(e,n,i){let r=i.facet(jo).markerFilter;r&&(e=r(e,i));let s=e.slice().sort((d,m)=>d.from-m.from||d.to-m.to),o=new Vn,l=[],a=0,c=i.doc.iter(),u=0,h=i.doc.length;for(let d=0;;){let m=d==s.length?null:s[d];if(!m&&!l.length)break;let y,v;if(l.length)y=a,v=l.reduce((x,S)=>Math.min(x,S.to),m&&m.from>y?m.from:1e8);else{if(y=m.from,y>h)break;v=m.to,l.push(m),d++}for(;d<s.length;){let x=s[d];if(x.from==y&&(x.to>x.from||x.to==y))l.push(x),d++,v=Math.min(x.to,v);else{v=Math.min(x.from,v);break}}v=Math.min(v,h);let O=!1;if(l.some(x=>x.from==y&&(x.to==v||v==h))&&(O=y==v,!O&&v-y<10)){let x=y-(u+c.value.length);x>0&&(c.next(x),u=y);for(let S=y;;){if(S>=v){O=!0;break}if(!c.lineBreak&&u+c.value.length>S)break;S=u+c.value.length,u+=c.value.length,c.next()}}let g=l5(l);if(O)o.add(y,y,W.widget({widget:new i5(g),diagnostics:l.slice()}));else{let x=l.reduce((S,k)=>k.markClass?S+" "+k.markClass:S,"");o.add(y,v,W.mark({class:"cm-lintRange cm-lintRange-"+g+x,diagnostics:l.slice(),inclusiveEnd:l.some(S=>S.to>v)}))}if(a=v,a==h)break;for(let x=0;x<l.length;x++)l[x].to<=a&&l.splice(x--,1)}let f=o.finish();return new zi(f,n,ts(f))}}function ts(t,e=null,n=0){let i=null;return t.between(n,1e9,(r,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!i)i=new bO(r,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new bO(i.from,s,i.diagnostic)}}),i}function qA(t,e){let n=e.pos,i=e.end||n,r=t.state.facet(jo).hideOn(t,n,i);if(r!=null)return r;let s=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(o=>o.is(fS))||t.changes.touchesRange(s.from,Math.max(s.to,i)))}function GA(t,e){return t.field(Rt,!1)?e:e.concat(Y.appendConfig.of(a5))}const fS=Y.define(),bp=Y.define(),dS=Y.define(),Rt=Be.define({create(){return new zi(W.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),i=null,r=t.panel;if(t.selected){let s=e.changes.mapPos(t.selected.from,1);i=ts(n,t.selected.diagnostic,s)||ts(n,null,s)}!n.size&&r&&e.state.facet(jo).autoPanel&&(r=null),t=new zi(n,r,i)}for(let n of e.effects)if(n.is(fS)){let i=e.state.facet(jo).autoPanel?n.value.length?Zo.open:null:t.panel;t=zi.init(n.value,i,e.state)}else n.is(bp)?t=new zi(t.diagnostics,n.value?Zo.open:null,t.selected):n.is(dS)&&(t=new zi(t.diagnostics,t.panel,n.value));return t},provide:t=>[Po.from(t,e=>e.panel),D.decorations.from(t,e=>e.diagnostics)]}),HA=W.mark({class:"cm-lintRange cm-lintRange-active"});function KA(t,e,n){let{diagnostics:i}=t.state.field(Rt),r,s=-1,o=-1;i.between(e-(n<0?1:0),e+(n>0?1:0),(a,c,{spec:u})=>{if(e>=a&&e<=c&&(a==c||(e>a||n>0)&&(e<c||n<0)))return r=u.diagnostics,s=a,o=c,!1});let l=t.state.facet(jo).tooltipFilter;return r&&l&&(r=l(r,t.state)),r?{pos:s,end:o,above:t.state.doc.lineAt(s).to<o,create(){return{dom:JA(t,r)}}}:null}function JA(t,e){return he("ul",{class:"cm-tooltip-lint"},e.map(n=>mS(t,n,!1)))}const e5=t=>{let e=t.state.field(Rt,!1);(!e||!e.panel)&&t.dispatch({effects:GA(t.state,[bp.of(!0)])});let n=Qo(t,Zo.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},QO=t=>{let e=t.state.field(Rt,!1);return!e||!e.panel?!1:(t.dispatch({effects:bp.of(!1)}),!0)},t5=t=>{let e=t.state.field(Rt,!1);if(!e)return!1;let n=t.state.selection.main,i=e.diagnostics.iter(n.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==n.from&&i.to==n.to)?!1:(t.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)},n5=[{key:"Mod-Shift-m",run:e5,preventDefault:!0},{key:"F8",run:t5}],jo=L.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Tn(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:PO,tooltipFilter:PO,needsRefresh:(e,n)=>e?n?i=>e(i)||n(i):e:n,hideOn:(e,n)=>e?n?(i,r,s)=>e(i,r,s)||n(i,r,s):e:n,autoPanel:(e,n)=>e||n})}}});function PO(t,e){return t?e?(n,i)=>e(t(n,i),i):t:e}function pS(t){let e=[];if(t)e:for(let{name:n}of t){for(let i=0;i<n.length;i++){let r=n[i];if(/[a-zA-Z]/.test(r)&&!e.some(s=>s.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function mS(t,e,n){var i;let r=n?pS(e.actions):[];return he("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},he("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((s,o)=>{let l=!1,a=d=>{if(d.preventDefault(),l)return;l=!0;let m=ts(t.state.field(Rt).diagnostics,e);m&&s.apply(t,m.from,m.to)},{name:c}=s,u=r[o]?c.indexOf(r[o]):-1,h=u<0?c:[c.slice(0,u),he("u",c.slice(u,u+1)),c.slice(u+1)],f=s.markClass?" "+s.markClass:"";return he("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:a,onmousedown:a,"aria-label":` Action: ${c}${u<0?"":` (access key "${r[o]})"`}.`},h)}),e.source&&he("div",{class:"cm-diagnosticSource"},e.source))}class i5 extends Kn{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return he("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class $O{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=mS(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Zo{constructor(e){this.view=e,this.items=[];let n=r=>{if(r.keyCode==27)QO(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=pS(s.actions);for(let l=0;l<o.length;l++)if(o[l].toUpperCase().charCodeAt(0)==r.keyCode){let a=ts(this.view.state.field(Rt).diagnostics,s);a&&s.actions[l].apply(e,a.from,a.to)}}else return;r.preventDefault()},i=r=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(r.target)&&this.moveSelection(s)};this.list=he("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:i}),this.dom=he("div",{class:"cm-panel-lint"},this.list,he("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>QO(this.view)},"ร")),this.update()}get selectedIndex(){let e=this.view.state.field(Rt).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(Rt),i=0,r=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(l,a,{spec:c})=>{for(let u of c.diagnostics){if(o.has(u))continue;o.add(u);let h=-1,f;for(let d=i;d<this.items.length;d++)if(this.items[d].diagnostic==u){h=d;break}h<0?(f=new $O(this.view,u),this.items.splice(i,0,f),r=!0):(f=this.items[h],h>i&&(this.items.splice(i,h-i),r=!0)),n&&f.diagnostic==n.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new $O(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:a})=>{let c=a.height/this.list.offsetHeight;l.top<a.top?this.list.scrollTop-=(a.top-l.top)/c:l.bottom>a.bottom&&(this.list.scrollTop+=(l.bottom-a.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function n(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)n();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(Rt),i=ts(n.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:dS.of(i)})}static open(e){return new Zo(e)}}function r5(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function _l(t){return r5(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const s5=D.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:_l("#d11")},".cm-lintRange-warning":{backgroundImage:_l("orange")},".cm-lintRange-info":{backgroundImage:_l("#999")},".cm-lintRange-hint":{backgroundImage:_l("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function o5(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function l5(t){let e="hint",n=1;for(let i of t){let r=o5(i.severity);r>n&&(n=r,e=i.severity)}return e}const a5=[Rt,D.decorations.compute([Rt],t=>{let{selected:e,panel:n}=t.field(Rt);return!e||!n||e.from==e.to?W.none:W.set([HA.range(e.from,e.to)])}),B2(KA,{hideOn:qA}),s5],c5=[e$(),i$(),v2(),vC(),Y$(),c2(),p2(),ne.allowMultipleSelections.of(!0),E$(),uv(H$,{fallback:!0}),rC(),DA(),YA(),R2(),Z2(),P2(),AT(),Tc.of([...XA,...bT,...qT,...TC,...B$,...hS,...n5])];var CO={};class ic{constructor(e,n,i,r,s,o,l,a,c,u=0,h){this.p=e,this.stack=n,this.state=i,this.reducePos=r,this.pos=s,this.score=o,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=h}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,i=0){let r=e.parser.context;return new ic(e,[],n,i,i,0,[],0,r?new TO(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let i=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let l=s.dynamicPrecedence(r);if(l&&(this.score+=l),i==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(r,this.reducePos);return}let a=this.stack.length-(i-1)*3-(e&262144?6:0),c=a?this.stack[a-2]:this.p.ranges[0].from,u=this.reducePos-c;u>=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=u));let h=a?this.stack[a-1]:0,f=this.bufferBase+this.buffer.length-h;if(r<s.minRepeatTerm||e&131072){let d=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,c,d,f+4,!0)}if(e&262144)this.state=this.stack[a];else{let d=this.stack[a-3];this.state=s.getGoto(d,r,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,n,i,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,l=this.buffer.length;if(l==0&&o.parent&&(l=o.bufferBase-o.parent.bufferBase,o=o.parent),l>0&&o.buffer[l-4]==0&&o.buffer[l-1]>-1){if(n==i)return;if(o.buffer[l-2]>=n){o.buffer[l-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(e,n,i,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>i;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>i;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=n,this.buffer[o+2]=i,this.buffer[o+3]=r}}shift(e,n,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(n,i),n<=this.p.parser.maxNode&&this.buffer.push(n,i,r,4);else{let s=e,{parser:o}=this.p;(r>this.pos||n<=o.maxNode)&&(this.pos=r,o.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,i),this.shiftContext(n,i),n<=o.maxNode&&this.buffer.push(n,i,r,4)}}apply(e,n,i,r){e&65536?this.reduce(e):this.shift(e,n,i,r)}useNode(e,n){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(n,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let i=e.buffer.slice(n),r=e.bufferBase+n;for(;e&&r==e.bufferBase;)e=e.parent;return new ic(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,i?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new u5(this);;){let i=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(i==0)return!1;if(!(i&65536))return!0;n.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let r=[];for(let s=0,o;s<n.length;s+=2)(o=n[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&r.push(n[s],o);if(this.stack.length<120)for(let s=0;r.length<8&&s<n.length;s+=2){let o=n[s+1];r.some((l,a)=>a&1&&l==o)||r.push(n[s],o)}n=r}let i=[];for(let r=0;r<n.length&&i.length<4;r+=2){let s=n[r+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(n[r],this.pos),o.reducePos=this.pos,o.score-=200,i.push(o)}return i}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if(!(n&65536))return!1;if(!e.validAction(this.state,n)){let i=n>>19,r=n&65535,s=this.stack.length-i*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;n=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],i=(r,s)=>{if(!n.includes(r))return n.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-s;if(l>1){let a=o&65535,c=this.stack.length-l*3;if(c>=0&&e.getGoto(this.stack[c],a,!1)>=0)return l<<19|65536|a}}else{let l=i(o,s+1);if(l!=null)return l}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new TO(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class TO{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class u5{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}}class rc{constructor(e,n,i){this.stack=e,this.pos=n,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new rc(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new rc(this.stack,this.pos,this.index)}}function Ls(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let i=0,r=0;i<t.length;){let s=0;for(;;){let o=t.charCodeAt(i++),l=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),s+=a,l)break;s*=46}n?n[r++]=s:n=new e(s)}return n}class la{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const AO=new la;class h5{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=AO,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let i=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<i.from;){if(!r)return null;let o=this.ranges[--r];s-=i.from-o.to,i=o}for(;n<0?s>i.to:s>=i.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-i.to,i=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,i,r;if(n>=0&&n<this.chunk.length)i=this.pos+e,r=this.chunk.charCodeAt(n);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(i=s,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let o=this.rangeIndex,l=this.range;for(;l.to<=i;)l=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,n=0){let i=n?this.resolveOffset(n,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=AO,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let i="";for(let r of this.ranges){if(r.from>=n)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,n)))}return i}}class Xr{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:i}=n.p;gS(this.data,e,n,this.id,i.data,i.tokenPrecTable)}}Xr.prototype.contextual=Xr.prototype.fallback=Xr.prototype.extend=!1;class If{constructor(e,n,i){this.precTable=n,this.elseToken=i,this.data=typeof e=="string"?Ls(e):e}token(e,n){let i=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(gS(this.data,e,n,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}}If.prototype.contextual=Xr.prototype.fallback=Xr.prototype.extend=!1;class Ho{constructor(e,n={}){this.token=e,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function gS(t,e,n,i,r,s){let o=0,l=1<<i,{dialect:a}=n.p.parser;e:for(;l&t[o];){let c=t[o+1];for(let d=o+3;d<c;d+=2)if((t[d+1]&l)>0){let m=t[d];if(a.allows(m)&&(e.token.value==-1||e.token.value==m||f5(m,e.token.value,r,s))){e.acceptToken(m);break}}let u=e.next,h=0,f=t[o+2];if(e.next<0&&f>h&&t[c+f*3-3]==65535){o=t[c+f*3-1];continue e}for(;h<f;){let d=h+f>>1,m=c+d+(d<<1),y=t[m],v=t[m+1]||65536;if(u<y)f=d;else if(u>=v)h=d+1;else{o=t[m+2],e.advance();continue e}}break}}function MO(t,e,n){for(let i=e,r;(r=t[i])!=65535;i++)if(r==n)return i-e;return-1}function f5(t,e,n,i){let r=MO(n,i,e);return r<0||MO(n,i,t)<r}const Ct=typeof process<"u"&&CO&&/\bparse\b/.test(CO.LOG);let qu=null;function RO(t,e,n){let i=t.cursor(Ze.IncludeAnonymous);for(i.moveTo(e);;)if(!(n<0?i.childBefore(e):i.childAfter(e)))for(;;){if((n<0?i.to<e:i.from>e)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:t.length}}class d5{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?RO(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?RO(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let i=this.trees[n],r=this.index[n];if(r==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=i.children[r],o=this.start[n]+i.positions[r];if(o>e)return this.nextStart=o,null;if(s instanceof Ae){if(o==e){if(o<this.safeFrom)return null;let l=o+s.length;if(l<=this.safeTo){let a=s.prop(H.lookAhead);if(!a||l+a<this.fragment.to)return s}}this.index[n]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[n]++,this.nextStart=o+s.length}}}class p5{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new la)}getActions(e){let n=0,i=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let c=0;c<s.length;c++){if(!(1<<c&o))continue;let u=s[c],h=this.tokens[c];if(!(i&&!u.fallback)&&((u.contextual||h.start!=e.pos||h.mask!=o||h.context!=l)&&(this.updateCachedToken(h,u,e),h.mask=o,h.context=l),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),h.value!=0)){let f=n;if(h.extended>-1&&(n=this.addActions(e,h.extended,h.end,n)),n=this.addActions(e,h.value,h.end,n),!u.extend&&(i=h,n>f))break}}for(;this.actions.length>n;)this.actions.pop();return a&&e.setLookAhead(a),!i&&e.pos==this.stream.end&&(i=new la,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,n=this.addActions(e,i.value,i.end,n)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new la,{pos:i,p:r}=e;return n.start=i,n.end=Math.min(i+1,r.stream.end),n.value=i==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(e,n,i){let r=this.stream.clipPos(i.pos);if(n.token(this.stream.reset(r,e),i),e.value>-1){let{parser:s}=i.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let l=s.specializers[o](this.stream.read(e.start,e.end),i);if(l>=0&&i.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,n,i,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=n,this.actions[r++]=i,r}addActions(e,n,i,r){let{state:s}=e,{parser:o}=e.p,{data:l}=o;for(let a=0;a<2;a++)for(let c=o.stateSlot(s,a?2:1);;c+=3){if(l[c]==65535)if(l[c+1]==1)c=Zn(l,c+2);else{r==0&&l[c+1]==2&&(r=this.putAction(Zn(l,c+2),n,i,r));break}l[c]==n&&(r=this.putAction(Zn(l,c+1),n,i,r))}return r}}class m5{constructor(e,n,i,r){this.parser=e,this.input=n,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new h5(n,r),this.tokens=new p5(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[ic.start(this,e.top[0],s)],this.fragments=i.length&&this.stream.end-s>e.bufferLength*4?new d5(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let l=e[o];for(;;){if(this.tokens.mainToken=null,l.pos>n)i.push(l);else{if(this.advanceStack(l,i,e))continue;{r||(r=[],s=[]),r.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!i.length){let o=r&&y5(r);if(o)return Ct&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ct&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(o)return Ct&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(i.length>o)for(i.sort((l,a)=>a.score-l.score);i.length>o;)i.pop();i.some(l=>l.reducePos>n)&&this.recovering--}else if(i.length>1){e:for(let o=0;o<i.length-1;o++){let l=i[o];for(let a=o+1;a<i.length;a++){let c=i[a];if(l.sameState(c)||l.buffer.length>500&&c.buffer.length>500)if((l.score-c.score||l.buffer.length-c.buffer.length)>0)i.splice(a--,1);else{i.splice(o--,1);continue e}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let o=1;o<i.length;o++)i[o].pos<this.minStackPos&&(this.minStackPos=i[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,i){let r=e.pos,{parser:s}=this,o=Ct?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!c||(h.prop(H.contextHash)||0)==u))return e.useNode(h,f),Ct&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof Ae)||h.children.length==0||h.positions[0]>0)break;let d=h.children[0];if(d instanceof Ae&&h.positions[0]==0)h=d;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),Ct&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let c=0;c<a.length;){let u=a[c++],h=a[c++],f=a[c++],d=c==a.length||!i,m=d?e:e.split(),y=this.tokens.mainToken;if(m.apply(u,h,y?y.start:m.pos,f),Ct&&console.log(o+this.stackID(m)+` (via ${u&65536?`reduce of ${s.getName(u&65535)}`:"shift"} for ${s.getName(h)} @ ${r}${m==e?"":", split"})`),d)return!0;m.pos>r?n.push(m):i.push(m)}return!1}advanceFully(e,n){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return EO(e,n),!0}}runRecovery(e,n,i){let r=null,s=!1;for(let o=0;o<e.length;o++){let l=e[o],a=n[o<<1],c=n[(o<<1)+1],u=Ct?this.stackID(l)+" -> ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),Ct&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,i))))continue;let h=l.split(),f=u;for(let d=0;d<10&&h.forceReduce()&&(Ct&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,i));d++)Ct&&(f=this.stackID(h)+" -> ");for(let d of l.recoverByInsert(a))Ct&&console.log(u+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),Ct&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),EO(l,i)):(!r||r.score<l.score)&&(r=l)}return r}stackToTree(e){return e.close(),Ae.build({buffer:rc.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(qu||(qu=new WeakMap)).get(e);return n||qu.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}}function EO(t,e){for(let n=0;n<e.length;n++){let i=e[n];if(i.pos==t.pos&&i.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}class g5{constructor(e,n,i){this.source=e,this.flags=n,this.disabled=i}allows(e){return!this.disabled||this.disabled[e]==0}}const Gu=t=>t;class O5{constructor(e){this.start=e.start,this.shift=e.shift||Gu,this.reduce=e.reduce||Gu,this.reuse=e.reuse||Gu,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class sc extends Vx{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let l=0;l<e.repeatNodeCount;l++)n.push("");let i=Object.keys(e.topRules).map(l=>e.topRules[l][1]),r=[];for(let l=0;l<n.length;l++)r.push([]);function s(l,a,c){r[l].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=H[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)s(u,a,l[c++]);else{let h=l[c+-u];for(let f=-u;f>0;f--)s(l[c++],a,h);c++}}}this.nodeSet=new ip(n.map((l,a)=>Qt.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:r[a],top:i.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Nx;let o=Ls(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;l<this.specializerSpecs.length;l++)this.specialized[l]=this.specializerSpecs[l].term;this.specializers=this.specializerSpecs.map(jO),this.states=Ls(e.states,Uint32Array),this.data=Ls(e.stateData),this.goto=Ls(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new Xr(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,i){let r=new m5(this,e,n,i);for(let s of this.wrappers)r=s(r,e,n,i);return r}getGoto(e,n,i=!1){let r=this.goto;if(n>=r[0])return-1;for(let s=r[n+1];;){let o=r[s++],l=o&1,a=r[s++];if(l&&i)return a;for(let c=s+(o>>1);s<c;s++)if(r[s]==e)return a;if(l)return-1}}hasAction(e,n){let i=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),o;;s+=3){if((o=i[s])==65535)if(i[s+1]==1)o=i[s=Zn(i,s+2)];else{if(i[s+1]==2)return Zn(i,s+2);break}if(o==n||o==0)return Zn(i,s+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,i=>i==n?!0:null)}allActions(e,n){let i=this.stateSlot(e,4),r=i?n(i):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Zn(this.data,s+2);else break;r=n(Zn(this.data,s+1))}return r}nextStates(e){let n=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Zn(this.data,i+2);else break;if(!(this.data[i+2]&1)){let r=this.data[i+1];n.some((s,o)=>o&1&&s==r)||n.push(this.data[i],r)}}return n}configure(e){let n=Object.assign(Object.create(sc.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=i}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(s=>s.from==i);return r?r.to:i})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=e.specializers.find(l=>l.from==i.external);if(!s)return i;let o=Object.assign(Object.assign({},i),{external:s.to});return n.specializers[r]=jO(o),o})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),i=n.map(()=>!1);if(e)for(let s of e.split(" ")){let o=n.indexOf(s);o>=0&&(i[o]=!0)}let r=null;for(let s=0;s<n.length;s++)if(!i[s])for(let o=this.dialects[n[s]],l;(l=this.data[o++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[l]=1;return new g5(e,i,r)}static deserialize(e){return new sc(e)}}function Zn(t,e){return t[e]|t[e+1]<<16}function y5(t){let e=null;for(let n of t){let i=n.p.stoppedAt;(n.pos==n.p.stream.end||i!=null&&n.pos>i)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function jO(t){if(t.external){let e=t.extend?1:0;return(n,i)=>t.external(n,i)<<1|e}return t.get}const x5=316,v5=317,ZO=1,S5=2,w5=3,k5=4,b5=318,Q5=320,P5=321,$5=5,C5=6,T5=0,Nf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],OS=125,A5=59,Bf=47,M5=42,R5=43,E5=45,j5=60,Z5=44,D5=63,L5=46,z5=91,_5=new O5({start:!1,shift(t,e){return e==$5||e==C5||e==Q5?t:e==P5},strict:!1}),X5=new Ho((t,e)=>{let{next:n}=t;(n==OS||n==-1||e.context)&&t.acceptToken(b5)},{contextual:!0,fallback:!0}),I5=new Ho((t,e)=>{let{next:n}=t,i;Nf.indexOf(n)>-1||n==Bf&&((i=t.peek(1))==Bf||i==M5)||n!=OS&&n!=A5&&n!=-1&&!e.context&&t.acceptToken(x5)},{contextual:!0}),N5=new Ho((t,e)=>{t.next==z5&&!e.context&&t.acceptToken(v5)},{contextual:!0}),B5=new Ho((t,e)=>{let{next:n}=t;if(n==R5||n==E5){if(t.advance(),n==t.next){t.advance();let i=!e.context&&e.canShift(ZO);t.acceptToken(i?ZO:S5)}}else n==D5&&t.peek(1)==L5&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(w5))},{contextual:!0});function Hu(t,e){return t>=65&&t<=90||t>=97&&t<=122||t==95||t>=192||!e&&t>=48&&t<=57}const W5=new Ho((t,e)=>{if(t.next!=j5||!e.dialectEnabled(T5)||(t.advance(),t.next==Bf))return;let n=0;for(;Nf.indexOf(t.next)>-1;)t.advance(),n++;if(Hu(t.next,!0)){for(t.advance(),n++;Hu(t.next,!1);)t.advance(),n++;for(;Nf.indexOf(t.next)>-1;)t.advance(),n++;if(t.next==Z5)return;for(let i=0;;i++){if(i==7){if(!Hu(t.next,!0))return;break}if(t.next!="extends".charCodeAt(i))break;t.advance(),n++}}t.acceptToken(k5,-n)}),F5=Yx({"get set async static":w.modifier,"for while do if else switch try catch finally return throw break continue default case defer":w.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":w.operatorKeyword,"let var const using function class extends":w.definitionKeyword,"import export from":w.moduleKeyword,"with debugger new":w.keyword,TemplateString:w.special(w.string),super:w.atom,BooleanLiteral:w.bool,this:w.self,null:w.null,Star:w.modifier,VariableName:w.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":w.function(w.variableName),VariableDefinition:w.definition(w.variableName),Label:w.labelName,PropertyName:w.propertyName,PrivatePropertyName:w.special(w.propertyName),"CallExpression/MemberExpression/PropertyName":w.function(w.propertyName),"FunctionDeclaration/VariableDefinition":w.function(w.definition(w.variableName)),"ClassDeclaration/VariableDefinition":w.definition(w.className),"NewExpression/VariableName":w.className,PropertyDefinition:w.definition(w.propertyName),PrivatePropertyDefinition:w.definition(w.special(w.propertyName)),UpdateOp:w.updateOperator,"LineComment Hashbang":w.lineComment,BlockComment:w.blockComment,Number:w.number,String:w.string,Escape:w.escape,ArithOp:w.arithmeticOperator,LogicOp:w.logicOperator,BitOp:w.bitwiseOperator,CompareOp:w.compareOperator,RegExp:w.regexp,Equals:w.definitionOperator,Arrow:w.function(w.punctuation),": Spread":w.punctuation,"( )":w.paren,"[ ]":w.squareBracket,"{ }":w.brace,"InterpolationStart InterpolationEnd":w.special(w.brace),".":w.derefOperator,", ;":w.separator,"@":w.meta,TypeName:w.typeName,TypeDefinition:w.definition(w.typeName),"type enum interface implements namespace module declare":w.definitionKeyword,"abstract global Privacy readonly override":w.modifier,"is keyof unique infer asserts":w.operatorKeyword,JSXAttributeValue:w.attributeValue,JSXText:w.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":w.angleBracket,"JSXIdentifier JSXNameSpacedName":w.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":w.attributeName,"JSXBuiltin/JSXIdentifier":w.standard(w.tagName)}),V5={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},Y5={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},U5={__proto__:null,"<":193},q5=sc.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hOTX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WOPP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"โ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:_5,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[F5],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Wp(Z!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Wp(Z!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(z+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(Y';W$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Wp(Z!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Wp(Z!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Wp(Z!b(a+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[I5,N5,B5,W5,2,3,4,5,6,7,8,9,10,11,12,13,14,X5,new If("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new If("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:t=>V5[t]||-1},{term:343,get:t=>Y5[t]||-1},{term:95,get:t=>U5[t]||-1}],tokenPrec:15201}),yS=[pt("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),pt("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),pt("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),pt("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),pt("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),pt(`try {
|
|
114
|
+
\${}
|
|
115
|
+
} catch (\${error}) {
|
|
116
|
+
\${}
|
|
117
|
+
}`,{label:"try",detail:"/ catch block",type:"keyword"}),pt("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),pt(`if (\${}) {
|
|
118
|
+
\${}
|
|
119
|
+
} else {
|
|
120
|
+
\${}
|
|
121
|
+
}`,{label:"if",detail:"/ else block",type:"keyword"}),pt(`class \${name} {
|
|
122
|
+
constructor(\${params}) {
|
|
123
|
+
\${}
|
|
124
|
+
}
|
|
125
|
+
}`,{label:"class",detail:"definition",type:"keyword"}),pt('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),pt('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],G5=yS.concat([pt("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),pt("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),pt("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),DO=new u$,xS=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function $s(t){return(e,n)=>{let i=e.node.getChild("VariableDefinition");return i&&n(i,t),!0}}const H5=["FunctionDeclaration"],K5={FunctionDeclaration:$s("function"),ClassDeclaration:$s("class"),ClassExpression:()=>!0,EnumDeclaration:$s("constant"),TypeAliasDeclaration:$s("type"),NamespaceDeclaration:$s("namespace"),VariableDefinition(t,e){t.matchContext(H5)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function vS(t,e){let n=DO.get(e);if(n)return n;let i=[],r=!0;function s(o,l){let a=t.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor(Ze.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let l=K5[o.name];if(l&&l(o,s)||xS.has(o.name))return!1}else if(o.to-o.from>8192){for(let l of vS(t,o.node))i.push(l);return!1}}),DO.set(e,i),i}const LO=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,SS=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function J5(t){let e=ze(t.state).resolveInner(t.pos,-1);if(SS.indexOf(e.name)>-1)return null;let n=e.name=="VariableName"||e.to-e.from<20&&LO.test(t.state.sliceDoc(e.from,e.to));if(!n&&!t.explicit)return null;let i=[];for(let r=e;r;r=r.parent)xS.has(r.name)&&(i=i.concat(vS(t.state.doc,r)));return{options:i,from:n?e.from:t.pos,validFor:LO}}const Ui=Wa.define({name:"javascript",parser:q5.configure({props:[Kx.add({IfStatement:_u({except:/^\s*({|else\b)/}),TryStatement:_u({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:M$,SwitchBody:t=>{let e=t.textAfter,n=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return t.baseIndent+(n?0:i?1:2)*t.unit},Block:A$({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":_u({except:/^\s*{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),tv.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Z$,BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),wS={test:t=>/^JSX/.test(t.name),facet:Gx({commentTokens:{block:{open:"{/*",close:"*/}"}}})},eM=Ui.configure({dialect:"ts"},"typescript"),tM=Ui.configure({dialect:"jsx",props:[lp.add(t=>t.isTop?[wS]:void 0)]}),nM=Ui.configure({dialect:"jsx ts",props:[lp.add(t=>t.isTop?[wS]:void 0)]},"typescript");let kS=t=>({label:t,type:"keyword"});const bS="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(kS),iM=bS.concat(["declare","implements","private","protected","public"].map(kS));function rM(t={}){let e=t.jsx?t.typescript?nM:tM:t.typescript?eM:Ui,n=t.typescript?G5.concat(iM):yS.concat(bS);return new w$(e,[Ui.data.of({autocomplete:eA(SS,tS(n))}),Ui.data.of({autocomplete:J5}),t.jsx?lM:[]])}function sM(t){for(;;){if(t.name=="JSXOpenTag"||t.name=="JSXSelfClosingTag"||t.name=="JSXFragmentTag")return t;if(t.name=="JSXEscape"||!t.parent)return null;t=t.parent}}function zO(t,e,n=t.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return t.sliceString(i.from,Math.min(i.to,n));return""}const oM=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),lM=D.inputHandler.of((t,e,n,i,r)=>{if((oM?t.composing:t.compositionStarted)||t.state.readOnly||e!=n||i!=">"&&i!="/"||!Ui.isActiveAt(t.state,e,-1))return!1;let s=r(),{state:o}=s,l=o.changeByRange(a=>{var c;let{head:u}=a,h=ze(o).resolveInner(u-1,-1),f;if(h.name=="JSXStartTag"&&(h=h.parent),!(o.doc.sliceString(u-1,u)!=i||h.name=="JSXAttributeValue"&&h.to>u)){if(i==">"&&h.name=="JSXFragmentTag")return{range:a,changes:{from:u,insert:"</>"}};if(i=="/"&&h.name=="JSXStartCloseTag"){let d=h.parent,m=d.parent;if(m&&d.from==u-2&&((f=zO(o.doc,m.firstChild,u))||((c=m.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let y=`${f}>`;return{range:C.cursor(u+y.length,-1),changes:{from:u,insert:y}}}}else if(i==">"){let d=sM(h);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(u,u+2))&&(f=zO(o.doc,d,u)))return{range:a,changes:{from:u,insert:`</${f}>`}}}}return{range:a}});return l.changes.empty?!1:(t.dispatch([s,o.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),aM="#e5c07b",_O="#e06c75",cM="#56b6c2",uM="#ffffff",aa="#abb2bf",Wf="#7d8799",hM="#61afef",fM="#98c379",XO="#d19a66",dM="#c678dd",pM="#21252b",IO="#2c313a",NO="#282c34",Ku="#353a42",mM="#3E4451",BO="#528bff",gM=D.theme({"&":{color:aa,backgroundColor:NO},".cm-content":{caretColor:BO},".cm-cursor, .cm-dropCursor":{borderLeftColor:BO},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:mM},".cm-panels":{backgroundColor:pM,color:aa},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:NO,color:Wf,border:"none"},".cm-activeLineGutter":{backgroundColor:IO},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ku},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ku,borderBottomColor:Ku},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:IO,color:aa}}},{dark:!0}),OM=Yo.define([{tag:w.keyword,color:dM},{tag:[w.name,w.deleted,w.character,w.propertyName,w.macroName],color:_O},{tag:[w.function(w.variableName),w.labelName],color:hM},{tag:[w.color,w.constant(w.name),w.standard(w.name)],color:XO},{tag:[w.definition(w.name),w.separator],color:aa},{tag:[w.typeName,w.className,w.number,w.changed,w.annotation,w.modifier,w.self,w.namespace],color:aM},{tag:[w.operator,w.operatorKeyword,w.url,w.escape,w.regexp,w.link,w.special(w.string)],color:cM},{tag:[w.meta,w.comment],color:Wf},{tag:w.strong,fontWeight:"bold"},{tag:w.emphasis,fontStyle:"italic"},{tag:w.strikethrough,textDecoration:"line-through"},{tag:w.link,color:Wf,textDecoration:"underline"},{tag:w.heading,fontWeight:"bold",color:_O},{tag:[w.atom,w.bool,w.special(w.variableName)],color:XO},{tag:[w.processingInstruction,w.string,w.inserted],color:fM},{tag:w.invalid,color:uM}]),yM=[gM,uv(OM)],WO={fzero:{name:"๐๏ธ F-ZERO Racing",path:"/examples/f-zero-nova-3d/code.js"},knight:{name:"โ๏ธ Knight Platformer",path:"/examples/strider-demo-3d/code.js"},demoscene:{name:"โจ Demoscene",path:"/examples/demoscene/code.js"},"space-combat":{name:"๐ Space Combat",path:"/examples/star-fox-nova-3d/code.js"},minecraft:{name:"โ๏ธ Voxel Realm",path:"/examples/minecraft-demo/code.js"},cyberpunk:{name:"๐ Cyberpunk City",path:"/examples/cyberpunk-city-3d/code.js"}},FO=`// nova64 Game Template
|
|
126
|
+
// Learn more: https://github.com/seacloud9/nova64
|
|
127
|
+
|
|
128
|
+
// Initialize your game
|
|
129
|
+
function init() {
|
|
130
|
+
console.log('๐ฎ Game initialized!');
|
|
131
|
+
|
|
132
|
+
// Example: Create a 3D scene
|
|
133
|
+
// novaContext.scene3d.create();
|
|
134
|
+
// novaContext.scene3d.addCube({ x: 0, y: 0, z: -5 });
|
|
135
|
+
|
|
136
|
+
// Example: 2D rendering
|
|
137
|
+
// novaContext.draw.rect(100, 100, 50, 50, '#FF0000');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Game loop
|
|
141
|
+
function update(deltaTime) {
|
|
142
|
+
// Update game logic here
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
function render() {
|
|
146
|
+
// Draw your game here
|
|
147
|
+
// novaContext.draw.clear('#000000');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// Start the game
|
|
151
|
+
init();
|
|
152
|
+
|
|
153
|
+
// Main game loop
|
|
154
|
+
function gameLoop() {
|
|
155
|
+
const deltaTime = 1/60;
|
|
156
|
+
update(deltaTime);
|
|
157
|
+
render();
|
|
158
|
+
requestAnimationFrame(gameLoop);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
gameLoop();
|
|
162
|
+
`;function xM(){const[t,e]=E.useState(FO),[n,i]=E.useState("my-game.js"),[r,s]=E.useState([]),[o,l]=E.useState(!1),[a,c]=E.useState(!1),[u,h]=E.useState(!1),f=E.useRef(null),d=E.useRef(null);E.useEffect(()=>{if(!f.current||d.current)return;const g=ne.create({doc:t,extensions:[c5,rM(),yM,D.updateListener.of(S=>{S.docChanged&&(e(S.state.doc.toString()),l(!1))})]}),x=new D({state:g,parent:f.current});return d.current=x,()=>{x.destroy(),d.current=null}},[t]),E.useEffect(()=>{const g=d.current;g&&g.state.doc.toString()!==t&&g.dispatch({changes:{from:0,to:g.state.doc.length,insert:t}})},[t]),E.useEffect(()=>{Lt.read("/Games/"+n).then(g=>{typeof g=="string"&&e(g)}).catch(()=>{})},[n]);const m=async()=>{try{await Lt.write("/Games/"+n,t),l(!0),s(g=>[...g,`โ
Saved: ${n}`]),setTimeout(()=>l(!1),2e3)}catch(g){s(x=>[...x,`โ Error saving: ${g}`])}},y=async()=>{console.log("๐ฎ runGame called"),s(["Starting game preview..."]),h(!0),setTimeout(async()=>{console.log("๐ฎ setTimeout callback starting");const g=document.getElementById("game-preview-canvas");if(console.log("๐ฎ Canvas element:",g),!g){const x="Canvas not ready";console.error("โ",x),s(S=>[...S,x]);return}try{console.log("๐ฎ Starting module loading..."),s(G=>[...G,"Loading Nova64 runtime..."]);const x=window.location.origin;console.log("๐ฎ Base URL:",x),console.log("๐ฎ Importing modules...");const[S,k,b,Q,T,X,$]=await Promise.all([lt(()=>import(`${x}/runtime/gpu-threejs.js`),[],import.meta.url),lt(()=>import(`${x}/runtime/api.js`),[],import.meta.url),lt(()=>import(`${x}/runtime/api-3d.js`),[],import.meta.url),lt(()=>import(`${x}/runtime/input.js`),[],import.meta.url),lt(()=>import(`${x}/runtime/ui.js`),[],import.meta.url),lt(()=>import(`${x}/runtime/api-skybox.js`),[],import.meta.url),lt(()=>import(`${x}/runtime/api-2d.js`),[],import.meta.url)]);console.log("โ
Modules loaded:",{gpuModule:S,apiModule:k,api3dModule:b,inputModule:Q,uiModule:T,skyboxModule:X,api2dModule:$});const{GpuThreeJS:P}=S,{stdApi:A}=k,{threeDApi:N}=b,{inputApi:z}=Q,{uiApi:V}=T,{skyboxApi:ce}=X,{api2d:U}=$;s(G=>[...G,"Runtime loaded"]),s(G=>[...G,"Initializing graphics..."]),console.log("๐จ Initializing GPU...");const M=new P(g,640,360);console.log("โ
GPU initialized:",M),console.log("๐จ Initializing APIs...");const _=A(M),B=N(M),F=z(),q=ce(M),se=U(M),ue={};_.exposeTo(ue);const be=V(M,ue);console.log("โ
APIs initialized"),s(G=>[...G,"Graphics initialized"]),s(G=>[...G,"Setting up API functions..."]),console.log("๐ Setting up global API functions..."),_.exposeTo(window),B.exposeTo(window),F.exposeTo(window),be.exposeTo(window),q.exposeTo(window),se.exposeTo(window);const te=window;te.rect3d=(G,st,Gt,Nc,CS,TS,Bc)=>{let Wc=16777215;if(typeof Bc=="bigint"?Wc=Number(Bc>>32n&0xffffffn):Wc=Bc,te.createCube&&te.setPosition&&te.setScale){const Fc=te.createCube(1,Wc,[G,st,Gt]);Fc!=null&&te.setScale(Fc,Nc,CS,TS)}},te.setCamera=(G,st,Gt)=>{te.setCameraPosition&&te.setCameraPosition(G,st,Gt)},te.lookAt=(G,st,Gt)=>{te.setCameraTarget&&te.setCameraTarget(G,st,Gt)};const He=window;He.circle&&(He.circfill=(G,st,Gt,Nc)=>{He.circle&&He.circle(G,st,Gt,Nc,!0)}),console.log("โ
Global API functions ready"),s(G=>[...G,"Executing your code..."]),console.log("๐ User code length:",t.length),console.log("๐ User code preview:",t.substring(0,200));let Pt=t;Pt=Pt.replace(/export\s+async\s+function/g,"async function"),Pt=Pt.replace(/export\s+function/g,"function"),Pt=Pt.replace(/export\s+const/g,"const"),Pt=Pt.replace(/export\s+let/g,"let"),Pt=Pt.replace(/export\s+default\s+/g,""),Pt=Pt.replace(/export\s*\{[^}]*\}\s*;?/g,""),console.log("โก Executing code in global scope..."),(0,eval)(Pt),console.log("โ
Code executed"),s(G=>[...G,"Code executed successfully!"]),s(G=>[...G,"Starting game loop..."]);const Xc=window,fs=Xc.init,lr=Xc.update,ar=Xc.draw;if(console.log("๐ Checking for game functions:",{hasInit:!!fs,hasUpdate:!!lr,hasDrawFunc:!!ar,initType:typeof fs,updateType:typeof lr,drawType:typeof ar}),fs&&typeof fs=="function"){console.log("๐ฌ Calling init()..."),s(G=>[...G,"Initializing game..."]);try{const G=fs();G instanceof Promise?(await G,console.log("โ
Async init() completed")):console.log("โ
Init() completed"),s(st=>[...st,"Game initialized!"])}catch(G){console.error("โ Error in init():",G),s(st=>[...st,`โ Init error: ${G.message}`])}}if(!lr&&!ar){const G="โ ๏ธ Warning: No update() or draw() functions found";console.warn(G),s(st=>[...st,G])}console.log("๐ Starting game loop...");let Qp=performance.now(),Ic=0;const Pp=()=>{const G=performance.now(),st=Math.min(.1,(G-Qp)/1e3);if(Qp=G,Ic++,Ic===1&&console.log("๐ฌ First frame rendering..."),F.step(),lr&&typeof lr=="function")try{lr(st)}catch(Gt){console.error("โ Error in update():",Gt)}try{M.beginFrame(),ar&&typeof ar=="function"&&ar(),M.endFrame()}catch(Gt){console.error("โ Error in draw():",Gt)}Ic===1&&console.log("โ
First frame rendered"),requestAnimationFrame(Pp)};Pp(),s(G=>[...G,"โ
Game is running!"]),console.log("โ
Game loop started!")}catch(x){const S=x,k=`โ Error: ${S.message}`;console.error("๐ฅ Game execution error:",x),console.error("Stack:",S.stack),s(b=>[...b,k])}},100)},v=async g=>{const x=WO[g];if(x){if(s([`๐ Loading demo: ${x.name}...`]),c(!1),"code"in x)e(x.code),i(`${g}.js`),s([`๐ Loaded demo: ${x.name}`]);else if("path"in x)try{const S=await fetch(x.path);if(!S.ok)throw new Error(`Failed to load: ${S.statusText}`);const k=await S.text();e(k),i(`${g}.js`),s([`๐ Loaded demo: ${x.name}`])}catch(S){s([`โ Failed to load demo: ${S.message}`]),console.error("Failed to load demo:",S)}}},O=()=>{confirm("Create a new game? Unsaved changes will be lost.")&&(e(FO),i("my-game.js"),s([]))};return p.jsxs("div",{style:{height:"100%",display:"flex",flexDirection:"column",background:"#1E1E1E"},children:[p.jsx("style",{children:`
|
|
163
|
+
.cm-editor {
|
|
164
|
+
height: 100%;
|
|
165
|
+
font-size: 13px;
|
|
166
|
+
}
|
|
167
|
+
.cm-scroller {
|
|
168
|
+
overflow: auto;
|
|
169
|
+
font-family: Monaco, Menlo, "Courier New", monospace;
|
|
170
|
+
}
|
|
171
|
+
.cm-content {
|
|
172
|
+
padding: 12px;
|
|
173
|
+
}
|
|
174
|
+
.cm-gutters {
|
|
175
|
+
background: #1E1E1E;
|
|
176
|
+
border-right: 1px solid #333;
|
|
177
|
+
}
|
|
178
|
+
`}),p.jsxs("div",{style:{padding:"10px 16px",background:"linear-gradient(180deg, #4A4A4A 0%, #2A2A2A 100%)",borderBottom:"3px solid #000",display:"flex",gap:12,alignItems:"center",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.1), 0 4px 8px rgba(0,0,0,0.5)"},children:[p.jsx("div",{style:{fontSize:18,marginRight:12,filter:"drop-shadow(0 2px 4px rgba(0,0,0,0.5))"},children:"๐ป"}),p.jsx("input",{type:"text",value:n,onChange:g=>i(g.target.value),style:{padding:"6px 12px",border:"2px solid #000",borderRadius:6,fontFamily:"Monaco, monospace",flex:1,maxWidth:250,background:"linear-gradient(180deg, #FFFFFF 0%, #F0F0F0 100%)",boxShadow:"inset 0 2px 4px rgba(0,0,0,0.1)",fontSize:13,fontWeight:"bold"}}),p.jsx("div",{style:{flex:1}}),p.jsx("button",{onClick:()=>c(!a),style:{padding:"6px 16px",background:"linear-gradient(180deg, #9B59B6 0%, #8E44AD 100%)",border:"2px solid #000",borderRadius:6,cursor:"pointer",fontSize:12,color:"#FFFFFF",fontWeight:"bold",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.2), 0 2px 4px rgba(0,0,0,0.3)",transition:"all 0.15s"},onMouseEnter:g=>{g.currentTarget.style.background="linear-gradient(180deg, #A569BD 0%, #9B59B6 100%)"},onMouseLeave:g=>{g.currentTarget.style.background="linear-gradient(180deg, #9B59B6 0%, #8E44AD 100%)"},children:"๐ Demos"}),p.jsx("button",{onClick:O,style:{padding:"6px 16px",background:"linear-gradient(180deg, #606060 0%, #404040 100%)",border:"2px solid #000",borderRadius:6,cursor:"pointer",fontSize:12,color:"#FFFFFF",fontWeight:"bold",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.2), 0 2px 4px rgba(0,0,0,0.3)",transition:"all 0.15s"},onMouseEnter:g=>{g.currentTarget.style.background="linear-gradient(180deg, #707070 0%, #505050 100%)"},onMouseLeave:g=>{g.currentTarget.style.background="linear-gradient(180deg, #606060 0%, #404040 100%)"},children:"๐ New"}),p.jsxs("button",{onClick:m,style:{padding:"6px 16px",background:o?"linear-gradient(180deg, #90EE90 0%, #60DD60 100%)":"linear-gradient(180deg, #6FA3EF 0%, #4A7FD0 100%)",border:"2px solid #000",borderRadius:6,cursor:"pointer",fontSize:12,fontWeight:"bold",color:"#FFFFFF",textShadow:"0 1px 2px rgba(0,0,0,0.3)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.3), 0 2px 4px rgba(0,0,0,0.3)",transition:"all 0.15s"},onMouseEnter:g=>{g.currentTarget.style.transform="translateY(-1px)",g.currentTarget.style.boxShadow="inset 0 1px 0 rgba(255,255,255,0.3), 0 4px 8px rgba(0,0,0,0.4)"},onMouseLeave:g=>{g.currentTarget.style.transform="translateY(0)",g.currentTarget.style.boxShadow="inset 0 1px 0 rgba(255,255,255,0.3), 0 2px 4px rgba(0,0,0,0.3)"},children:["๐พ ",o?"Saved!":"Save"]}),p.jsx("button",{onClick:y,style:{padding:"8px 20px",background:"linear-gradient(135deg, #FF6B6B 0%, #FF5252 100%)",border:"3px solid #000",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:"bold",color:"#FFFFFF",textShadow:"0 2px 4px rgba(0,0,0,0.4)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.4), 0 3px 6px rgba(0,0,0,0.4)",transition:"all 0.15s"},onMouseEnter:g=>{g.currentTarget.style.transform="scale(1.05)",g.currentTarget.style.boxShadow="inset 0 1px 0 rgba(255,255,255,0.4), 0 5px 12px rgba(255,0,0,0.4)"},onMouseLeave:g=>{g.currentTarget.style.transform="scale(1)",g.currentTarget.style.boxShadow="inset 0 1px 0 rgba(255,255,255,0.4), 0 3px 6px rgba(0,0,0,0.4)"},children:"โถ๏ธ RUN GAME"})]}),a&&p.jsx("div",{style:{background:"linear-gradient(180deg, #2A2A2A 0%, #1A1A1A 100%)",borderBottom:"2px solid #000",padding:"12px 16px",display:"flex",flexWrap:"wrap",gap:10,boxShadow:"inset 0 4px 8px rgba(0,0,0,0.4)"},children:Object.entries(WO).map(([g,x])=>p.jsx("button",{onClick:()=>v(g),style:{padding:"8px 16px",background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",border:"2px solid #000",borderRadius:8,cursor:"pointer",fontSize:12,fontWeight:"bold",color:"#FFFFFF",textShadow:"0 1px 2px rgba(0,0,0,0.4)",boxShadow:"0 2px 6px rgba(0,0,0,0.3)",transition:"all 0.2s"},onMouseEnter:S=>{S.currentTarget.style.transform="translateY(-2px)",S.currentTarget.style.boxShadow="0 4px 12px rgba(102,126,234,0.5)"},onMouseLeave:S=>{S.currentTarget.style.transform="translateY(0)",S.currentTarget.style.boxShadow="0 2px 6px rgba(0,0,0,0.3)"},children:x.name},g))}),p.jsxs("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[p.jsx("div",{ref:f,style:{flex:1,overflow:"auto",background:"#1E1E1E",fontSize:13,fontFamily:'Monaco, Menlo, "Courier New", monospace'}}),p.jsxs("div",{style:{width:480,borderLeft:"3px solid #000",background:"linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%)",display:"flex",flexDirection:"column",boxShadow:"inset 4px 0 8px rgba(0,0,0,0.5)"},children:[p.jsxs("div",{style:{display:"flex",borderBottom:"2px solid #000",background:"#0a0a0a"},children:[p.jsx("button",{onClick:()=>h(!0),style:{flex:1,padding:"10px 16px",background:u?"linear-gradient(180deg, #2A2A2A 0%, #1A1A1A 100%)":"transparent",border:"none",borderRight:"1px solid #000",borderBottom:u?"3px solid #00FFFF":"none",color:u?"#00FFFF":"#666666",fontSize:12,fontWeight:"bold",cursor:"pointer",transition:"all 0.2s",textShadow:u?"0 0 10px #00FFFF":"none"},children:"๐ฎ PREVIEW"}),p.jsx("button",{onClick:()=>h(!1),style:{flex:1,padding:"10px 16px",background:u?"transparent":"linear-gradient(180deg, #2A2A2A 0%, #1A1A1A 100%)",border:"none",borderBottom:u?"none":"3px solid #00FF00",color:u?"#666666":"#00FF00",fontSize:12,fontWeight:"bold",cursor:"pointer",transition:"all 0.2s",textShadow:u?"none":"0 0 10px #00FF00"},children:"๐ CONSOLE"})]}),p.jsx("div",{style:{flex:1,overflow:"hidden",display:"flex",flexDirection:"column"},children:u?p.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",padding:12,alignItems:"center",justifyContent:"center",background:"#0a0a0a"},children:p.jsx("canvas",{id:"game-preview-canvas",width:640,height:360,style:{border:"3px solid #00FFFF",borderRadius:8,imageRendering:"pixelated",boxShadow:"0 0 20px rgba(0,255,255,0.3)",maxWidth:"100%",height:"auto"}})}):p.jsx("div",{style:{flex:1,color:"#00FF00",fontFamily:"Monaco, Menlo, monospace",fontSize:12,padding:16,overflow:"auto"},children:r.length===0?p.jsxs("div",{style:{color:"#006600"},children:[p.jsx("div",{style:{marginBottom:12,fontStyle:"italic"},children:"> Game Studio Ready"}),p.jsxs("div",{style:{marginBottom:8,color:"#00AAAA"},children:["๐ก Click ",p.jsx("strong",{children:"๐ Demos"})," to load example games"]}),p.jsx("div",{style:{marginBottom:8,color:"#00AAAA"},children:"๐ก Edit your code in the editor"}),p.jsxs("div",{style:{marginBottom:8,color:"#00AAAA"},children:["๐ก Click ",p.jsx("strong",{children:"โถ๏ธ RUN GAME"})," to preview"]}),p.jsxs("div",{style:{marginTop:16,padding:12,background:"rgba(0,255,0,0.05)",border:"1px solid #003300",borderRadius:4},children:[p.jsx("div",{style:{color:"#00FF00",fontWeight:"bold",marginBottom:6},children:"๐ฎ AVAILABLE DEMOS:"}),p.jsxs("div",{style:{color:"#00AA00",fontSize:11,lineHeight:1.6},children:["โข ๐ Hello 3D World",p.jsx("br",{}),"โข ๐ Platformer Demo",p.jsx("br",{}),"โข ๐ Space Shooter"]})]})]}):r.map((g,x)=>p.jsxs("div",{style:{marginBottom:6,paddingLeft:8,borderLeft:"2px solid #003300"},children:[p.jsx("span",{style:{color:"#00AA00",marginRight:8},children:">"}),g]},x))})})]})]}),p.jsxs("div",{style:{padding:"8px 16px",background:"linear-gradient(180deg, #4A4A4A 0%, #2A2A2A 100%)",borderTop:"3px solid #000",fontSize:11,display:"flex",justifyContent:"space-between",color:"#CCCCCC",fontWeight:"bold",boxShadow:"inset 0 2px 4px rgba(0,0,0,0.5)"},children:[p.jsx("span",{style:{color:"#00DD00"},children:"โก nova64 Game Studio v1.0"}),p.jsxs("span",{children:["๐ ",t.split(`
|
|
179
|
+
`).length," lines | ๐ค ",t.length," chars |",o?p.jsx("span",{style:{color:"#00DD00"},children:" โ Saved"}):p.jsx("span",{style:{color:"#FFAA00"},children:" โ Modified"})]})]})]})}const vM={id:"studio",name:"Game Studio",icon:"๐ป",mount(t,e){const n=Gn(t);return n.render(p.jsx(xM,{})),()=>{n.unmount()}},unmount(){},getInfo(){return{name:"Game Studio",version:"1.0",description:"Create nova64 games with live code editing",author:"nova64 OS",icon:"๐ป"}}};Ie.registerApp(vM);const VO=[{id:"intro",title:"๐ฎ Getting Started with nova64",category:"tutorial",content:`
|
|
180
|
+
# Welcome to nova64!
|
|
181
|
+
|
|
182
|
+
nova64 is a retro-inspired virtual console for creating games with modern JavaScript.
|
|
183
|
+
|
|
184
|
+
## Quick Start
|
|
185
|
+
|
|
186
|
+
1. Open **Game Studio** to create a new game
|
|
187
|
+
2. Write your game code using the nova64 API
|
|
188
|
+
3. Click **Run** to test your game
|
|
189
|
+
4. Save your game and share it!
|
|
190
|
+
|
|
191
|
+
## Example: Hello World
|
|
192
|
+
|
|
193
|
+
\`\`\`javascript
|
|
194
|
+
// Draw a simple rectangle
|
|
195
|
+
novaContext.draw.rect(100, 100, 50, 50, '#FF0000');
|
|
196
|
+
novaContext.draw.text('Hello nova64!', 100, 80);
|
|
197
|
+
\`\`\`
|
|
198
|
+
`},{id:"3d-api",title:"๐จ 3D Graphics API",category:"api",content:`
|
|
199
|
+
# 3D Graphics API
|
|
200
|
+
|
|
201
|
+
Create immersive 3D worlds with nova64's WebGL-powered 3D engine.
|
|
202
|
+
|
|
203
|
+
## Creating a 3D Scene
|
|
204
|
+
|
|
205
|
+
\`\`\`javascript
|
|
206
|
+
// Initialize 3D scene
|
|
207
|
+
novaContext.scene3d.create();
|
|
208
|
+
|
|
209
|
+
// Add a cube
|
|
210
|
+
novaContext.scene3d.addCube({
|
|
211
|
+
x: 0,
|
|
212
|
+
y: 0,
|
|
213
|
+
z: -5,
|
|
214
|
+
size: 1,
|
|
215
|
+
color: '#FF0000'
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
// Add lighting
|
|
219
|
+
novaContext.scene3d.addLight({
|
|
220
|
+
type: 'directional',
|
|
221
|
+
direction: [1, -1, -1]
|
|
222
|
+
});
|
|
223
|
+
\`\`\`
|
|
224
|
+
|
|
225
|
+
## Available Models
|
|
226
|
+
- Cubes, Spheres, Cylinders
|
|
227
|
+
- GLB model loading
|
|
228
|
+
- Custom mesh support
|
|
229
|
+
`},{id:"2d-api",title:"โ๏ธ 2D Drawing API",category:"api",content:`
|
|
230
|
+
# 2D Drawing API
|
|
231
|
+
|
|
232
|
+
Classic 2D graphics for retro-style games.
|
|
233
|
+
|
|
234
|
+
## Basic Shapes
|
|
235
|
+
|
|
236
|
+
\`\`\`javascript
|
|
237
|
+
// Rectangle
|
|
238
|
+
novaContext.draw.rect(x, y, width, height, color);
|
|
239
|
+
|
|
240
|
+
// Circle
|
|
241
|
+
novaContext.draw.circle(x, y, radius, color);
|
|
242
|
+
|
|
243
|
+
// Line
|
|
244
|
+
novaContext.draw.line(x1, y1, x2, y2, color, width);
|
|
245
|
+
|
|
246
|
+
// Text
|
|
247
|
+
novaContext.draw.text(text, x, y, {
|
|
248
|
+
font: '16px Arial',
|
|
249
|
+
color: '#FFFFFF',
|
|
250
|
+
align: 'center'
|
|
251
|
+
});
|
|
252
|
+
\`\`\`
|
|
253
|
+
|
|
254
|
+
## Sprites & Images
|
|
255
|
+
|
|
256
|
+
\`\`\`javascript
|
|
257
|
+
// Load a sprite
|
|
258
|
+
const sprite = novaContext.sprites.load('player.png');
|
|
259
|
+
|
|
260
|
+
// Draw sprite
|
|
261
|
+
novaContext.sprites.draw(sprite, x, y);
|
|
262
|
+
\`\`\`
|
|
263
|
+
`},{id:"input",title:"๐ฎ Input Handling",category:"api",content:`
|
|
264
|
+
# Input Handling
|
|
265
|
+
|
|
266
|
+
Handle keyboard, mouse, and gamepad input.
|
|
267
|
+
|
|
268
|
+
## Keyboard
|
|
269
|
+
|
|
270
|
+
\`\`\`javascript
|
|
271
|
+
// Check if key is pressed
|
|
272
|
+
if (novaContext.input.isKeyDown('ArrowUp')) {
|
|
273
|
+
playerY -= speed;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// Key events
|
|
277
|
+
novaContext.input.onKeyPress('Space', () => {
|
|
278
|
+
player.jump();
|
|
279
|
+
});
|
|
280
|
+
\`\`\`
|
|
281
|
+
|
|
282
|
+
## Mouse
|
|
283
|
+
|
|
284
|
+
\`\`\`javascript
|
|
285
|
+
// Mouse position
|
|
286
|
+
const mouseX = novaContext.input.mouseX;
|
|
287
|
+
const mouseY = novaContext.input.mouseY;
|
|
288
|
+
|
|
289
|
+
// Mouse clicks
|
|
290
|
+
novaContext.input.onClick((x, y) => {
|
|
291
|
+
console.log('Clicked at:', x, y);
|
|
292
|
+
});
|
|
293
|
+
\`\`\`
|
|
294
|
+
|
|
295
|
+
## Gamepad
|
|
296
|
+
|
|
297
|
+
\`\`\`javascript
|
|
298
|
+
// Check gamepad button
|
|
299
|
+
if (novaContext.input.gamepad.isButtonPressed(0)) {
|
|
300
|
+
player.jump();
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Analog sticks
|
|
304
|
+
const leftStickX = novaContext.input.gamepad.getAxis(0);
|
|
305
|
+
\`\`\`
|
|
306
|
+
`},{id:"audio",title:"๐ Audio System",category:"api",content:`
|
|
307
|
+
# Audio System
|
|
308
|
+
|
|
309
|
+
Play sounds and music in your games.
|
|
310
|
+
|
|
311
|
+
## Sound Effects
|
|
312
|
+
|
|
313
|
+
\`\`\`javascript
|
|
314
|
+
// Load and play sound
|
|
315
|
+
const jumpSound = novaContext.audio.loadSound('jump.wav');
|
|
316
|
+
novaContext.audio.playSound(jumpSound);
|
|
317
|
+
|
|
318
|
+
// Volume control
|
|
319
|
+
novaContext.audio.setVolume(jumpSound, 0.7);
|
|
320
|
+
\`\`\`
|
|
321
|
+
|
|
322
|
+
## Background Music
|
|
323
|
+
|
|
324
|
+
\`\`\`javascript
|
|
325
|
+
// Play music (loops by default)
|
|
326
|
+
const bgMusic = novaContext.audio.loadMusic('theme.mp3');
|
|
327
|
+
novaContext.audio.playMusic(bgMusic, { loop: true });
|
|
328
|
+
|
|
329
|
+
// Stop music
|
|
330
|
+
novaContext.audio.stopMusic();
|
|
331
|
+
\`\`\`
|
|
332
|
+
`},{id:"examples",title:"๐ Example Games",category:"guide",content:`
|
|
333
|
+
# Example Games
|
|
334
|
+
|
|
335
|
+
Learn from these complete game examples:
|
|
336
|
+
|
|
337
|
+
## ๐๏ธ F-Zero Racing
|
|
338
|
+
High-speed 3D racing with Mode 7 effects.
|
|
339
|
+
- 3D track rendering
|
|
340
|
+
- Collision detection
|
|
341
|
+
- Lap timing
|
|
342
|
+
|
|
343
|
+
## โ๏ธ Knight Platformer
|
|
344
|
+
Classic 2D platformer with GLB character models.
|
|
345
|
+
- Physics and jumping
|
|
346
|
+
- Enemy AI
|
|
347
|
+
- Level design
|
|
348
|
+
|
|
349
|
+
## ๐ Cyberpunk City
|
|
350
|
+
Explore a neon-lit 3D world.
|
|
351
|
+
- First-person camera
|
|
352
|
+
- Dynamic lighting
|
|
353
|
+
- Interactive objects
|
|
354
|
+
|
|
355
|
+
Check out the **Game Launcher** to play these games!
|
|
356
|
+
`}];function SM(){const[t,e]=E.useState(VO[0]),[n,i]=E.useState(""),r=VO.filter(s=>s.title.toLowerCase().includes(n.toLowerCase())||s.content.toLowerCase().includes(n.toLowerCase()));return p.jsxs("div",{style:{height:"100%",display:"flex",background:"#F5F5F5"},children:[p.jsxs("div",{style:{width:280,borderRight:"3px solid #000",background:"linear-gradient(180deg, #E8E8E8 0%, #D8D8D8 100%)",overflow:"auto",boxShadow:"inset -2px 0 4px rgba(0,0,0,0.1)"},children:[p.jsxs("div",{style:{padding:16,background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",borderBottom:"3px solid #000",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.3)"},children:[p.jsx("div",{style:{fontSize:20,fontWeight:"bold",color:"#FFFFFF",marginBottom:12,textShadow:"2px 2px 4px rgba(0,0,0,0.5)"},children:"๐ Documentation"}),p.jsx("input",{type:"text",placeholder:"๐ Search docs...",value:n,onChange:s=>i(s.target.value),style:{width:"100%",padding:"8px 12px",border:"2px solid #000",borderRadius:6,fontSize:12,boxSizing:"border-box",background:"linear-gradient(180deg, #FFFFFF 0%, #F0F0F0 100%)",boxShadow:"inset 0 2px 4px rgba(0,0,0,0.1)",transition:"all 0.15s"},onFocus:s=>{s.currentTarget.style.borderColor="#0066FF",s.currentTarget.style.boxShadow="inset 0 2px 4px rgba(0,0,0,0.1), 0 0 0 2px rgba(0,102,255,0.3)"},onBlur:s=>{s.currentTarget.style.borderColor="#000",s.currentTarget.style.boxShadow="inset 0 2px 4px rgba(0,0,0,0.1)"}})]}),p.jsx("div",{style:{padding:"0 12px 12px"},children:["tutorial","api","guide","reference"].map(s=>{const o=r.filter(a=>a.category===s);if(o.length===0)return null;const l={tutorial:"๐",api:"โ๏ธ",guide:"๐",reference:"๐"};return p.jsxs("div",{style:{marginBottom:20},children:[p.jsxs("div",{style:{fontSize:11,fontWeight:"bold",textTransform:"uppercase",color:"#666",padding:"8px 12px",background:"linear-gradient(180deg, #F0F0F0 0%, #E0E0E0 100%)",border:"2px solid #CCC",borderRadius:6,marginBottom:8,display:"flex",alignItems:"center",gap:6,boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5)"},children:[p.jsx("span",{children:l[s]}),s]}),o.map(a=>p.jsx("div",{onClick:()=>e(a),style:{padding:"10px 16px",cursor:"pointer",fontSize:13,background:t.id===a.id?"linear-gradient(135deg, #667eea 0%, #764ba2 100%)":"transparent",color:t.id===a.id?"#FFFFFF":"#000",border:t.id===a.id?"2px solid #0000FF":"2px solid transparent",borderRadius:6,marginBottom:6,fontWeight:t.id===a.id?"bold":"normal",transition:"all 0.15s ease",boxShadow:t.id===a.id?"0 4px 8px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.3)":"none"},onMouseEnter:c=>{t.id!==a.id&&(c.currentTarget.style.background="linear-gradient(180deg, #FFFFFF 0%, #F0F0F0 100%)",c.currentTarget.style.borderColor="#999")},onMouseLeave:c=>{t.id!==a.id&&(c.currentTarget.style.background="transparent",c.currentTarget.style.borderColor="transparent")},children:a.title},a.id))]},s)})})]}),p.jsx("div",{style:{flex:1,padding:32,overflow:"auto",background:"#FFFFFF",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',boxShadow:"inset 4px 0 8px rgba(0,0,0,0.05)"},children:p.jsx("div",{style:{maxWidth:800,margin:"0 auto",animation:"fadeIn 0.3s ease-out"},dangerouslySetInnerHTML:{__html:wM(t.content)}})})]})}function wM(t){let e=t;return e=e.replace(/^# (.+)$/gm,'<h1 style="font-size: 28px; margin: 24px 0 16px;">$1</h1>'),e=e.replace(/^## (.+)$/gm,'<h2 style="font-size: 22px; margin: 20px 0 12px;">$1</h2>'),e=e.replace(/```(\w+)?\n([\s\S]*?)```/g,'<pre style="background: #1E1E1E; color: #D4D4D4; padding: 16px; border-radius: 6px; overflow-x: auto; font-family: Monaco, monospace; font-size: 13px; line-height: 1.5;"><code>$2</code></pre>'),e=e.replace(/`([^`]+)`/g,'<code style="background: #F0F0F0; padding: 2px 6px; border-radius: 3px; font-family: Monaco, monospace; font-size: 12px;">$1</code>'),e=e.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),e=e.replace(/^- (.+)$/gm,'<li style="margin: 6px 0;">$1</li>'),e=e.replace(/(<li.*<\/li>)/s,'<ul style="margin: 12px 0; padding-left: 24px;">$1</ul>'),e=e.replace(/\n\n/g,'</p><p style="margin: 12px 0; line-height: 1.6;">'),e='<p style="margin: 12px 0; line-height: 1.6;">'+e+"</p>",e}const kM={id:"docs",name:"Documentation",icon:"๐",mount(t,e){const n=Gn(t);return n.render(p.jsx(SM,{})),()=>{n.unmount()}},unmount(){},getInfo(){return{name:"Documentation",version:"1.0",description:"nova64 API documentation and tutorials",author:"nova64 OS",icon:"๐"}}};Ie.registerApp(kM);const YO=[{r:0,g:0,b:0,a:255},{r:255,g:255,b:255,a:255},{r:255,g:0,b:0,a:255},{r:0,g:255,b:0,a:255},{r:0,g:0,b:255,a:255},{r:255,g:255,b:0,a:255},{r:255,g:0,b:255,a:255},{r:0,g:255,b:255,a:255},{r:128,g:0,b:0,a:255},{r:0,g:128,b:0,a:255},{r:0,g:0,b:128,a:255},{r:128,g:128,b:0,a:255},{r:128,g:0,b:128,a:255},{r:0,g:128,b:128,a:255},{r:128,g:128,b:128,a:255},{r:192,g:192,b:192,a:255}];function bM(){const[t,e]=E.useState(16),[n,i]=E.useState(24),[r,s]=E.useState(YO[0]),[o,l]=E.useState("pen"),[a,c]=E.useState(!0),[u,h]=E.useState("sprite-1"),f=E.useRef(null),[d,m]=E.useState(!1),[y,v]=E.useState([]);E.useEffect(()=>{const $=[];for(let P=0;P<t;P++){$[P]=[];for(let A=0;A<t;A++)$[P][A]={r:0,g:0,b:0,a:0}}v($)},[t]),E.useEffect(()=>{const $=f.current;if(!$)return;const P=$.getContext("2d");if(P){P.clearRect(0,0,$.width,$.height);for(let A=0;A<t;A++)for(let N=0;N<t;N++)(N+A)%2===0?P.fillStyle="#DDD":P.fillStyle="#FFF",P.fillRect(N*n,A*n,n,n);if(y.forEach((A,N)=>{A.forEach((z,V)=>{z.a>0&&(P.fillStyle=`rgba(${z.r}, ${z.g}, ${z.b}, ${z.a/255})`,P.fillRect(V*n,N*n,n,n))})}),a){P.strokeStyle="rgba(0, 0, 0, 0.2)",P.lineWidth=1;for(let A=0;A<=t;A++)P.beginPath(),P.moveTo(A*n,0),P.lineTo(A*n,t*n),P.stroke();for(let A=0;A<=t;A++)P.beginPath(),P.moveTo(0,A*n),P.lineTo(t*n,A*n),P.stroke()}}},[y,t,n,a]);const O=$=>{const P=f.current;if(!P)return null;const A=P.getBoundingClientRect(),N=Math.floor(($.clientX-A.left)/n),z=Math.floor(($.clientY-A.top)/n);return N>=0&&N<t&&z>=0&&z<t?{x:N,y:z}:null},g=($,P,A)=>{v(N=>{const z=N.map(V=>[...V]);return z[P][$]={...A},z})},x=($,P,A,N)=>{if(A.r===N.r&&A.g===N.g&&A.b===N.b&&A.a===N.a)return;const z=y.map(U=>[...U]),V=[[$,P]],ce=(U,M)=>U.r===M.r&&U.g===M.g&&U.b===M.b&&U.a===M.a;for(;V.length>0;){const[U,M]=V.pop();U<0||U>=t||M<0||M>=t||ce(z[M][U],A)&&(z[M][U]={...N},V.push([U+1,M],[U-1,M],[U,M+1],[U,M-1]))}v(z)},S=$=>{const P=O($);if(P)switch(m(!0),o){case"pen":g(P.x,P.y,r);break;case"eraser":g(P.x,P.y,{r:0,g:0,b:0,a:0});break;case"fill":x(P.x,P.y,y[P.y][P.x],r);break;case"eyedropper":{const A=y[P.y][P.x];A.a>0&&s(A);break}}},k=$=>{if(!d||o==="fill"||o==="eyedropper")return;const P=O($);P&&(o==="pen"?g(P.x,P.y,r):o==="eraser"&&g(P.x,P.y,{r:0,g:0,b:0,a:0}))},b=()=>{m(!1)},Q=()=>{if(confirm("Clear the canvas? This cannot be undone.")){const $=[];for(let P=0;P<t;P++){$[P]=[];for(let A=0;A<t;A++)$[P][A]={r:0,g:0,b:0,a:0}}v($)}},T=()=>{const $=document.createElement("canvas");$.width=t,$.height=t;const P=$.getContext("2d");P&&(y.forEach((A,N)=>{A.forEach((z,V)=>{z.a>0&&(P.fillStyle=`rgba(${z.r}, ${z.g}, ${z.b}, ${z.a/255})`,P.fillRect(V,N,1,1))})}),$.toBlob(A=>{if(!A)return;const N=URL.createObjectURL(A),z=document.createElement("a");z.href=N,z.download=`${u}.png`,z.click(),URL.revokeObjectURL(N)}))},X=$=>`rgba(${$.r}, ${$.g}, ${$.b}, ${$.a/255})`;return p.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",background:"linear-gradient(180deg, #E0E0E0 0%, #C0C0C0 100%)",fontFamily:'Chicago, "Courier New", monospace',overflow:"hidden"},children:[p.jsxs("div",{style:{display:"flex",gap:8,padding:8,background:"#D0D0D0",borderBottom:"2px solid #000",flexWrap:"wrap",alignItems:"center"},children:[p.jsxs("div",{style:{display:"flex",gap:4},children:[p.jsx("button",{onClick:()=>l("pen"),style:{padding:"6px 12px",background:o==="pen"?"#000":"#FFF",color:o==="pen"?"#FFF":"#000",border:"2px solid #000",cursor:"pointer",fontWeight:"bold"},children:"โ๏ธ Pen"}),p.jsx("button",{onClick:()=>l("fill"),style:{padding:"6px 12px",background:o==="fill"?"#000":"#FFF",color:o==="fill"?"#FFF":"#000",border:"2px solid #000",cursor:"pointer",fontWeight:"bold"},children:"๐ชฃ Fill"}),p.jsx("button",{onClick:()=>l("eraser"),style:{padding:"6px 12px",background:o==="eraser"?"#000":"#FFF",color:o==="eraser"?"#FFF":"#000",border:"2px solid #000",cursor:"pointer",fontWeight:"bold"},children:"๐งน Eraser"}),p.jsx("button",{onClick:()=>l("eyedropper"),style:{padding:"6px 12px",background:o==="eyedropper"?"#000":"#FFF",color:o==="eyedropper"?"#FFF":"#000",border:"2px solid #000",cursor:"pointer",fontWeight:"bold"},children:"๐ง Pick"})]}),p.jsx("div",{style:{width:2,height:30,background:"#000"}}),p.jsxs("label",{style:{display:"flex",alignItems:"center",gap:4},children:[p.jsx("input",{type:"checkbox",checked:a,onChange:$=>c($.target.checked)}),"Show Grid"]}),p.jsx("div",{style:{width:2,height:30,background:"#000"}}),p.jsxs("label",{style:{display:"flex",alignItems:"center",gap:4},children:["Size:",p.jsxs("select",{value:t,onChange:$=>e(Number($.target.value)),style:{padding:4,border:"2px solid #000"},children:[p.jsx("option",{value:8,children:"8x8"}),p.jsx("option",{value:16,children:"16x16"}),p.jsx("option",{value:32,children:"32x32"}),p.jsx("option",{value:64,children:"64x64"})]})]}),p.jsxs("label",{style:{display:"flex",alignItems:"center",gap:4},children:["Zoom:",p.jsxs("select",{value:n,onChange:$=>i(Number($.target.value)),style:{padding:4,border:"2px solid #000"},children:[p.jsx("option",{value:12,children:"1x"}),p.jsx("option",{value:24,children:"2x"}),p.jsx("option",{value:36,children:"3x"}),p.jsx("option",{value:48,children:"4x"})]})]}),p.jsx("div",{style:{flex:1}}),p.jsx("button",{onClick:Q,style:{padding:"6px 12px",background:"#FFF",border:"2px solid #000",cursor:"pointer",fontWeight:"bold"},children:"๐๏ธ Clear"}),p.jsx("button",{onClick:T,style:{padding:"6px 12px",background:"#00DD00",border:"2px solid #000",cursor:"pointer",fontWeight:"bold"},children:"๐พ Export PNG"})]}),p.jsxs("div",{style:{flex:1,display:"flex",gap:16,padding:16,overflow:"auto"},children:[p.jsx("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center",background:"#A0A0A0",border:"2px solid #000",padding:16},children:p.jsx("canvas",{ref:f,width:t*n,height:t*n,onMouseDown:S,onMouseMove:k,onMouseUp:b,onMouseLeave:b,style:{cursor:o==="eyedropper"?"crosshair":"pointer",border:"2px solid #000",background:"#FFF"}})}),p.jsxs("div",{style:{width:200,display:"flex",flexDirection:"column",gap:16},children:[p.jsxs("div",{style:{background:"#FFF",border:"2px solid #000",padding:12},children:[p.jsx("div",{style:{fontWeight:"bold",marginBottom:8},children:"Current Color"}),p.jsx("div",{style:{width:"100%",height:60,background:X(r),border:"2px solid #000",boxShadow:"inset 0 0 0 1px rgba(255,255,255,0.5)"}}),p.jsxs("div",{style:{marginTop:8,fontSize:11},children:["RGB: ",r.r,", ",r.g,", ",r.b]})]}),p.jsxs("div",{style:{background:"#FFF",border:"2px solid #000",padding:12,flex:1,overflow:"auto"},children:[p.jsx("div",{style:{fontWeight:"bold",marginBottom:8},children:"Palette"}),p.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:4},children:YO.map(($,P)=>p.jsx("div",{onClick:()=>s($),style:{width:36,height:36,background:X($),border:r===$?"3px solid #000":"2px solid #000",cursor:"pointer",boxSizing:"border-box"},title:`RGB: ${$.r}, ${$.g}, ${$.b}`},P))}),p.jsxs("div",{style:{marginTop:12},children:[p.jsx("div",{onClick:()=>s({r:0,g:0,b:0,a:0}),style:{width:"100%",height:36,background:"repeating-conic-gradient(#DDD 0% 25%, #FFF 0% 50%) 50% / 8px 8px",border:r.a===0?"3px solid #000":"2px solid #000",cursor:"pointer",boxSizing:"border-box"},title:"Transparent"}),p.jsx("div",{style:{fontSize:11,marginTop:4,textAlign:"center"},children:"Transparent"})]})]}),p.jsxs("div",{style:{background:"#FFF",border:"2px solid #000",padding:12},children:[p.jsx("div",{style:{fontWeight:"bold",marginBottom:8},children:"Export"}),p.jsx("input",{type:"text",value:u,onChange:$=>h($.target.value),placeholder:"sprite-name",style:{width:"100%",padding:4,border:"2px solid #000",fontFamily:"inherit"}}),p.jsxs("div",{style:{fontSize:11,marginTop:4,color:"#666"},children:[t,"x",t," PNG"]})]})]})]}),p.jsxs("div",{style:{padding:8,background:"#D0D0D0",borderTop:"2px solid #000",fontSize:12,display:"flex",justifyContent:"space-between"},children:[p.jsxs("span",{children:["๐จ Sprite Editor โข Tool: ",o]}),p.jsxs("span",{children:["Canvas: ",t,"x",t,"px"]})]})]})}const QM={id:"sprite-editor",name:"Sprite Editor",icon:"๐จ",mount(t){const e=Gn(t);return e.render(p.jsx(bM,{})),()=>{e.unmount()}},unmount(){},getInfo(){return{name:"Sprite Editor",version:"1.0",description:"Create pixel art sprites with drawing tools and color palette",author:"nova64 OS",icon:"๐จ"}}};Ie.registerApp(QM);function PM(){const t=E.useRef(null),[e,n]=E.useState(!0),[i,r]=E.useState(null),s=E.useRef(null),o=E.useRef({});return E.useEffect(()=>{let l=!0,a=performance.now(),c=null;return(async()=>{try{const h=t.current;if(!h)throw new Error("Canvas not found");console.log("๐ฌ Loading DemoScene..."),n(!0);const f=window.location.origin,[d,m,y,v,O,g,x]=await Promise.all([lt(()=>import(`${f}/runtime/gpu-threejs.js`),[],import.meta.url),lt(()=>import(`${f}/runtime/api.js`),[],import.meta.url),lt(()=>import(`${f}/runtime/api-3d.js`),[],import.meta.url),lt(()=>import(`${f}/runtime/input.js`),[],import.meta.url),lt(()=>import(`${f}/runtime/ui.js`),[],import.meta.url),lt(()=>import(`${f}/runtime/api-skybox.js`),[],import.meta.url),lt(()=>import(`${f}/runtime/api-effects.js`),[],import.meta.url)]),{GpuThreeJS:S}=d,{stdApi:k}=m,{threeDApi:b}=y,{inputApi:Q}=v,{uiApi:T}=O,{skyboxApi:X}=g,{effectsApi:$}=x,P=new S(h,640,360);o.current.gpu=P,c=P;const A=k(P),N=b(P),z=Q(),V=X(P),ce=$(P),U={};A.exposeTo(U);const M=T(P,U);A.exposeTo(window),N.exposeTo(window),z.exposeTo(window),M.exposeTo(window),V.exposeTo(window),ce.exposeTo(window),console.log("โ
APIs loaded and exposed");const _=await fetch(`${f}/examples/demoscene/code.js`);if(!_.ok)throw new Error(`Failed to load demoscene: ${_.statusText}`);const B=await _.text();console.log("๐ DemoScene code loaded:",B.length,"characters");let F=B;F=F.replace(/export\s+async\s+function/g,"async function"),F=F.replace(/export\s+function/g,"function"),F=F.replace(/export\s+const/g,"const"),F=F.replace(/export\s+let/g,"let"),F=F.replace(/export\s+default\s+/g,""),F=F.replace(/export\s*\{[^}]*\}\s*;?/g,""),console.log("โก Executing demoscene code..."),(0,eval)(F);const q=window;if(o.current.init=q.init,o.current.update=q.update,o.current.draw=q.draw,o.current.init){console.log("๐ฌ Calling init()...");const ue=o.current.init();ue instanceof Promise&&await ue,console.log("โ
Init completed")}if(!l)return;n(!1),console.log("โ
DemoScene ready!");const se=()=>{if(!l)return;const ue=performance.now(),be=Math.min(.1,(ue-a)/1e3);if(a=ue,z.step(),o.current.update)try{o.current.update(be)}catch(te){console.error("Error in update():",te)}try{P.beginFrame(),o.current.draw&&o.current.draw(),P.endFrame()}catch(te){console.error("Error in draw():",te)}s.current=requestAnimationFrame(se)};se()}catch(h){console.error("โ Error loading DemoScene:",h),l&&(r(h.message),n(!1))}})(),()=>{l=!1,s.current&&cancelAnimationFrame(s.current);const h=c;h&&typeof h.dispose=="function"&&h.dispose()}},[]),p.jsxs("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",backgroundColor:"#000",position:"relative"},children:[e&&p.jsxs("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:"#00ffff",fontSize:"24px",fontFamily:"monospace",textAlign:"center",zIndex:10},children:[p.jsx("div",{children:"โจ LOADING DEMOSCENE โจ"}),p.jsx("div",{style:{fontSize:"14px",marginTop:"10px"},children:"Initializing post-processing effects..."})]}),i&&p.jsxs("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:"#ff0000",fontSize:"16px",fontFamily:"monospace",textAlign:"center",padding:"20px",backgroundColor:"rgba(0,0,0,0.8)",borderRadius:"8px",zIndex:10},children:[p.jsx("div",{children:"โ Error Loading DemoScene"}),p.jsx("div",{style:{fontSize:"12px",marginTop:"10px"},children:i})]}),p.jsx("canvas",{ref:t,width:1280,height:720,style:{width:"100%",height:"100%",objectFit:"contain",imageRendering:"auto",display:e?"none":"block"}})]})}const $M={id:"demoscene",name:"โจ DemoScene - Tron Odyssey",icon:"๐ฟ",mount(t){lt(async()=>{const{createRoot:e}=await Promise.resolve().then(()=>rb);return{createRoot:e}},void 0,import.meta.url).then(({createRoot:e})=>{const n=e(t);n.render(p.jsx(PM,{})),t.__reactRoot=n})},unmount(){},getInfo(){return{name:"DemoScene - Tron Odyssey",version:"1.0.0",description:"An epic visual journey through a neon digital realm with bloom, post-processing, particles, and dynamic effects",author:"Nova64 Team",icon:"๐ฟ"}}};typeof window<"u"&&Ie.registerApp($M);let CM=0;function le(){return`hn_${Date.now()}_${(++CM).toString(36)}`}function TM(t,e){return{id:le(),type:"button",x:t,y:e,width:120,height:36,label:"Button",bgColor:"#3a7bd5",textColor:"#ffffff",script:'// goNext(); or goToCard("card-id");'}}function AM(t,e){return{id:le(),type:"text",x:t,y:e,width:220,height:40,text:"Text Label",fontSize:20,color:"#1a1a1a",bold:!1,italic:!1}}function MM(t,e){return{id:le(),type:"field",x:t,y:e,width:200,height:36,placeholder:"Enter textโฆ",value:"",fontSize:14}}function RM(t,e){return{id:le(),type:"rect",x:t,y:e,width:160,height:80,bgColor:"#ffffff",borderColor:"#555555",borderWidth:2,borderRadius:6}}function EM(t,e){return{id:le(),type:"image",x:t,y:e,width:120,height:90,asset:""}}function QS(t){return{id:le(),title:`Card ${t}`,background:{type:"2d-color",color:"#f8f4ee"},objects:[]}}function jM(){return{version:1,name:"My Stack",stacks:[{id:le(),title:"Main Stack",cards:[QS(1)]}],assets:{images:{}}}}function ZM(){const t=le(),e=le(),n=le();return{version:1,name:"Welcome to hyperNova",stacks:[{id:le(),title:"Demo Stack",cards:[{id:t,title:"Welcome",background:{type:"2d-color",color:"#1a1a3e"},objects:[{id:le(),type:"text",x:80,y:60,width:480,height:60,text:"๐ hyperNova",fontSize:40,color:"#f0e68c",bold:!0,italic:!1},{id:le(),type:"text",x:80,y:130,width:480,height:36,text:"A HyperCard-like stack editor for novaOS",fontSize:18,color:"#c8c8ff",bold:!1,italic:!1},{id:le(),type:"text",x:80,y:180,width:480,height:60,text:`โข Create interactive presentations
|
|
357
|
+
โข Build apps and simple games
|
|
358
|
+
โข Export to nova64 carts`,fontSize:15,color:"#a8d8a8",bold:!1,italic:!1},{id:le(),type:"button",x:480,y:290,width:140,height:40,label:"Start Tour โ",bgColor:"#4a9eff",textColor:"#ffffff",script:`goToCard("${e}");`}]},{id:e,title:"How It Works",background:{type:"2d-color",color:"#0d2b2b"},objects:[{id:le(),type:"text",x:60,y:40,width:520,height:50,text:"โ๏ธ Building with hyperNova",fontSize:28,color:"#7ecece",bold:!0,italic:!1},{id:le(),type:"rect",x:60,y:100,width:220,height:150,bgColor:"#0a2020",borderColor:"#4ecece",borderWidth:2,borderRadius:8},{id:le(),type:"text",x:70,y:110,width:200,height:130,text:`๐ฑ๏ธ Drag objects
|
|
359
|
+
โ๏ธ Edit properties
|
|
360
|
+
๐ Write scripts
|
|
361
|
+
โถ Play to test`,fontSize:14,color:"#a0ffa0",bold:!1,italic:!1},{id:le(),type:"rect",x:310,y:100,width:260,height:150,bgColor:"#0a2020",borderColor:"#4ecece",borderWidth:2,borderRadius:8},{id:le(),type:"text",x:320,y:110,width:240,height:130,text:`๐พ Save as .hcard.json
|
|
362
|
+
โฌ๏ธ Export to code.js
|
|
363
|
+
๐ฎ Run in nova64 OS
|
|
364
|
+
๐ Import back anytime`,fontSize:14,color:"#a0ffa0",bold:!1,italic:!1},{id:le(),type:"button",x:60,y:295,width:120,height:38,label:"โ Back",bgColor:"#2a5555",textColor:"#ffffff",script:`goToCard("${t}");`},{id:le(),type:"button",x:470,y:295,width:130,height:38,label:"Try It Out โ",bgColor:"#4a9eff",textColor:"#ffffff",script:`goToCard("${n}");`}]},{id:n,title:"Your Turn",background:{type:"2d-color",color:"#1a2e1a"},objects:[{id:le(),type:"text",x:80,y:60,width:480,height:60,text:"โจ Your Turn!",fontSize:36,color:"#a8ff78",bold:!0,italic:!1},{id:le(),type:"text",x:80,y:130,width:480,height:80,text:`Click โ๏ธ Edit to switch back to edit mode.
|
|
365
|
+
Add objects from the toolbar, drag them around,
|
|
366
|
+
edit their properties in the right panel, and
|
|
367
|
+
write scripts to connect your cards!`,fontSize:16,color:"#ccffcc",bold:!1,italic:!1},{id:le(),type:"field",x:180,y:230,width:280,height:36,placeholder:"Type something hereโฆ",value:"",fontSize:15},{id:le(),type:"button",x:220,y:290,width:200,height:40,label:"โ Start Over",bgColor:"#3a7bd5",textColor:"#ffffff",script:`goToCard("${t}");`}]}]}],assets:{images:{}}}}function Mn(t,e){t(n=>{const r=[...n.history.slice(0,n.historyIndex+1),e].slice(-50);return{project:e,history:r,historyIndex:r.length-1,isDirty:!0}})}const Ff=jM(),DM=Ff.stacks[0].cards[0].id,Le=os((t,e)=>({project:Ff,selectedStackIndex:0,selectedCardId:DM,selectedObjectId:null,mode:"edit",activeTool:"select",history:[Ff],historyIndex:0,fieldValues:{},isDirty:!1,setMode:n=>t({mode:n,selectedObjectId:null}),setActiveTool:n=>t({activeTool:n}),selectCard:n=>t({selectedCardId:n,selectedObjectId:null}),selectObject:n=>t({selectedObjectId:n}),addCard:()=>{const n=e(),i=n.project.stacks[n.selectedStackIndex],r=QS(i.cards.length+1),s={...i,cards:[...i.cards,r]},o=[...n.project.stacks];o[n.selectedStackIndex]=s;const l={...n.project,stacks:o};Mn(t,l),t({selectedCardId:r.id,selectedObjectId:null})},deleteCard:n=>{const i=e(),r=i.project.stacks[i.selectedStackIndex];if(r.cards.length<=1)return;const s=r.cards.filter(u=>u.id!==n),o={...r,cards:s},l=[...i.project.stacks];l[i.selectedStackIndex]=o;const a={...i.project,stacks:l};Mn(t,a);const c=i.selectedCardId===n?s[0].id:i.selectedCardId;t({selectedCardId:c,selectedObjectId:null})},duplicateCard:n=>{const i=e(),r=i.project.stacks[i.selectedStackIndex],s=r.cards.find(f=>f.id===n);if(!s)return;const o={...s,id:le(),title:s.title+" (copy)",objects:s.objects.map(f=>({...f,id:le()}))},l=r.cards.findIndex(f=>f.id===n),a=[...r.cards];a.splice(l+1,0,o);const c={...r,cards:a},u=[...i.project.stacks];u[i.selectedStackIndex]=c;const h={...i.project,stacks:u};Mn(t,h),t({selectedCardId:o.id,selectedObjectId:null})},updateCard:(n,i)=>{const r=e(),s=r.selectedStackIndex,o=r.project.stacks[s],l=o.cards.map(c=>c.id===n?{...c,...i}:c),a=[...r.project.stacks];a[s]={...o,cards:l},Mn(t,{...r.project,stacks:a})},addObject:n=>{const i=e(),r=i.selectedStackIndex,s=i.project.stacks[r],o=s.cards.map(a=>a.id===i.selectedCardId?{...a,objects:[...a.objects,n]}:a),l=[...i.project.stacks];l[r]={...s,cards:o},Mn(t,{...i.project,stacks:l}),t({selectedObjectId:n.id})},updateObject:(n,i)=>{const r=e(),s=r.selectedStackIndex,o=r.project.stacks[s],l=o.cards.map(c=>c.id===r.selectedCardId?{...c,objects:c.objects.map(u=>u.id===n?{...u,...i}:u)}:c),a=[...r.project.stacks];a[s]={...o,cards:l},Mn(t,{...r.project,stacks:a})},moveObject:(n,i,r)=>{t(s=>{const o=s.selectedStackIndex,l=s.project.stacks[o],a=l.cards.map(f=>f.id===s.selectedCardId?{...f,objects:f.objects.map(d=>d.id===n?{...d,x:i,y:r}:d)}:f),c=[...s.project.stacks];c[o]={...l,cards:a};const u={...s.project,stacks:c},h=[...s.history];return h[s.historyIndex]=u,{project:u,history:h,isDirty:!0}})},deleteObject:n=>{const i=e(),r=i.selectedStackIndex,s=i.project.stacks[r],o=s.cards.map(a=>a.id===i.selectedCardId?{...a,objects:a.objects.filter(c=>c.id!==n)}:a),l=[...i.project.stacks];l[r]={...s,cards:o},Mn(t,{...i.project,stacks:l}),t({selectedObjectId:null})},undo:()=>{const{history:n,historyIndex:i}=e();if(i<=0)return;const r=i-1;t({project:n[r],historyIndex:r})},redo:()=>{const{history:n,historyIndex:i}=e();if(i>=n.length-1)return;const r=i+1;t({project:n[r],historyIndex:r})},_pushHistory:n=>Mn(t,n),setProject:n=>{var r;const i=(r=n.stacks[0])==null?void 0:r.cards[0];t({project:n,selectedCardId:(i==null?void 0:i.id)??"",selectedObjectId:null,history:[n],historyIndex:0,isDirty:!1,mode:"edit"})},setProjectName:n=>{const i=e();Mn(t,{...i.project,name:n})},setFieldValue:(n,i)=>t(r=>({fieldValues:{...r.fieldValues,[n]:i}})),resetFieldValues:()=>t({fieldValues:{}})}));function _c(t){const e=t.project.stacks[t.selectedStackIndex];return e==null?void 0:e.cards.find(n=>n.id===t.selectedCardId)}function LM(t){const e=_c(t);return!e||!t.selectedObjectId?null:e.objects.find(n=>n.id===t.selectedObjectId)??null}const mn={sidebar:{width:170,minWidth:170,background:"#111120",borderRight:"1px solid #2a2a4a",display:"flex",flexDirection:"column",overflow:"hidden",userSelect:"none"},header:{padding:"8px 10px 4px",fontSize:11,fontWeight:700,color:"#7070a0",letterSpacing:1,textTransform:"uppercase",borderBottom:"1px solid #1e1e36"},list:{flex:1,overflowY:"auto",padding:"4px 0"},cardItem:t=>({display:"flex",alignItems:"center",padding:"5px 10px",cursor:"pointer",background:t?"#2a2a5a":"transparent",color:t?"#c0c0ff":"#a0a0c0",fontSize:13,borderLeft:t?"3px solid #5555ff":"3px solid transparent",gap:6}),cardNum:{fontSize:10,color:"#5555aa",minWidth:16,textAlign:"right"},cardTitle:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},actions:{borderTop:"1px solid #1e1e36",padding:"6px",display:"flex",flexDirection:"column",gap:4},btn:(t=!1)=>({padding:"4px 8px",fontSize:11,background:t?"#3a1a1a":"#1e1e3a",color:t?"#ff8888":"#a0a0ff",border:`1px solid ${t?"#5a2a2a":"#2a2a5a"}`,borderRadius:4,cursor:"pointer",textAlign:"center"})};function zM(){const t=Le(),e=Le(_c),n=t.project.stacks[t.selectedStackIndex];return n?p.jsxs("div",{style:mn.sidebar,children:[p.jsxs("div",{style:mn.header,children:["๐ ",t.project.stacks.length>1?n.title:"Cards"]}),p.jsx("div",{style:mn.list,children:n.cards.map((i,r)=>p.jsxs("div",{style:mn.cardItem(i.id===t.selectedCardId),onClick:()=>t.selectCard(i.id),children:[p.jsx("span",{style:mn.cardNum,children:r+1}),p.jsx("span",{style:mn.cardTitle,children:i.title})]},i.id))}),p.jsxs("div",{style:mn.actions,children:[p.jsx("div",{style:mn.btn(),onClick:()=>t.addCard(),children:"+ Add Card"}),e&&p.jsxs(p.Fragment,{children:[p.jsx("div",{style:mn.btn(),onClick:()=>t.duplicateCard(t.selectedCardId),children:"โง Duplicate"}),p.jsx("div",{style:mn.btn(!0),onClick:()=>{n.cards.length<=1||confirm(`Delete "${e.title}"?`)&&t.deleteCard(t.selectedCardId)},children:"โ Delete"})]})]})]}):null}const _M=[{id:"select",label:"Select",icon:"โ",hint:"Select & drag objects"},{id:"button",label:"Button",icon:"โฌ",hint:"Click canvas to add a button"},{id:"text",label:"Text",icon:"T",hint:"Click canvas to add a text label"},{id:"field",label:"Field",icon:"โก",hint:"Click canvas to add a text input field"},{id:"rect",label:"Rect",icon:"โญ",hint:"Click canvas to add a rectangle"}],Cs={bar:{display:"flex",alignItems:"center",gap:4,padding:"4px 8px"},btn:t=>({display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"4px 10px",minWidth:52,cursor:"pointer",background:t?"#3a3aaa":"#1e1e38",color:t?"#ffffff":"#8888cc",border:`1px solid ${t?"#6666ff":"#2a2a4a"}`,borderRadius:6,fontSize:11,gap:2,userSelect:"none",transition:"all 0.1s"}),icon:{fontSize:16,lineHeight:1},label:{fontSize:9,letterSpacing:.5},divider:{width:1,height:28,background:"#2a2a4a",margin:"0 4px"}};function XM(){const{activeTool:t,setActiveTool:e,mode:n}=Le();return n==="play"?null:p.jsxs("div",{style:Cs.bar,children:[p.jsx("span",{style:{color:"#5555aa",fontSize:10,marginRight:4},children:"TOOL"}),_M.map(i=>p.jsxs("div",{style:Cs.btn(t===i.id),title:i.hint,onClick:()=>e(i.id),children:[p.jsx("span",{style:Cs.icon,children:i.icon}),p.jsx("span",{style:Cs.label,children:i.label})]},i.id)),p.jsx("div",{style:Cs.divider})]})}const Vf=640,Yf=360;function PS(t){return t.type==="2d-gradient"&&t.gradientTo?{background:`linear-gradient(135deg, ${t.color} 0%, ${t.gradientTo} 100%)`}:{background:t.color}}function $S(t,e){const n={position:"absolute",left:t.x,top:t.y,width:t.width,height:t.height,boxSizing:"border-box",outline:e?"2px dashed #6688ff":"none",outlineOffset:e?1:0};return t.type==="rect"?{...n,background:t.bgColor,border:`${t.borderWidth}px solid ${t.borderColor}`,borderRadius:t.borderRadius}:t.type==="button"?{...n,background:t.bgColor,color:t.textColor,borderRadius:6,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:600,fontSize:14,cursor:"pointer",userSelect:"none",boxShadow:"0 2px 6px rgba(0,0,0,0.3)"}:t.type==="text"?{...n,color:t.color,fontSize:t.fontSize,fontWeight:t.bold?700:400,fontStyle:t.italic?"italic":"normal",whiteSpace:"pre-wrap",lineHeight:1.4,display:"flex",alignItems:"flex-start",padding:2}:t.type==="field"?{...n,background:"rgba(255,255,255,0.9)",border:"1px solid #aaa",borderRadius:4,padding:"4px 6px",fontSize:t.fontSize,color:"#1a1a1a"}:t.type==="image"?{...n,background:e?"none":"rgba(80,80,200,0.1)",border:"1px dashed #8888ff",display:"flex",alignItems:"center",justifyContent:"center",color:"#8888ff",fontSize:11}:n}function IM(){const t=Le(),e=Le(_c),n=E.useRef(null),i=E.useRef(null),[r,s]=E.useState(!1),o=E.useCallback(u=>{if(t.activeTool==="select"){u.target===n.current&&t.selectObject(null);return}if(!n.current)return;const h=n.current.getBoundingClientRect(),f=Math.round(u.clientX-h.left),d=Math.round(u.clientY-h.top);let m;switch(t.activeTool){case"button":m=TM(f-60,d-18);break;case"text":m=AM(f,d-20);break;case"field":m=MM(f-100,d-18);break;case"rect":m=RM(f-80,d-40);break;case"image":m=EM(f-60,d-45);break;default:return}t.addObject(m),t.setActiveTool("select")},[t]),l=E.useCallback((u,h)=>{u.stopPropagation(),t.selectObject(h.id),t.activeTool==="select"&&(i.current={objId:h.id,startMouseX:u.clientX,startMouseY:u.clientY,startObjX:h.x,startObjY:h.y},s(!0))},[t]);if(E.useEffect(()=>{const u=f=>{const d=i.current;if(!d)return;const m=f.clientX-d.startMouseX,y=f.clientY-d.startMouseY,v=Math.max(0,Math.min(Vf-10,d.startObjX+m)),O=Math.max(0,Math.min(Yf-10,d.startObjY+y));t.moveObject(d.objId,Math.round(v),Math.round(O))},h=()=>{i.current&&(i.current=null,s(!1))};return window.addEventListener("mousemove",u),window.addEventListener("mouseup",h),()=>{window.removeEventListener("mousemove",u),window.removeEventListener("mouseup",h)}},[t]),!e)return p.jsx("div",{style:{color:"#4444aa",padding:40,textAlign:"center"},children:"No card selected"});const a=PS(e.background),c=t.activeTool==="select"?r?"grabbing":"default":"crosshair";return p.jsxs("div",{style:{position:"relative",width:Vf,height:Yf,...a,cursor:c,flexShrink:0,overflow:"hidden",boxShadow:"0 4px 32px rgba(0,0,0,0.6)"},ref:n,onClick:o,children:[e.objects.map(u=>{const h=u.id===t.selectedObjectId,f=$S(u,h);return p.jsxs("div",{style:f,onMouseDown:d=>l(d,u),children:[u.type==="text"&&u.text,u.type==="button"&&u.label,u.type==="field"&&p.jsx("span",{style:{color:"#888",fontStyle:"italic",fontSize:u.fontSize},children:u.placeholder}),u.type==="image"&&(u.asset?p.jsx("img",{src:u.asset,style:{width:"100%",height:"100%",objectFit:"contain"},alt:""}):p.jsx("span",{children:"๐ผ No asset"})),h&&p.jsx("div",{style:{position:"absolute",right:1,bottom:1,width:10,height:10,background:"#6688ff",borderRadius:2,cursor:"se-resize",opacity:.8}})]},u.id)}),t.activeTool!=="select"&&p.jsxs("div",{style:{position:"absolute",bottom:8,right:8,background:"rgba(0,0,0,0.6)",color:"#aaaaff",borderRadius:4,padding:"2px 8px",fontSize:11,pointerEvents:"none"},children:["Click to place ",t.activeTool]})]})}const J={panel:{width:220,minWidth:220,background:"#111120",borderLeft:"1px solid #2a2a4a",display:"flex",flexDirection:"column",overflow:"hidden"},header:{padding:"8px 10px 4px",fontSize:11,fontWeight:700,color:"#7070a0",letterSpacing:1,textTransform:"uppercase",borderBottom:"1px solid #1e1e36"},body:{flex:1,overflowY:"auto",padding:"8px"},row:{marginBottom:8},label:{display:"block",fontSize:10,color:"#7070a0",marginBottom:2,letterSpacing:.5},input:{width:"100%",boxSizing:"border-box",background:"#1a1a32",border:"1px solid #2a2a5a",borderRadius:4,color:"#c0c0ff",fontSize:12,padding:"3px 6px",outline:"none"},inputNum:{width:"100%",boxSizing:"border-box",background:"#1a1a32",border:"1px solid #2a2a5a",borderRadius:4,color:"#c0c0ff",fontSize:12,padding:"3px 6px",outline:"none"},colorRow:{display:"flex",gap:6,alignItems:"center"},colorBox:{width:24,height:24,borderRadius:4,border:"1px solid #3a3a6a",cursor:"pointer",flexShrink:0},row2:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6,marginBottom:8},scriptLabel:{display:"block",fontSize:10,color:"#7070a0",marginBottom:3,letterSpacing:.5},scriptArea:{width:"100%",boxSizing:"border-box",background:"#0d0d20",border:"1px solid #2a2a5a",borderRadius:4,color:"#80ff80",fontSize:11,fontFamily:"monospace",padding:"6px",resize:"vertical",minHeight:80,outline:"none"},divider:{borderTop:"1px solid #1e1e36",margin:"10px 0"},deleteBtn:{width:"100%",padding:"5px",background:"#2a1010",color:"#ff6666",border:"1px solid #4a2020",borderRadius:4,cursor:"pointer",fontSize:11,textAlign:"center",marginTop:6},cardBgSection:{padding:"8px"}};function Do({label:t,value:e,onChange:n,type:i="text"}){return p.jsxs("div",{style:J.row,children:[p.jsx("span",{style:J.label,children:t}),p.jsx("input",{style:J.input,type:i,value:e,onChange:r=>n(r.target.value)})]})}function oc({label:t,value:e,onChange:n}){return p.jsxs("div",{style:J.row,children:[p.jsx("span",{style:J.label,children:t}),p.jsx("input",{style:J.inputNum,type:"number",value:e,onChange:i=>n(Number(i.target.value))})]})}function ns({label:t,value:e,onChange:n}){return p.jsxs("div",{style:J.row,children:[p.jsx("span",{style:J.label,children:t}),p.jsxs("div",{style:J.colorRow,children:[p.jsx("input",{type:"color",value:e,style:{...J.colorBox,padding:0},onChange:i=>n(i.target.value)}),p.jsx("input",{style:{...J.input,flex:1},value:e,onChange:i=>n(i.target.value)})]})]})}function NM({obj:t}){const e=Le(n=>n.updateObject);return p.jsx(p.Fragment,{children:p.jsxs("div",{style:J.row2,children:[p.jsxs("div",{children:[p.jsx("span",{style:J.label,children:"X"}),p.jsx("input",{style:J.inputNum,type:"number",value:t.x,onChange:n=>e(t.id,{x:Number(n.target.value)})})]}),p.jsxs("div",{children:[p.jsx("span",{style:J.label,children:"Y"}),p.jsx("input",{style:J.inputNum,type:"number",value:t.y,onChange:n=>e(t.id,{y:Number(n.target.value)})})]}),p.jsxs("div",{children:[p.jsx("span",{style:J.label,children:"W"}),p.jsx("input",{style:J.inputNum,type:"number",value:t.width,onChange:n=>e(t.id,{width:Number(n.target.value)})})]}),p.jsxs("div",{children:[p.jsx("span",{style:J.label,children:"H"}),p.jsx("input",{style:J.inputNum,type:"number",value:t.height,onChange:n=>e(t.id,{height:Number(n.target.value)})})]})]})})}function BM({obj:t}){const e=Le(i=>i.updateObject),n=t.script??"";return p.jsxs(p.Fragment,{children:[p.jsx("div",{style:J.divider}),p.jsx("span",{style:J.scriptLabel,children:"๐ SCRIPT (onClick / onEvent)"}),p.jsx("textarea",{style:J.scriptArea,value:n,rows:6,spellCheck:!1,placeholder:"// goNext();\\n// goToCard('card-id');\\n// goFirst();",onChange:i=>e(t.id,{script:i.target.value})}),p.jsx("div",{style:{fontSize:10,color:"#3a3a7a",marginTop:4},children:"API: goToCard(id) ยท goNext() ยท goPrev() ยท goFirst() ยท goLast() ยท setField(id,val) ยท getField(id) ยท alert(msg) ยท log(โฆ)"})]})}function WM({obj:t}){const e=Le(n=>n.updateObject);return p.jsxs(p.Fragment,{children:[p.jsxs("div",{style:J.row,children:[p.jsx("span",{style:J.label,children:"TEXT"}),p.jsx("textarea",{style:{...J.scriptArea,color:"#e0e0ff",minHeight:60},value:t.text,rows:3,onChange:n=>e(t.id,{text:n.target.value})})]}),p.jsx(oc,{label:"FONT SIZE",value:t.fontSize,onChange:n=>e(t.id,{fontSize:n})}),p.jsx(ns,{label:"COLOR",value:t.color,onChange:n=>e(t.id,{color:n})}),p.jsxs("div",{style:J.row2,children:[p.jsxs("label",{style:{color:"#7070a0",fontSize:11,display:"flex",alignItems:"center",gap:4},children:[p.jsx("input",{type:"checkbox",checked:t.bold,onChange:n=>e(t.id,{bold:n.target.checked})}),"Bold"]}),p.jsxs("label",{style:{color:"#7070a0",fontSize:11,display:"flex",alignItems:"center",gap:4},children:[p.jsx("input",{type:"checkbox",checked:t.italic,onChange:n=>e(t.id,{italic:n.target.checked})}),"Italic"]})]})]})}function FM({obj:t}){const e=Le(n=>n.updateObject);return p.jsxs(p.Fragment,{children:[p.jsx(Do,{label:"LABEL",value:t.label,onChange:n=>e(t.id,{label:n})}),p.jsx(ns,{label:"BG COLOR",value:t.bgColor,onChange:n=>e(t.id,{bgColor:n})}),p.jsx(ns,{label:"TEXT COLOR",value:t.textColor,onChange:n=>e(t.id,{textColor:n})})]})}function VM({obj:t}){const e=Le(n=>n.updateObject);return p.jsxs(p.Fragment,{children:[p.jsx(Do,{label:"PLACEHOLDER",value:t.placeholder,onChange:n=>e(t.id,{placeholder:n})}),p.jsx(Do,{label:"DEFAULT VALUE",value:t.value,onChange:n=>e(t.id,{value:n})}),p.jsx(oc,{label:"FONT SIZE",value:t.fontSize,onChange:n=>e(t.id,{fontSize:n})})]})}function YM({obj:t}){const e=Le(n=>n.updateObject);return p.jsxs(p.Fragment,{children:[p.jsx(ns,{label:"FILL COLOR",value:t.bgColor,onChange:n=>e(t.id,{bgColor:n})}),p.jsx(ns,{label:"BORDER COLOR",value:t.borderColor,onChange:n=>e(t.id,{borderColor:n})}),p.jsx(oc,{label:"BORDER WIDTH",value:t.borderWidth,onChange:n=>e(t.id,{borderWidth:n})}),p.jsx(oc,{label:"BORDER RADIUS",value:t.borderRadius,onChange:n=>e(t.id,{borderRadius:n})})]})}function UM({obj:t}){const e=Le(n=>n.updateObject);return p.jsx(p.Fragment,{children:p.jsx(Do,{label:"ASSET ID",value:t.asset,onChange:n=>e(t.id,{asset:n})})})}function qM(){const t=Le(_c),e=Le(i=>i.updateCard),n=Le(i=>i.selectedCardId);return t?p.jsxs("div",{style:J.cardBgSection,children:[p.jsx("div",{style:J.header,children:"๐ CARD"}),p.jsxs("div",{style:{padding:"6px 0"},children:[p.jsx(Do,{label:"CARD TITLE",value:t.title,onChange:i=>e(n,{title:i})}),p.jsx(ns,{label:"BACKGROUND",value:t.background.color,onChange:i=>e(n,{background:{...t.background,color:i}})})]}),p.jsx("div",{style:{color:"#3a3a7a",fontSize:10},children:"Select an object on the canvas to edit its properties."})]}):null}function GM(){const t=Le(LM),e=Le(n=>n.deleteObject);return p.jsxs("div",{style:J.panel,children:[p.jsx("div",{style:J.header,children:"โ PROPERTIES"}),t?p.jsxs("div",{style:J.body,children:[p.jsxs("div",{style:{marginBottom:8,color:"#8888ff",fontSize:11},children:["[",t.type.toUpperCase()," โ ",t.id.slice(-6),"]"]}),p.jsx(NM,{obj:t}),p.jsx("div",{style:J.divider}),t.type==="text"&&p.jsx(WM,{obj:t}),t.type==="button"&&p.jsx(FM,{obj:t}),t.type==="field"&&p.jsx(VM,{obj:t}),t.type==="rect"&&p.jsx(YM,{obj:t}),t.type==="image"&&p.jsx(UM,{obj:t}),p.jsx(BM,{obj:t}),p.jsx("div",{style:J.deleteBtn,onClick:()=>{confirm("Delete this object?")&&e(t.id)},children:"โ Delete Object"})]}):p.jsx(qM,{})]})}function HM(t,e){if(!t||!t.trim())return;const n=Object.keys(e),i=n.map(r=>e[r]);try{new Function("window","document","globalThis","self","top","parent","fetch","XMLHttpRequest","eval","Function",...n,`"use strict";
|
|
368
|
+
${t}`)(void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,...i)}catch(r){console.warn("[hyperNova] Script error:",r)}}function KM(){const t=Le(),e=t.project.stacks[t.selectedStackIndex],[n,i]=E.useState(()=>{var h;return((h=e==null?void 0:e.cards[0])==null?void 0:h.id)??""}),[r,s]=E.useState({});E.useEffect(()=>{var h;i(((h=e==null?void 0:e.cards[0])==null?void 0:h.id)??""),s({})},[t.mode,e]);const o=e==null?void 0:e.cards.find(h=>h.id===n),l=E.useCallback(h=>{const f=(e==null?void 0:e.cards)??[],d=f.findIndex(m=>m.id===h);return{currentCardId:h,goToCard:m=>i(m),goNext:()=>{d<f.length-1&&i(f[d+1].id)},goPrev:()=>{d>0&&i(f[d-1].id)},goFirst:()=>{f.length>0&&i(f[0].id)},goLast:()=>{f.length>0&&i(f[f.length-1].id)},setField:(m,y)=>s(v=>({...v,[m]:y})),getField:m=>r[m]??"",alert:m=>window.alert(m),log:(...m)=>console.log("[hyperNova]",...m)}},[e,r]),a=E.useCallback(h=>{if(h.type!=="button")return;const f=l(n);HM(h.script,f)},[l,n]);if(!o)return p.jsx("div",{style:{color:"#ff6666",padding:40,textAlign:"center"},children:"No card to display. Switch to Edit mode and add some cards!"});const c=PS(o.background),u=e.cards.findIndex(h=>h.id===n);return p.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8},children:[p.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:"#7070a0"},children:[p.jsx("span",{style:{cursor:"pointer",color:u>0?"#8888ff":"#333366"},onClick:()=>{u>0&&i(e.cards[u-1].id)},children:"โ"}),p.jsxs("span",{children:[o.title," (",u+1," / ",e.cards.length,")"]}),p.jsx("span",{style:{cursor:"pointer",color:u<e.cards.length-1?"#8888ff":"#333366"},onClick:()=>{u<e.cards.length-1&&i(e.cards[u+1].id)},children:"โถ"})]}),p.jsx("div",{style:{position:"relative",width:Vf,height:Yf,...c,flexShrink:0,overflow:"hidden",boxShadow:"0 4px 32px rgba(0,0,0,0.6)"},children:o.objects.map(h=>{const f=$S(h,!1);if(h.type==="field"){const d=r[h.id]??h.value??"";return p.jsx("input",{style:{...f,pointerEvents:"all",cursor:"text"},value:d,placeholder:h.placeholder,onChange:m=>s(y=>({...y,[h.id]:m.target.value}))},h.id)}return h.type==="button"?p.jsx("div",{style:{...f,cursor:"pointer",transition:"opacity 0.1s, transform 0.1s"},onClick:()=>a(h),onMouseDown:d=>{d.currentTarget.style.opacity="0.8",d.currentTarget.style.transform="scale(0.97)"},onMouseUp:d=>{d.currentTarget.style.opacity="1",d.currentTarget.style.transform="scale(1)"},children:h.label},h.id):h.type==="text"?p.jsx("div",{style:f,children:h.text},h.id):h.type==="image"?h.asset?p.jsx("img",{src:h.asset,alt:"",style:{position:"absolute",left:h.x,top:h.y,width:h.width,height:h.height,objectFit:"contain"}},h.id):null:p.jsx("div",{style:f},h.id)})})]})}function JM(t){return JSON.stringify(t,null,2)}function eR(t){const e=JM(t),n=new Blob([e],{type:"application/json"}),i=URL.createObjectURL(n),r=document.createElement("a");r.href=i,r.download=`${t.name.replace(/\s+/g,"-").toLowerCase()}.hcard.json`,r.click(),URL.revokeObjectURL(i)}function tR(t){const e=JSON.stringify(t);return`// ============================================================
|
|
369
|
+
// Auto-generated by hyperNova โ ${new Date().toISOString()}
|
|
370
|
+
// Project: ${t.name}
|
|
371
|
+
// Run this cart in the nova64 console: pnpm dev โ select this cart
|
|
372
|
+
// ============================================================
|
|
373
|
+
|
|
374
|
+
const _project = ${e};
|
|
375
|
+
|
|
376
|
+
// Runtime state
|
|
377
|
+
let _currentCardId = _project.stacks[0]?.cards[0]?.id ?? '';
|
|
378
|
+
let _fieldValues = {};
|
|
379
|
+
let _frameClickHandled = false;
|
|
380
|
+
|
|
381
|
+
// ---- Boot ------------------------------------------------------------------
|
|
382
|
+
export function init() {
|
|
383
|
+
setCameraPosition(0, 0, 5);
|
|
384
|
+
setAmbientLight(0xffffff, 1);
|
|
385
|
+
_currentCardId = _project.stacks[0]?.cards[0]?.id ?? '';
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
// ---- Per-frame -------------------------------------------------------------
|
|
389
|
+
export function update(_dt) {
|
|
390
|
+
_frameClickHandled = false;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// ---- Render ----------------------------------------------------------------
|
|
394
|
+
export function draw() {
|
|
395
|
+
const card = _findCard(_currentCardId);
|
|
396
|
+
if (!card) { print('No card found', 10, 10, 0xff0000); return; }
|
|
397
|
+
|
|
398
|
+
// Background
|
|
399
|
+
const bg = card.background;
|
|
400
|
+
const bgColor = _hexToNum(bg.color ?? '#f8f4ee');
|
|
401
|
+
cls(bgColor);
|
|
402
|
+
|
|
403
|
+
// Objects
|
|
404
|
+
for (const obj of card.objects) {
|
|
405
|
+
switch (obj.type) {
|
|
406
|
+
case 'rect': {
|
|
407
|
+
const c = _hexToNum(obj.bgColor);
|
|
408
|
+
rect(obj.x, obj.y, obj.width, obj.height, c);
|
|
409
|
+
break;
|
|
410
|
+
}
|
|
411
|
+
case 'text': {
|
|
412
|
+
const c = _hexToNum(obj.color);
|
|
413
|
+
const lines = obj.text.split('\\n');
|
|
414
|
+
lines.forEach((line, i) => {
|
|
415
|
+
print(line, obj.x, obj.y + i * (obj.fontSize + 2), c);
|
|
416
|
+
});
|
|
417
|
+
break;
|
|
418
|
+
}
|
|
419
|
+
case 'button': {
|
|
420
|
+
const bc = _hexToNum(obj.bgColor);
|
|
421
|
+
const tc = _hexToNum(obj.textColor);
|
|
422
|
+
rect(obj.x, obj.y, obj.width, obj.height, bc);
|
|
423
|
+
print(obj.label, obj.x + 8, obj.y + Math.floor((obj.height - 8) / 2), tc);
|
|
424
|
+
// Simple btn(0) click anywhere โ run first button found
|
|
425
|
+
if (btn(4) && !_frameClickHandled) {
|
|
426
|
+
_frameClickHandled = true;
|
|
427
|
+
_runScript(obj.script);
|
|
428
|
+
}
|
|
429
|
+
break;
|
|
430
|
+
}
|
|
431
|
+
case 'field': {
|
|
432
|
+
rect(obj.x, obj.y, obj.width, obj.height, 0xffffff);
|
|
433
|
+
const val = _fieldValues[obj.id] ?? obj.value ?? '';
|
|
434
|
+
print(val || obj.placeholder, obj.x + 4, obj.y + 8, 0x333333);
|
|
435
|
+
break;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
// ---- Helpers ---------------------------------------------------------------
|
|
442
|
+
function _findCard(id) {
|
|
443
|
+
for (const stack of _project.stacks) {
|
|
444
|
+
const c = stack.cards.find(c => c.id === id);
|
|
445
|
+
if (c) return c;
|
|
446
|
+
}
|
|
447
|
+
return null;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
function _hexToNum(hex) {
|
|
451
|
+
return parseInt((hex ?? '#888888').replace('#', ''), 16);
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
function _runScript(script) {
|
|
455
|
+
if (!script) return;
|
|
456
|
+
try {
|
|
457
|
+
const fn = new Function(
|
|
458
|
+
'goToCard', 'goNext', 'goPrev', 'goFirst', 'goLast',
|
|
459
|
+
'setField', 'getField', 'log',
|
|
460
|
+
'"use strict";\\n' + script
|
|
461
|
+
);
|
|
462
|
+
fn(
|
|
463
|
+
(id) => { _currentCardId = id; },
|
|
464
|
+
() => { const c = _nav(1); if (c) _currentCardId = c; },
|
|
465
|
+
() => { const c = _nav(-1); if (c) _currentCardId = c; },
|
|
466
|
+
() => { const c = _project.stacks[0]?.cards[0]; if (c) _currentCardId = c.id; },
|
|
467
|
+
() => { const s = _project.stacks[0]; if (s) _currentCardId = s.cards[s.cards.length-1].id; },
|
|
468
|
+
(id, val) => { _fieldValues[id] = val; },
|
|
469
|
+
(id) => _fieldValues[id] ?? '',
|
|
470
|
+
(...a) => console.log('[cart]', ...a)
|
|
471
|
+
);
|
|
472
|
+
} catch(e) { console.warn('[cart] script error', e); }
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
function _nav(delta) {
|
|
476
|
+
for (const stack of _project.stacks) {
|
|
477
|
+
const idx = stack.cards.findIndex(c => c.id === _currentCardId);
|
|
478
|
+
if (idx !== -1) return stack.cards[idx + delta]?.id ?? null;
|
|
479
|
+
}
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
`}function nR(t){const e=tR(t),n=new Blob([e],{type:"text/javascript"}),i=URL.createObjectURL(n),r=document.createElement("a");r.href=i,r.download=`${t.name.replace(/\s+/g,"-").toLowerCase()}-cart.js`,r.click(),URL.revokeObjectURL(i)}function iR(t){const e=JSON.parse(t);if(e.version!==1)throw new Error(`Unsupported hyperNova version: ${e.version}`);if(!e.stacks||!Array.isArray(e.stacks))throw new Error("Invalid project: missing stacks");return e}function rR(){return new Promise((t,e)=>{const n=document.createElement("input");n.type="file",n.accept=".hcard.json,application/json",n.onchange=()=>{var s;const i=(s=n.files)==null?void 0:s[0];if(!i)return e(new Error("No file selected"));const r=new FileReader;r.onload=()=>{try{const o=iR(r.result);t(o)}catch(o){e(o)}},r.onerror=()=>e(new Error("Failed to read file")),r.readAsText(i)},n.click()})}const Re={root:{display:"flex",flexDirection:"column",height:"100%",background:"#0d0d1e",color:"#e0e0ff",fontFamily:'"Segoe UI", system-ui, sans-serif',overflow:"hidden",userSelect:"none"},topBar:{display:"flex",alignItems:"center",padding:"5px 10px",background:"#0a0a18",borderBottom:"1px solid #1e1e3a",gap:8,flexShrink:0,flexWrap:"wrap"},logo:{fontSize:18,fontWeight:700,color:"#8888ff",marginRight:4,letterSpacing:-.5,userSelect:"none"},projectName:{background:"#1a1a32",border:"1px solid #2a2a5a",borderRadius:4,color:"#c0c0ff",padding:"3px 8px",fontSize:13,outline:"none",width:160},modeBtn:t=>({padding:"4px 14px",borderRadius:6,border:`1px solid ${t?"#5555ff":"#2a2a5a"}`,background:t?"#2a2a7a":"transparent",color:t?"#ffffff":"#6666aa",fontSize:12,cursor:"pointer",fontWeight:t?600:400,transition:"all 0.15s"}),actionBtn:{padding:"4px 10px",borderRadius:5,border:"1px solid #2a2a5a",background:"#1a1a30",color:"#9090cc",fontSize:11,cursor:"pointer",transition:"background 0.1s"},spacer:{flex:1},body:{display:"flex",flex:1,overflow:"hidden",minHeight:0},center:{flex:1,display:"flex",flexDirection:"column",overflow:"auto",minWidth:0,background:"#0d0d1e"},toolbarRow:{display:"flex",alignItems:"center",padding:"4px 8px",background:"#0e0e22",borderBottom:"1px solid #1a1a36",flexShrink:0,gap:4},canvasWrapper:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:24,overflow:"auto"},undoBtn:t=>({padding:"3px 8px",borderRadius:4,border:"1px solid #2a2a4a",background:t?"#1e1e38":"transparent",color:t?"#8888cc":"#333360",fontSize:11,cursor:t?"pointer":"default"}),hint:{color:"#3a3a7a",fontSize:10,padding:"0 8px"},playBanner:{background:"#0a1a0a",borderBottom:"1px solid #1a4a1a",color:"#60cc60",fontSize:11,padding:"4px 14px",display:"flex",alignItems:"center",gap:8,flexShrink:0}};function sR(){var a;const t=Le(),e=t.mode==="play",n=t.historyIndex>0,i=t.historyIndex<t.history.length-1,r=E.useCallback(()=>{eR(t.project)},[t.project]),s=E.useCallback(async()=>{try{const c=await rR();t.setProject(c)}catch(c){window.alert(`Failed to load project: ${c.message}`)}},[t]),o=E.useCallback(()=>{nR(t.project)},[t.project]),l=E.useCallback(()=>{(!t.isDirty||confirm("Load example? Unsaved changes will be lost."))&&t.setProject(ZM())},[t]);return p.jsxs("div",{style:Re.root,children:[p.jsxs("div",{style:Re.topBar,children:[p.jsx("span",{style:Re.logo,children:"๐"}),p.jsx("span",{style:{color:"#5555aa",fontSize:13,fontWeight:600},children:"hyperNova"}),p.jsx("input",{style:Re.projectName,value:t.project.name,onChange:c=>t.setProjectName(c.target.value),title:"Project name"}),p.jsx("div",{style:{width:1,height:20,background:"#2a2a4a"}}),p.jsxs("div",{style:{display:"flex",gap:2},children:[p.jsx("div",{style:Re.modeBtn(!e),onClick:()=>t.setMode("edit"),title:"Switch to edit mode (Escape)",children:"โ๏ธ Edit"}),p.jsx("div",{style:Re.modeBtn(e),onClick:()=>t.setMode("play"),title:"Switch to play mode",children:"โถ Play"})]}),p.jsx("div",{style:{width:1,height:20,background:"#2a2a4a"}}),p.jsx("div",{style:Re.actionBtn,onClick:s,title:"Open .hcard.json file",children:"๐ Open"}),p.jsxs("div",{style:Re.actionBtn,onClick:r,title:"Save as .hcard.json",children:["๐พ Save",t.isDirty?" *":""]}),p.jsx("div",{style:Re.actionBtn,onClick:o,title:"Export as nova64 code.js cart",children:"โฌ๏ธ Export Cart"}),p.jsx("div",{style:Re.actionBtn,onClick:l,title:"Load built-in example stack",children:"โจ Example"}),p.jsx("div",{style:Re.spacer}),p.jsxs("span",{style:{color:"#3a3a7a",fontSize:10},children:[((a=t.project.stacks[t.selectedStackIndex])==null?void 0:a.cards.length)??0," cards โข"," ","640 ร 360"]})]}),p.jsxs("div",{style:Re.body,children:[p.jsx(zM,{}),p.jsxs("div",{style:Re.center,children:[e?p.jsxs("div",{style:Re.playBanner,children:[p.jsx("span",{children:"โถ PLAY MODE"}),p.jsx("span",{style:{color:"#3a6a3a"},children:"Click buttons to navigate. Fields are editable."}),p.jsx("button",{style:{marginLeft:"auto",padding:"2px 10px",background:"#1a3a1a",border:"1px solid #2a6a2a",color:"#60cc60",borderRadius:4,cursor:"pointer",fontSize:11},onClick:()=>t.setMode("edit"),children:"โ๏ธ Back to Edit"})]}):p.jsxs("div",{style:Re.toolbarRow,children:[p.jsx(XM,{}),p.jsx("div",{style:Re.undoBtn(n),onClick:()=>n&&t.undo(),title:"Undo (Ctrl+Z)",children:"โฉ Undo"}),p.jsx("div",{style:Re.undoBtn(i),onClick:()=>i&&t.redo(),title:"Redo (Ctrl+Y)",children:"โช Redo"}),p.jsx("span",{style:Re.hint,children:t.activeTool==="select"?"Click object to select ยท Drag to move ยท Delete object in Properties panel":`Click canvas to place ${t.activeTool}`})]}),p.jsx("div",{style:Re.canvasWrapper,children:e?p.jsx(KM,{}):p.jsx(IM,{})})]}),!e&&p.jsx(GM,{})]})]})}const oR={id:"hypernova",name:"hyperNova",icon:"๐",mount(t){const e=Gn(t);return e.render(p.jsx(sR,{})),()=>{e.unmount()}},unmount(){},getInfo(){return{name:"hyperNova",version:"0.1.0",description:"HyperCard-like stack editor โ build interactive cards, presentations, and mini-apps for novaOS",author:"nova64 OS",icon:"๐"}}};Ie.registerApp(oR);const lR=ca.createRoot(document.getElementById("root"));lR.render(p.jsx(s0.StrictMode,{children:p.jsx(Ub,{})}));console.log("๐ nova64 OS v1.0.0");console.log("API available at window.novaContext");console.log("Type: novaContext to interact with the OS");setTimeout(()=>{const t=En.getState().apps;console.log("๐ฑ Total registered apps:",t.size),console.log("๐ฑ Registered app IDs:",Array.from(t.keys()))},100);
|
|
483
|
+
//# sourceMappingURL=index-KchE_ngx.js.map
|