4 lines
188 KiB
JavaScript
4 lines
188 KiB
JavaScript
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ee=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ne=/-\w/g,T=te(e=>e.replace(ne,e=>e.slice(1).toUpperCase())),re=/\B([A-Z])/g,E=te(e=>e.replace(re,`-$1`).toLowerCase()),ie=te(e=>e.charAt(0).toUpperCase()+e.slice(1)),ae=te(e=>e?`on${ie(e)}`:``),D=(e,t)=>!Object.is(e,t),oe=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},O=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},se=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ue(e){if(d(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=g(r)?me(r):ue(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(g(e)||v(e))return e}var de=/;(?![^(]*\))/g,fe=/:([^]+)/,pe=/\/\*[^]*?\*\//g;function me(e){let t={};return e.replace(pe,``).split(de).forEach(e=>{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function k(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;n<e.length;n++){let r=k(e[n]);r&&(t+=r+` `)}else if(v(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var he=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,ge=e(he);he+``;function _e(e){return!!e||e===``}function ve(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=ye(e[r],t[r]);return n}function ye(e,t){if(e===t)return!0;let n=m(e),r=m(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=_(e),r=_(t),n||r)return e===t;if(n=d(e),r=d(t),n||r)return n&&r?ve(e,t):!1;if(n=v(e),r=v(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!ye(e[n],t[n]))return!1}}return String(e)===String(t)}function be(e,t){return e.findIndex(e=>ye(e,t))}var xe=e=>!!(e&&e.__v_isRef===!0),A=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?xe(e)?A(e.value):JSON.stringify(e,Se,2):String(e),Se=(e,t)=>xe(t)?Se(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ce(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ce(e))}:_(t)?Ce(t):v(t)&&!d(t)&&!C(t)?String(t):t,Ce=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,j,we=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&j&&(j.active?(this.parent=j,this.index=(j.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=j;try{return j=this,e()}finally{j=t}}}on(){++this._on===1&&(this.prevScope=j,j=this)}off(){if(this._on>0&&--this._on===0){if(j===this)j=this.prevScope;else{let e=j;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Te(){return j}var M,Ee=new WeakSet,De=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,j&&(j.active?j.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ee.has(this)&&(Ee.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||je(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ue(this),Pe(this);let e=M,t=N;M=this,N=!0;try{return this.fn()}finally{Fe(this),M=e,N=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Re(e);this.deps=this.depsTail=void 0,Ue(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ee.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ie(this)&&this.run()}get dirty(){return Ie(this)}},Oe=0,ke,Ae;function je(e,t=!1){if(e.flags|=8,t){e.next=Ae,Ae=e;return}e.next=ke,ke=e}function Me(){Oe++}function Ne(){if(--Oe>0)return;if(Ae){let e=Ae;for(Ae=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;ke;){let t=ke;for(ke=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Pe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Fe(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Re(r),ze(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Ie(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Le(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Le(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===We)||(e.globalVersion=We,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ie(e))))return;e.flags|=2;let t=e.dep,n=M,r=N;M=e,N=!0;try{Pe(e);let n=e.fn(e._value);(t.version===0||D(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{M=n,N=r,Fe(e),e.flags&=-3}}function Re(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Re(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ze(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var N=!0,Be=[];function Ve(){Be.push(N),N=!1}function He(){let e=Be.pop();N=e===void 0?!0:e}function Ue(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=M;M=void 0;try{t()}finally{M=e}}}var We=0,Ge=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Ke=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!M||!N||M===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==M)t=this.activeLink=new Ge(M,this),M.deps?(t.prevDep=M.depsTail,M.depsTail.nextDep=t,M.depsTail=t):M.deps=M.depsTail=t,qe(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=M.depsTail,t.nextDep=void 0,M.depsTail.nextDep=t,M.depsTail=t,M.deps===t&&(M.deps=e)}return t}trigger(e){this.version++,We++,this.notify(e)}notify(e){Me();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ne()}}};function qe(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)qe(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Je=new WeakMap,Ye=Symbol(``),Xe=Symbol(``),Ze=Symbol(``);function P(e,t,n){if(N&&M){let t=Je.get(e);t||Je.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Ke),r.map=t,r.key=n),r.track()}}function Qe(e,t,n,r,i,a){let o=Je.get(e);if(!o){We++;return}let s=e=>{e&&e.trigger()};if(Me(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Ze||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Ze)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Ye)),f(e)&&s(o.get(Xe)));break;case`delete`:i||(s(o.get(Ye)),f(e)&&s(o.get(Xe)));break;case`set`:f(e)&&s(o.get(Ye));break}}Ne()}function $e(e){let t=I(e);return t===e?t:(P(t,`iterate`,Ze),F(e)?t:t.map(Vt))}function et(e){return P(e=I(e),`iterate`,Ze),e}function tt(e,t){return Rt(e)?Ht(Lt(e)?Vt(t):t):Vt(t)}var nt={__proto__:null,[Symbol.iterator](){return rt(this,Symbol.iterator,e=>tt(this,e))},concat(...e){return $e(this).concat(...e.map(e=>d(e)?$e(e):e))},entries(){return rt(this,`entries`,e=>(e[1]=tt(this,e[1]),e))},every(e,t){return at(this,`every`,e,t,void 0,arguments)},filter(e,t){return at(this,`filter`,e,t,e=>e.map(e=>tt(this,e)),arguments)},find(e,t){return at(this,`find`,e,t,e=>tt(this,e),arguments)},findIndex(e,t){return at(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return at(this,`findLast`,e,t,e=>tt(this,e),arguments)},findLastIndex(e,t){return at(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return at(this,`forEach`,e,t,void 0,arguments)},includes(...e){return st(this,`includes`,e)},indexOf(...e){return st(this,`indexOf`,e)},join(e){return $e(this).join(e)},lastIndexOf(...e){return st(this,`lastIndexOf`,e)},map(e,t){return at(this,`map`,e,t,void 0,arguments)},pop(){return ct(this,`pop`)},push(...e){return ct(this,`push`,e)},reduce(e,...t){return ot(this,`reduce`,e,t)},reduceRight(e,...t){return ot(this,`reduceRight`,e,t)},shift(){return ct(this,`shift`)},some(e,t){return at(this,`some`,e,t,void 0,arguments)},splice(...e){return ct(this,`splice`,e)},toReversed(){return $e(this).toReversed()},toSorted(e){return $e(this).toSorted(e)},toSpliced(...e){return $e(this).toSpliced(...e)},unshift(...e){return ct(this,`unshift`,e)},values(){return rt(this,`values`,e=>tt(this,e))}};function rt(e,t,n){let r=et(e),i=r[t]();return r!==e&&!F(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var it=Array.prototype;function at(e,t,n,r,i,a){let o=et(e),s=o!==e&&!F(e),c=o[t];if(c!==it[t]){let t=c.apply(e,a);return s?Vt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,tt(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ot(e,t,n,r){let i=et(e),a=i!==e&&!F(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=tt(e,t)),n.call(this,t,tt(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?tt(e,c):c}function st(e,t,n){let r=I(e);P(r,`iterate`,Ze);let i=r[t](...n);return(i===-1||i===!1)&&zt(n[0])?(n[0]=I(n[0]),r[t](...n)):i}function ct(e,t,n=[]){Ve(),Me();let r=I(e)[t].apply(e,n);return Ne(),He(),r}var lt=e(`__proto__,__v_isRef,__isVue`),ut=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function dt(e){_(e)||(e=String(e));let t=I(this);return P(t,`has`,e),t.hasOwnProperty(e)}var ft=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?At:kt:i?Ot:Dt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=nt[t]))return e;if(t===`hasOwnProperty`)return dt}let o=Reflect.get(e,t,L(e)?e:n);if((_(t)?ut.has(t):lt(t))||(r||P(e,`get`,t),i))return o;if(L(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?Ft(e):e}return v(o)?r?Ft(o):Nt(o):o}},pt=class extends ft{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=Rt(i);if(!F(n)&&!Rt(n)&&(i=I(i),n=I(n)),!a&&L(i)&&!L(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:u(e,t),s=Reflect.set(e,t,n,L(e)?e:r);return e===I(r)&&(o?D(n,i)&&Qe(e,`set`,t,n,i):Qe(e,`add`,t,n)),s}deleteProperty(e,t){let n=u(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&Qe(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!_(t)||!ut.has(t))&&P(e,`has`,t),n}ownKeys(e){return P(e,`iterate`,d(e)?`length`:Ye),Reflect.ownKeys(e)}},mt=class extends ft{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},ht=new pt,gt=new mt,_t=new pt(!0),vt=e=>e,yt=e=>Reflect.getPrototypeOf(e);function bt(e,t,n){return function(...r){let i=this.__v_raw,a=I(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?vt:t?Ht:Vt;return!t&&P(a,`iterate`,l?Xe:Ye),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function xt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function St(e,t){let n={get(n){let r=this.__v_raw,i=I(r),a=I(n);e||(D(n,a)&&P(i,`get`,n),P(i,`get`,a));let{has:o}=yt(i),s=t?vt:e?Ht:Vt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&P(I(t),`iterate`,Ye),t.size},has(t){let n=this.__v_raw,r=I(n),i=I(t);return e||(D(t,i)&&P(r,`has`,t),P(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=I(a),s=t?vt:e?Ht:Vt;return!e&&P(o,`iterate`,Ye),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:xt(`add`),set:xt(`set`),delete:xt(`delete`),clear:xt(`clear`)}:{add(e){let n=I(this),r=yt(n),i=I(e),a=!t&&!F(e)&&!Rt(e)?i:e;return r.has.call(n,a)||D(e,a)&&r.has.call(n,e)||D(i,a)&&r.has.call(n,i)||(n.add(a),Qe(n,`add`,a,a)),this},set(e,n){!t&&!F(n)&&!Rt(n)&&(n=I(n));let r=I(this),{has:i,get:a}=yt(r),o=i.call(r,e);o||=(e=I(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?D(n,s)&&Qe(r,`set`,e,n,s):Qe(r,`add`,e,n),this},delete(e){let t=I(this),{has:n,get:r}=yt(t),i=n.call(t,e);i||=(e=I(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&Qe(t,`delete`,e,void 0,a),o},clear(){let e=I(this),t=e.size!==0,n=e.clear();return t&&Qe(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=bt(r,e,t)}),n}function Ct(e,t){let n=St(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var wt={get:Ct(!1,!1)},Tt={get:Ct(!1,!0)},Et={get:Ct(!0,!1)},Dt=new WeakMap,Ot=new WeakMap,kt=new WeakMap,At=new WeakMap;function jt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Mt(e){return e.__v_skip||!Object.isExtensible(e)?0:jt(S(e))}function Nt(e){return Rt(e)?e:It(e,!1,ht,wt,Dt)}function Pt(e){return It(e,!1,_t,Tt,Ot)}function Ft(e){return It(e,!0,gt,Et,kt)}function It(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let a=Mt(e);if(a===0)return e;let o=i.get(e);if(o)return o;let s=new Proxy(e,a===2?r:n);return i.set(e,s),s}function Lt(e){return Rt(e)?Lt(e.__v_raw):!!(e&&e.__v_isReactive)}function Rt(e){return!!(e&&e.__v_isReadonly)}function F(e){return!!(e&&e.__v_isShallow)}function zt(e){return e?!!e.__v_raw:!1}function I(e){let t=e&&e.__v_raw;return t?I(t):e}function Bt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&O(e,`__v_skip`,!0),e}var Vt=e=>v(e)?Nt(e):e,Ht=e=>v(e)?Ft(e):e;function L(e){return e?e.__v_isRef===!0:!1}function Ut(e){return L(e)?e.value:e}var Wt={get:(e,t,n)=>t===`__v_raw`?e:Ut(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return L(i)&&!L(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Gt(e){return Lt(e)?e:new Proxy(e,Wt)}var Kt=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ke(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=We-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&M!==this)return je(this,!0),!0}get value(){let e=this.dep.track();return Le(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function qt(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new Kt(r,i,n)}var Jt={},Yt=new WeakMap,Xt=void 0;function Zt(e,t=!1,n=Xt){if(n){let t=Yt.get(n);t||Yt.set(n,t=[]),t.push(e)}}function Qt(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:F(e)||o===!1||o===0?$t(e,1):$t(e),m,g,_,v,y=!1,b=!1;if(L(e)?(g=()=>e.value,y=F(e)):Lt(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Lt(e)||F(e)),g=()=>e.map(e=>{if(L(e))return e.value;if(Lt(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){Ve();try{_()}finally{He()}}let t=Xt;Xt=m;try{return f?f(e,3,[v]):e(v)}finally{Xt=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>$t(e(),t)}let x=Te(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{e(...t),S()}}let C=b?Array(e.length).fill(Jt):Jt,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let e=m.run();if(o||y||(b?e.some((e,t)=>D(e,C[t])):D(e,C))){_&&_();let t=Xt;Xt=m;try{let t=[e,C===Jt?void 0:b&&C[0]===Jt?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{Xt=t}}}else m.run()};return u&&u(w),m=new De(g),m.scheduler=l?()=>l(w,!1):w,v=e=>Zt(e,!1,m),_=m.onStop=()=>{let e=Yt.get(m);if(e){if(f)f(e,4);else for(let t of e)t();Yt.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function $t(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,L(e))$t(e.value,t,n);else if(d(e))for(let r=0;r<e.length;r++)$t(e[r],t,n);else if(p(e)||f(e))e.forEach(e=>{$t(e,t,n)});else if(C(e)){for(let r in e)$t(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&$t(e[r],t,n)}return e}function en(e,t,n,r){try{return r?e(...r):e()}catch(e){nn(e,t,n)}}function tn(e,t,n,r){if(h(e)){let i=en(e,t,n,r);return i&&y(i)&&i.catch(e=>{nn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a<e.length;a++)i.push(tn(e[a],t,n,r));return i}}function nn(e,n,r,i=!0){let a=n?n.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=n&&n.appContext.config||t;if(n){let t=n.parent,i=n.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;t;){let n=t.ec;if(n){for(let t=0;t<n.length;t++)if(n[t](e,i,a)===!1)return}t=t.parent}if(o){Ve(),en(o,null,10,[e,i,a]),He();return}}rn(e,r,a,i,s)}function rn(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var R=[],an=-1,on=[],sn=null,cn=0,ln=Promise.resolve(),un=null;function dn(e){let t=un||ln;return e?t.then(this?e.bind(this):e):t}function fn(e){let t=an+1,n=R.length;for(;t<n;){let r=t+n>>>1,i=R[r],a=vn(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function pn(e){if(!(e.flags&1)){let t=vn(e),n=R[R.length-1];!n||!(e.flags&2)&&t>=vn(n)?R.push(e):R.splice(fn(t),0,e),e.flags|=1,mn()}}function mn(){un||=ln.then(yn)}function hn(e){d(e)?on.push(...e):sn&&e.id===-1?sn.splice(cn+1,0,e):e.flags&1||(on.push(e),e.flags|=1),mn()}function gn(e,t,n=an+1){for(;n<R.length;n++){let t=R[n];if(t&&t.flags&2){if(e&&t.id!==e.uid)continue;R.splice(n,1),n--,t.flags&4&&(t.flags&=-2),t(),t.flags&4||(t.flags&=-2)}}}function _n(e){if(on.length){let e=[...new Set(on)].sort((e,t)=>vn(e)-vn(t));if(on.length=0,sn){sn.push(...e);return}for(sn=e,cn=0;cn<sn.length;cn++){let e=sn[cn];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}sn=null,cn=0}}var vn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function yn(e){try{for(an=0;an<R.length;an++){let e=R[an];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),en(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;an<R.length;an++){let e=R[an];e&&(e.flags&=-2)}an=-1,R.length=0,_n(e),un=null,(R.length||on.length)&&yn(e)}}var z=null,bn=null;function xn(e){let t=z;return z=e,bn=e&&e.type.__scopeId||null,t}function Sn(e,t=z,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&ki(-1);let i=xn(t),a;try{a=e(...n)}finally{xn(i),r._d&&ki(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function B(e,n){if(z===null)return e;let r=ua(z),i=e.dirs||=[];for(let e=0;e<n.length;e++){let[a,o,s,c=t]=n[e];a&&(h(a)&&(a={mounted:a,updated:a}),a.deep&&$t(o),i.push({dir:a,instance:r,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function Cn(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(Ve(),tn(c,n,8,[e.el,s,e,t]),He())}}function wn(e,t){if(Z){let n=Z.provides,r=Z.parent&&Z.parent.provides;r===n&&(n=Z.provides=Object.create(r)),n[e]=t}}function Tn(e,t,n=!1){let r=Yi();if(r||Pr){let i=Pr?Pr._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&h(t)?t.call(r&&r.proxy):t}}var En=Symbol.for(`v-scx`),Dn=()=>Tn(En);function On(e,t,n){return kn(e,t,n)}function kn(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(ta){if(c===`sync`){let e=Dn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=Z;u.call=(e,t,n)=>tn(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{U(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():pn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=Qt(e,n,u);return ta&&(f?f.push(h):d&&h()),h}function An(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?jn(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=Qi(this),s=kn(i,a.bind(r),n);return o(),s}function jn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var Mn=Symbol(`_vte`),Nn=e=>e.__isTeleport,Pn=Symbol(`_leaveCb`);function Fn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Fn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function In(e){e.ids=[e.ids[0]+ e.ids[2]+++`-`,0,0]}function Ln(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Rn=new WeakMap;function zn(e,n,r,a,o=!1){if(d(e)){e.forEach((e,t)=>zn(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Vn(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&zn(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?ua(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=I(v),b=v===t?i:e=>Ln(_,e)?!1:u(y,e),x=(e,t)=>!(t&&Ln(_,t));if(m!=null&&m!==p){if(Bn(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(L(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))en(p,f,12,[l,_]);else{let t=g(p),n=L(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),Rn.delete(e)};t.id=-1,Rn.set(e,t),U(t,r)}else Bn(e),i()}}}function Bn(e){let t=Rn.get(e);t&&(t.flags|=8,Rn.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var Vn=e=>!!e.type.__asyncLoader,Hn=e=>e.type.__isKeepAlive;function Un(e,t){Gn(e,`a`,t)}function Wn(e,t){Gn(e,`da`,t)}function Gn(e,t,n=Z){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(qn(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Hn(e.parent.vnode)&&Kn(r,t,n,e),e=e.parent}}function Kn(e,t,n,r){let i=qn(t,e,r,!0);er(()=>{c(r[t],i)},n)}function qn(e,t,n=Z,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ve();let i=Qi(n),a=tn(t,n,e,r);return i(),He(),a};return r?i.unshift(a):i.push(a),a}}var Jn=e=>(t,n=Z)=>{(!ta||e===`sp`)&&qn(e,(...e)=>t(...e),n)},Yn=Jn(`bm`),Xn=Jn(`m`),Zn=Jn(`bu`),Qn=Jn(`u`),$n=Jn(`bum`),er=Jn(`um`),tr=Jn(`sp`),nr=Jn(`rtg`),rr=Jn(`rtc`);function ir(e,t=Z){qn(`ec`,e,t)}var ar=`components`;function or(e,t){return cr(ar,e,!0,t)||e}var sr=Symbol.for(`v-ndc`);function cr(e,t,n=!0,r=!1){let i=z||Z;if(i){let n=i.type;if(e===ar){let e=da(n,!1);if(e&&(e===t||e===T(t)||e===ie(T(t))))return n}let a=lr(i[e]||n[e],t)||lr(i.appContext[e],t);return!a&&r?n:a}}function lr(e,t){return e&&(e[t]||e[T(t)]||e[ie(T(t))])}function V(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Lt(e),r=!1,s=!1;n&&(r=!F(e),s=Rt(e),e=et(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?Ht(Vt(e[n])):Vt(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`){i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}else if(v(e))if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}else i=[];return n&&(n[r]=i),i}function ur(e,t,n={},r,i){if(z.ce||z.parent&&Vn(z.parent)&&z.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),K(),ji(W,null,[Ii(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),K();let o=a&&dr(a(n)),s=n.key||o&&o.key,c=ji(W,{key:(s&&!_(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function dr(e){return e.some(e=>Mi(e)?!(e.type===wi||e.type===W&&!dr(e.children)):!0)?e:null}var fr=e=>e?ea(e)?ua(e):fr(e.parent):null,pr=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>fr(e.parent),$root:e=>fr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Sr(e),$forceUpdate:e=>e.f||=()=>{pn(e.update)},$nextTick:e=>e.n||=dn.bind(e.proxy),$watch:e=>An.bind(e)}),mr=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),hr={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(mr(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else _r&&(s[n]=0)}let d=pr[n],f,p;if(d)return n===`$attrs`&&P(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return mr(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||mr(n,c)||u(o,c)||u(i,c)||u(pr,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function gr(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var _r=!0;function vr(e){let t=Sr(e),n=e.proxy,i=e.ctx;_r=!1,t.beforeCreate&&br(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:ee,renderTracked:te,renderTriggered:ne,errorCaptured:T,serverPrefetch:re,expose:E,inheritAttrs:ie,components:ae,directives:D,filters:oe}=t;if(u&&yr(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=Nt(t))}if(_r=!0,o)for(let e in o){let t=o[e],a=pa({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)xr(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{wn(t,e[t])})}f&&br(f,e,`c`);function O(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(O(Yn,p),O(Xn,m),O(Zn,g),O(Qn,_),O(Un,y),O(Wn,b),O(ir,T),O(rr,te),O(nr,ne),O($n,S),O(er,w),O(tr,re),d(E))if(E.length){let t=e.exposed||={};E.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};ee&&e.render===r&&(e.render=ee),ie!=null&&(e.inheritAttrs=ie),ae&&(e.components=ae),D&&(e.directives=D),re&&In(e)}function yr(e,t,n=r){d(e)&&(e=Dr(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?Tn(r.from||n,r.default,!0):Tn(r.from||n):Tn(r),L(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function br(e,t,n){tn(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function xr(e,t,n,r){let i=r.includes(`.`)?jn(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&On(i,n)}else if(h(e))On(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>xr(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&On(i,r,e)}}function Sr(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Cr(c,e,o,!0)),Cr(c,t,o)),v(t)&&a.set(t,c),c}function Cr(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Cr(e,a,n,!0),i&&i.forEach(t=>Cr(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=wr[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var wr={data:Tr,props:kr,emits:kr,methods:Or,computed:Or,beforeCreate:H,created:H,beforeMount:H,mounted:H,beforeUpdate:H,updated:H,beforeDestroy:H,beforeUnmount:H,destroyed:H,unmounted:H,activated:H,deactivated:H,errorCaptured:H,serverPrefetch:H,components:Or,directives:Or,watch:Ar,provide:Tr,inject:Er};function Tr(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Er(e,t){return Or(Dr(e),Dr(t))}function Dr(e){if(d(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function H(e,t){return e?[...new Set([].concat(e,t))]:t}function Or(e,t){return e?s(Object.create(null),e,t):t}function kr(e,t){return e?d(e)&&d(t)?[...new Set([...e,...t])]:s(Object.create(null),gr(e),gr(t??{})):t}function Ar(e,t){if(!e)return t;if(!t)return e;let n=s(Object.create(null),e);for(let r in t)n[r]=H(e[r],t[r]);return n}function jr(){return{app:null,config:{isNativeTag:i,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var Mr=0;function Nr(e,t){return function(n,r=null){h(n)||(n=s({},n)),r!=null&&!v(r)&&(r=null);let i=jr(),a=new WeakSet,o=[],c=!1,l=i.app={_uid:Mr++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:ma,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&h(e.install)?(a.add(e),e.install(l,...t)):h(e)&&(a.add(e),e(l,...t))),l},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),l},component(e,t){return t?(i.components[e]=t,l):i.components[e]},directive(e,t){return t?(i.directives[e]=t,l):i.directives[e]},mount(a,o,s){if(!c){let u=l._ceVNode||Ii(n,r);return u.appContext=i,s===!0?s=`svg`:s===!1&&(s=void 0),o&&t?t(u,a):e(u,a,s),c=!0,l._container=a,a.__vue_app__=l,ua(u.component)}},onUnmount(e){o.push(e)},unmount(){c&&(tn(o,l._instance,16),e(null,l._container),delete l._container.__vue_app__)},provide(e,t){return i.provides[e]=t,l},runWithContext(e){let t=Pr;Pr=l;try{return e()}finally{Pr=t}}};return l}}var Pr=null,Fr=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${T(t)}Modifiers`]||e[`${E(t)}Modifiers`];function Ir(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&Fr(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(se)));let c,l=i[c=ae(n)]||i[c=ae(T(n))];!l&&o&&(l=i[c=ae(E(n))]),l&&tn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,tn(u,e,6,a)}}var Lr=new WeakMap;function Rr(e,t,n=!1){let r=n?Lr:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=Rr(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function zr(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,E(t))||u(e,t))}function Br(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=xn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Vi(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Vi(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Vr(c)}}catch(t){Ei.length=0,nn(t,e,1),v=Ii(wi)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=Hr(y,a)),b=zi(b,y,!1,!0))}return n.dirs&&(b=zi(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Fn(b,n.transition),v=b,xn(_),v}var Vr=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},Hr=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ur(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Wr(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(Gr(o,r,n)&&!zr(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?o?Wr(r,o,l):!0:!!o;return!1}function Wr(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(Gr(t,e,a)&&!zr(n,a))return!0}return!1}function Gr(e,t,n){let r=e[n],i=t[n];return n===`style`&&v(r)&&v(i)?!ye(r,i):r!==i}function Kr({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var qr={},Jr=()=>Object.create(qr),Yr=e=>Object.getPrototypeOf(e)===qr;function Xr(e,t,n,r=!1){let i={},a=Jr();e.propsDefaults=Object.create(null),Qr(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Pt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Zr(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=I(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(zr(e.emitsOptions,o))continue;let d=t[o];if(c)if(u(a,o))d!==a[o]&&(a[o]=d,l=!0);else{let t=T(o);i[t]=$r(c,s,t,d,e,!1)}else d!==a[o]&&(a[o]=d,l=!0)}}}else{Qr(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!u(t,a)&&((r=E(a))===a||!u(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=$r(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!u(t,e))&&(delete a[e],l=!0)}l&&Qe(e.attrs,`set`,``)}function Qr(e,n,r,i){let[a,o]=e.propsOptions,s=!1,c;if(n)for(let t in n){if(ee(t))continue;let l=n[t],d;a&&u(a,d=T(t))?!o||!o.includes(d)?r[d]=l:(c||={})[d]=l:zr(e.emitsOptions,t)||(!(t in i)||l!==i[t])&&(i[t]=l,s=!0)}if(o){let n=I(r),i=c||t;for(let t=0;t<o.length;t++){let s=o[t];r[s]=$r(a,n,s,i[s],e,!u(i,s))}}return s}function $r(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=u(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&h(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=Qi(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===E(n))&&(r=!0))}return r}var ei=new WeakMap;function ti(e,r,i=!1){let a=i?ei:r.propsCache,o=a.get(e);if(o)return o;let c=e.props,l={},f=[],p=!1;if(!h(e)){let t=e=>{p=!0;let[t,n]=ti(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;e<c.length;e++){let n=T(c[e]);ni(n)&&(l[n]=t)}else if(c)for(let e in c){let t=T(e);if(ni(t)){let n=c[e],r=l[t]=d(n)||h(n)?{type:n}:s({},n),i=r.type,a=!1,o=!0;if(d(i))for(let e=0;e<i.length;++e){let t=i[e],n=h(t)&&t.name;if(n===`Boolean`){a=!0;break}else n===`String`&&(o=!1)}else a=h(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||u(r,`default`))&&f.push(t)}}let m=[l,f];return v(e)&&a.set(e,m),m}function ni(e){return e[0]!==`$`&&!ee(e)}var ri=e=>e===`_`||e===`_ctx`||e===`$stable`,ii=e=>d(e)?e.map(Vi):[Vi(e)],ai=(e,t,n)=>{if(t._n)return t;let r=Sn((...e)=>ii(t(...e)),n);return r._c=!1,r},oi=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ri(n))continue;let i=e[n];if(h(i))t[n]=ai(n,i,r);else if(i!=null){let e=ii(i);t[n]=()=>e}}},si=(e,t)=>{let n=ii(t);e.slots.default=()=>n},ci=(e,t,n)=>{for(let r in t)(n||!ri(r))&&(e[r]=t[r])},li=(e,t,n)=>{let r=e.slots=Jr();if(e.vnode.shapeFlag&32){let e=t._;e?(ci(r,t,n),n&&O(r,`_`,e,!0)):oi(t,r)}else t&&si(e,t)},ui=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:ci(a,n,r):(o=!n.$stable,oi(n,a)),s=n}else n&&(si(e,n),s={default:1});if(o)for(let e in a)!ri(e)&&s[e]==null&&delete a[e]},U=Si;function di(e){return fi(e)}function fi(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ni(e,t)&&(r=ye(e),k(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Ci:y(e,t,n,r);break;case wi:b(e,t,n,r);break;case Ti:e??x(t,n,r,o);break;case W:ae(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?D(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,A)}u!=null&&i?zn(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&zn(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)te(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),re(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},te=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&T(e.children,d,null,r,i,pi(e,a),s,u),_&&Cn(e,null,r,`created`),ne(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!ee(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Gi(f,r,e)}_&&Cn(e,null,r,`beforeMount`);let v=hi(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&U(()=>{try{f&&Gi(f,r,e),v&&g.enter(d),_&&Cn(e,null,r,`mounted`)}finally{}},i)},ne=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||xi(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;ne(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},T=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++)v(null,e[l]=s?Hi(e[l]):Vi(e[l]),t,n,r,i,a,o,s)},re=(e,n,r,i,a,o,s)=>{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&mi(r,!1),(g=h.onVnodeBeforeUpdate)&&Gi(g,r,n,e),f&&Cn(n,e,r,`beforeUpdate`),r&&mi(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?E(e.dynamicChildren,d,l,r,i,pi(n,a),o):s||de(e,n,l,null,r,i,pi(n,a),o,!1),u>0){if(u&16)ie(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t],i=m[n],o=h[n];(o!==i||n===`value`)&&c(l,n,i,o,a,r)}}u&1&&e.children!==n.children&&p(l,n.children)}else !s&&d==null&&ie(l,m,h,r,a);((g=h.onVnodeUpdated)||f)&&U(()=>{g&&Gi(g,r,n,e),f&&Cn(n,e,r,`updated`)},i)},E=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s];v(c,l,c.el&&(c.type===W||!Ni(c,l)||c.shapeFlag&198)?m(c.el):n,null,r,i,a,o,!0)}},ie=(e,n,r,i,a)=>{if(n!==r){if(n!==t)for(let t in n)!ee(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(ee(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ae=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),T(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(E(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&gi(e,t,!0)):de(e,t,n,f,i,a,s,c,l)},D=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):O(t,n,r,i,a,o,c):se(e,t,c)},O=(e,t,n,r,i,a,o)=>{let s=e.component=Ji(e,r,i);if(Hn(e)&&(s.ctx.renderer=A),na(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,ce,o),!e.el){let r=s.subTree=Ii(wi);b(null,r,t,n),e.placeholder=r.el}}else ce(s,e,t,n,i,a,o)},se=(e,t,n)=>{let r=t.component=e.component;if(Ur(e,t,n))if(r.asyncDep&&!r.asyncResolved){ue(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},ce=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=vi(e);if(n){t&&(t.el=c.el,ue(e,t,o)),n.asyncDep.then(()=>{U(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;mi(e,!1),t?(t.el=c.el,ue(e,t,o)):t=c,n&&oe(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Gi(d,s,t,c),mi(e,!0);let f=Br(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),ye(p),e,i,a),t.el=f.el,u===null&&Kr(e,f.el),r&&U(r,i),(d=t.props&&t.props.onVnodeUpdated)&&U(()=>Gi(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Vn(t);if(mi(e,!1),l&&oe(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Gi(o,d,t),mi(e,!0),s&&Ce){let t=()=>{e.subTree=Br(e),Ce(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Br(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&U(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;U(()=>Gi(o,d,e),i)}(t.shapeFlag&256||d&&Vn(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&U(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new De(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>pn(u),mi(e,!0),l()},ue=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Zr(e,t.props,r,n),ui(e,t.children,n),Ve(),gn(e),He()},de=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){pe(l,d,n,r,i,a,o,s,c);return}else if(f&256){fe(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ve(l,i,a),d!==l&&p(n,d)):u&16?m&16?pe(l,d,n,r,i,a,o,s,c):ve(l,i,a,!0):(u&8&&p(n,``),m&16&&T(d,n,r,i,a,o,s,c))},fe=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;p<f;p++){let n=t[p]=l?Hi(t[p]):Vi(t[p]);v(e[p],n,r,null,a,o,s,c,l)}u>d?ve(e,a,o,!0,!1,f):T(t,r,i,a,o,s,c,l,f)},pe=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?Hi(t[u]):Vi(t[u]);if(Ni(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?Hi(t[p]):Vi(t[p]);if(Ni(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=e<d?t[e].el:i;for(;u<=p;)v(null,t[u]=l?Hi(t[u]):Vi(t[u]),r,n,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)k(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Hi(t[u]):Vi(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let n=e[u];if(y>=b){k(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Ni(n,t[_])){i=_;break}i===void 0?k(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?_i(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1<d?f.el||bi(f):i;C[u]===0?v(null,n,r,p,a,o,s,c,l):x&&(_<0||u!==w[_]?me(n,r,p,2):_--)}}},me=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){me(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,A);return}if(c===W){o(a,t,n);for(let e=0;e<u.length;e++)me(u[e],t,n,r);o(e.anchor,t,n);return}if(c===Ti){S(e,t,n);return}if(r!==2&&d&1&&l)if(r===0)l.beforeEnter(a),o(a,t,n),U(()=>l.enter(a),i);else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{a._isLeaving&&a[Pn](!0),r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},k=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(Ve(),zn(s,null,n,e,!0),He()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Vn(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Gi(_,t,e),u&6)_e(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Cn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,A,r):l&&!l.hasOnce&&(a!==W||d>0&&d&64)?ve(l,t,n,!1,!0):(a===W&&d&384||!i&&u&16)&&ve(c,t,n),r&&he(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&U(()=>{_&&Gi(_,t,e),h&&Cn(e,null,t,`unmounted`),v&&(e.el=null)},n)},he=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===W){ge(n,r);return}if(t===Ti){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},ge=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},_e=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;yi(c),yi(l),r&&oe(r),i.stop(),a&&(a.flags|=8,k(o,e,t,n)),s&&U(s,t),U(()=>{e.isUnmounted=!0},t)},ve=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)k(e[o],t,n,r,i)},ye=e=>{if(e.shapeFlag&6)return ye(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Mn];return n?h(n):t},be=!1,xe=(e,t,n)=>{let r;e==null?t._vnode&&(k(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,be||=(be=!0,gn(r),_n(),!1)},A={p:v,um:k,m:me,r:he,mt:O,mc:T,pc:de,pbc:E,n:ye,o:e},Se,Ce;return i&&([Se,Ce]=i(A)),{render:xe,hydrate:Se,createApp:Nr(xe,Se)}}function pi({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function mi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function hi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gi(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=Hi(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&gi(t,a)),a.type===Ci&&(a.patchFlag===-1&&(a=i[e]=Hi(a)),a.el=t.el),a.type===wi&&!a.el&&(a.el=t.el)}}function _i(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function vi(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:vi(t)}function yi(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function bi(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?bi(t.subTree):null}var xi=e=>e.__isSuspense;function Si(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):hn(e)}var W=Symbol.for(`v-fgt`),Ci=Symbol.for(`v-txt`),wi=Symbol.for(`v-cmt`),Ti=Symbol.for(`v-stc`),Ei=[],G=null;function K(e=!1){Ei.push(G=e?null:[])}function Di(){Ei.pop(),G=Ei[Ei.length-1]||null}var Oi=1;function ki(e,t=!1){Oi+=e,e<0&&G&&t&&(G.hasOnce=!0)}function Ai(e){return e.dynamicChildren=Oi>0?G||n:null,Di(),Oi>0&&G&&G.push(e),e}function q(e,t,n,r,i,a){return Ai(J(e,t,n,r,i,a,!0))}function ji(e,t,n,r,i){return Ai(Ii(e,t,n,r,i,!0))}function Mi(e){return e?e.__v_isVNode===!0:!1}function Ni(e,t){return e.type===t.type&&e.key===t.key}var Pi=({key:e})=>e??null,Fi=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||L(e)||h(e)?{i:z,r:e,k:t,f:!!n}:e);function J(e,t=null,n=null,r=0,i=null,a=e===W?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pi(t),ref:t&&Fi(t),scopeId:bn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:z};return s?(Ui(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),Oi>0&&!o&&G&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&G.push(c),c}var Ii=Li;function Li(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===sr)&&(e=wi),Mi(e)){let r=zi(e,t,!0);return n&&Ui(r,n),Oi>0&&!a&&G&&(r.shapeFlag&6?G[G.indexOf(e)]=r:G.push(r)),r.patchFlag=-2,r}if(fa(e)&&(e=e.__vccOpts),t){t=Ri(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=k(e)),v(n)&&(zt(n)&&!d(n)&&(n=s({},n)),t.style=ue(n))}let o=g(e)?1:xi(e)?128:Nn(e)?64:v(e)?4:h(e)?2:0;return J(e,t,n,r,i,o,a,!0)}function Ri(e){return e?zt(e)||Yr(e)?s({},e):e:null}function zi(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Wi(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Pi(l),ref:t&&t.ref?n&&a?d(a)?a.concat(Fi(t)):[a,Fi(t)]:Fi(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==W?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&zi(e.ssContent),ssFallback:e.ssFallback&&zi(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Fn(u,c.clone(u)),u}function Y(e=` `,t=0){return Ii(Ci,null,e,t)}function Bi(e,t){let n=Ii(Ti,null,e);return n.staticCount=t,n}function X(e=``,t=!1){return t?(K(),ji(wi,null,e)):Ii(wi,null,e)}function Vi(e){return e==null||typeof e==`boolean`?Ii(wi):d(e)?Ii(W,null,e.slice()):Mi(e)?Hi(e):Ii(Ci,null,String(e))}function Hi(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:zi(e)}function Ui(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Ui(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Yr(t)?t._ctx=z:r===3&&z&&(z.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else h(t)?(t={default:t,_ctx:z},n=32):(t=String(t),r&64?(n=16,t=[Y(t)]):n=8);e.children=t,e.shapeFlag|=n}function Wi(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=k([t.class,r.class]));else if(e===`style`)t.style=ue([t.style,r.style]);else if(a(e)){let n=t[e],i=r[e];i&&n!==i&&!(d(n)&&n.includes(i))?t[e]=n?[].concat(n,i):i:i==null&&n==null&&!o(e)&&(t[e]=i)}else e!==``&&(t[e]=r[e])}return t}function Gi(e,t,n,r=null){tn(e,t,7,[n,r])}var Ki=jr(),qi=0;function Ji(e,n,r){let i=e.type,a=(n?n.appContext:e.appContext)||Ki,o={uid:qi++,vnode:e,type:i,parent:n,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new we(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(a.provides),ids:n?n.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ti(i,a),emitsOptions:Rr(i,a),emit:null,emitted:null,propsDefaults:t,inheritAttrs:i.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=n?n.root:o,o.emit=Ir.bind(null,o),e.ce&&e.ce(o),o}var Z=null,Yi=()=>Z||z,Xi,Zi;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Xi=t(`__VUE_INSTANCE_SETTERS__`,e=>Z=e),Zi=t(`__VUE_SSR_SETTERS__`,e=>ta=e)}var Qi=e=>{let t=Z;return Xi(e),e.scope.on(),()=>{e.scope.off(),Xi(t)}},$i=()=>{Z&&Z.scope.off(),Xi(null)};function ea(e){return e.vnode.shapeFlag&4}var ta=!1;function na(e,t=!1,n=!1){t&&Zi(t);let{props:r,children:i}=e.vnode,a=ea(e);Xr(e,r,a,t),li(e,i,n||t);let o=a?ra(e,t):void 0;return t&&Zi(!1),o}function ra(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,hr);let{setup:r}=n;if(r){Ve();let n=e.setupContext=r.length>1?la(e):null,i=Qi(e),a=en(r,e,0,[e.props,n]),o=y(a);if(He(),i(),(o||e.sp)&&!Vn(e)&&In(e),o){if(a.then($i,$i),t)return a.then(n=>{ia(e,n,t)}).catch(t=>{nn(t,e,0)});e.asyncDep=a}else ia(e,a,t)}else sa(e,t)}function ia(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=Gt(t)),sa(e,n)}var aa,oa;function sa(e,t,n){let i=e.type;if(!e.render){if(!t&&aa&&!i.render){let t=i.template||Sr(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=aa(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,oa&&oa(e)}{let t=Qi(e);Ve();try{vr(e)}finally{He(),t()}}}var ca={get(e,t){return P(e,`get`,``),e[t]}};function la(e){return{attrs:new Proxy(e.attrs,ca),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function ua(e){return e.exposed?e.exposeProxy||=new Proxy(Gt(Bt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pr)return pr[n](e)},has(e,t){return t in e||t in pr}}):e.proxy}function da(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function fa(e){return h(e)&&`__vccOpts`in e}var pa=(e,t)=>qt(e,t,ta),ma=`3.5.34`,ha=void 0,ga=typeof window<`u`&&window.trustedTypes;if(ga)try{ha=ga.createPolicy(`vue`,{createHTML:e=>e})}catch{}var _a=ha?e=>ha.createHTML(e):e=>e,va=`http://www.w3.org/2000/svg`,ya=`http://www.w3.org/1998/Math/MathML`,ba=typeof document<`u`?document:null,xa=ba&&ba.createElement(`template`),Sa={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?ba.createElementNS(va,e):t===`mathml`?ba.createElementNS(ya,e):n?ba.createElement(e,{is:n}):ba.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>ba.createTextNode(e),createComment:e=>ba.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ba.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{xa.innerHTML=_a(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=xa.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ca=Symbol(`_vtc`);function wa(e,t,n){let r=e[Ca];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Ta=Symbol(`_vod`),Ea=Symbol(`_vsh`),Da={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Ta]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Oa(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Oa(e,!0),r.enter(e)):r.leave(e,()=>{Oa(e,!1)}):Oa(e,t))},beforeUnmount(e,{value:t}){Oa(e,t)}};function Oa(e,t){e.style.display=t?e[Ta]:`none`,e[Ea]=!t}var ka=Symbol(``),Aa=/(?:^|;)\s*display\s*:/;function ja(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Na(r,t,``)}else for(let e in t)n[e]??Na(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Na(r,i,``):La(e,i,!g(t)&&t?t[i]:void 0,o)||Na(r,i,o)}}else if(i){if(t!==n){let e=r[ka];e&&(n+=`;`+e),r.cssText=n,a=Aa.test(n)}}else t&&e.removeAttribute(`style`);Ta in e&&(e[Ta]=a?r.display:``,e[Ea]&&(r.display=`none`))}var Ma=/\s*!important$/;function Na(e,t,n){if(d(n))n.forEach(n=>Na(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=Ia(e,t);Ma.test(n)?e.setProperty(E(r),n.replace(Ma,``),`important`):e[r]=n}}var Pa=[`Webkit`,`Moz`,`ms`],Fa={};function Ia(e,t){let n=Fa[t];if(n)return n;let r=T(t);if(r!==`filter`&&r in e)return Fa[t]=r;r=ie(r);for(let n=0;n<Pa.length;n++){let i=Pa[n]+r;if(i in e)return Fa[t]=i}return t}function La(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&g(r)&&n===r}var Ra=`http://www.w3.org/1999/xlink`;function za(e,t,n,r,i,a=ge(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(Ra,t.slice(6,t.length)):e.setAttributeNS(Ra,t,n):n==null||a&&!_e(n)?e.removeAttribute(t):e.setAttribute(t,a?``:_(n)?String(n):n)}function Ba(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?_a(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=_e(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function Va(e,t,n,r){e.addEventListener(t,n,r)}function Ha(e,t,n,r){e.removeEventListener(t,n,r)}var Ua=Symbol(`_vei`);function Wa(e,t,n,r,i=null){let a=e[Ua]||(e[Ua]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=Ka(t);r?Va(e,n,a[t]=Xa(r,i),s):o&&(Ha(e,n,o,s),a[t]=void 0)}}var Ga=/(?:Once|Passive|Capture)$/;function Ka(e){let t;if(Ga.test(e)){t={};let n;for(;n=e.match(Ga);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===`:`?e.slice(3):E(e.slice(2)),t]}var qa=0,Ja=Promise.resolve(),Ya=()=>qa||=(Ja.then(()=>qa=0),Date.now());function Xa(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;tn(Za(e,n.value),t,5,[e])};return n.value=e,n.attached=Ya(),n}function Za(e,t){if(d(t)){let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}else return t}var Qa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$a=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?wa(e,r,c):t===`style`?ja(e,n,r):a(t)?o(t)||Wa(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):eo(e,t,r,c))?(Ba(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&za(e,t,r,c,s,t!==`value`)):e._isVueCE&&(to(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!g(r)))?Ba(e,T(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),za(e,t,r,c))};function eo(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Qa(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Qa(t)&&g(n)?!1:t in e}function to(e,t){let n=e._def.props;if(!n)return!1;let r=T(t);return Array.isArray(n)?n.some(e=>T(e)===r):Object.keys(n).some(e=>T(e)===r)}var no=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>oe(t,e):t};function ro(e){e.target.composing=!0}function io(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var ao=Symbol(`_assign`);function oo(e,t,n){return t&&(e=e.trim()),n&&(e=se(e)),e}var Q={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[ao]=no(i);let a=r||i.props&&i.props.type===`number`;Va(e,t?`change`:`input`,t=>{t.target.composing||e[ao](oo(e.value,n,a))}),(n||a)&&Va(e,`change`,()=>{e.value=oo(e.value,n,a)}),t||(Va(e,`compositionstart`,ro),Va(e,`compositionend`,io),Va(e,`change`,io))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[ao]=no(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?se(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},so={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=p(t);Va(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?se(lo(e)):lo(e));e[ao](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,dn(()=>{e._assigning=!1})}),e[ao]=no(r)},mounted(e,{value:t}){co(e,t)},beforeUpdate(e,t,n){e[ao]=no(n)},updated(e,{value:t}){e._assigning||co(e,t)}};function co(e,t){let n=e.multiple,r=d(t);if(!(n&&!r&&!p(t))){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=lo(a);if(n)if(r){let e=typeof o;e===`string`||e===`number`?a.selected=t.some(e=>String(e)===String(o)):a.selected=be(t,o)>-1}else a.selected=t.has(o);else if(ye(lo(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function lo(e){return`_value`in e?e._value:e.value}var uo=[`ctrl`,`shift`,`alt`,`meta`],fo={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>uo.some(n=>e[`${n}Key`]&&!t.includes(n))},$=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=fo[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},po=s({patchProp:$a},Sa),mo;function ho(){return mo||=di(po)}var go=((...e)=>{let t=ho().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=vo(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,_o(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function _o(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function vo(e){return g(e)?document.querySelector(e):e}var yo=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},bo={name:`StageEditor`,props:{stage:{type:Object,default:null},stageIndex:{type:Number,default:0}}},xo=[`data-stage-index`,`data-stage-id`];function So(e,t,n,r,i,a){return K(),q(`div`,{class:`stage-editor`,"data-stage-index":n.stageIndex,"data-stage-id":n.stage?.id||``},[ur(e.$slots,`default`)],8,xo)}var Co=yo(bo,[[`render`,So]]),wo=`Lowpass (低通)`,To=`0.5, 0.5, 0.0, 0.0`,Eo=`1.0, 0.0, 0.0, 0.0`,Do=14,Oo=[0,0,0,0,0,0,0],ko={fc:1e3,order:1,bp_f_low:500,bp_f_high:2e3,bp_order:1,notch_f0:120,notch_q:1,opoz_fz:15e3,opoz_fp:10,tp1z_fz:200,tp1z_fp1:10,tp1z_fp2:5e3,tptz_fz1:200,tptz_fz2:25e3,tptz_fp1:10,tptz_fp2:5e3,kp:.003,ki:10,kd:16e-6,sogi_f0:60,sogi_k:1.414},Ao=()=>({...ko}),jo=()=>[...Oo],Mo=()=>`${Date.now()}-${Math.random().toString(36).slice(2)}`,No=(e={},t={})=>({id:e.id??t.id??Mo(),isActive:e.isActive??t.isActive??!0,isExpanded:e.isExpanded??t.isExpanded??!1,filterType:e.filterType??t.filterType??wo,b_str:e.b_str??t.b_str??To,a_str:e.a_str??t.a_str??Eo,systemGain:e.systemGain??t.systemGain??1,params:{...Ao(),...t.params||{},...e.params||{}},baseB:[...e.baseB||t.baseB||[.5,.5,0,0,0,0,0]],baseA:[...e.baseA||t.baseA||[1,0,0,0,0,0,0]],bSliders:[...e.bSliders||t.bSliders||jo()],aSliders:[...e.aSliders||t.aSliders||jo()],shiftBitsB:e.shiftBitsB??t.shiftBitsB??Do,shiftBitsA:e.shiftBitsA??t.shiftBitsA??Do,fixedOverrides:{a:{...(t.fixedOverrides||{}).a||{},...(e.fixedOverrides||{}).a||{}},b:{...(t.fixedOverrides||{}).b||{},...(e.fixedOverrides||{}).b||{}}},outOfRangeB:[...e.outOfRangeB||t.outOfRangeB||[!1,!1,!1,!1,!1,!1,!1]],outOfRangeA:[...e.outOfRangeA||t.outOfRangeA||[!1,!1,!1,!1,!1,!1,!1]],aFineStep:e.aFineStep??t.aFineStep??.01,fixedAFineStep:e.fixedAFineStep??t.fixedAFineStep??1,activeCoeffAdjustment:e.activeCoeffAdjustment??t.activeCoeffAdjustment??null}),Po=(e,t)=>{let n=No(e),r=2**n.shiftBitsB,i=2**n.shiftBitsA,a=t(n.b_str),o=t(n.a_str);return{b:a.map((e,t)=>n.fixedOverrides.b[t]===void 0?Math.round(e*r):n.fixedOverrides.b[t]),a:o.map((e,t)=>n.fixedOverrides.a[t]===void 0?Math.round(e*i):n.fixedOverrides.a[t])}},Fo=({stages:e,fs:t,shiftBitsIn:n,shiftBitsOut:r,useRound:i,parseCoeffs:a,getStageFixedCoeffs:o})=>e.map((t,a)=>{let s=o(t);return{b_str:t.b_str,a_str:t.a_str,b_int_str:s.b.join(`, `),a_int_str:s.a.join(`, `),shift_in:a===0?n:e[a-1].shiftBitsB,shift_out:a===e.length-1?r:t.shiftBitsB,shift_b:t.shiftBitsB,shift_a:t.shiftBitsA,use_round:i,isActive:t.isActive}}),Io=`Lowpass (低通)`,Lo=`(無) 手動自訂`,Ro=1e5,zo=`0.5, 0.5, 0.0, 0.0`,Bo=`1.0, 0.0, 0.0, 0.0`,Vo=14,Ho=[0,0,0,0,0,0,0],Uo={fc:1e3,order:1,bp_f_low:500,bp_f_high:2e3,bp_order:1,notch_f0:120,notch_q:1,opoz_fz:15e3,opoz_fp:10,tp1z_fz:200,tp1z_fp1:10,tp1z_fp2:5e3,tptz_fz1:200,tptz_fz2:25e3,tptz_fp1:10,tptz_fp2:5e3,kp:.003,ki:10,kd:16e-6,sogi_f0:60,sogi_k:1.414},Wo=()=>({...Uo}),Go=()=>[...Ho],Ko=()=>`${Date.now()}-${Math.random().toString(36).slice(2)}`,qo={components:{StageEditor:Co},data(){return{fs:Ro,b_str:zo,a_str:Bo,filterType:Io,cascadeStages:[],activeCascadeStageIndex:0,draggingCascadeStageIndex:null,dragOverCascadeStageIndex:null,stageDragPointerId:null,draggedCascadeStageId:null,stageDragStartX:0,stageDragStartY:0,stageDragCurrentX:0,stageDragCurrentY:0,zoomStartIdx:null,zoomEndIdx:null,timePlotUnit:null,timePlotMultiplier:null,isRedrawingTimePlot:!1,filterOptions:[`Lowpass (低通)`,`Highpass (高通)`,`Bandpass (帶通)`,`Notch (陷波器)`,`1P1Z (一極一零)`,`2P1Z (二極一零)`,`2P2Z (二極二零)`,`PID 控制器`,`SOGI-Alpha (帶通)`,`SOGI-Beta (低通)`,`(無) 手動自訂`],systemGain:1,params:Wo(),isDarkMode:!0,baseB:[.5,.5,0,0,0,0,0],baseA:[1,0,0,0,0,0,0],bSliders:Go(),aSliders:Go(),sense_b:`2x`,sense_a:`2x`,loadingBode:!1,bodeTimeout:null,globalError:null,csvFile:null,csvFileId:null,csvColumns:[],csvPreview:[],csvInfo:null,csvParseError:null,csvUploading:!1,presetCsvAvailable:!1,presetCsvName:``,usingPresetCsv:!1,isCsvPreviewExpanded:!0,selectedColumn:0,loadingFilter:!1,filterDone:!1,timePlotData:null,mobileTab:`settings`,shiftBitsB:Vo,shiftBitsA:Vo,useRound:!0,sense_in:`2x`,sense_out:`2x`,fixedOverrides:{a:{},b:{}},outOfRangeB:[!1,!1,!1,!1,!1,!1,!1],outOfRangeA:[!1,!1,!1,!1,!1,!1,!1],aFineStep:.01,aFineRepeatDelayTimer:null,aFineRepeatTimer:null,aFineDrag:null,shiftBitRepeatDelayTimer:null,shiftBitRepeatTimer:null,shiftBitDrag:null,fixedAFineStep:1,fixedAFineDrag:null,fixedAFineRepeatDelayTimer:null,fixedAFineRepeatTimer:null,shiftBitsIn:14,shiftBitsOut:14,shiftInDrag:null,shiftInRepeatDelayTimer:null,shiftInRepeatTimer:null,shiftOutDrag:null,shiftOutRepeatDelayTimer:null,shiftOutRepeatTimer:null,isTouchInput:!1,activeCoeffAdjustment:null,mcuSerialPort:null,mcuConnected:!1,webSerialSupported:!1,writingMCU:!1,mcuStatus:``,saveSettingsTimeout:null,isSidebarCollapsed:localStorage.getItem(`dea_sidebar_collapsed`)===`true`,bodeMagRange:null}},computed:{maxLogB(){return this.sense_b===`1%`?Math.log10(1.01):this.sense_b===`2x`?Math.log10(2):1},maxLogA(){return this.sense_a===`1%`?Math.log10(1.01):this.sense_a===`2x`?Math.log10(2):this.sense_a===`10x`?Math.log10(10):Math.log10(2)},b_int_str:{get(){return this.fixedPointCoeffs.b.map(e=>e.val).join(`, `)},set(e){let t=e.replace(/[^0-9,\-\s]/g,``);this.parseCoeffs(t).forEach((e,t)=>{this.fixedOverrides.b[t]=Math.round(e)}),this.debouncedUpdateBode()}},a_int_str:{get(){return this.fixedPointCoeffs.a.map(e=>e.val).join(`, `)},set(e){let t=e.replace(/[^0-9,\-\s]/g,``);this.parseCoeffs(t).forEach((e,t)=>{this.fixedOverrides.a[t]=Math.round(e)}),this.debouncedUpdateBode()}},fixedPointCoeffs(){let e=2**this.shiftBitsB,t=2**this.shiftBitsA,n=this.parseCoeffs(this.b_str),r=this.parseCoeffs(this.a_str);return{b:n.map((t,n)=>{let r=Math.round(t*e),i=this.fixedOverrides.b[n]===void 0?r:this.fixedOverrides.b[n];return{label:`b${n}`,val:i,isOverridden:this.fixedOverrides.b[n]!==void 0}}),a:r.map((e,n)=>{let r=Math.round(e*t),i=this.fixedOverrides.a[n]===void 0?r:this.fixedOverrides.a[n];return{label:`a${n}`,val:i,isOverridden:this.fixedOverrides.a[n]!==void 0}})}},floatingCoeffs(){return{b:this.parseCoeffs(this.b_str).map((e,t)=>({label:`b${t}`,val:parseFloat(e.toPrecision(6))})),a:this.parseCoeffs(this.a_str).map((e,t)=>({label:`a${t}`,val:parseFloat(e.toPrecision(6))}))}},isManualDirty(){if(this.bSliders.some(e=>e!==0)||this.aSliders.some(e=>e!==0))return!0;let e=this.padTo7(this.parseCoeffs(this.b_str)),t=this.padTo7(this.parseCoeffs(this.a_str)),n=this.baseB.map(e=>e*(this.systemGain||1)),r=this.baseA;for(let i=0;i<7;i++){let a=e[i]||0,o=n[i]||0,s=Math.max(1e-8,Math.abs(o)*1e-10);if(Math.abs(a-o)>s)return!0;let c=t[i]||0,l=r[i]||0,u=Math.max(1e-8,Math.abs(l)*1e-10);if(Math.abs(c-l)>u)return!0}return!1},isFixedPointDirty(){return this.shiftBitsB!==Vo||this.shiftBitsA!==Vo||Object.keys(this.fixedOverrides.b).length>0||Object.keys(this.fixedOverrides.a).length>0},currentA1(){return this.parseCoeffs(this.a_str)[1]||0},currentA2(){return this.parseCoeffs(this.a_str)[2]||0},currentDelta(){return this.currentA1+this.currentA2+1},currentR(){return-1-this.currentA1},currentA1A2Diff(){return this.currentA1-this.currentA2},currentA1A2Sum(){return this.currentA1+this.currentA2},fixedA0Int(){return 2**this.shiftBitsA},fixedCurrentA1(){return this.fixedPointCoeffs.a[1]?.val||0},fixedCurrentA2(){return this.fixedPointCoeffs.a[2]?.val||0},fixedCurrentDelta(){return this.fixedCurrentA1+this.fixedCurrentA2+this.fixedA0Int},fixedCurrentR(){return-this.fixedA0Int-this.fixedCurrentA1},fixedCurrentA1A2Diff(){return this.fixedCurrentA1-this.fixedCurrentA2},fixedCurrentA1A2Sum(){return this.fixedCurrentA1+this.fixedCurrentA2}},watch:{fs:`debouncedSaveSettings`,b_str(){this.debouncedSaveSettings(),this.debouncedProcessFilter()},a_str(){this.debouncedSaveSettings(),this.debouncedProcessFilter()},filterType:`debouncedSaveSettings`,systemGain:`debouncedSaveSettings`,params:{handler:`debouncedSaveSettings`,deep:!0},baseB:{handler:`debouncedSaveSettings`,deep:!0},baseA:{handler:`debouncedSaveSettings`,deep:!0},bSliders:{handler:`debouncedSaveSettings`,deep:!0},aSliders:{handler:`debouncedSaveSettings`,deep:!0},sense_b:`debouncedSaveSettings`,sense_a:`debouncedSaveSettings`,shiftBitsB(){this.debouncedSaveSettings(),this.debouncedProcessFilter()},shiftBitsA(){this.debouncedSaveSettings(),this.debouncedProcessFilter()},shiftBitsIn(){this.debouncedSaveSettings(),this.debouncedProcessFilter()},shiftBitsOut(){this.debouncedSaveSettings(),this.debouncedProcessFilter()},useRound(){this.debouncedSaveSettings(),this.debouncedProcessFilter()},fixedOverrides:{handler:`debouncedSaveSettings`,deep:!0},aFineStep:`debouncedSaveSettings`,fixedAFineStep:`debouncedSaveSettings`,b_int_str(){this.debouncedProcessFilter()},a_int_str(){this.debouncedProcessFilter()},selectedColumn(e,t){e!==t&&(this.zoomStartIdx=null,this.zoomEndIdx=null,this.timePlotUnit=null,this.timePlotMultiplier=null,this.debouncedProcessFilter())}},mounted(){this.isTouchInput=window.matchMedia?.(`(pointer: coarse)`).matches||!1,window.addEventListener(`pointerdown`,this.rememberPointerType);let e=localStorage.getItem(`theme`);this.isDarkMode=e?e===`dark`:!0,this.isDarkMode?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`),this.loadSettings(),this.webSerialSupported=`serial`in navigator,this.webSerialSupported||(this.mcuStatus=`此瀏覽器不支援 Web Serial(需使用 Chrome 或 Edge,且透過 HTTPS 連線)`),this.ensureCascadeStages(),this.updateBodeMagRange(),this.applyFilterDesign(),this.loadPresetWaveforms()},beforeUnmount(){window.removeEventListener(`pointerdown`,this.rememberPointerType),this.stopA1A2Repeat(),this.stopAFineDrag(),this.stopShiftBitRepeat(),this.stopShiftBitDrag(),this.stopFixedA1A2Repeat(),this.stopFixedAFineDrag(),this.stopShiftInRepeat(),this.stopShiftInDrag(),this.stopShiftOutRepeat(),this.stopShiftOutDrag()},methods:{toggleSidebar(){this.isSidebarCollapsed=!this.isSidebarCollapsed,localStorage.setItem(`dea_sidebar_collapsed`,this.isSidebarCollapsed?`true`:`false`);let e=Date.now(),t=setInterval(()=>{window.dispatchEvent(new Event(`resize`)),Date.now()-e>400&&(clearInterval(t),window.dispatchEvent(new Event(`resize`)),this.resizePlots())},30)},resizePlots(){let e=document.getElementById(`bodePlot`),t=document.getElementById(`timePlot`);e&&window.Plotly&&window.Plotly.Plots.resize(e),t&&window.Plotly&&window.Plotly.Plots.resize(t)},stageTitle(e){return this.cascadeStages[e]?.filterType||`Stage ${e+1}`},cloneStage(e){return JSON.parse(JSON.stringify(e))},captureCurrentStage(){return{id:this.cascadeStages[this.activeCascadeStageIndex]?.id||Ko(),isActive:this.cascadeStages[this.activeCascadeStageIndex]?.isActive??!0,isExpanded:this.cascadeStages[this.activeCascadeStageIndex]?.isExpanded??!0,filterType:this.filterType,b_str:this.b_str,a_str:this.a_str,systemGain:this.systemGain,params:{...this.params},baseB:[...this.baseB],baseA:[...this.baseA],bSliders:[...this.bSliders],aSliders:[...this.aSliders],shiftBitsB:this.shiftBitsB,shiftBitsA:this.shiftBitsA,fixedOverrides:{a:{...this.fixedOverrides.a},b:{...this.fixedOverrides.b}},outOfRangeB:[...this.outOfRangeB],outOfRangeA:[...this.outOfRangeA],aFineStep:this.aFineStep,fixedAFineStep:this.fixedAFineStep,activeCoeffAdjustment:this.activeCoeffAdjustment}},applyStageToControls(e){e=No(e),this.filterType=e.filterType,this.b_str=e.b_str,this.a_str=e.a_str,this.systemGain=e.systemGain,this.params={...e.params},this.baseB=[...e.baseB],this.baseA=[...e.baseA],this.bSliders=[...e.bSliders],this.aSliders=[...e.aSliders],this.shiftBitsB=e.shiftBitsB,this.shiftBitsA=e.shiftBitsA,this.fixedOverrides={a:{...e.fixedOverrides.a},b:{...e.fixedOverrides.b}},this.outOfRangeB=[...e.outOfRangeB],this.outOfRangeA=[...e.outOfRangeA],this.aFineStep=e.aFineStep,this.fixedAFineStep=e.fixedAFineStep,this.activeCoeffAdjustment=e.activeCoeffAdjustment},ensureCascadeStages(){Array.isArray(this.cascadeStages)||(this.cascadeStages=[]),this.cascadeStages.length===0&&(this.cascadeStages=[this.captureCurrentStage()],this.activeCascadeStageIndex=0),this.cascadeStages=this.cascadeStages.map((e,t)=>No(e,{isExpanded:t===this.activeCascadeStageIndex,filterType:this.filterType,b_str:this.b_str,a_str:this.a_str,systemGain:this.systemGain,params:this.params,baseB:this.baseB,baseA:this.baseA,bSliders:this.bSliders,aSliders:this.aSliders,shiftBitsB:this.shiftBitsB,shiftBitsA:this.shiftBitsA,fixedOverrides:this.fixedOverrides,outOfRangeB:this.outOfRangeB,outOfRangeA:this.outOfRangeA,aFineStep:this.aFineStep,fixedAFineStep:this.fixedAFineStep,activeCoeffAdjustment:this.activeCoeffAdjustment})),(this.activeCascadeStageIndex<0||this.activeCascadeStageIndex>=this.cascadeStages.length)&&(this.activeCascadeStageIndex=0)},saveActiveCascadeStage(){this.ensureCascadeStages(),this.cascadeStages.splice(this.activeCascadeStageIndex,1,this.captureCurrentStage())},selectCascadeStage(e){e<0||e>=this.cascadeStages.length||e===this.activeCascadeStageIndex||(this.saveActiveCascadeStage(),this.activeCascadeStageIndex=e,this.cascadeStages.forEach((t,n)=>{t.isExpanded=n===e}),this.applyStageToControls(this.cloneStage(this.cascadeStages[e])),this.updateBodeMagRange(),this.updateBodePlot({switchToChart:!1}))},addCascadeStage(){this.saveActiveCascadeStage();let e=this.cloneStage(this.cascadeStages[this.activeCascadeStageIndex]);e.id=Ko(),e.isActive=!0,e.isExpanded=!0,this.cascadeStages.push(e),this.selectCascadeStage(this.cascadeStages.length-1)},removeCascadeStage(e){if(this.cascadeStages.length<=1){this.globalError=`至少需要保留一個濾波器階段`;return}this.saveActiveCascadeStage(),this.cascadeStages.splice(e,1),this.activeCascadeStageIndex=Math.min(this.activeCascadeStageIndex,this.cascadeStages.length-1),this.cascadeStages[this.activeCascadeStageIndex].isExpanded=!0,this.applyStageToControls(this.cloneStage(this.cascadeStages[this.activeCascadeStageIndex])),this.updateBodePlot({switchToChart:!1})},toggleCascadeStage(e){this.saveActiveCascadeStage();let t=this.cascadeStages[e];t.isActive=!t.isActive,this.updateBodePlot({switchToChart:!1}),this.debouncedProcessFilter()},toggleCascadeStageExpanded(e){if(!(e<0||e>=this.cascadeStages.length)){if(e!==this.activeCascadeStageIndex){this.selectCascadeStage(e);return}this.saveActiveCascadeStage(),this.cascadeStages.forEach((t,n)=>{t.isExpanded=n===e?!t.isExpanded:!1})}},cascadeStageSummary(e){return`${this.parseCoeffs(e.b_str||``).length}b / ${this.parseCoeffs(e.a_str||``).length}a, Qb${e.shiftBitsB}, Qa${e.shiftBitsA}`},moveCascadeStageUp(e){this.moveCascadeStage(e,e-1)},moveCascadeStageDown(e){this.moveCascadeStage(e,e+1)},startCascadeStageDrag(e,t){e<0||e>=this.cascadeStages.length||(this.saveActiveCascadeStage(),this.draggingCascadeStageIndex=e,this.dragOverCascadeStageIndex=e,this.stageDragPointerId=t.pointerId,this.draggedCascadeStageId=this.cascadeStages[e]?.id||null,this.stageDragStartX=t.clientX,this.stageDragStartY=t.clientY,this.stageDragCurrentX=t.clientX,this.stageDragCurrentY=t.clientY,t.currentTarget?.setPointerCapture?.(t.pointerId),window.addEventListener(`pointermove`,this.moveCascadeStageDrag,{passive:!1}),window.addEventListener(`pointerup`,this.endCascadeStageDrag),window.addEventListener(`pointercancel`,this.cancelCascadeStageDrag))},cascadeStageDragStyle(e){return this.draggingCascadeStageIndex===e?{transform:`translate3d(${this.stageDragCurrentX-this.stageDragStartX}px, ${this.stageDragCurrentY-this.stageDragStartY}px, 0) scale(1.015)`}:null},moveCascadeStageDrag(e){if(this.draggingCascadeStageIndex===null)return;e.preventDefault(),this.stageDragCurrentX=e.clientX,this.stageDragCurrentY=e.clientY;let t=document.elementsFromPoint(e.clientX,e.clientY).find(e=>{let t=e.closest?.(`[data-cascade-stage-index]`);return t&&Number(t.dataset.cascadeStageIndex)!==this.draggingCascadeStageIndex})?.closest?.(`[data-cascade-stage-index]`);if(!t)return;let n=Number(t.dataset.cascadeStageIndex);Number.isInteger(n)&&n>=0&&n<this.cascadeStages.length&&(this.dragOverCascadeStageIndex=n,this.reorderCascadeStageDuringDrag(n))},reorderCascadeStageDuringDrag(e){let t=this.draggingCascadeStageIndex;if(t===null||t===e||!this.draggedCascadeStageId)return;let n=document.querySelector(`[data-cascade-stage-index="${t}"]`)?.getBoundingClientRect(),r=this.cascadeStages[this.activeCascadeStageIndex]?.id,[i]=this.cascadeStages.splice(t,1);this.cascadeStages.splice(e,0,i),this.draggingCascadeStageIndex=e,this.dragOverCascadeStageIndex=e,this.activeCascadeStageIndex=Math.max(0,this.cascadeStages.findIndex(e=>e.id===r)),this.$nextTick(()=>{let t=document.querySelector(`[data-cascade-stage-index="${e}"]`)?.getBoundingClientRect();!n||!t||(this.stageDragStartX+=t.left-n.left,this.stageDragStartY+=t.top-n.top)})},endCascadeStageDrag(){let e=this.cascadeStages[this.activeCascadeStageIndex]?.id;this.clearCascadeStageDrag(),this.collapseCascadeStages({skipSave:!0}),this.activeCascadeStageIndex=Math.max(0,this.cascadeStages.findIndex(t=>t.id===e)),this.applyStageToControls(this.cloneStage(this.cascadeStages[this.activeCascadeStageIndex])),this.updateBodePlot({switchToChart:!1}),this.debouncedProcessFilter()},cancelCascadeStageDrag(){this.clearCascadeStageDrag(),this.collapseCascadeStages()},clearCascadeStageDrag(){window.removeEventListener(`pointermove`,this.moveCascadeStageDrag),window.removeEventListener(`pointerup`,this.endCascadeStageDrag),window.removeEventListener(`pointercancel`,this.cancelCascadeStageDrag),this.draggingCascadeStageIndex=null,this.dragOverCascadeStageIndex=null,this.stageDragPointerId=null,this.draggedCascadeStageId=null,this.stageDragStartX=0,this.stageDragStartY=0,this.stageDragCurrentX=0,this.stageDragCurrentY=0},collapseCascadeStages({skipSave:e=!1}={}){e||this.saveActiveCascadeStage(),this.cascadeStages.forEach(e=>{e.isExpanded=!1})},moveCascadeStage(e,t,{preserveExpansion:n=!1,collapseAll:r=!1}={}){if(e<0||e>=this.cascadeStages.length||t<0||t>=this.cascadeStages.length)return;this.saveActiveCascadeStage();let i=this.cascadeStages[this.activeCascadeStageIndex]?.id,a=new Map(this.cascadeStages.map(e=>[e.id,!!e.isExpanded])),[o]=this.cascadeStages.splice(e,1);this.cascadeStages.splice(t,0,o),this.activeCascadeStageIndex=Math.max(0,this.cascadeStages.findIndex(e=>e.id===i)),this.cascadeStages.forEach((e,t)=>{r?e.isExpanded=!1:e.isExpanded=n?!!a.get(e.id):t===this.activeCascadeStageIndex}),this.applyStageToControls(this.cloneStage(this.cascadeStages[this.activeCascadeStageIndex])),this.updateBodePlot({switchToChart:!1}),this.debouncedProcessFilter()},getStageFixedCoeffs(e){return Po(e,this.parseCoeffs)},getCascadeStagesSnapshot(){return this.saveActiveCascadeStage(),this.cascadeStages.map(e=>this.cloneStage(e))},getCascadeBodePayload(){return{fs:this.fs,stages:this.getCascadeStagesSnapshot().map(e=>{let t=this.getStageFixedCoeffs(e),n=2**e.shiftBitsB,r=2**e.shiftBitsA;return{b:this.parseCoeffs(e.b_str),a:this.parseCoeffs(e.a_str),b_fixed:t.b.map(e=>e/n),a_fixed:t.a.map(e=>e/r),isActive:e.isActive}})}},getCascadeFilterPayload(){return Fo({stages:this.getCascadeStagesSnapshot(),fs:this.fs,shiftBitsIn:this.shiftBitsIn,shiftBitsOut:this.shiftBitsOut,useRound:this.useRound,parseCoeffs:this.parseCoeffs,getStageFixedCoeffs:this.getStageFixedCoeffs})},loadSettings(){try{let e=localStorage.getItem(`dea_settings`);if(e){let t=JSON.parse(e);[`fs`,`b_str`,`a_str`,`filterType`,`systemGain`,`params`,`baseB`,`baseA`,`bSliders`,`aSliders`,`sense_b`,`sense_a`,`shiftBitsB`,`shiftBitsA`,`shiftBitsIn`,`shiftBitsOut`,`useRound`,`fixedOverrides`,`aFineStep`,`fixedAFineStep`,`cascadeStages`,`activeCascadeStageIndex`].forEach(e=>{t[e]!==void 0&&(this[e]=t[e])})}}catch(e){console.error(`Failed to load settings:`,e)}},saveSettings(){this.saveActiveCascadeStage();let e=[`fs`,`b_str`,`a_str`,`filterType`,`systemGain`,`params`,`baseB`,`baseA`,`bSliders`,`aSliders`,`sense_b`,`sense_a`,`shiftBitsB`,`shiftBitsA`,`shiftBitsIn`,`shiftBitsOut`,`useRound`,`fixedOverrides`,`aFineStep`,`fixedAFineStep`,`cascadeStages`,`activeCascadeStageIndex`],t={};e.forEach(e=>t[e]=this[e]),localStorage.setItem(`dea_settings`,JSON.stringify(t))},debouncedSaveSettings(){clearTimeout(this.saveSettingsTimeout),this.saveSettingsTimeout=setTimeout(()=>this.saveSettings(),500)},rememberPointerType(e){e.pointerType===`touch`?this.isTouchInput=!0:(e.pointerType===`mouse`||e.pointerType===`pen`)&&(this.isTouchInput=!1)},toggleDarkMode(){this.isDarkMode=!this.isDarkMode,localStorage.setItem(`theme`,this.isDarkMode?`dark`:`light`),this.isDarkMode?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`),this.updateBodePlot({switchToChart:!1}),this.timePlotData&&this.drawTimePlot(this.timePlotData)},formatK(e){return e>=1e6?`(~${(e/1e6).toFixed(1).replace(`.0`,``)}M)`:e>=1e3?`(~${(e/1e3).toFixed(1).replace(`.0`,``)}k)`:``},parseCoeffs(e){return e?e.split(/[,\s]+/).map(e=>parseFloat(e.trim())).filter(e=>!isNaN(e)):[]},padTo7(e){let t=e.slice(0,7);for(;t.length<7;)t.push(0);return t},syncBaseFromText(){let e=this.systemGain||1;this.baseB=this.padTo7(this.parseCoeffs(this.b_str)).map(t=>t/e),this.baseA=this.padTo7(this.parseCoeffs(this.a_str)),this.baseA[0]=1,this.fixedOverrides={a:{},b:{}},this.bSliders=[0,0,0,0,0,0,0],this.aSliders=[0,0,0,0,0,0,0],this.outOfRangeB=[!1,!1,!1,!1,!1,!1,!1],this.outOfRangeA=[!1,!1,!1,!1,!1,!1,!1]},resetSlidersB(){this.bSliders=[0,0,0,0,0,0,0],this.b_str=this.baseB.map(e=>parseFloat(e.toPrecision(10))).join(`, `),this.debouncedUpdateBode()},resetSlidersA(){this.aSliders=[0,0,0,0,0,0],this.a_str=this.baseA.map(e=>parseFloat(e.toPrecision(10))).join(`, `),this.debouncedUpdateBode()},clearManualAdjustments(){this.bSliders=[0,0,0,0,0,0,0],this.aSliders=[0,0,0,0,0,0,0];let e=this.systemGain||1;this.b_str=this.baseB.map(t=>parseFloat((t*e).toPrecision(10))).join(`, `),this.a_str=this.baseA.map(e=>parseFloat(e.toPrecision(10))).join(`, `),this.activeCoeffAdjustment=null,this.calcSlidersFromText(),this.updateBodePlot({switchToChart:!1})},updateFromControls({updateBode:e=!0}={}){let t=this.baseB.map((e,t)=>e*(this.systemGain||1)*10**(this.bSliders[t]||0)),n=[1];for(let e=1;e<7;e++)n.push(this.baseA[e]*10**(this.aSliders[e]||0));this.b_str=t.map(e=>parseFloat(e.toPrecision(10))).join(`, `),this.a_str=n.map(e=>parseFloat(e.toPrecision(10))).join(`, `),e&&this.debouncedUpdateBode()},stepDecimals(e){let t=String(e);return t.includes(`e-`)?Number(t.split(`e-`)[1]):t.includes(`.`)?t.split(`.`)[1].length:0},roundToStep(e,t=this.aFineStep){let n=1/t;return Math.round(e*n)/n},formatFineCoeff(e){return Number.isFinite(e)?Number(e).toString():`0`},formatAFineDelta(e=this.aFineStep){return this.roundToStep(e,e).toFixed(this.stepDecimals(e))},formatFixedFineCoeff(e){return Number.isFinite(e)?String(e):`0`},formatFixedAFineDelta(e=this.fixedAFineStep){return String(e)},adjustAFineStep(e){let t=this.aFineStep*(e>0?.1:10),n=Math.min(1,Math.max(1e-9,t));this.aFineStep=Number(n.toPrecision(12))},adjustFixedAFineStep(e){let t=[1,2,4,8,32,256,1024,4096,16384,65536],n=t.indexOf(this.fixedAFineStep);n===-1&&(n=t.reduce((e,n,r)=>Math.abs(n-this.fixedAFineStep)<Math.abs(t[e]-this.fixedAFineStep)?r:e,0)),n=e>0?Math.max(0,n-1):Math.min(t.length-1,n+1),this.fixedAFineStep=t[n]},setDeltaR(e,t){let n=Number(e),r=Number(t);!Number.isFinite(n)||!Number.isFinite(r)||this.setA1A2(-1-r,r+n)},setAFineDirect(e,t){let n=parseFloat(t);Number.isFinite(n)&&(e===`delta`?this.setDeltaR(n,this.currentR):e===`r`&&this.setDeltaR(this.currentDelta,n))},adjustAFineValue(e,t){let n=t*this.aFineStep;e===`delta`?this.setDeltaR(this.currentDelta+n,this.currentR):e===`r`&&this.setDeltaR(this.currentDelta,this.currentR+n)},handleAFineWheel(e,t){if(!t.shiftKey){t.currentTarget?.blur?.();return}t.preventDefault();let n=t.deltaY<0?1:-1,r=Math.max(1,Math.round(Math.abs(t.deltaY)/80));this.adjustAFineValue(e,n*r)},startAFineDrag(e,t){t.pointerType===`touch`&&(t.preventDefault(),this.aFineDrag={target:e,lastY:t.clientY,remainder:0},window.addEventListener(`pointermove`,this.moveAFineDrag,{passive:!1}),window.addEventListener(`pointerup`,this.stopAFineDrag),window.addEventListener(`pointercancel`,this.stopAFineDrag))},moveAFineDrag(e){if(!this.aFineDrag)return;e.preventDefault();let t=this.aFineDrag.lastY-e.clientY;this.aFineDrag.lastY=e.clientY,this.aFineDrag.remainder+=t;let n=Math.trunc(this.aFineDrag.remainder/18);n!==0&&(this.aFineDrag.remainder-=n*18,this.adjustAFineValue(this.aFineDrag.target,n))},stopAFineDrag(){this.aFineDrag=null,window.removeEventListener(`pointermove`,this.moveAFineDrag),window.removeEventListener(`pointerup`,this.stopAFineDrag),window.removeEventListener(`pointercancel`,this.stopAFineDrag)},setFixedDeltaR(e,t){let n=Math.round(e),r=Math.round(t),i=this.fixedA0Int;this.fixedOverrides.a[1]=-i-r,this.fixedOverrides.a[2]=r+n,this.debouncedUpdateBode()},setFixedAFineDirect(e,t){let n=parseFloat(t);Number.isFinite(n)&&(e===`delta`?this.setFixedDeltaR(n,this.fixedCurrentR):e===`r`&&this.setFixedDeltaR(this.fixedCurrentDelta,n))},adjustFixedAFineValue(e,t){let n=Math.round(t*this.fixedAFineStep);e===`delta`?this.setFixedDeltaR(this.fixedCurrentDelta+n,this.fixedCurrentR):e===`r`&&this.setFixedDeltaR(this.fixedCurrentDelta,this.fixedCurrentR+n)},handleFixedAFineWheel(e,t){if(!t.shiftKey){t.currentTarget?.blur?.();return}t.preventDefault();let n=t.deltaY<0?1:-1,r=Math.max(1,Math.round(Math.abs(t.deltaY)/80));this.adjustFixedAFineValue(e,n*r)},startFixedA1A2Repeat(e,t){this.stopFixedA1A2Repeat(),this.adjustFixedAFineValue(e,t),this.fixedAFineRepeatDelayTimer=setTimeout(()=>{this.fixedAFineRepeatTimer=setInterval(()=>{this.adjustFixedAFineValue(e,t)},80)},350)},stopFixedA1A2Repeat(){clearTimeout(this.fixedAFineRepeatDelayTimer),clearInterval(this.fixedAFineRepeatTimer),this.fixedAFineRepeatDelayTimer=null,this.fixedAFineRepeatTimer=null},startFixedAFineDrag(e,t){t.pointerType===`touch`&&(t.preventDefault(),this.fixedAFineDrag={target:e,lastY:t.clientY,remainder:0},window.addEventListener(`pointermove`,this.moveFixedAFineDrag,{passive:!1}),window.addEventListener(`pointerup`,this.stopFixedAFineDrag),window.addEventListener(`pointercancel`,this.stopFixedAFineDrag))},moveFixedAFineDrag(e){if(!this.fixedAFineDrag)return;e.preventDefault();let t=this.fixedAFineDrag.lastY-e.clientY;this.fixedAFineDrag.lastY=e.clientY,this.fixedAFineDrag.remainder+=t;let n=Math.trunc(this.fixedAFineDrag.remainder/18);n!==0&&(this.fixedAFineDrag.remainder-=n*18,this.adjustFixedAFineValue(this.fixedAFineDrag.target,n))},stopFixedAFineDrag(){this.fixedAFineDrag=null,window.removeEventListener(`pointermove`,this.moveFixedAFineDrag),window.removeEventListener(`pointerup`,this.stopFixedAFineDrag),window.removeEventListener(`pointercancel`,this.stopFixedAFineDrag)},normalizeShiftBits(e){let t=parseInt(e,10);return Number.isFinite(t)?Math.max(0,t):0},setUseRound(e){this.useRound=e},setShiftBits(e,t){let n=this.normalizeShiftBits(t);e===`b`?this.shiftBitsB=n:this.shiftBitsA=n,this.clearFixedOverrides(e),this.debouncedUpdateBode()},adjustShiftBits(e,t){let n=e===`b`?this.shiftBitsB:this.shiftBitsA;this.setShiftBits(e,n+t)},handleShiftBitWheel(e,t){if(!t.shiftKey){t.currentTarget?.blur?.();return}t.preventDefault();let n=t.deltaY<0?1:-1,r=Math.max(1,Math.round(Math.abs(t.deltaY)/80));this.adjustShiftBits(e,n*r)},startShiftBitRepeat(e,t){this.stopShiftBitRepeat(),this.adjustShiftBits(e,t),this.shiftBitRepeatDelayTimer=setTimeout(()=>{this.shiftBitRepeatTimer=setInterval(()=>{this.adjustShiftBits(e,t)},80)},350)},stopShiftBitRepeat(){clearTimeout(this.shiftBitRepeatDelayTimer),clearInterval(this.shiftBitRepeatTimer),this.shiftBitRepeatDelayTimer=null,this.shiftBitRepeatTimer=null},startShiftBitDrag(e,t){t.pointerType===`touch`&&(t.preventDefault(),this.shiftBitDrag={type:e,lastY:t.clientY,remainder:0},window.addEventListener(`pointermove`,this.moveShiftBitDrag,{passive:!1}),window.addEventListener(`pointerup`,this.stopShiftBitDrag),window.addEventListener(`pointercancel`,this.stopShiftBitDrag))},moveShiftBitDrag(e){if(!this.shiftBitDrag)return;e.preventDefault();let t=this.shiftBitDrag.lastY-e.clientY;this.shiftBitDrag.lastY=e.clientY,this.shiftBitDrag.remainder+=t;let n=Math.trunc(this.shiftBitDrag.remainder/18);n!==0&&(this.shiftBitDrag.remainder-=n*18,this.adjustShiftBits(this.shiftBitDrag.type,n))},stopShiftBitDrag(){this.shiftBitDrag=null,window.removeEventListener(`pointermove`,this.moveShiftBitDrag),window.removeEventListener(`pointerup`,this.stopShiftBitDrag),window.removeEventListener(`pointercancel`,this.stopShiftBitDrag)},setShiftBitsIn(e){this.shiftBitsIn=this.normalizeShiftBits(e),this.debouncedUpdateBode()},adjustShiftBitsIn(e){this.setShiftBitsIn(this.shiftBitsIn+e)},startShiftInRepeat(e){this.stopShiftInRepeat(),this.adjustShiftBitsIn(e),this.shiftInRepeatDelayTimer=setTimeout(()=>{this.shiftInRepeatTimer=setInterval(()=>{this.adjustShiftBitsIn(e)},80)},350)},stopShiftInRepeat(){clearTimeout(this.shiftInRepeatDelayTimer),clearInterval(this.shiftInRepeatTimer),this.shiftInRepeatDelayTimer=null,this.shiftInRepeatTimer=null},startShiftInDrag(e){e.pointerType===`touch`&&(e.preventDefault(),this.shiftInDrag={lastY:e.clientY,remainder:0},window.addEventListener(`pointermove`,this.moveShiftInDrag,{passive:!1}),window.addEventListener(`pointerup`,this.stopShiftInDrag),window.addEventListener(`pointercancel`,this.stopShiftInDrag))},moveShiftInDrag(e){if(!this.shiftInDrag)return;e.preventDefault();let t=this.shiftInDrag.lastY-e.clientY;this.shiftInDrag.lastY=e.clientY,this.shiftInDrag.remainder+=t;let n=Math.trunc(this.shiftInDrag.remainder/18);n!==0&&(this.shiftInDrag.remainder-=n*18,this.adjustShiftBitsIn(n))},stopShiftInDrag(){this.shiftInDrag=null,window.removeEventListener(`pointermove`,this.moveShiftInDrag),window.removeEventListener(`pointerup`,this.stopShiftInDrag),window.removeEventListener(`pointercancel`,this.stopShiftInDrag)},setShiftBitsOut(e){this.shiftBitsOut=this.normalizeShiftBits(e),this.debouncedUpdateBode()},adjustShiftBitsOut(e){this.setShiftBitsOut(this.shiftBitsOut+e)},startShiftOutRepeat(e){this.stopShiftOutRepeat(),this.adjustShiftBitsOut(e),this.shiftOutRepeatDelayTimer=setTimeout(()=>{this.shiftOutRepeatTimer=setInterval(()=>{this.adjustShiftBitsOut(e)},80)},350)},stopShiftOutRepeat(){clearTimeout(this.shiftOutRepeatDelayTimer),clearInterval(this.shiftOutRepeatTimer),this.shiftOutRepeatDelayTimer=null,this.shiftOutRepeatTimer=null},startShiftOutDrag(e){e.pointerType===`touch`&&(e.preventDefault(),this.shiftOutDrag={lastY:e.clientY,remainder:0},window.addEventListener(`pointermove`,this.moveShiftOutDrag,{passive:!1}),window.addEventListener(`pointerup`,this.stopShiftOutDrag),window.addEventListener(`pointercancel`,this.stopShiftOutDrag))},moveShiftOutDrag(e){if(!this.shiftOutDrag)return;e.preventDefault();let t=this.shiftOutDrag.lastY-e.clientY;this.shiftOutDrag.lastY=e.clientY,this.shiftOutDrag.remainder+=t;let n=Math.trunc(this.shiftOutDrag.remainder/18);n!==0&&(this.shiftOutDrag.remainder-=n*18,this.adjustShiftBitsOut(n))},stopShiftOutDrag(){this.shiftOutDrag=null,window.removeEventListener(`pointermove`,this.moveShiftOutDrag),window.removeEventListener(`pointerup`,this.stopShiftOutDrag),window.removeEventListener(`pointercancel`,this.stopShiftOutDrag)},setA1A2(e,t){let n=this.padTo7(this.parseCoeffs(this.a_str));n[0]=1,n[1]=Number(e),n[2]=Number(t),this.a_str=n.map(e=>Number.isFinite(e)?Number(e).toString():`0`).join(`, `),this.calcSlidersFromText(),this.debouncedUpdateBode()},adjustA1A2(e,t){let n=this.aFineStep*t;e===`delta`?this.setDeltaR(this.currentDelta+n,this.currentR):e===`r`&&this.setDeltaR(this.currentDelta,this.currentR+n)},startA1A2Repeat(e,t){this.stopA1A2Repeat(),this.adjustAFineValue(e,t),this.aFineRepeatDelayTimer=setTimeout(()=>{this.aFineRepeatTimer=setInterval(()=>{this.adjustAFineValue(e,t)},80)},350)},stopA1A2Repeat(){clearTimeout(this.aFineRepeatDelayTimer),clearInterval(this.aFineRepeatTimer),this.aFineRepeatDelayTimer=null,this.aFineRepeatTimer=null},toggleCoeffAdjustment(e){if(this.activeCoeffAdjustment===e){this.activeCoeffAdjustment=null;return}this.activeCoeffAdjustment=e,e===`a1a2`&&this.calcSlidersFromText()},calcSlidersFromText(){let e=this.systemGain||1,t=this.parseCoeffs(this.b_str),n=this.parseCoeffs(this.a_str);for(let n=0;n<7;n++){let r=t[n]||0,i=this.baseB[n]||0;if(this.outOfRangeB[n]=!1,i!==0&&r!==0&&r/(i*e)>0){let t=Math.log10(r/(i*e));Math.abs(t)<1e-8&&(t=0),Math.abs(t)>this.maxLogB&&(this.outOfRangeB[n]=!0),this.bSliders[n]=Math.max(-this.maxLogB,Math.min(this.maxLogB,t))}else this.bSliders[n]=0,r!==0&&i!==0&&(this.outOfRangeB[n]=!0)}for(let e=1;e<7;e++){let t=n[e]||0,r=this.baseA[e]||0;if(this.outOfRangeA[e]=!1,r!==0&&t!==0&&t/r>0){let n=Math.log10(t/r);Math.abs(n)<1e-8&&(n=0),Math.abs(n)>this.maxLogA&&(this.outOfRangeA[e]=!0),this.aSliders[e]=Math.max(-this.maxLogA,Math.min(this.maxLogA,n))}else this.aSliders[e]=0,t!==0&&r!==0&&(this.outOfRangeA[e]=!0)}},debouncedUpdateFromText(e){e===`b`&&(this.b_str=this.b_str.replace(/[^0-9,.\-\s]/g,``)),e===`a`&&(this.a_str=this.a_str.replace(/[^0-9,.\-\s]/g,``)),this.calcSlidersFromText(),this.debouncedUpdateBode()},onlyNumberKey(e,t=!0){[`Backspace`,`Delete`,`ArrowLeft`,`ArrowRight`,`Tab`,`Enter`,`Home`,`End`].includes(e.key)||e.ctrlKey||e.metaKey||(t?/[0-9,.\-\s]/:/[0-9,\-\s]/).test(e.key)||e.preventDefault()},clearFixedOverrides(e=null){if(e===`a`||e===`b`){this.fixedOverrides[e]={};return}this.fixedOverrides={a:{},b:{}}},resetFixedPointSettings(){this.shiftBitsB=Vo,this.shiftBitsA=Vo,this.fixedAFineStep=1,this.clearFixedOverrides(),this.updateBodePlot({switchToChart:!1})},debouncedApply(){clearTimeout(this.bodeTimeout),this.bodeTimeout=setTimeout(()=>{this.filterType===Lo?this.updateBodePlot({switchToChart:!1}):this.applyFilterDesign()},300)},debouncedUpdateBode(){clearTimeout(this.bodeTimeout),this.bodeTimeout=setTimeout(()=>this.updateBodePlot({switchToChart:!1}),150)},onGainChange(){this.updateBodeMagRange(),this.updateFromControls()},updateBodeMagRange(){let e=parseFloat(this.systemGain)||1,t=20*Math.log10(Math.abs(e)*3);this.bodeMagRange=[t-70,t]},onFilterTypeChange(){this.systemGain=1,this.clearFixedOverrides(),this.bSliders=Go(),this.aSliders=Go(),this.outOfRangeB=[!1,!1,!1,!1,!1,!1,!1],this.outOfRangeA=[!1,!1,!1,!1,!1,!1,!1],this.activeCoeffAdjustment=null,this.filterType!==Lo&&(this.params=Wo()),this.updateBodeMagRange(),this.applyFilterDesign()},resetFilterParams(){clearTimeout(this.bodeTimeout);let e=this.filterType===Lo;this.fs=Ro,this.systemGain=1,this.params=Wo(),e&&(this.b_str=zo,this.a_str=Bo,this.baseB=this.padTo7(this.parseCoeffs(zo)),this.baseA=this.padTo7(this.parseCoeffs(Bo))),this.clearFixedOverrides(),this.bSliders=Go(),this.aSliders=Go(),this.outOfRangeB=[!1,!1,!1,!1,!1,!1,!1],this.outOfRangeA=[!1,!1,!1,!1,!1,!1,!1],this.sense_b=`2x`,this.sense_a=`2x`,this.shiftBitsB=Vo,this.shiftBitsA=Vo,this.aFineStep=.01,this.fixedAFineStep=1,this.stopA1A2Repeat(),this.stopAFineDrag(),this.stopFixedA1A2Repeat(),this.stopFixedAFineDrag(),this.stopShiftBitRepeat(),this.stopShiftBitDrag(),this.activeCoeffAdjustment=null,this.globalError=null,this.updateBodeMagRange(),e?this.updateBodePlot({switchToChart:!1}):this.applyFilterDesign()},async applyFilterDesign(){if(this.filterType!==Lo){this.globalError=null;try{let e={filter_type:this.filterType,fs:this.fs,lp_fc:this.params.fc,lp_order:this.params.order,hp_fc:this.params.fc,hp_order:this.params.order,bp_f_low:this.params.bp_f_low,bp_f_high:this.params.bp_f_high,bp_order:this.params.bp_order,notch_f0:this.params.notch_f0,notch_q:this.params.notch_q,opoz_fz:this.params.opoz_fz,opoz_fp:this.params.opoz_fp,tp1z_fz:this.params.tp1z_fz,tp1z_fp1:this.params.tp1z_fp1,tp1z_fp2:this.params.tp1z_fp2,tptz_fz1:this.params.tptz_fz1,tptz_fz2:this.params.tptz_fz2,tptz_fp1:this.params.tptz_fp1,tptz_fp2:this.params.tptz_fp2,pid_kp:this.params.kp,pid_ki:this.params.ki,pid_kd:this.params.kd,sogi_f0:this.params.sogi_f0,sogi_k:this.params.sogi_k},t=await fetch(`/api/design`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json();throw Error(e.detail||`設計濾波器失敗`)}let n=await t.json();this.baseB=this.padTo7(n.b),this.baseA=this.padTo7(n.a),this.baseA[0]=1,this.bSliders=[0,0,0,0,0,0,0],this.aSliders=[0,0,0,0,0,0,0],this.activeCoeffAdjustment=null,this.updateFromControls({updateBode:!1}),await this.updateBodePlot({switchToChart:!1})}catch(e){this.globalError=e.message}}},async updateBodePlot({switchToChart:e=!0}={}){this.loadingBode=!0,this.globalError=null;try{let t=this.parseCoeffs(this.b_str),n=this.parseCoeffs(this.a_str);t.length===0&&(t=[1]),n.length===0&&(n=[1]);let r=2**this.shiftBitsB,i=2**this.shiftBitsA,a=t.map((e,t)=>(this.fixedOverrides.b[t]===void 0?Math.round(e*r):this.fixedOverrides.b[t])/r),o=n.map((e,t)=>(this.fixedOverrides.a[t]===void 0?Math.round(e*i):this.fixedOverrides.a[t])/i),s=this.getCascadeBodePayload(),c=await fetch(`/api/bode/compare_cascade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(s)}),l;if(c.status===404){let[e,r]=await Promise.all([fetch(`/api/bode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({b:t,a:n,fs:this.fs})}),fetch(`/api/bode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({b:a,a:o,fs:this.fs})})]);if(!e.ok||!r.ok)throw Error(`無法計算頻率響應`);let i=await e.json(),s=await r.json();l={freq:i.freq,ideal:{mag:i.mag,phase:i.phase},fixed:{mag:s.mag,phase:s.phase}}}else if(c.ok)l=await c.json();else{let e=await c.json();throw Error(e.detail||`無法計算頻率響應`)}this.drawBodePlot(l.freq,l.ideal.mag,l.ideal.phase,l.fixed.mag,l.fixed.phase),e&&window.innerWidth<1024&&(this.mobileTab=`chart`)}catch(e){this.globalError=e.message}finally{this.loadingBode=!1}},drawBodePlot(e,t,n,r,i){let a=this.fs,o=e[0],s=e[e.length-1],c=this.isDarkMode,l=window.innerWidth<768,u=[],d=[],f=Math.floor(Math.log10(o)),p=Math.ceil(Math.log10(s));for(let e=f;e<=p;e++)for(let t of[1,2,5]){let n=t*10**e;n<o||n>s||(u.push(n),n<1?d.push(n.toPrecision(3)):n<1e3?d.push(String(n)):n<1e6?d.push(n/1e3+`k`):d.push(n/1e6+`M`))}let m=[],h=[],g=(e,t,n)=>{let r=n===1?`y`:`y2`;m.push({type:`line`,x0:e,x1:e,y0:0,y1:1,xref:n===1?`x`:`x2`,yref:r+` domain`,line:{color:c?`rgba(242,184,181,0.72)`:`rgba(179,38,30,0.68)`,width:1.4,dash:`dash`}}),t&&h.push({x:Math.log10(e),y:1,text:t,xref:n===1?`x`:`x2`,yref:r+` domain`,showarrow:!1,font:{color:c?`#f2b8b5`:`#b3261e`,size:l?10:12},yshift:l?15:12,xanchor:`center`,yanchor:l?`middle`:`bottom`,textangle:l?-90:0})};g(a/2,`Nyquist`,1),g(a,`fs`,1),g(a/2,null,2),g(a,null,2);for(let e=f;e<=p;e++){let t=10**e;if(t>=o&&t<=s){let e=c?`rgba(200,206,224,0.24)`:`rgba(86,96,117,0.16)`;m.push({type:`line`,x0:t,x1:t,y0:0,y1:1,xref:`x`,yref:`y domain`,line:{color:e,width:1.5}},{type:`line`,x0:t,x1:t,y0:0,y1:1,xref:`x2`,yref:`y2 domain`,line:{color:e,width:1.5}})}}let _=c?`rgba(200,206,224,0.14)`:`rgba(86,96,117,0.09)`,v=c?`rgba(200,206,224,0.24)`:`rgba(82,86,99,0.20)`,y=c?`#b4b4bd`:`#525663`,b=c?`#f1f1f4`:`#17191f`,x=c?`#090a0d`:`#ffffff`,S={type:`log`,title:{text:`Freq (Hz)`,font:{size:l?12:14}},range:[Math.log10(o),Math.log10(s)],tickvals:u,ticktext:d,showgrid:!0,gridcolor:_,tickfont:{color:y,size:l?11:12},nticks:l?6:10},C={paper_bgcolor:x,plot_bgcolor:x,uirevision:this.bodeMagRange?this.bodeMagRange.join(`,`):`true`,margin:l?{t:80,b:120,l:55,r:15}:{t:70,b:120,l:70,r:30},showlegend:!1,grid:{rows:2,columns:1,pattern:`independent`,roworder:`top to bottom`,ygap:l?.35:.3},font:{color:y,family:`Google Sans, Roboto, sans-serif`},annotations:[{text:`Magnitude Response (dB)`,xref:`x domain`,yref:`y domain`,x:.5,y:l?1.25:1.15,showarrow:!1,font:{size:l?14:16,color:b,weight:`normal`}},{text:`Phase Response (Deg)`,xref:`x2 domain`,yref:`y2 domain`,x:.5,y:l?1.25:1.15,showarrow:!1,font:{size:l?14:16,color:b,weight:`normal`}},{xref:`paper`,yref:`paper`,x:.35,y:l?.52:.54,text:`一一一`,font:{color:c?`#c8cee0`:`#566075`,size:10},showarrow:!1},{xref:`paper`,yref:`paper`,x:.42,y:l?.52:.54,text:`Ideal Cascade (Float)`,font:{color:y,size:11},showarrow:!1,xanchor:`left`},{xref:`paper`,yref:`paper`,x:.58,y:l?.52:.54,text:`· · · ·`,font:{color:c?`#b9b2ff`:`#7a6689`,size:14},showarrow:!1},{xref:`paper`,yref:`paper`,x:.63,y:l?.52:.54,text:`Fixed Cascade (Mimic)`,font:{color:y,size:11},showarrow:!1,xanchor:`left`},{xref:`paper`,yref:`paper`,x:.35,y:-.15,text:`一一一`,font:{color:c?`#64d2ff`:`#2d6f8f`,size:10},showarrow:!1},{xref:`paper`,yref:`paper`,x:.42,y:-.15,text:`Ideal Phase`,font:{color:y,size:11},showarrow:!1,xanchor:`left`},{xref:`paper`,yref:`paper`,x:.58,y:-.15,text:`· · · ·`,font:{color:c?`#ff9bd8`:`#96527b`,size:14},showarrow:!1},{xref:`paper`,yref:`paper`,x:.63,y:-.15,text:`Fixed Phase`,font:{color:y,size:11},showarrow:!1,xanchor:`left`},...h],xaxis:{...S,anchor:`y`},yaxis:{title:{text:`Mag (dB)`,font:{size:l?12:14}},range:this.bodeMagRange||[-70,0],gridcolor:_,zerolinecolor:v,tickfont:{color:y,size:l?11:12},fixedrange:!1},xaxis2:{type:`log`,title:{text:`Freq (Hz)`,font:{size:l?12:14}},tickvals:u,ticktext:d,showgrid:!0,gridcolor:_,tickfont:{color:y,size:l?11:12},nticks:l?6:10,matches:`x`,anchor:`y2`},yaxis2:{title:{text:`Phase (°)`,font:{size:l?12:14}},range:[-180,180],tickvals:[-180,-90,0,90,180],gridcolor:_,zerolinecolor:v,tickfont:{color:y,size:l?11:12},fixedrange:!0},shapes:m},w={x:e,y:t,name:`Ideal Cascade (Float)`,type:`scatter`,line:{color:c?`#c8cee0`:`#566075`,width:2.8}},ee={x:e,y:r,name:`Fixed Cascade (Mimic)`,type:`scatter`,line:{color:c?`#b9b2ff`:`#7a6689`,width:2.4,dash:`dot`}},te={x:e,y:n,name:`Ideal Phase`,type:`scatter`,line:{color:c?`#64d2ff`:`#2d6f8f`,width:2.8},xaxis:`x2`,yaxis:`y2`},ne={x:e,y:i,name:`Fixed Phase`,type:`scatter`,line:{color:c?`#ff9bd8`:`#96527b`,width:2.4,dash:`dot`},xaxis:`x2`,yaxis:`y2`};Plotly.react(`bodePlot`,[w,ee,te,ne],C,{responsive:!0})},parseCsvText(e,t=1/0){let n=[],r=[],i=``,a=!1,o=0,s=()=>{r.push(i),r.some(e=>e.trim()!==``)&&(o++,n.length<t&&n.push(r)),r=[],i=``};for(let t=0;t<e.length;t++){let n=e[t],o=e[t+1];n===`"`?a&&o===`"`?(i+=`"`,t++):a=!a:n===`,`&&!a?(r.push(i),i=``):(n===`
|
||
`||n===`\r`)&&!a?(n===`\r`&&o===`
|
||
`&&t++,s()):i+=n}if(a)throw Error(`CSV 引號未正確結束`);return s(),{rows:n,totalRows:o}},resetCsvState(){this.csvFile=null,this.csvFileId=null,this.csvColumns=[],this.csvPreview=[],this.csvInfo=null,this.csvParseError=null,this.csvUploading=!1,this.usingPresetCsv=!1,this.isCsvPreviewExpanded=!0,this.selectedColumn=0,this.filterDone=!1,this.timePlotData=null,this.zoomStartIdx=null,this.zoomEndIdx=null,this.timePlotUnit=null,this.timePlotMultiplier=null},async loadPresetWaveforms(){try{let e=await fetch(`/api/csv/preset`);if(!e.ok)return;let t=await e.json();if(this.presetCsvAvailable=!!t.available,!t.available)return;this.csvFile=null,this.csvFileId=t.file_id,this.csvColumns=t.columns||[],this.csvPreview=t.preview||[],this.csvInfo={rows:t.rows||0,columns:t.columns_count||(t.columns||[]).length,size:t.size||0},this.csvParseError=null,this.csvUploading=!1,this.presetCsvName=t.name||`preset_signals.csv`,this.usingPresetCsv=!0,this.selectedColumn=Number.isInteger(t.default_col_idx)?t.default_col_idx:0,this.filterDone=!1,this.timePlotData=null,this.zoomStartIdx=null,this.zoomEndIdx=null,this.timePlotUnit=null,this.timePlotMultiplier=null,this.isCsvPreviewExpanded=!0,this.$nextTick(()=>this.processFilter())}catch{this.presetCsvAvailable=!1}},restorePresetWaveforms(){this.$refs.fileInput&&(this.$refs.fileInput.value=``),this.loadPresetWaveforms()},handleFileUpload(e){let t=e.target.files[0];if(this.resetCsvState(),!t)return;if(!(t.name||``).toLowerCase().endsWith(`.csv`)){this.csvParseError=`請選擇 .csv 檔案`,e.target.value=``;return}if(t.size>314572800){this.csvParseError=`CSV 檔案不可超過 300MB`,e.target.value=``;return}let n=Math.min(t.size,1024*1024),r=new FileReader;r.onload=async r=>{try{let e=String(r.target.result||``).replace(/^\uFEFF/,``),{rows:i,totalRows:a}=this.parseCsvText(e,6);if(a<2||i.length<2)throw Error(`CSV 需包含標題列與至少一筆資料`);let o=i[0].map((e,t)=>e.trim()||`Column ${t+1}`);if(o.length===0)throw Error(`CSV 標題列不可為空`);if(this.csvFile=t,this.csvColumns=o,this.csvPreview=i.slice(1,6).map(e=>{let t=e.slice(0,o.length);for(;t.length<o.length;)t.push(``);return t.map(e=>e.trim())}),this.csvInfo={rows:Math.max(a-1,0),rowsLabel:t.size>n?`預覽 ${Math.max(i.length-1,0)}+`:`${Math.max(a-1,0)}`,columns:o.length,size:t.size},this.selectedColumn=0,o.length>1){let e=o[0].toLowerCase();[`time`,`t`,`sec`,`x`,`index`,`unnamed`].some(t=>e.includes(t))&&(this.selectedColumn=1)}this.csvUploading=!0;let s=new FormData;s.append(`file`,t);let c=await fetch(`/api/csv/upload`,{method:`POST`,body:s});if(!c.ok){let e=await c.text(),t=e||`背景上傳失敗`;try{t=JSON.parse(e).detail||t}catch{}throw Error(t)}let l=await c.json();this.csvFileId=l.file_id}catch(t){this.csvParseError=t.message||`CSV 解析失敗`,this.csvColumns=[],this.csvPreview=[],this.csvInfo=null,this.csvFileId=null,e.target.value=``}finally{this.csvUploading=!1}},r.onerror=()=>{this.csvParseError=`CSV 讀取失敗`,this.csvUploading=!1,e.target.value=``},r.readAsText(t.slice(0,n))},debouncedProcessFilter(){!this.filterDone||!this.csvFileId||(this._filterTimeout&&clearTimeout(this._filterTimeout),this._filterTimeout=setTimeout(()=>{this.processFilter()},500))},async processFilter(){if(this.csvUploading){this.globalError=`CSV 還在上傳中,請稍候...`;return}if(!this.csvFileId){this.csvFile&&(this.globalError=`檔案還在上傳中,請稍候...`);return}this.zoomStartIdx===null&&this.zoomEndIdx===null&&(this.timePlotUnit=null,this.timePlotMultiplier=null),this.loadingFilter=!0,this.globalError=null;let e=new FormData;e.append(`file_id`,this.csvFileId),e.append(`b`,this.b_str),e.append(`a`,this.a_str),e.append(`col_idx`,this.selectedColumn),e.append(`b_int`,this.b_int_str),e.append(`a_int`,this.a_int_str),e.append(`shift_in`,this.shiftBitsIn),e.append(`shift_out`,this.shiftBitsOut),e.append(`shift_b`,this.shiftBitsB),e.append(`shift_a`,this.shiftBitsA),e.append(`use_round`,this.useRound),e.append(`stages`,JSON.stringify(this.getCascadeFilterPayload())),this.zoomStartIdx!==null&&this.zoomEndIdx!==null&&(e.append(`start_idx`,this.zoomStartIdx),e.append(`end_idx`,this.zoomEndIdx));try{let t=await fetch(`/api/filter`,{method:`POST`,body:e});if(!t.ok){let e=await t.json();throw Error(e.detail||`濾波處理失敗`)}let n=await t.json();this.timePlotData=n,this.filterDone=!0,this.isCsvPreviewExpanded=!1,this.$nextTick(()=>{this.drawTimePlot(n)})}catch(e){this.globalError=e.message}finally{this.loadingFilter=!1}},drawTimePlot(e){let t=this.isDarkMode,n=window.innerWidth<768,r=t?`rgba(200,206,224,0.14)`:`rgba(86,96,117,0.09)`,i=t?`rgba(200,206,224,0.24)`:`rgba(82,86,99,0.20)`,a=t?`#b4b4bd`:`#525663`,o=t?`#090a0d`:`#ffffff`;if(!this.timePlotUnit){let t=(e.total_points||(e.index.length>0?Math.max(...e.index):0))/this.fs;t>0&&t<.001?(this.timePlotMultiplier=1e6,this.timePlotUnit=`μs`):t>0&&t<1?(this.timePlotMultiplier=1e3,this.timePlotUnit=`ms`):(this.timePlotMultiplier=1,this.timePlotUnit=`s`)}let s=this.timePlotMultiplier||1,c=this.timePlotUnit||`s`,l=e.index.map(e=>e/this.fs*s),u={paper_bgcolor:o,plot_bgcolor:o,uirevision:`time-domain-lod`,margin:n?{t:60,b:60,l:45,r:15}:{t:40,b:55,l:60,r:20},font:{color:a,family:`Google Sans, Roboto, sans-serif`},xaxis:{title:{text:`Time (${c})`,font:{size:n?10:11}},gridcolor:r,zerolinecolor:i,tickfont:{color:a,size:n?9:11}},yaxis:{title:{text:`Amplitude`,font:{size:n?10:11}},gridcolor:r,zerolinecolor:i,tickfont:{color:a,size:n?9:11}},legend:{orientation:`h`,y:1.02,yanchor:`bottom`,x:1,xanchor:`right`,font:{color:a,size:n?9:10}}};this.isRedrawingTimePlot=!0,Plotly.react(`timePlot`,[{x:l,y:e.original,name:`原始輸入 (Input)`,type:`scatter`,line:{color:t?`#c8cee0`:`#566075`,width:2.4},opacity:.5},{x:l,y:e.filtered,name:`理想串聯路徑 (Cascade Ideal)`,type:`scatter`,line:{color:t?`#64d2ff`:`#2d6f8f`,width:2.8},opacity:.95},{x:l,y:e.filtered_fixed,name:`定點串聯路徑 (Cascade Fixed)`,type:`scatter`,line:{color:t?`#ff7c7c`:`#c0392b`,width:2.8,dash:`dot`},opacity:.95}],u,{responsive:!0}),this.$nextTick(()=>setTimeout(()=>{this.isRedrawingTimePlot=!1},50));let d=document.getElementById(`timePlot`);d&&!d._hasRelayoutListener&&(d.on(`plotly_relayout`,this.handleTimePlotRelayout),d._hasRelayoutListener=!0)},handleTimePlotRelayout(e){if(this.isRedrawingTimePlot||!this.timePlotData||!this.timePlotData.total_points)return;let t=null,n=null;if(e[`xaxis.range[0]`]!==void 0&&e[`xaxis.range[1]`]!==void 0){let r=this.timePlotMultiplier||1;if(t=Math.max(0,Math.floor(e[`xaxis.range[0]`]*this.fs/r)),n=Math.min(this.timePlotData.total_points,Math.ceil(e[`xaxis.range[1]`]*this.fs/r)),n-t<=10)return}else if(e[`xaxis.autorange`]===!0)t=null,n=null;else return;this.zoomStartIdx=t,this.zoomEndIdx=n,this._zoomTimeout&&clearTimeout(this._zoomTimeout),this._zoomTimeout=setTimeout(()=>this.processFilter(),150)},async downloadCsv(){if(!this.csvFileId)return;let e=new FormData;e.append(`file_id`,this.csvFileId),e.append(`b`,this.b_str),e.append(`a`,this.a_str),e.append(`col_idx`,this.selectedColumn),e.append(`b_int`,this.b_int_str),e.append(`a_int`,this.a_int_str),e.append(`shift_in`,this.shiftBitsIn),e.append(`shift_out`,this.shiftBitsOut),e.append(`shift_b`,this.shiftBitsB),e.append(`shift_a`,this.shiftBitsA),e.append(`use_round`,this.useRound),e.append(`stages`,JSON.stringify(this.getCascadeFilterPayload())),e.append(`compact`,`true`),this.zoomStartIdx!==null&&this.zoomEndIdx!==null&&(e.append(`start_idx`,this.zoomStartIdx),e.append(`end_idx`,this.zoomEndIdx));try{let t=await fetch(`/api/filter/download`,{method:`POST`,body:e});if(!t.ok)throw Error(`下載失敗`);let n=await t.blob(),r=window.URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`cascade_filtered_output.csv`,document.body.appendChild(i),i.click(),window.URL.revokeObjectURL(r)}catch(e){this.globalError=e.message}},async connectMCUPort(){if(this.webSerialSupported){this.mcuStatus=``;try{let e=await navigator.serial.requestPort();await e.open({baudRate:115200}),this.mcuSerialPort=e,this.mcuConnected=!0;let t=e.getInfo(),n=t.usbVendorId?`VID:0x${t.usbVendorId.toString(16)}`:``;this.mcuStatus=`已連線${n?` (`+n+`)`:``}`}catch(e){e.name===`NotFoundError`?this.mcuStatus=`未選擇連接埠`:this.mcuStatus=`連線失敗: ${e.message}`}}},async disconnectMCUPort(){if(this.mcuSerialPort){try{await this.mcuSerialPort.close()}catch{}this.mcuSerialPort=null}this.mcuConnected=!1,this.mcuStatus=`已斷線`},mcuCommandFromFixedCoeffs(){let e=this.fixedPointCoeffs.b.map(e=>e.val),t=this.fixedPointCoeffs.a.map(e=>e.val);return`bodeplot=${e[0]??0},${e[1]??0},${e[2]??0},${t[1]??0},${t[2]??0}`},async writeToMCU(){let e=this.activeCascadeStageIndex+1;if(!this.mcuSerialPort||!this.mcuConnected){this.mcuStatus=`請先連線 MCU 連接埠`;return}this.writingMCU=!0,this.globalError=null,this.mcuStatus=``;let t=this.mcuCommandFromFixedCoeffs();try{let n=new TextEncoder,r=this.mcuSerialPort.writable.getWriter();try{await r.write(n.encode(t+`\r
|
||
`))}finally{r.releaseLock()}this.mcuStatus=`已送出 Stage ${e}: ${t}`}catch(t){this.globalError=t.message,this.mcuStatus=`Stage ${e} 寫入失敗: ${t.message}`}finally{this.writingMCU=!1}}}},Jo={id:`app`,class:`flex flex-col h-screen overflow-hidden`},Yo={class:`lg:hidden flex border-b border-slate-200 dark:border-gray-800 bg-white dark:bg-dark z-10 flex-shrink-0`},Xo={key:0,class:`w-2 h-2 rounded-full role-dot-primary animate-ping`},Zo={class:`flex flex-col lg:flex-row flex-1 overflow-hidden relative`},Qo={class:`flex items-center justify-between pb-3 border-b border-slate-200 dark:border-gray-800/80 flex-shrink-0`},$o={class:`bg-slate-50 dark:bg-gray-900/40 p-3.5 rounded-xl border border-slate-200 dark:border-gray-800 space-y-3 shadow-sm`},es={class:`grid grid-cols-1 gap-3`},ts={class:`text-xs text-slate-500 dark:text-gray-400 flex justify-between mb-1`},ns={class:`role-text-primary font-mono font-bold`},rs={class:`flex flex-col justify-end`},is={key:0,class:`w-full`},as={key:1,class:`flex items-center justify-between bg-emerald-500/10 dark:bg-emerald-500/5 border border-emerald-500/20 px-3 py-2 rounded-lg`},os={key:1,class:`text-[10px] text-amber-600 dark:text-amber-400 leading-relaxed`},ss={key:0,class:`text-xs text-slate-600 dark:text-gray-400`},cs={class:`mb-3 p-3 rounded-lg border border-slate-200 dark:border-gray-800 bg-slate-50 dark:bg-gray-900/50 space-y-2`},ls={class:`flex items-center justify-between gap-2`},us={class:`space-y-2`},ds=[`data-cascade-stage-index`],fs={class:`flex items-center gap-2 px-2 py-2`},ps=[`onPointerdown`],ms=[`onClick`,`title`],hs=[`onClick`],gs={class:`block truncate`},_s=[`onClick`],vs={class:`px-3 pb-3 text-xs text-slate-600 dark:text-gray-400 border-t border-slate-100 dark:border-gray-700`},ys={class:`flex items-center justify-between gap-2 pt-2`},bs={class:`truncate`},xs={class:`flex flex-wrap items-center gap-2 pt-2`},Ss=[`disabled`],Cs=[`onClick`,`disabled`],ws=[`value`],Ts={key:0,class:`stage-design-params space-y-3 mb-4`},Es={key:0},Ds={class:`text-sm text-slate-600 dark:text-gray-400 flex justify-between mb-1`},Os={class:`role-text-primary`},ks=[`max`],As={class:`selector-button-group flex gap-2`},js=[`onClick`],Ms={key:1},Ns={class:`text-sm text-slate-600 dark:text-gray-400 flex justify-between mb-1`},Ps={class:`role-text-primary`},Fs={class:`text-sm text-slate-600 dark:text-gray-400 flex justify-between mb-1`},Is={class:`role-text-primary`},Ls={class:`selector-button-group flex gap-2`},Rs=[`onClick`],zs={key:2,class:`space-y-3`},Bs={key:3,class:`space-y-3`},Vs={key:4,class:`space-y-3`},Hs={key:5,class:`space-y-3`},Us={key:6,class:`space-y-3`},Ws={class:`text-sm font-medium text-slate-600 dark:text-gray-400 mb-1 block`},Gs=[`onUpdate:modelValue`],Ks={key:7,class:`space-y-3`},qs={class:`space-y-3`},Js={class:`text-sm text-slate-600 dark:text-gray-400 flex justify-between mb-1`},Ys={class:`role-text-primary`},Xs={class:`coeff-section`},Zs={class:`text-sm font-semibold text-slate-600 dark:text-gray-400 uppercase tracking-wider mb-3 flex justify-between items-center`},Qs={class:`flex items-center gap-2`},$s={class:`mb-3`},ec={class:`flex flex-wrap gap-1 mb-2`},tc={class:`text-[9px] text-white dark:text-gray-900 font-bold`},nc={class:`text-[10px] font-mono text-white dark:text-gray-900 font-bold`},rc=[`open`],ic={class:`px-3 pb-3`},ac={class:`selector-button-group flex items-center gap-2 mb-2 mt-1`},oc=[`onClick`],sc={key:0},cc={class:`text-xs text-slate-500 dark:text-gray-500 flex justify-between mt-1`},lc={key:0,class:`role-text-warning font-bold animate-pulse`},uc=[`onUpdate:modelValue`,`min`,`max`,`step`],dc={class:`mb-3`},fc={class:`flex flex-wrap gap-1 mb-2`},pc={class:`text-[9px] text-white dark:text-gray-900 font-bold`},mc={class:`text-[10px] font-mono text-white dark:text-gray-900 font-bold`},hc=[`open`],gc={class:`px-3 pb-3`},_c={class:`selector-button-group flex items-center gap-2 mb-2 mt-1`},vc=[`onClick`],yc={key:0},bc={class:`text-xs text-slate-500 dark:text-gray-500 flex justify-between mt-1`},xc={key:0,class:`role-text-warning font-bold animate-pulse`},Sc=[`onUpdate:modelValue`,`min`,`max`,`step`],Cc=[`open`],wc={class:`px-3 pb-3`},Tc={class:`mb-4`},Ec={class:`grid grid-cols-[3.25rem_1fr_3.25rem] gap-2 mb-3`},Dc={class:`min-w-0 rounded-lg border role-border-primary-soft role-bg-primary-soft px-3 h-[42px] flex flex-col justify-center text-center`},Oc=[`title`],kc={class:`text-[11px] font-semibold text-slate-500 dark:text-gray-500 mb-2`},Ac={class:`grid grid-cols-2 gap-2`},jc={key:0,class:`block`},Mc={class:`grid grid-cols-[2rem_1fr_2rem] gap-1`},Nc=[`value`,`step`],Pc=[`title`],Fc={key:2,class:`block`},Ic={class:`grid grid-cols-[2rem_1fr_2rem] gap-1`},Lc=[`value`,`step`],Rc=[`title`],zc={class:`grid grid-cols-2 gap-2 mb-4`},Bc={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},Vc=[`title`],Hc={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},Uc=[`title`],Wc={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},Gc=[`title`],Kc={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},qc=[`title`],Jc={class:`fixed-section`},Yc={class:`text-sm font-semibold text-slate-600 dark:text-gray-400 uppercase tracking-wider mb-3 flex justify-between items-center`},Xc={class:`flex items-center gap-2`},Zc={key:0,class:`text-xs role-bg-primary-soft role-text-primary px-2 py-1 rounded`},Qc={key:1,class:`text-xs role-bg-primary-soft role-text-primary px-2 py-1 rounded`},$c={class:`flex items-center gap-2`},el={class:`mb-4 grid grid-cols-1 sm:grid-cols-2 gap-3`},tl={key:0,class:`grid grid-cols-[2rem_1fr_2rem] gap-1`},nl=[`value`],rl={class:`text-lg font-mono font-bold role-text-primary`},il={class:`text-[10px] text-slate-500 mt-1`},al={key:0,class:`grid grid-cols-[2rem_1fr_2rem] gap-1`},ol=[`value`],sl={class:`text-lg font-mono font-bold role-text-primary`},cl={class:`text-[10px] text-slate-500 mt-1`},ll={class:`space-y-4`},ul={class:`flex flex-wrap gap-1 mb-2`},dl={class:`text-[9px] text-white dark:text-gray-900 font-bold`},fl={class:`flex flex-wrap gap-1 mb-2`},pl={class:`text-[9px] text-white dark:text-gray-900 font-bold`},ml={class:`mt-3 bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-800 rounded-lg`},hl={class:`px-3 pb-3`},gl={class:`mb-4`},_l={class:`grid grid-cols-[3.25rem_1fr_3.25rem] gap-2 mb-3`},vl={class:`min-w-0 rounded-lg border role-border-primary-soft role-bg-primary-soft px-3 h-[42px] flex flex-col justify-center text-center`},yl=[`title`],bl={class:`text-[11px] font-semibold text-slate-500 dark:text-gray-500 mb-2`},xl={class:`grid grid-cols-2 gap-2`},Sl={key:0,class:`block`},Cl={class:`grid grid-cols-[2rem_1fr_2rem] gap-1`},wl=[`value`,`step`],Tl=[`title`],El={key:2,class:`block`},Dl={class:`grid grid-cols-[2rem_1fr_2rem] gap-1`},Ol=[`value`,`step`],kl=[`title`],Al={class:`grid grid-cols-2 gap-2 mb-4`},jl={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},Ml=[`title`],Nl={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},Pl=[`title`],Fl={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},Il=[`title`],Ll={class:`min-w-0 bg-white dark:bg-gray-800 border border-slate-100 dark:border-gray-700 rounded-lg p-2 text-center shadow-sm`},Rl=[`title`],zl={class:`role-bg-warning-soft border role-border-warning-soft rounded-lg p-3`},Bl={class:`text-[10px] role-text-warning leading-relaxed`},Vl={class:`text-[10px] text-slate-500 dark:text-gray-500 mt-3 italic`},Hl={key:0,class:`absolute top-4 right-6 role-bg-error-soft border role-border-error role-text-error role-text-on-fill px-4 py-3 rounded-lg shadow-lg text-base z-50 flex items-center gap-2`},Ul={class:`chart-panel bg-white dark:bg-dark lg:rounded-xl border-b lg:border border-slate-100 lg:border-slate-200 dark:border-gray-800 lg:dark:border-gray-800 lg:shadow-md p-0 lg:p-1 flex-shrink-0 relative transition-colors duration-300`},Wl={class:`chart-panel-header px-5 py-4 border-b border-slate-100 dark:border-gray-800 flex justify-between items-center bg-white dark:bg-dark backdrop-blur-sm z-10 relative`},Gl={key:0,class:`text-sm role-text-primary role-bg-primary-soft px-3 py-1.5 rounded border role-border-primary-soft flex items-center gap-2`},Kl={class:`chart-panel bg-white dark:bg-dark lg:rounded-xl border-b lg:border border-slate-100 lg:border-slate-200 dark:border-gray-100 lg:dark:border-gray-800 lg:shadow-md p-0 lg:p-1 flex-shrink-0 relative transition-colors duration-300`},ql={class:`p-6 z-10 relative bg-white dark:bg-dark transition-colors duration-300`},Jl={key:0,class:`csv-preview-panel mb-6 rounded-lg border border-slate-100 dark:border-gray-800 bg-slate-50 dark:bg-gray-900/50 overflow-hidden`},Yl={class:`text-xs text-slate-500 dark:text-gray-400`},Xl={class:`overflow-x-auto border-t border-slate-100 dark:border-gray-800`},Zl={class:`min-w-full text-xs text-left`},Ql={class:`bg-white dark:bg-gray-800 text-slate-500 dark:text-gray-400`},$l={class:`divide-y divide-slate-100 dark:divide-gray-800 text-slate-700 dark:text-gray-300 font-mono`},eu={class:`flex items-center flex-wrap gap-4 mb-6 p-4 bg-white dark:bg-gray-800 rounded-lg border border-slate-100 dark:border-gray-700 shadow-sm`},tu={class:`cursor-pointer role-bg-primary role-hover-primary role-text-on-fill px-5 py-3 rounded-lg text-base font-semibold transition-all shadow-md role-shadow-primary flex items-center gap-2`},nu={key:0,class:`text-base role-text-primary font-mono`},ru={key:1,class:`text-sm text-slate-600 dark:text-gray-400 font-mono`},iu={key:2,class:`text-sm role-text-primary font-semibold`},au={key:3,class:`text-sm role-text-error font-semibold`},ou={key:4,class:`h-8 border-l border-slate-200 dark:border-gray-700 mx-2`},su={key:5,class:`flex items-center gap-2`},cu=[`value`],lu=[`disabled`],uu={class:`mb-6 p-4 bg-slate-50 dark:bg-gray-900/50 rounded-lg border border-slate-100 dark:border-gray-800`},du={class:`grid grid-cols-1 md:grid-cols-3 gap-4 lg:gap-6`},fu={class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block font-bold`},pu={key:0,class:`grid grid-cols-[2.5rem_1fr_2.5rem] gap-2 items-center`},mu=[`value`],hu={class:`text-base font-mono font-bold role-text-primary`},gu={class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block font-bold`},_u={key:0,class:`grid grid-cols-[2.5rem_1fr_2.5rem] gap-2 items-center`},vu=[`value`],yu={class:`text-base font-mono font-bold role-text-primary`},bu={class:`selector-button-group flex gap-2 h-[42px]`},xu={key:1,class:`text-base font-bold text-slate-800 dark:text-gray-200 mb-3`},Su={key:2,class:`relative`},Cu={key:3,class:`h-[300px] flex flex-col items-center justify-center text-slate-500 dark:text-gray-500 border-2 border-dashed border-slate-200 dark:border-gray-800 rounded-xl bg-slate-50/50 dark:bg-gray-900/30`},wu={class:`bg-white dark:bg-dark border-t border-slate-200 dark:border-gray-800 py-2 px-4 z-20 transition-colors duration-300 flex items-center justify-between relative min-h-[44px]`},Tu=[`title`],Eu={key:0,class:`w-4 h-4 text-yellow-500`,fill:`currentColor`,viewBox:`0 0 20 20`},Du={key:1,class:`w-4 h-4 text-slate-700`,fill:`currentColor`,viewBox:`0 0 20 20`},Ou={class:`text-xs font-semibold hidden md:inline`};function ku(e,t,n,r,i,a){let o=or(`StageEditor`);return K(),q(`div`,Jo,[J(`div`,Yo,[J(`button`,{onClick:t[0]||=t=>e.mobileTab=`settings`,class:k([e.mobileTab===`settings`?`border-b-2 role-border-primary role-text-primary bg-transparent`:`text-slate-500 dark:text-gray-400 hover:text-slate-700 dark:hover:text-gray-200`,`flex-1 flex items-center justify-center gap-2 py-3 text-sm font-semibold transition-colors`])},[...t[175]||=[J(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z`}),J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 12a3 3 0 11-6 0 3 3 0 016 0z`})],-1),Y(` 串聯設定 `,-1)]],2),J(`button`,{onClick:t[1]||=t=>e.mobileTab=`chart`,class:k([e.mobileTab===`chart`?`border-b-2 role-border-primary role-text-primary bg-transparent`:`text-slate-500 dark:text-gray-400 hover:text-slate-700 dark:hover:text-gray-200`,`flex-1 flex items-center justify-center gap-2 py-3 text-sm font-semibold transition-colors`])},[t[176]||=J(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z`})],-1),t[177]||=Y(` 串聯響應 `,-1),e.loadingBode?(K(),q(`span`,Xo)):X(``,!0)],2)]),J(`div`,Zo,[B(J(`button`,{onClick:t[2]||=(...t)=>e.toggleSidebar&&e.toggleSidebar(...t),class:`hidden lg:flex absolute top-6 left-6 z-30 p-2 rounded-lg bg-white dark:bg-dark border border-slate-200/80 dark:border-gray-800 shadow-md text-slate-500 hover:text-slate-700 dark:text-gray-400 dark:hover:text-gray-200 hover:bg-slate-100 dark:hover:bg-gray-800 transition-all flex-shrink-0`,title:`展開側邊欄`},[...t[178]||=[J(`svg`,{class:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 6h16M4 12h16M4 18h16`})],-1)]],512),[[Da,e.isSidebarCollapsed]]),J(`aside`,{class:k([[e.mobileTab===`settings`?`flex`:`hidden`,e.isSidebarCollapsed?`sidebar-collapsed`:``],`lg:flex flex-col w-full lg:w-96 h-full bg-white dark:bg-dark border-b lg:border-b-0 lg:border-r border-slate-200 dark:border-gray-800 transition-all duration-300 ease-in-out select-none flex-shrink-0 overflow-y-auto p-5 lg:p-4 gap-5 lg:gap-4 custom-scrollbar`])},[J(`div`,Qo,[t[180]||=J(`div`,{class:`flex items-center gap-2 overflow-hidden`},[J(`img`,{src:`/ui/logo.png`,alt:`Logo`,style:{width:`24px`,height:`24px`},class:`object-contain rounded-md shadow-sm flex-shrink-0`}),J(`h1`,{class:`text-sm font-extrabold text-slate-800 dark:text-gray-200 tracking-wide truncate`},` 級聯差分方程式分析 `)],-1),J(`button`,{onClick:t[3]||=(...t)=>e.toggleSidebar&&e.toggleSidebar(...t),class:`p-1.5 rounded-lg text-slate-500 hover:text-slate-700 dark:text-gray-400 dark:hover:text-gray-200 hover:bg-slate-100 dark:hover:bg-gray-800/60 transition-colors flex-shrink-0`,title:`收折側邊欄`},[...t[179]||=[J(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`})],-1)]])]),J(`section`,$o,[t[183]||=J(`h2`,{class:`text-sm font-semibold text-slate-600 dark:text-gray-400 uppercase tracking-wider mb-3 flex items-center gap-2`},[J(`svg`,{class:`w-5 h-5 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z`}),J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 12a3 3 0 11-6 0 3 3 0 016 0z`})]),Y(` 全域系統設定 `)],-1),J(`div`,es,[J(`div`,null,[J(`label`,ts,[t[181]||=J(`span`,null,`系統取樣頻率 fs`,-1),J(`span`,ns,A(e.formatK(e.fs)),1)]),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[4]||=t=>e.fs=t,onInput:t[5]||=(...t)=>e.debouncedApply&&e.debouncedApply(...t),onKeydown:t[6]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-2 text-sm outline-none transition-all text-slate-900 dark:text-gray-100 font-mono`},null,544),[[Q,e.fs,void 0,{number:!0}]])]),J(`div`,rs,[e.webSerialSupported?(K(),q(`div`,is,[e.mcuConnected?(K(),q(`div`,as,[t[182]||=J(`span`,{class:`flex items-center gap-1.5 text-xs font-semibold text-emerald-600 dark:text-emerald-400`},[J(`span`,{class:`w-2 h-2 rounded-full bg-emerald-500 animate-pulse`}),Y(` MCU 已連線 `)],-1),J(`button`,{onClick:t[8]||=(...t)=>e.disconnectMCUPort&&e.disconnectMCUPort(...t),class:`text-[10px] font-bold text-red-500 hover:underline`},` 中斷 `)])):(K(),q(`button`,{key:0,onClick:t[7]||=(...t)=>e.connectMCUPort&&e.connectMCUPort(...t),class:`w-full text-xs font-bold bg-slate-200 hover:bg-slate-300 dark:bg-gray-800 dark:hover:bg-gray-700 text-slate-700 dark:text-gray-200 px-3 py-2 rounded-lg transition-colors flex items-center justify-center gap-1.5 border border-slate-300 dark:border-gray-700 shadow-sm`},` 連線硬體 MCU `))])):(K(),q(`p`,os,` 此瀏覽器不支援 Web Serial。 `))])]),e.mcuStatus?(K(),q(`p`,ss,A(e.mcuStatus),1)):X(``,!0)]),J(`section`,null,[t[241]||=Bi(`<h2 class="text-sm font-semibold text-slate-600 dark:text-gray-400 uppercase tracking-wider mb-3 flex items-center justify-between"><div class="flex items-center gap-2"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path></svg> 串聯濾波器設計 </div><div class="flex items-center gap-2"></div></h2>`,1),J(`div`,cs,[J(`div`,ls,[t[184]||=J(`span`,{class:`text-xs font-semibold text-slate-600 dark:text-gray-400 uppercase tracking-wide`},`Cascade Stages`,-1),J(`button`,{onClick:t[9]||=(...t)=>e.addCascadeStage&&e.addCascadeStage(...t),class:`text-[10px] font-bold role-bg-primary role-hover-primary role-text-on-fill px-3 py-1.5 rounded-full transition-colors`},` 新增 Stage `)]),J(`div`,us,[(K(!0),q(W,null,V(e.cascadeStages,(n,r)=>(K(),q(`div`,{key:n.id,"data-cascade-stage-index":r,style:ue(e.cascadeStageDragStyle(r)),class:k([{"stage-dragging":e.draggingCascadeStageIndex===r,"stage-drag-target":e.dragOverCascadeStageIndex===r&&e.draggingCascadeStageIndex!==null&&e.draggingCascadeStageIndex!==r},`rounded-lg border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 overflow-hidden transition-all`])},[J(`div`,fs,[J(`button`,{type:`button`,onPointerdown:$(t=>e.startCascadeStageDrag(r,t),[`stop`,`prevent`]),title:`拖曳排序`,class:`stage-drag-handle px-2 py-1 rounded bg-slate-200 dark:bg-gray-700 text-slate-700 dark:text-gray-300 text-xs touch-none select-none cursor-grab active:cursor-grabbing`},` ↕ `,40,ps),J(`span`,{onClick:$(t=>e.toggleCascadeStage(r),[`stop`]),class:k([`h-[2.25rem] rounded text-[11px] font-bold transition-all duration-200 border cursor-pointer inline-flex items-center justify-center w-16 flex-shrink-0 select-none`,n.isActive?`z-10`:`bg-slate-200 dark:bg-gray-800 text-slate-400 dark:text-gray-500 border-slate-300 dark:border-gray-700 shadow-inner`]),style:ue(n.isActive?`color: #052e16 !important; background-color: #4ade80 !important; border-color: #86efac !important;`:``),title:n.isActive?`設為 Bypass`:`設為 Active`},A(n.isActive?`Active`:`Bypass`),15,ms),J(`button`,{type:`button`,onClick:t=>e.selectCascadeStage(r),class:k([r===e.activeCascadeStageIndex?`role-bg-primary role-text-on-fill`:`text-slate-700 dark:text-gray-300`,`flex-1 min-w-0 px-3 py-1.5 rounded text-left text-xs font-semibold transition-colors`])},[J(`span`,gs,A(r+1)+`. `+A(e.stageTitle(r)),1)],10,hs),J(`button`,{type:`button`,onClick:t=>e.toggleCascadeStageExpanded(r),class:`px-2 py-1 rounded bg-slate-200 dark:bg-gray-700 text-slate-700 dark:text-gray-300 text-xs`},A(n.isExpanded?`收合`:`展開`),9,_s)]),B(J(`div`,vs,[J(`div`,ys,[J(`span`,bs,A(e.cascadeStageSummary(n)),1)]),J(`div`,xs,[r===e.activeCascadeStageIndex?(K(),q(`button`,{key:0,type:`button`,onClick:t[10]||=(...t)=>e.writeToMCU&&e.writeToMCU(...t),disabled:e.writingMCU||!e.mcuConnected,class:`px-3 py-1 rounded-full role-bg-primary role-hover-primary role-text-on-fill disabled:opacity-50 disabled:cursor-not-allowed`},A(e.writingMCU?`寫入中`:`寫入 Stage ${r+1}`),9,Ss)):X(``,!0),r===e.activeCascadeStageIndex?(K(),q(`button`,{key:1,type:`button`,onClick:t[11]||=(...t)=>e.resetFilterParams&&e.resetFilterParams(...t),class:`px-3 py-1 rounded-full bg-slate-200 dark:bg-gray-700 text-slate-700 dark:text-gray-300`},` 重設 `)):X(``,!0),J(`button`,{type:`button`,onClick:t=>e.removeCascadeStage(r),disabled:e.cascadeStages.length<=1,class:`px-3 py-1 rounded-full bg-slate-200 dark:bg-gray-700 text-slate-700 dark:text-gray-300 disabled:opacity-50 disabled:cursor-not-allowed`},` 刪除 `,8,Cs)]),r===e.activeCascadeStageIndex?(K(),ji(o,{key:0,stage:n,"stage-index":r,class:`mt-3 pt-3 border-t border-slate-100 dark:border-gray-700`},{default:Sn(()=>[B(J(`select`,{"onUpdate:modelValue":t[12]||=t=>e.filterType=t,onChange:t[13]||=(...t)=>e.onFilterTypeChange&&e.onFilterTypeChange(...t),class:`w-full bg-slate-50 dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-base role-focus-primary focus:ring-1 role-focus-ring-primary outline-none transition-all mb-3 text-slate-900 dark:text-gray-100 truncate`},[(K(!0),q(W,null,V(e.filterOptions,e=>(K(),q(`option`,{key:e,value:e},A(e),9,ws))),128))],544),[[so,e.filterType]]),e.filterType===`(無) 手動自訂`?X(``,!0):(K(),q(`div`,Ts,[[`Lowpass (低通)`,`Highpass (高通)`].includes(e.filterType)?(K(),q(`div`,Es,[J(`label`,Ds,[t[185]||=J(`span`,null,`截止頻率 f_c (Hz)`,-1),J(`span`,Os,A(e.formatK(e.params.fc)),1)]),B(J(`input`,{type:`range`,"onUpdate:modelValue":t[14]||=t=>e.params.fc=t,onInput:t[15]||=(...t)=>e.debouncedApply&&e.debouncedApply(...t),min:1,max:e.fs/2,class:`w-full role-range-primary mb-2`},null,40,ks),[[Q,e.params.fc,void 0,{number:!0}]]),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[16]||=t=>e.params.fc=t,onChange:t[17]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base role-focus-primary outline-none text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.fc,void 0,{number:!0}]]),t[186]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mt-3 mb-2 block`},`階數 Order`,-1),J(`div`,As,[(K(),q(W,null,V([1,2,3],t=>J(`button`,{key:t,onClick:n=>{e.params.order=t,e.applyFilterDesign()},class:k([e.params.order===t?`primary-action role-bg-primary role-text-on-fill role-border-primary`:`bg-slate-200 dark:bg-gray-800 text-slate-700 dark:text-gray-400 border-slate-300 dark:border-gray-700`,`selector-button flex-1 rounded py-2.5 text-base font-medium border transition-colors`])},A(t),11,js)),64))])])):X(``,!0),e.filterType===`Bandpass (帶通)`?(K(),q(`div`,Ms,[J(`label`,Ns,[t[187]||=J(`span`,null,`下截止頻率 f_low (Hz)`,-1),J(`span`,Ps,A(e.formatK(e.params.bp_f_low)),1)]),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[18]||=t=>e.params.bp_f_low=t,onChange:t[19]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base mb-2 text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.bp_f_low,void 0,{number:!0}]]),J(`label`,Fs,[t[188]||=J(`span`,null,`上截止頻率 f_high (Hz)`,-1),J(`span`,Is,A(e.formatK(e.params.bp_f_high)),1)]),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[20]||=t=>e.params.bp_f_high=t,onChange:t[21]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base mb-2 text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.bp_f_high,void 0,{number:!0}]]),t[189]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mt-2 mb-2 block`},`階數 Order`,-1),J(`div`,Ls,[(K(),q(W,null,V([1,2,3],t=>J(`button`,{key:t,onClick:n=>{e.params.bp_order=t,e.applyFilterDesign()},class:k([e.params.bp_order===t?`primary-action role-bg-primary role-text-on-fill role-border-primary`:`bg-slate-200 dark:bg-gray-800 text-slate-700 dark:text-gray-400 border-slate-300 dark:border-gray-700`,`selector-button flex-1 rounded py-1.5 text-sm border transition-colors`])},A(t),11,Rs)),64))])])):X(``,!0),e.filterType===`Notch (陷波器)`?(K(),q(`div`,zs,[J(`div`,null,[t[190]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`中心頻率 f_0 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[22]||=t=>e.params.notch_f0=t,onChange:t[23]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.notch_f0,void 0,{number:!0}]])]),J(`div`,null,[t[191]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`品質因數 Q`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[24]||=t=>e.params.notch_q=t,onChange:t[25]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),step:`0.1`,class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.notch_q,void 0,{number:!0}]])])])):X(``,!0),e.filterType===`1P1Z (一極一零)`?(K(),q(`div`,Bs,[J(`div`,null,[t[192]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`零點頻率 Freq_z (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[26]||=t=>e.params.opoz_fz=t,onChange:t[27]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.opoz_fz,void 0,{number:!0}]])]),J(`div`,null,[t[193]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`極點頻率 Freq_p (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[28]||=t=>e.params.opoz_fp=t,onChange:t[29]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.opoz_fp,void 0,{number:!0}]])])])):X(``,!0),e.filterType===`2P1Z (二極一零)`?(K(),q(`div`,Vs,[J(`div`,null,[t[194]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`零點頻率 Freq_z (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[30]||=t=>e.params.tp1z_fz=t,onChange:t[31]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.tp1z_fz,void 0,{number:!0}]])]),J(`div`,null,[t[195]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`極點頻率 1 Freq_p1 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[32]||=t=>e.params.tp1z_fp1=t,onChange:t[33]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.tp1z_fp1,void 0,{number:!0}]])]),J(`div`,null,[t[196]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`極點頻率 2 Freq_p2 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[34]||=t=>e.params.tp1z_fp2=t,onChange:t[35]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.tp1z_fp2,void 0,{number:!0}]])])])):X(``,!0),e.filterType===`2P2Z (二極二零)`?(K(),q(`div`,Hs,[J(`div`,null,[t[197]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`零點頻率 1 Freq_z1 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[36]||=t=>e.params.tptz_fz1=t,onChange:t[37]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.tptz_fz1,void 0,{number:!0}]])]),J(`div`,null,[t[198]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`零點頻率 2 Freq_z2 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[38]||=t=>e.params.tptz_fz2=t,onChange:t[39]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.tptz_fz2,void 0,{number:!0}]])]),J(`div`,null,[t[199]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`極點頻率 1 Freq_p1 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[40]||=t=>e.params.tptz_fp1=t,onChange:t[41]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.tptz_fp1,void 0,{number:!0}]])]),J(`div`,null,[t[200]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block`},`極點頻率 2 Freq_p2 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[42]||=t=>e.params.tptz_fp2=t,onChange:t[43]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.tptz_fp2,void 0,{number:!0}]])])])):X(``,!0),e.filterType===`PID 控制器`?(K(),q(`div`,Us,[(K(),q(W,null,V([{key:`kp`,label:`比例增益 Kp`},{key:`ki`,label:`積分增益 Ki`},{key:`kd`,label:`微分增益 Kd`}],n=>J(`div`,{key:n.key},[J(`label`,Ws,A(n.label),1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t=>e.params[n.key]=t,onChange:t[44]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),step:`0.0001`,class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-3 text-base role-focus-primary outline-none text-slate-900 dark:text-gray-100`},null,40,Gs),[[Q,e.params[n.key],void 0,{number:!0}]])])),64))])):X(``,!0),e.filterType===`SOGI-Alpha (帶通)`||e.filterType===`SOGI-Beta (低通)`?(K(),q(`div`,Ks,[J(`div`,null,[t[201]||=J(`label`,{class:`text-xs text-slate-600 dark:text-gray-400 mb-1 block`},`中心頻率 f_0 (Hz)`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[45]||=t=>e.params.sogi_f0=t,onChange:t[46]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-2 text-sm text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.sogi_f0,void 0,{number:!0}]])]),J(`div`,null,[t[202]||=J(`label`,{class:`text-xs text-slate-600 dark:text-gray-400 mb-1 block`},`阻尼因數 k`,-1),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[47]||=t=>e.params.sogi_k=t,onChange:t[48]||=(...t)=>e.applyFilterDesign&&e.applyFilterDesign(...t),step:`0.001`,class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded p-2 text-sm text-slate-900 dark:text-gray-100`},null,544),[[Q,e.params.sogi_k,void 0,{number:!0}]])])])):X(``,!0)])),t[238]||=J(`hr`,{class:`my-4 border-slate-200 dark:border-gray-800`},null,-1),J(`section`,null,[t[204]||=J(`h2`,{class:`text-sm font-semibold text-slate-600 dark:text-gray-400 uppercase tracking-wider mb-3 flex items-center gap-2`},[J(`svg`,{class:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z`}),J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 12a3 3 0 11-6 0 3 3 0 016 0z`})]),Y(` Stage 增益`)],-1),J(`div`,qs,[J(`div`,null,[J(`label`,Js,[t[203]||=J(`span`,null,`系統增益 K (System Gain)`,-1),J(`span`,Ys,A(e.systemGain)+`x`,1)]),B(J(`input`,{type:`number`,"onUpdate:modelValue":t[49]||=t=>e.systemGain=t,onInput:t[50]||=(...t)=>e.onGainChange&&e.onGainChange(...t),step:`0.1`,onKeydown:t[51]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-base role-focus-primary outline-none transition-all text-slate-900 dark:text-gray-100`},null,544),[[Q,e.systemGain,void 0,{number:!0}]])])])]),t[239]||=J(`hr`,{class:`my-4 border-slate-200 dark:border-gray-800`},null,-1),J(`section`,Xs,[J(`h2`,Zs,[t[205]||=J(`span`,{class:`flex items-center gap-2`},[J(`svg`,{class:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 7h16M4 12h16M4 17h16M8 7v10M16 7v10`})]),Y(` 濾波器係數設定`)],-1),J(`div`,Qs,[e.isManualDirty?(K(),q(`button`,{key:0,onClick:t[52]||=(...t)=>e.clearManualAdjustments&&e.clearManualAdjustments(...t),class:`text-[10px] font-bold border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 px-3 py-1 rounded-full transition-colors uppercase mr-1`},`重設`)):X(``,!0)])]),J(`div`,$s,[t[206]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-1 block`},`前饋分子係數 b (b0 ~ b6)`,-1),J(`div`,ec,[(K(!0),q(W,null,V(e.floatingCoeffs.b,e=>(K(),q(`div`,{key:e.label,class:`bg-slate-700 dark:bg-gray-300 px-1.5 py-0.5 rounded border border-transparent flex gap-1 items-center shadow-sm`},[J(`span`,tc,A(e.label)+`:`,1),J(`span`,nc,A(e.val),1)]))),128))]),B(J(`textarea`,{"onUpdate:modelValue":t[53]||=t=>e.b_str=t,onInput:t[54]||=t=>e.debouncedUpdateFromText(`b`),onKeydown:t[55]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),rows:`2`,class:`w-full bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-sm role-focus-primary outline-none font-mono resize-none leading-relaxed role-text-primary`},null,544),[[Q,e.b_str]])]),J(`details`,{open:e.activeCoeffAdjustment===`bScale`,class:`mb-3 bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-800 rounded-lg`},[J(`summary`,{onClick:t[56]||=$(t=>e.toggleCoeffAdjustment(`bScale`),[`prevent`]),class:`text-sm text-slate-600 dark:text-gray-400 px-3 py-3 cursor-pointer hover:text-slate-700 dark:hover:text-gray-300`},` b 係數倍率微調`),J(`div`,ic,[J(`div`,ac,[t[207]||=J(`span`,{class:`text-xs text-slate-500 dark:text-gray-500`},`靈敏度:`,-1),(K(),q(W,null,V([`1%`,`2x`,`10x`],t=>J(`button`,{key:t,onClick:n=>e.sense_b=t,class:k([e.sense_b===t?`primary-action role-bg-primary role-text-on-fill role-border-primary`:`bg-slate-200 dark:bg-gray-800 text-slate-600 dark:text-gray-400`,`selector-button btn-small px-3 py-1.5 rounded text-xs font-medium border border-slate-300 dark:border-gray-700`])},A(t),11,oc)),64))]),(K(),q(W,null,V(7,n=>(K(),q(W,{key:`bs`+n},[e.baseB[n-1]===0?X(``,!0):(K(),q(`div`,sc,[J(`label`,cc,[J(`span`,null,`b`+A(n-1)+` (基準: `+A((e.baseB[n-1]*(e.systemGain||1)).toPrecision(6))+`)`,1),e.outOfRangeB[n-1]?(K(),q(`span`,lc,`超出滑桿範圍`)):X(``,!0)]),B(J(`input`,{type:`range`,"onUpdate:modelValue":t=>e.bSliders[n-1]=t,onInput:t[57]||=(...t)=>e.updateFromControls&&e.updateFromControls(...t),min:-e.maxLogB,max:e.maxLogB,step:e.maxLogB/100,class:`w-full role-range-primary`},null,40,uc),[[Q,e.bSliders[n-1],void 0,{number:!0}]])]))],64))),64))])],8,rc),J(`div`,dc,[t[208]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-1 block`},`回饋分母係數 a (a0=1, a1 ~ a6)`,-1),J(`div`,fc,[(K(!0),q(W,null,V(e.floatingCoeffs.a,e=>(K(),q(`div`,{key:e.label,class:`bg-slate-700 dark:bg-gray-300 px-1.5 py-0.5 rounded border border-transparent flex gap-1 items-center shadow-sm`},[J(`span`,pc,A(e.label)+`:`,1),J(`span`,mc,A(e.val),1)]))),128))]),B(J(`textarea`,{"onUpdate:modelValue":t[58]||=t=>e.a_str=t,onInput:t[59]||=t=>e.debouncedUpdateFromText(`a`),onKeydown:t[60]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),rows:`2`,class:`w-full bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-sm role-focus-primary outline-none font-mono resize-none leading-relaxed role-text-primary`},null,544),[[Q,e.a_str]])]),J(`details`,{open:e.activeCoeffAdjustment===`aScale`,class:`bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-800 rounded-lg`},[J(`summary`,{onClick:t[61]||=$(t=>e.toggleCoeffAdjustment(`aScale`),[`prevent`]),class:`text-sm text-slate-600 dark:text-gray-400 px-3 py-3 cursor-pointer hover:text-slate-700 dark:hover:text-gray-300`},` a 係數倍率微調`),J(`div`,gc,[J(`div`,_c,[t[209]||=J(`span`,{class:`text-xs text-slate-500 dark:text-gray-500`},`靈敏度:`,-1),(K(),q(W,null,V([`1%`,`2x`,`10x`],t=>J(`button`,{key:t,onClick:n=>e.sense_a=t,class:k([e.sense_a===t?`primary-action role-bg-primary role-text-on-fill role-border-primary`:`bg-slate-200 dark:bg-gray-800 text-slate-600 dark:text-gray-400`,`selector-button px-3 py-1.5 rounded text-xs font-medium border border-slate-300 dark:border-gray-700`])},A(t),11,vc)),64))]),(K(),q(W,null,V(6,n=>(K(),q(W,{key:`as`+n},[e.baseA[n]===0?X(``,!0):(K(),q(`div`,yc,[J(`label`,bc,[J(`span`,null,`a`+A(n)+` (基準: `+A(e.baseA[n].toPrecision(6))+`)`,1),e.outOfRangeA[n]?(K(),q(`span`,xc,`超出滑桿範圍`)):X(``,!0)]),B(J(`input`,{type:`range`,"onUpdate:modelValue":t=>e.aSliders[n]=t,onInput:t[62]||=(...t)=>e.updateFromControls&&e.updateFromControls(...t),min:-e.maxLogA,max:e.maxLogA,step:e.maxLogA/100,class:`w-full role-range-primary`},null,40,Sc),[[Q,e.aSliders[n],void 0,{number:!0}]])]))],64))),64))])],8,hc),J(`details`,{open:e.activeCoeffAdjustment===`a1a2`,class:`mt-3 bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-800 rounded-lg`},[J(`summary`,{onClick:t[63]||=$(t=>e.toggleCoeffAdjustment(`a1a2`),[`prevent`]),class:`text-sm text-slate-600 dark:text-gray-400 px-3 py-3 cursor-pointer hover:text-slate-700 dark:hover:text-gray-300`},` a1/a2 步階微調`),J(`div`,wc,[J(`div`,Tc,[J(`div`,Ec,[J(`button`,{type:`button`,onClick:t[64]||=t=>e.adjustAFineStep(-1),title:`調粗`,class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-sm font-bold shadow-sm`},` 粗 `),J(`div`,Dc,[t[210]||=J(`span`,{class:`block text-[9px] role-text-primary-muted role-text-primary font-bold`},`微調量`,-1),J(`span`,{class:`block truncate font-mono text-sm font-bold role-text-primary leading-none mt-0.5`,title:e.formatAFineDelta()},` +/-`+A(e.formatAFineDelta()),9,Oc)]),J(`button`,{type:`button`,onClick:t[65]||=t=>e.adjustAFineStep(1),title:`調細`,class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-sm font-bold shadow-sm`},` 細 `)]),J(`div`,kc,A(e.isTouchInput?`觸控拖曳微調`:`直接輸入 / shift + 滾輪微調`),1),J(`div`,Ac,[e.isTouchInput?(K(),q(`button`,{key:1,type:`button`,onPointerdown:t[77]||=$(t=>e.startAFineDrag(`delta`,t),[`prevent`]),class:`touch-none select-none w-28 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center role-active-border-primary active:ring-2 role-active-ring-primary`},[t[212]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`δ`,-1),J(`span`,{class:`block max-w-full truncate text-base font-mono font-bold role-text-primary`,title:e.formatFineCoeff(e.currentDelta)},A(e.formatFineCoeff(e.currentDelta)),9,Pc)],32)):(K(),q(`article`,jc,[t[211]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`δ`,-1),J(`div`,Mc,[J(`button`,{type:`button`,onPointerdown:t[66]||=$(t=>e.startA1A2Repeat(`delta`,-1),[`prevent`]),onPointerup:t[67]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointerleave:t[68]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointercancel:t[69]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.formatFineCoeff(e.currentDelta),step:e.aFineStep,onChange:t[70]||=t=>e.setAFineDirect(`delta`,t.target.value),onKeydown:t[71]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),onWheel:t[72]||=t=>e.handleAFineWheel(`delta`,t),class:`min-w-0 w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg px-2 h-[42px] text-xs font-mono text-center role-text-primary`},null,40,Nc),J(`button`,{type:`button`,onPointerdown:t[73]||=$(t=>e.startA1A2Repeat(`delta`,1),[`prevent`]),onPointerup:t[74]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointerleave:t[75]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointercancel:t[76]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)])])),e.isTouchInput?(K(),q(`button`,{key:3,type:`button`,onPointerdown:t[89]||=$(t=>e.startAFineDrag(`r`,t),[`prevent`]),class:`touch-none select-none w-28 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center active:border-slate-400 active:ring-2 active:ring-slate-400/20`},[t[214]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`r`,-1),J(`span`,{class:`block max-w-full truncate text-base font-mono font-bold role-text-primary`,title:e.formatFineCoeff(e.currentR)},A(e.formatFineCoeff(e.currentR)),9,Rc)],32)):(K(),q(`article`,Fc,[t[213]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`r`,-1),J(`div`,Ic,[J(`button`,{type:`button`,onPointerdown:t[78]||=$(t=>e.startA1A2Repeat(`r`,-1),[`prevent`]),onPointerup:t[79]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointerleave:t[80]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointercancel:t[81]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.formatFineCoeff(e.currentR),step:e.aFineStep,onChange:t[82]||=t=>e.setAFineDirect(`r`,t.target.value),onKeydown:t[83]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),onWheel:t[84]||=t=>e.handleAFineWheel(`r`,t),class:`min-w-0 w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg px-2 h-[42px] text-xs font-mono text-center role-text-primary`},null,40,Lc),J(`button`,{type:`button`,onPointerdown:t[85]||=$(t=>e.startA1A2Repeat(`r`,1),[`prevent`]),onPointerup:t[86]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointerleave:t[87]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),onPointercancel:t[88]||=(...t)=>e.stopA1A2Repeat&&e.stopA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)])]))])]),J(`div`,zc,[J(`div`,Bc,[t[215]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`a1 = -1 - r`,-1),J(`span`,{class:`block max-w-full truncate text-sm font-mono font-bold role-text-primary-muted`,title:e.formatFineCoeff(e.currentA1)},A(e.formatFineCoeff(e.currentA1)),9,Vc)]),J(`div`,Hc,[t[216]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`a2 = r + δ`,-1),J(`span`,{class:`block max-w-full truncate text-sm font-mono font-bold role-text-primary-muted`,title:e.formatFineCoeff(e.currentA2)},A(e.formatFineCoeff(e.currentA2)),9,Uc)]),J(`div`,Wc,[t[217]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`差值 a1-a2`,-1),J(`span`,{class:`block max-w-full truncate text-xs font-mono text-slate-700 dark:text-gray-300`,title:e.formatFineCoeff(e.currentA1A2Diff)},A(e.formatFineCoeff(e.currentA1A2Diff)),9,Gc)]),J(`div`,Kc,[t[218]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`總和 a1+a2`,-1),J(`span`,{class:`block max-w-full truncate text-xs font-mono text-slate-700 dark:text-gray-300`,title:e.formatFineCoeff(e.currentA1A2Sum)},A(e.formatFineCoeff(e.currentA1A2Sum)),9,qc)])]),t[219]||=J(`div`,{class:`role-bg-warning-soft border role-border-warning-soft rounded-lg p-3`},[J(`p`,{class:`text-[10px] role-text-warning leading-relaxed`},[J(`span`,{class:`font-bold`},`運算說明:`),J(`br`),Y(` δ = a1 + a2 + 1,r = -1 - a1。更改數值會自動更新圖表;桌機可用 +/- 或 shift + 滾輪,觸控時按住數值面板上下拖曳。 `)])],-1)])],8,Cc)]),t[240]||=J(`hr`,{class:`my-4 border-slate-200 dark:border-gray-800`},null,-1),J(`section`,Jc,[J(`h2`,Yc,[J(`div`,Xc,[t[220]||=J(`svg`,{class:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 7h6M9 12h6M9 17h3M5 5a2 2 0 012-2h7l5 5v11a2 2 0 01-2 2H7a2 2 0 01-2-2V5z`})],-1),t[221]||=J(`span`,null,`定點數係數轉換`,-1),e.shiftBitsB>0?(K(),q(`span`,Zc,`b Q`+A(e.shiftBitsB),1)):X(``,!0),e.shiftBitsA>0?(K(),q(`span`,Qc,`a Q`+A(e.shiftBitsA),1)):X(``,!0)]),J(`div`,$c,[e.isFixedPointDirty?(K(),q(`button`,{key:0,onClick:t[90]||=(...t)=>e.resetFixedPointSettings&&e.resetFixedPointSettings(...t),class:`text-[10px] font-bold border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 px-3 py-1 rounded-full transition-colors uppercase mr-1`},`重設`)):X(``,!0)])]),J(`div`,el,[J(`div`,null,[t[222]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-1 block`},`b 左移位元數 (Shift Bits)`,-1),e.isTouchInput?(K(),q(`button`,{key:1,type:`button`,onPointerdown:t[102]||=$(t=>e.startShiftBitDrag(`b`,t),[`prevent`]),class:`touch-none select-none block w-24 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center role-active-border-primary active:ring-2 role-active-ring-primary`},[J(`span`,rl,A(e.shiftBitsB),1)],32)):(K(),q(`div`,tl,[J(`button`,{type:`button`,onPointerdown:t[91]||=$(t=>e.startShiftBitRepeat(`b`,-1),[`prevent`]),onPointerup:t[92]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointerleave:t[93]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointercancel:t[94]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.shiftBitsB,min:`0`,onChange:t[95]||=t=>e.setShiftBits(`b`,t.target.value),onKeydown:t[96]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),onWheel:t[97]||=t=>e.handleShiftBitWheel(`b`,t),class:`min-w-0 w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg px-2 h-[42px] text-center text-base role-focus-primary outline-none transition-all text-slate-900 dark:text-gray-100`},null,40,nl),J(`button`,{type:`button`,onPointerdown:t[98]||=$(t=>e.startShiftBitRepeat(`b`,1),[`prevent`]),onPointerup:t[99]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointerleave:t[100]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointercancel:t[101]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)])),J(`p`,il,`b scaling: 2^`+A(e.shiftBitsB)+` (`+A(2**e.shiftBitsB)+`)`,1)]),J(`div`,null,[t[223]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-1 block`},`a 左移位元數 (Shift Bits)`,-1),e.isTouchInput?(K(),q(`button`,{key:1,type:`button`,onPointerdown:t[114]||=$(t=>e.startShiftBitDrag(`a`,t),[`prevent`]),class:`touch-none select-none block w-24 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center role-active-border-primary active:ring-2 role-active-ring-primary`},[J(`span`,sl,A(e.shiftBitsA),1)],32)):(K(),q(`div`,al,[J(`button`,{type:`button`,onPointerdown:t[103]||=$(t=>e.startShiftBitRepeat(`a`,-1),[`prevent`]),onPointerup:t[104]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointerleave:t[105]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointercancel:t[106]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.shiftBitsA,min:`0`,onChange:t[107]||=t=>e.setShiftBits(`a`,t.target.value),onKeydown:t[108]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),onWheel:t[109]||=t=>e.handleShiftBitWheel(`a`,t),class:`min-w-0 w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg px-2 h-[42px] text-center text-base role-focus-primary outline-none transition-all text-slate-900 dark:text-gray-100`},null,40,ol),J(`button`,{type:`button`,onPointerdown:t[110]||=$(t=>e.startShiftBitRepeat(`a`,1),[`prevent`]),onPointerup:t[111]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointerleave:t[112]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),onPointercancel:t[113]||=(...t)=>e.stopShiftBitRepeat&&e.stopShiftBitRepeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)])),J(`p`,cl,`a scaling: 2^`+A(e.shiftBitsA)+` (`+A(2**e.shiftBitsA)+`)`,1)])]),J(`div`,ll,[J(`div`,null,[t[224]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-1 block`},`定點分子係數 b (Integers)`,-1),J(`div`,ul,[(K(!0),q(W,null,V(e.fixedPointCoeffs.b,(e,t)=>(K(),q(`div`,{key:e.label,class:k([e.isOverridden?`border-amber-400 dark:border-amber-500 ring-1 ring-amber-400 dark:ring-amber-500`:`border-transparent`,`bg-slate-700 dark:bg-gray-300 px-1.5 py-0.5 rounded border flex items-center gap-1 transition-all shadow-sm`])},[J(`span`,dl,A(e.label)+`:`,1),J(`span`,{class:k([`text-[10px] font-mono text-white dark:text-gray-900 font-bold`,{italic:!e.isOverridden}])},A(e.val),3)],2))),128))]),B(J(`textarea`,{"onUpdate:modelValue":t[115]||=t=>e.b_int_str=t,onKeydown:t[116]||=t=>e.onlyNumberKey(t,!1),rows:`2`,class:`w-full bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-sm role-focus-primary outline-none font-mono resize-none leading-relaxed role-text-primary`},null,544),[[Q,e.b_int_str]])]),J(`div`,null,[t[225]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-1 block`},`定點分母係數 a (Integers)`,-1),J(`div`,fl,[(K(!0),q(W,null,V(e.fixedPointCoeffs.a,(e,t)=>(K(),q(`div`,{key:e.label,class:k([e.isOverridden?`border-amber-400 dark:border-amber-500 ring-1 ring-amber-400 dark:ring-amber-500`:`border-transparent`,`bg-slate-700 dark:bg-gray-300 px-1.5 py-0.5 rounded border flex items-center gap-1 transition-all shadow-sm`])},[J(`span`,pl,A(e.label)+`:`,1),J(`span`,{class:k([`text-[10px] font-mono text-white dark:text-gray-900 font-bold`,{italic:!e.isOverridden}])},A(e.val),3)],2))),128))]),B(J(`textarea`,{"onUpdate:modelValue":t[117]||=t=>e.a_int_str=t,onKeydown:t[118]||=t=>e.onlyNumberKey(t,!1),rows:`2`,class:`w-full bg-slate-50 dark:bg-gray-900 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-sm role-focus-primary outline-none font-mono resize-none leading-relaxed role-text-primary`},null,544),[[Q,e.a_int_str]])]),J(`details`,ml,[t[237]||=J(`summary`,{class:`text-sm text-slate-600 dark:text-gray-400 px-3 py-3 cursor-pointer hover:text-slate-700 dark:hover:text-gray-300`},` a1/a2 步階微調`,-1),J(`div`,hl,[J(`div`,gl,[J(`div`,_l,[J(`button`,{type:`button`,onClick:t[119]||=t=>e.adjustFixedAFineStep(-1),title:`調粗`,class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-sm font-bold shadow-sm`},`粗`),J(`div`,vl,[t[226]||=J(`span`,{class:`block text-[9px] role-text-primary-muted role-text-primary font-bold`},`微調量`,-1),J(`span`,{class:`block truncate font-mono text-sm font-bold role-text-primary leading-none mt-0.5`,title:e.formatFixedAFineDelta()},`+/-`+A(e.formatFixedAFineDelta()),9,yl)]),J(`button`,{type:`button`,onClick:t[120]||=t=>e.adjustFixedAFineStep(1),title:`調細`,class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-sm font-bold shadow-sm`},`細`)]),J(`div`,bl,A(e.isTouchInput?`觸控拖曳微調`:`直接輸入 / shift + 滾輪微調`),1),J(`div`,xl,[e.isTouchInput?(K(),q(`button`,{key:1,type:`button`,onPointerdown:t[132]||=$(t=>e.startFixedAFineDrag(`delta`,t),[`prevent`]),class:`touch-none select-none w-28 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center role-active-border-primary active:ring-2 role-active-ring-primary`},[t[228]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`δ`,-1),J(`span`,{class:`block max-w-full truncate text-base font-mono font-bold role-text-primary`,title:e.formatFixedFineCoeff(e.fixedCurrentDelta)},A(e.formatFixedFineCoeff(e.fixedCurrentDelta)),9,Tl)],32)):(K(),q(`article`,Sl,[t[227]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`δ`,-1),J(`div`,Cl,[J(`button`,{type:`button`,onPointerdown:t[121]||=$(t=>e.startFixedA1A2Repeat(`delta`,-1),[`prevent`]),onPointerup:t[122]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointerleave:t[123]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointercancel:t[124]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.formatFixedFineCoeff(e.fixedCurrentDelta),step:e.fixedAFineStep,onChange:t[125]||=t=>e.setFixedAFineDirect(`delta`,t.target.value),onKeydown:t[126]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),onWheel:t[127]||=t=>e.handleFixedAFineWheel(`delta`,t),class:`min-w-0 w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg px-2 h-[42px] text-xs font-mono text-center role-text-primary`},null,40,wl),J(`button`,{type:`button`,onPointerdown:t[128]||=$(t=>e.startFixedA1A2Repeat(`delta`,1),[`prevent`]),onPointerup:t[129]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointerleave:t[130]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointercancel:t[131]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)])])),e.isTouchInput?(K(),q(`button`,{key:3,type:`button`,onPointerdown:t[144]||=$(t=>e.startFixedAFineDrag(`r`,t),[`prevent`]),class:`touch-none select-none w-28 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center active:border-slate-400 active:ring-2 active:ring-slate-400/20`},[t[230]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`r`,-1),J(`span`,{class:`block max-w-full truncate text-base font-mono font-bold role-text-primary`,title:e.formatFixedFineCoeff(e.fixedCurrentR)},A(e.formatFixedFineCoeff(e.fixedCurrentR)),9,kl)],32)):(K(),q(`article`,El,[t[229]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`r`,-1),J(`div`,Dl,[J(`button`,{type:`button`,onPointerdown:t[133]||=$(t=>e.startFixedA1A2Repeat(`r`,-1),[`prevent`]),onPointerup:t[134]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointerleave:t[135]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointercancel:t[136]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.formatFixedFineCoeff(e.fixedCurrentR),step:e.fixedAFineStep,onChange:t[137]||=t=>e.setFixedAFineDirect(`r`,t.target.value),onKeydown:t[138]||=(...t)=>e.onlyNumberKey&&e.onlyNumberKey(...t),onWheel:t[139]||=t=>e.handleFixedAFineWheel(`r`,t),class:`min-w-0 w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-xs font-mono text-center role-text-primary`},null,40,Ol),J(`button`,{type:`button`,onPointerdown:t[140]||=$(t=>e.startFixedA1A2Repeat(`r`,1),[`prevent`]),onPointerup:t[141]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointerleave:t[142]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),onPointercancel:t[143]||=(...t)=>e.stopFixedA1A2Repeat&&e.stopFixedA1A2Repeat(...t),class:`stepper-button w-full h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)])]))])]),J(`div`,Al,[J(`div`,jl,[t[231]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`a1 = -a0 - r`,-1),J(`span`,{class:`block max-w-full truncate text-sm font-mono font-bold role-text-primary-muted`,title:e.formatFixedFineCoeff(e.fixedCurrentA1)},A(e.formatFixedFineCoeff(e.fixedCurrentA1)),9,Ml)]),J(`div`,Nl,[t[232]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`a2 = r + δ`,-1),J(`span`,{class:`block max-w-full truncate text-sm font-mono font-bold role-text-primary-muted`,title:e.formatFixedFineCoeff(e.fixedCurrentA2)},A(e.formatFixedFineCoeff(e.fixedCurrentA2)),9,Pl)]),J(`div`,Fl,[t[233]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`差值 a1-a2`,-1),J(`span`,{class:`block max-w-full truncate text-xs font-mono text-slate-700 dark:text-gray-300`,title:e.formatFixedFineCoeff(e.fixedCurrentA1A2Diff)},A(e.formatFixedFineCoeff(e.fixedCurrentA1A2Diff)),9,Il)]),J(`div`,Ll,[t[234]||=J(`span`,{class:`text-[9px] text-slate-500 block font-bold mb-1`},`總和 a1+a2`,-1),J(`span`,{class:`block max-w-full truncate text-xs font-mono text-slate-700 dark:text-gray-300`,title:e.formatFixedFineCoeff(e.fixedCurrentA1A2Sum)},A(e.formatFixedFineCoeff(e.fixedCurrentA1A2Sum)),9,Rl)])]),J(`div`,zl,[J(`p`,Bl,[t[235]||=J(`span`,{class:`font-bold`},`運算說明:`,-1),t[236]||=J(`br`,null,null,-1),Y(` a0 = 2^`+A(e.shiftBitsA)+`,a1 = -a0 - r,a2 = r + δ。 `,1)])])])])]),J(`p`,Vl,`註:b 係數乘以 2^`+A(e.shiftBitsB)+`,a 係數乘以 2^`+A(e.shiftBitsA)+` 後四捨五入,可用於定點數 DSP 實作。`,1)])]),_:1},8,[`stage`,`stage-index`])):X(``,!0)],512),[[Da,n.isExpanded&&e.draggingCascadeStageIndex===null]])],14,ds))),128))])])])],2),J(`main`,{class:k([e.mobileTab===`chart`?`flex`:`hidden`,`lg:flex flex-1 flex-col overflow-y-auto bg-slate-50 dark:bg-[#0f0f0f] lg:py-6 lg:px-20 gap-0 lg:gap-6 custom-scrollbar relative transition-colors duration-300`])},[e.globalError?(K(),q(`div`,Hl,[t[242]||=J(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})],-1),Y(` `+A(e.globalError)+` `,1),J(`button`,{onClick:t[145]||=t=>e.globalError=null,class:`ml-2 role-hover-error`},`×`)])):X(``,!0),J(`div`,Ul,[t[245]||=J(`div`,{class:`hidden lg:block absolute inset-0 bg-gradient-to-br role-surface-gradient pointer-events-none`},null,-1),J(`div`,Wl,[t[244]||=J(`h3`,{class:`font-bold text-slate-800 dark:text-gray-200 tracking-wide flex items-center gap-2`},[J(`svg`,{class:`w-5 h-5 role-text-primary`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 19V5m0 14h16M7 16l3-4 3 2 4-7`})]),Y(` 串聯濾波器總頻率響應 (Cascade Bode Plot)`)],-1),e.loadingBode?(K(),q(`div`,Gl,[...t[243]||=[J(`span`,{class:`w-2 h-2 rounded-full role-dot-primary animate-ping`},null,-1),Y(` 重新計算中... `,-1)]])):X(``,!0)]),t[246]||=J(`div`,{class:`chart-panel-body overflow-x-auto bg-white dark:bg-dark`},[J(`div`,{id:`bodePlot`,class:`min-w-[580px] w-full h-[800px] z-10 relative bg-white dark:bg-dark`})],-1)]),J(`div`,Kl,[t[257]||=J(`div`,{class:`chart-panel-header px-5 py-4 border-b border-slate-100 dark:border-gray-800 bg-white dark:bg-dark backdrop-blur-sm z-10 relative flex justify-between items-center`},[J(`h3`,{class:`font-bold text-slate-800 dark:text-gray-200 tracking-wide flex items-center gap-2`},[J(`svg`,{class:`w-5 h-5 role-text-primary`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 12h4l2-6 4 12 2-6h4`})]),Y(` 級聯時域訊號模擬 (Multi-Stage Time-Domain Simulation)`)])],-1),J(`div`,ql,[t[256]||=J(`p`,{class:`text-base text-slate-600 dark:text-gray-400 mb-4`},`可上傳時域輸入訊號的 CSV 檔案。訊號會依序通過所有啟用的 cascade stages,並比較原始輸入、Ideal Float 與 Mimic Integer 輸出。 `,-1),e.csvPreview.length>0?(K(),q(`div`,Jl,[J(`button`,{type:`button`,onClick:t[146]||=t=>e.isCsvPreviewExpanded=!e.isCsvPreviewExpanded,class:`csv-preview-toggle w-full flex items-center justify-between gap-3 px-4 py-3 text-left text-sm font-semibold text-slate-700 dark:text-gray-300 bg-transparent hover:bg-slate-100 dark:hover:bg-gray-800 transition-colors`},[t[247]||=J(`span`,{class:`flex items-center gap-2`},[J(`svg`,{class:`w-4 h-4 role-text-primary`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 6h16M4 10h16M4 14h16M4 18h16`})]),Y(` CSV Preview `)],-1),J(`span`,Yl,A(e.isCsvPreviewExpanded?`收合`:`展開`),1)]),B(J(`div`,Xl,[J(`table`,Zl,[J(`thead`,Ql,[J(`tr`,null,[(K(!0),q(W,null,V(e.csvColumns,(e,t)=>(K(),q(`th`,{key:t,class:`px-3 py-2 font-semibold whitespace-nowrap`},A(e),1))),128))])]),J(`tbody`,$l,[(K(!0),q(W,null,V(e.csvPreview,(e,t)=>(K(),q(`tr`,{key:t},[(K(!0),q(W,null,V(e,(e,t)=>(K(),q(`td`,{key:t,class:`px-3 py-2 whitespace-nowrap`},A(e),1))),128))]))),128))])])],512),[[Da,e.isCsvPreviewExpanded]])])):X(``,!0),J(`div`,eu,[J(`label`,tu,[t[248]||=J(`svg`,{class:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),t[249]||=Y(` 上傳輸入訊號 (CSV) `,-1),J(`input`,{type:`file`,ref:`fileInput`,accept:`.csv`,onChange:t[147]||=(...t)=>e.handleFileUpload&&e.handleFileUpload(...t),class:`hidden`},null,544)]),e.csvFile||e.usingPresetCsv?(K(),q(`span`,nu,A(e.csvFile?e.csvFile.name:e.presetCsvName),1)):X(``,!0),e.csvInfo?(K(),q(`span`,ru,A(e.csvInfo.rowsLabel||e.csvInfo.rows)+` 筆 / `+A(e.csvInfo.columns)+` 欄 `,1)):X(``,!0),e.csvUploading?(K(),q(`span`,iu,` 上傳中... `)):X(``,!0),e.csvParseError?(K(),q(`span`,au,A(e.csvParseError),1)):X(``,!0),e.csvColumns.length>0?(K(),q(`div`,ou)):X(``,!0),e.csvColumns.length>0?(K(),q(`div`,su,[t[250]||=J(`span`,{class:`text-sm text-slate-500`},`訊號欄位:`,-1),B(J(`select`,{"onUpdate:modelValue":t[148]||=t=>e.selectedColumn=t,class:`bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-base role-focus-primary outline-none text-slate-900 dark:text-gray-100`},[(K(!0),q(W,null,V(e.csvColumns,(e,t)=>(K(),q(`option`,{key:t,value:t},A(e),9,cu))),128))],512),[[so,e.selectedColumn]])])):X(``,!0),e.csvFile||e.usingPresetCsv?(K(),q(`button`,{key:6,onClick:t[149]||=(...t)=>e.processFilter&&e.processFilter(...t),class:`role-bg-primary role-hover-primary role-text-on-fill px-6 py-3 rounded-lg text-base font-semibold transition-all shadow-md role-shadow-primary disabled:opacity-50 disabled:cursor-not-allowed`,disabled:e.csvUploading||e.loadingFilter||e.csvColumns.length===0},A(e.csvUploading?`上傳中...`:e.loadingFilter?`處理中...`:`執行當前濾波器`),9,lu)):X(``,!0),e.csvFile&&e.presetCsvAvailable?(K(),q(`button`,{key:7,onClick:t[150]||=(...t)=>e.restorePresetWaveforms&&e.restorePresetWaveforms(...t),class:`bg-slate-200 dark:bg-gray-700 hover:bg-slate-300 dark:hover:bg-gray-600 text-slate-700 dark:text-gray-200 px-4 py-3 rounded-lg text-base font-semibold transition-all`},` 使用 preset `)):X(``,!0)]),J(`div`,uu,[t[252]||=J(`h4`,{class:`text-sm font-semibold text-slate-600 dark:text-gray-400 mb-4 uppercase tracking-tight flex items-center gap-2`},[J(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 7h6M9 12h6M9 17h3M5 5a2 2 0 012-2h7l5 5v11a2 2 0 01-2 2H7a2 2 0 01-2-2V5z`})]),Y(` 級聯量化與捨去設定 (Cascade Simulation Settings) `)],-1),J(`div`,du,[J(`div`,null,[J(`label`,fu,`輸入訊號量化 (Q_in): 2^`+A(e.shiftBitsIn),1),e.isTouchInput?(K(),q(`button`,{key:1,type:`button`,onPointerdown:t[160]||=$(t=>e.startShiftInDrag(t),[`prevent`]),class:`touch-none select-none w-28 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center role-active-border-primary active:ring-2 role-active-ring-primary`},[J(`span`,hu,A(e.shiftBitsIn)+` bits`,1)],32)):(K(),q(`div`,pu,[J(`button`,{type:`button`,onPointerdown:t[151]||=$(t=>e.startShiftInRepeat(-1),[`prevent`]),onPointerup:t[152]||=(...t)=>e.stopShiftInRepeat&&e.stopShiftInRepeat(...t),onPointerleave:t[153]||=(...t)=>e.stopShiftInRepeat&&e.stopShiftInRepeat(...t),onPointercancel:t[154]||=(...t)=>e.stopShiftInRepeat&&e.stopShiftInRepeat(...t),class:`stepper-button h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.shiftBitsIn,onChange:t[155]||=t=>e.setShiftBitsIn(t.target.value),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg px-2 h-[42px] text-center font-mono text-sm role-text-primary outline-none`},null,40,mu),J(`button`,{type:`button`,onPointerdown:t[156]||=$(t=>e.startShiftInRepeat(1),[`prevent`]),onPointerup:t[157]||=(...t)=>e.stopShiftInRepeat&&e.stopShiftInRepeat(...t),onPointerleave:t[158]||=(...t)=>e.stopShiftInRepeat&&e.stopShiftInRepeat(...t),onPointercancel:t[159]||=(...t)=>e.stopShiftInRepeat&&e.stopShiftInRepeat(...t),class:`stepper-button h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)]))]),J(`div`,null,[J(`label`,gu,`輸出訊號量化 (Q_out): 2^`+A(e.shiftBitsOut),1),e.isTouchInput?(K(),q(`button`,{key:1,type:`button`,onPointerdown:t[170]||=$(t=>e.startShiftOutDrag(t),[`prevent`]),class:`touch-none select-none w-28 mx-auto bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg p-3 text-center role-active-border-primary active:ring-2 role-active-ring-primary`},[J(`span`,yu,A(e.shiftBitsOut)+` bits`,1)],32)):(K(),q(`div`,_u,[J(`button`,{type:`button`,onPointerdown:t[161]||=$(t=>e.startShiftOutRepeat(-1),[`prevent`]),onPointerup:t[162]||=(...t)=>e.stopShiftOutRepeat&&e.stopShiftOutRepeat(...t),onPointerleave:t[163]||=(...t)=>e.stopShiftOutRepeat&&e.stopShiftOutRepeat(...t),onPointercancel:t[164]||=(...t)=>e.stopShiftOutRepeat&&e.stopShiftOutRepeat(...t),class:`stepper-button h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`-`,32),J(`input`,{type:`number`,value:e.shiftBitsOut,onChange:t[165]||=t=>e.setShiftBitsOut(t.target.value),class:`w-full bg-white dark:bg-gray-800 border border-slate-200 dark:border-gray-700 rounded-lg px-2 h-[42px] text-center font-mono text-sm role-text-primary outline-none`},null,40,vu),J(`button`,{type:`button`,onPointerdown:t[166]||=$(t=>e.startShiftOutRepeat(1),[`prevent`]),onPointerup:t[167]||=(...t)=>e.stopShiftOutRepeat&&e.stopShiftOutRepeat(...t),onPointerleave:t[168]||=(...t)=>e.stopShiftOutRepeat&&e.stopShiftOutRepeat(...t),onPointercancel:t[169]||=(...t)=>e.stopShiftOutRepeat&&e.stopShiftOutRepeat(...t),class:`stepper-button h-[42px] flex items-center justify-center rounded-full border border-slate-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-slate-700 dark:text-gray-300 hover:bg-slate-100 dark:hover:bg-gray-700 transition-all duration-150 active:scale-90 text-lg font-bold shadow-sm`},`+`,32)]))]),J(`div`,null,[t[251]||=J(`label`,{class:`text-sm text-slate-600 dark:text-gray-400 mb-2 block font-bold`},`位移捨去模式 (Truncation)`,-1),J(`div`,bu,[J(`button`,{type:`button`,onClick:t[171]||=t=>e.setUseRound(!1),class:k([e.useRound?`bg-slate-200 dark:bg-gray-800 text-slate-700 dark:text-gray-400 border-slate-300 dark:border-gray-700`:`primary-action role-bg-primary role-text-on-fill role-border-primary`,`selector-button flex-1 rounded py-2 text-sm font-medium border transition-colors`])},` Floor (SRA) `,2),J(`button`,{type:`button`,onClick:t[172]||=t=>e.setUseRound(!0),class:k([e.useRound?`primary-action role-bg-primary role-text-on-fill role-border-primary`:`bg-slate-200 dark:bg-gray-800 text-slate-700 dark:text-gray-400 border-slate-300 dark:border-gray-700`,`selector-button flex-1 rounded py-2 text-sm font-medium border transition-colors`])},` Round (+0.5) `,2)])])])]),e.filterDone?(K(),q(`h4`,xu,`波形比較圖`)):X(``,!0),e.filterDone?(K(),q(`div`,Su,[t[254]||=J(`div`,{class:`overflow-x-auto bg-white dark:bg-dark rounded-lg`},[J(`div`,{id:`timePlot`,class:`min-w-[580px] w-full h-[400px] bg-white dark:bg-dark`})],-1),J(`button`,{onClick:t[173]||=(...t)=>e.downloadCsv&&e.downloadCsv(...t),class:`absolute bottom-4 right-4 z-20 bg-slate-700 hover:bg-slate-600 active:scale-95 text-white px-4 py-2 rounded-lg text-sm font-semibold transition-all flex items-center gap-2 shadow-md border border-slate-600/50`,title:`匯出 CSV`},[...t[253]||=[J(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4`})],-1),Y(` 匯出 CSV `,-1)]])])):X(``,!0),!e.filterDone&&!e.loadingFilter&&e.csvPreview.length===0?(K(),q(`div`,Cu,[...t[255]||=[J(`svg`,{class:`w-12 h-12 mb-3 opacity-50`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[J(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z`})],-1),J(`p`,null,`請上傳包含時間序列的 CSV 檔案以測試時域級聯濾波效果`,-1)]])):X(``,!0)])])],2)]),J(`footer`,wu,[J(`button`,{onClick:t[174]||=(...t)=>e.toggleDarkMode&&e.toggleDarkMode(...t),class:`p-2 rounded-lg bg-slate-100 hover:bg-slate-200 dark:bg-gray-800 dark:hover:bg-gray-700 text-slate-700 dark:text-gray-200 transition-colors shadow-sm border border-slate-200/50 dark:border-gray-700/50 flex items-center gap-1.5`,title:e.isDarkMode?`切換淺色模式`:`切換深色模式`},[e.isDarkMode?(K(),q(`svg`,Eu,[...t[258]||=[J(`path`,{d:`M10 12a2 2 0 100-4 2 2 0 000 4z`},null,-1),J(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a1 1 0 10-2 0 1 1 0 002 0zM2 10a1 1 0 011-1h1a1 1 0 110 2H3a1 1 0 01-1-1zm14 0a1 1 0 011-1h1a1 1 0 110 2h-1a1 1 0 01-1-1zM5.05 5.05a1 1 0 011.414 0l.707.707a1 1 0 11-1.414 1.414l-.707-.707a1 1 0 010-1.414zm9.9 9.9a1 1 0 011.414 0l.707.707a1 1 0 11-1.414 1.414l-.707-.707a1 1 0 010-1.414zM5.05 14.95a1 1 0 010-1.414l.707-.707a1 1 0 011.414 1.414l-.707.707a1 1 0 01-1.414 0zm9.9-9.9a1 1 0 010-1.414l.707-.707a1 1 0 011.414 1.414l-.707.707a1 1 0 01-1.414 0z`,"clip-rule":`evenodd`},null,-1)]])):(K(),q(`svg`,Du,[...t[259]||=[J(`path`,{d:`M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z`},null,-1)]])),J(`span`,Ou,A(e.isDarkMode?`切換淺色模式`:`切換深色模式`),1)],8,Tu),t[260]||=J(`p`,{class:`text-xs text-slate-500 dark:text-gray-600 absolute left-1/2 transform -translate-x-1/2 pointer-events-none`},` © 2026 喆富創新科技股份有限公司. All rights reserved. `,-1),t[261]||=J(`div`,{class:`w-[32px] md:w-[120px]`},null,-1)])])}go(yo(qo,[[`render`,ku]])).mount(`#dea-root`); |