ziko 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ziko.min.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  Project: ziko.js
3
3
  Author: Zakaria Elalaoui
4
- Date : Thu Jun 27 2024 13:08:12 GMT+0100 (UTC+01:00)
4
+ Date : Wed Sep 04 2024 17:52:59 GMT+0100 (UTC+01:00)
5
5
  Git-Repo : https://github.com/zakarialaoui10/ziko.js
6
6
  Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
7
7
  Released under MIT License
8
8
  */
9
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Ziko={})}(this,(function(t){"use strict";class e{}class s extends e{constructor(t=0,e=0){super(),t instanceof s?(this.a=t.a,this.b=t.b):"object"==typeof t?"a"in e&&"b"in t?(this.a=t.a,this.b=t.b):"a"in e&&"z"in t?(this.a=t.a,this.b=g(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*F(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=g(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/F(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*v(t.phi),this.a=t.z*x(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}get clone(){return new s(this.a,this.b)}get z(){return Z(this.a,this.b)}get phi(){return $(this.b,this.a)}static Zero(){return new s(0,0)}get conj(){return new s(this.a,-this.b)}get inv(){return new s(this.a/(f(this.a,2)+f(this.b,2)),-this.b/(f(this.a,2)+f(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new s(t[e],0));let e=t.map((t=>t.a)),r=t.map((t=>t.b));return this.a+=+n(...e).toFixed(15),this.b+=+n(...r).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new s(t[e],0));let e=t.map((t=>t.a)),r=t.map((t=>t.b));return this.a-=+n(...e).toFixed(15),this.b-=+n(...r).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new s(t[e],0));let e=+i(this.z,...t.map((t=>t.z))).toFixed(15),r=+n(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*v(r).toFixed(15)).toFixed(14),this.b=+(e*x(r).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new s(t[e],0));let e=+(this.z/i(...t.map((t=>t.z)))).toFixed(15),r=+(this.phi-n(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*v(r).toFixed(15)).toFixed(15),this.b=+(e*x(r).toFixed(15)).toFixed(15),this}pow(t){if(P(t)===t&&t>0){let e=+(this.z**t).toFixed(15),s=+(this.phi*t).toFixed(15);this.a=+(e*v(s).toFixed(15)).toFixed(15),this.b=+(e*x(s).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new s(+(t*v(e)).toFixed(13),+(t*x(e)).toFixed(13))}get expo(){return[this.z,this.phi]}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}static mul(t,...e){return t.clone.mul(...e)}static div(t,...e){return t.clone.div(...e)}static pow(t,e){return t.clone.pow(e)}static xpowZ(t){return r(t**this.a*v(this.b*w(t)),t**this.a*x(this.b*w(t)))}sqrtn(t=2){return r(y(this.z,t)*v(this.phi/t),y(this.z,t)*x(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return r(this.z,this.phi)}get cos(){return r(v(this.a)*T(this.b),x(this.a)*I(this.b))}get sin(){return r(x(this.a)*T(this.b),v(this.a)*I(this.b))}get tan(){const t=v(2*this.a)+T(2*this.b);return r(x(2*this.a)/t,I(2*this.b)/t)}printInConsole(){let t=this.a+" + "+this.b+" * i";return console.log(t),t}print(){}UI(){return"<span>"+this.a+" + i * "+this.b+"</span>"}}const r=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((s,n)=>r(t[n],e[n])));if(t instanceof ot&&e instanceof ot){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map(((s,n)=>r(t.arr[n],e.arr[n])));return new ot(t.rows,t.cols,...s)}return new s(t,e)},n=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e+=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(n(...t[s])):t[s]instanceof Object&&e.push(n(...Object.values(t[s])));return 1===e.length?e[0]:e},i=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e*=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(i(...t[s])):t[s]instanceof Object&&e.push(i(...Object.values(t[s])));return 1===e.length?e[0]:e},o=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(o(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>t[1]-e[1]))[0]]));return 1===e.length?e[0]:e},a=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.max(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(o(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>e[1]-t[1]))[0]]));return 1===e.length?e[0]:e},h=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t.reduce(((t,e)=>[...t,t[t.length-1]+e]),[0]);return e.shift(),e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(h(...t[s])):t[s]instanceof Object&&e.push(null);return 1===e.length?e[0]:e},l=t=>{const e=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];if(t<.5)return+(Math.PI/(Math.sin(Math.PI*t)*l(1-t))).toFixed(10);t-=1;let s=e[0];for(let r=1;r<9;r++)s+=e[r]/(t+r);const r=t+7+.5;return+(Math.sqrt(2*Math.PI)*Math.pow(r,t+.5)*Math.exp(-r)*s).toFixed(10)},u=(t,e)=>{let s=0;for(let r=0;r<100;r++){s+=Math.pow(-1,r)*Math.pow(e/2,t+2*r)/(z(r)*z(t+r))}return s},m=(t,e)=>{let s=0;const r=s=>Math.pow(s,t-1)*Math.pow(1-s,e-1);s+=.5*(r(0)+r(1));for(let t=1;t<1e3;t++){s+=r(0+.001*t)}return.001*s},p={cos:t=>+Math.cos(t).toFixed(15),sin:t=>+Math.sin(t).toFixed(15),tan:t=>+Math.tan(t).toFixed(31),sinc:t=>+Math.sin(Math.PI*t)/(Math.PI*t),sec:t=>1/Math.cos(t).toFixed(15),csc:t=>1/Math.sin(t).toFixed(15),cot:t=>1/Math.tan(t).toFixed(15),acos:t=>+Math.acos(t).toFixed(15),asin:t=>+Math.asin(t).toFixed(15),atan:t=>+Math.atan(t).toFixed(15),acot:t=>+Math.PI/2-Math.atan(t).toFixed(15),cosh:t=>+Math.cosh(t).toFixed(15),sinh:t=>+Math.sinh(t).toFixed(15),tanh:t=>+Math.tanh(t).toFixed(15),coth:t=>+(.5*Math.log((1+t)/(1-t))).toFixed(15),acosh:t=>+Math.acosh(t).toFixed(15),asinh:t=>+Math.asinh(t).toFixed(15),atanh:t=>+Math.atanh(t).toFixed(15)},d=(...t)=>mt(Math.abs,...t),g=(...t)=>mt(Math.sqrt,...t),f=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof s?s.fromExpo(t**e.a,e.b*w(t)):mt((e=>f(t,e)),...e);if(t instanceof s)return"number"==typeof e?s.fromExpo(t.z**e,t.phi*e):e instanceof s?s.fromExpo(t.z**e.a*b(-t.phi*e.b),w(t.z)*e.b+e.a*t.phi):mt((e=>f(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>f(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(mt((e=>f(t[r],e)),...e));return s}}},y=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,1/e):mt((e=>y(t,e)),...e);if(t instanceof s)return"number"==typeof e?s.fromExpo(y(t.z,e),t.phi/e):mt((e=>y(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>y(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(mt((e=>y(t[r],e)),...e));return s}}},b=(...t)=>mt(Math.exp,...t),w=(...t)=>mt(Math.log,...t),v=(...t)=>mt(p.cos,...t),x=(...t)=>mt(p.sin,...t),F=(...t)=>mt(p.tan,...t),C=(...t)=>mt(p.sec,...t),E=(...t)=>mt(p.sinc,...t),k=(...t)=>mt(p.csc,...t),A=(...t)=>mt(p.cot,...t),D=(...t)=>mt(p.acos,...t),_=(...t)=>mt(p.asin,...t),B=(...t)=>mt(p.atan,...t),M=(...t)=>mt(p.acot,...t),T=(...t)=>mt(p.cosh,...t),I=(...t)=>mt(p.sinh,...t),S=(...t)=>mt(p.tanh,...t),L=(...t)=>mt(p.coth,...t),O=(...t)=>mt(p.acosh,...t),j=(...t)=>mt(p.asinh,...t),R=(...t)=>mt(p.atanh,...t),V=(...t)=>mt(Math.ceil,...t),P=(...t)=>mt(Math.floor,...t),N=(...t)=>mt(Math.round,...t),$=(t,e,s=!0)=>{if("number"==typeof t)return"number"==typeof e?s?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:mt((e=>$(t,e,s)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>$(t,e,s)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(mt((e=>f(t[r],e)),...e));return s}}},z=(...t)=>mt((t=>{let e,s=1;if(0==t)s=1;else if(t>0)for(e=1;e<=t;e++)s*=e;else s=NaN;return s}),...t),U=(...t)=>mt(Math.sign,...t),H=(...t)=>mt((t=>1/(1+b(-t))),...t),Z=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?mt(Math.hypot,...t):void 0,q=t=>{const e=[],s=2**t.length;for(let r=0;r<s;r+=1){const s=[];for(let e=0;e<t.length;e+=1)r&1<<e&&s.push(t[e]);e.push(s)}return e},W=null,X={_mode:Number,_map:function(t,e,r){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,r)))):e instanceof s?new s(t(e.a,r),t(e.b,r)):e instanceof Array?e.map((e=>t(e,r))):void 0},dec2base(t,e){return this._mode=e<=10?Number:String,"number"==typeof t?this._mode((t>>>0).toString(e)):this._map(this.dec2base,t,e)},dec2bin(t){return this.dec2base(t,2)},dec2oct(t){return this.dec2base(t,8)},dec2hex(t){return this.dec2base(t,16)},bin2base(t,e){return this.dec2base(this.bin2dec(t),e)},bin2dec(t){return this._mode("0b"+t)},bin2oct(t){return this.bin2base(t,8)},bin2hex(t){return this.bin2base(t,16)},oct2dec(t){return this._mode("0o"+t)},oct2bin(t){return this.dec2bin(this.oct2dec(t))},oct2hex(t){return this.dec2hex(this.oct2dec(t))},oct2base(t,e){return this.dec2base(this.oct2dec(t),e)},hex2dec(t){return this._mode("0x"+t)},hex2bin(t){return this.dec2bin(this.hex2dec(t))},hex2oct(t){return this.dec2oct(this.hex2dec(t))},hex2base(t,e){return this.dec2base(this.hex2dec(t),e)},IEEE32toDec(t){let e=t.split(" ").join("").padEnd(32,"0"),s=e[0],r=2**(+("0b"+e.slice(1,9))-127);return(-1)**s*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),s=e[0],r=2**(+("0b"+e.slice(1,12))-1023);return(-1)**s*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r}},Y={_mode:Number,_map:function(t,e,r){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,r)))):e instanceof s?new s(t(e.a,r),t(e.b,r)):e instanceof Array?e.map((e=>t(e,r))):void 0},not:function(t){return["number","boolean"].includes(typeof t)?Y._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?Y._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?Y._mode(e.reduce(((t,e)=>t|e),t)):this._map(this.or,t,e)},nand:function(t,...e){return this.not(this.and(t,e))},nor:function(t,...e){return this.not(this.or(t,e))},xor:function(t,...e){let s=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===s.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return Y.not(Y.xor(t,e))}};class K{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const s=[];let r;return r=this.withDiscount(t,e-1),t.forEach((t=>{r.forEach((e=>{s.push([t].concat(e))}))})),s}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],s=this.withoutDiscount(t.slice(1)),r=t[0];for(let t=0;t<s.length;t++){const n=s[t];for(let t=0;t<=n.length;t++){const s=n.slice(0,t),i=n.slice(t);e.push(s.concat([r],i))}}return e}}class G{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,n)=>{this.withDiscount(t.slice(n),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,n)=>{this.withoutDiscount(t.slice(n+1),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}}const Q={Logic:Y,Base:X,Permutation:K,Combinaison:G,combinaison:(t,e,s=!1)=>G[s?"withDiscount":"withoutDiscount"](t,e),powerSet:q,subSet:W};class J{static float(t=1,e){return e?Math.random()*(e-t)+t:t*Math.random()}static int(t,e){return Math.floor(this.float(t,e))}static char(t){t=t??this.bool();const e=String.fromCharCode(this.int(97,120));return t?e.toUpperCase():e}static bool(){return[!1,!0][Math.floor(2*Math.random())]}static string(t,e){return t instanceof Array?new Array(this.int(...t)).fill(0).map((()=>this.char(e))).join(""):new Array(t).fill(0).map((()=>this.char(e))).join("")}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(8)}static hex(){return this.int(16)}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){let s=new Array(100);e=Ht.accum(...e).map((t=>100*t)),s.fill(t[0],0,e[0]);for(let r=1;r<t.length;r++)s.fill(t[r],e[r-1],e[r]);return s[this.int(s.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:s,arr:r}=t;return at(e,s,r.flat().sort((()=>.5-Math.random())))}static floats(t,e,s){return new Array(t).fill(0).map((()=>this.float(e,s)))}static ints(t,e,s){return new Array(t).fill(0).map((()=>this.int(e,s)))}static bools(t){return new Array(t).fill(0).map((()=>this.bool()))}static bins(t){return new Array(t).fill(0).map((()=>this.int(2)))}static octs(t){return new Array(t).fill(0).map((()=>this.int(8)))}static decs(t){return new Array(t).fill(0).map((()=>this.int(10)))}static hexs(t){return new Array(t).fill(0).map((()=>this.int(16)))}static choices(t,e,s){return new Array(t).fill(0).map((()=>this.choice(e,s)))}static perm(...t){return t.permS[this.int(t.length)]}static color(){return"#"+X.dec2hex(this.float(16777216)).padStart(6,0)}static colors(t){return new Array(t).fill(null).map((()=>this.color()))}static complex(t=[0,1],e=[0,1]){return t instanceof Array?new s(this.float(t[0],t[1]),this.float(e[0],e[1])):new s(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new s(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new s(...this.bins(2))}static complexOct(){return new s(...this.octs(2))}static complexDec(){return new s(...this.decs(10))}static complexHex(){return new s(...this.octs(2))}static complexes(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complex(e,s)))}static complexesInt(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complexInt(e,s)))}static complexesBin(t){return new Array(t).fill(0).map((()=>this.complexBin()))}static complexesOct(t){return new Array(t).fill(0).map((()=>this.complexOct()))}static complexesDec(t){return new Array(t).fill(0).map((()=>this.complexDec()))}static complexesHex(t){return new Array(t).fill(0).map((()=>this.complexHex()))}static matrix(t,e,s,r){return at(t,e,this.floats(t*e,s,r))}static matrixInt(t,e,s,r){return at(t,e,this.ints(t*e,s,r))}static matrixBin(t,e){return at(t,e,this.bins(t*e))}static matrixOct(t,e){return at(t,e,this.octs(t*e))}static matrixDec(t,e){return at(t,e,this.decs(t*e))}static matrixHex(t,e){return at(t,e,this.hex(t*e))}static matrixColor(t,e){return at(t,e,this.colors(t*e))}static matrixComplex(t,e,s,r){return at(t,e,this.complexes(t*e,s,r))}static matrixComplexInt(t,e,s,r){return at(t,e,this.complexesInt(t*e,s,r))}static matrixComplexBin(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexOct(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexDec(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexHex(t,e){return at(t,e,this.complexesBin(t*e))}}const tt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,s=new Array(e).fill(0).map((()=>new Array(e).fill(0))),r=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let n=0;n<e;n++){for(let i=n;i<e;i++){let e=0;for(let t=0;t<n;t++)e+=s[n][t]*r[t][i];r[n][i]=t[n][i]-e}for(let i=n;i<e;i++)if(n==i)s[n][n]=1;else{let e=0;for(let t=0;t<n;t++)e+=s[i][t]*r[t][n];s[i][n]=(t[i][n]-e)/r[n][n]}}return[s,r].map((t=>new ot(t)))},et=(t,e)=>t.reduce(((t,s,r)=>t+s*e[r]),0),st=t=>Math.sqrt(t.reduce(((t,e)=>t+e*e),0)),rt=t=>t.map((e=>e/st(t))),nt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,s=t[0].length,r=[],n=[];for(let t=0;t<e;t++)n.push(new Array(s).fill(0));for(let i=0;i<s;i++){let s=t.map((t=>t[i]));for(let o=0;o<i;o++){const a=r[o],h=et(a,t.map((t=>t[i])));for(let t=0;t<e;t++)s[t]-=h*a[t];n[o][i]=h}const o=st(s);r.push(rt(s)),n[i][i]=o}return[r,n].map((t=>new ot(t)))},it=t=>{t instanceof ot&&(t=t.arr);const e=t.length,s=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let r=0;r<e;r++)for(let e=0;e<=r;e++){let n=0;for(let t=0;t<e;t++)n+=s[r][t]*s[e][t];s[r][e]=r===e?Math.sqrt(t[r][r]-n):1/s[e][e]*(t[r][e]-n)}return new ot(s)};class ot extends e{constructor(t,e,s=[]){if(super(),t instanceof ot)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let r,n,i=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,i=arguments[0];else for(r=0;r<t;r++)for(i.push([]),i[r].push(new Array(e)),n=0;n<e;n++)i[r][n]=s[r*e+n],null==s[r*e+n]&&(i[r][n]=0);this.rows=t,this.cols=e,this.arr=i}this._maintain()}at(t=0,e=void 0){return t<0&&(t=this.rows+t),null==e?this.arr[t]:(e<0&&(e=this.cols+e),this.arr[t][e])}reshape(t,e){if(t*e==this.rows*this.cols)return new ot(t,e,this.arr.flat(1));console.error("Err")}static eye(t){let e=new ot(t,t);for(let s=0;s<t;s++)for(let r=0;r<t;r++)e.arr[s][r]=s===r?1:0;return e}get clone(){return new ot(this.rows,this.cols,this.arr.flat(1))}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}get reel(){return new ot(this.cols,this.rows,this.arr.flat(1).reel)}get imag(){return new ot(this.cols,this.rows,this.arr.flat(1).imag)}_maintain(){for(let t=0;t<this.arr.length;t++)Object.assign(this,{[[t]]:this.arr[t]});return this}get(t=0,e=0){return-1==e?this.arr[t]:-1==t?this.arr.map((t=>t[e])):this.arr[t][e]}set(t=0,e=0,s){if(-1==e)return this.arr[t]=s;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=s[t]||0;return this.arr}return this.arr[t][e]=s}get isSquare(){return this.rows/this.cols==1}get isSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==ot.sub(e,t).max&&0==ot.sub(e,t).min}get isAntiSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==ot.add(e,t).max&&0==ot.add(e,t).min}get isDiag(){if(!this.isSquare)return!1;const t=this.T,e=this.clone,s=ot.mul(e,t),r=ot.dot(t,e);return 0==ot.sub(s,r).max&&0==ot.sub(s,r).min}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.clone,e=ot.dot(t,t);return 0==ot.sub(e,t).max&&0==ot.sub(e,t).min}get T(){let t=[];for(let e=0;e<this.arr[0].length;e++){t[e]=[];for(let s=0;s<this.arr.length;s++)t[e][s]=this.arr[s][e]}return new ot(this.cols,this.rows,t.flat(1))}get det(){if(!this.isSquare)return new Error("is not square matrix");if(1==this.rows)return this.arr[0][0];function t(t,e){var s=[];for(let e=0;e<t.length;e++)s.push(t[e].slice(0));s.splice(0,1);for(let t=0;t<s.length;t++)s[t].splice(e,1);return s}return function e(s){if(2==s.length)return s.flat(1).some((t=>t instanceof ot))?void console.warn("Tensors are not completely supported yet ..."):Ht.sub(Ht.mul(s[0][0],s[1][1]),Ht.mul(s[0][1],s[1][0]));for(var r=0,n=0;n<s.length;n++){const i=Ht.add(Ht.mul(f(-1,n),Ht.mul(s[0][n],e(t(s,n)))));r=Ht.add(r,i)}return r}(this.arr)}get inv(){if(!this.isSquare)return new Error("is not square matrix");if(0===this.det)return"determinat = 0 !!!";let t=function(t){if(t.length!==t[0].length)return;var e=0,s=0,r=0,n=t.length,i=0,o=[],a=[];for(e=0;e<n;e+=1)for(o[o.length]=[],a[a.length]=[],r=0;r<n;r+=1)o[e][r]=e==r?1:0,a[e][r]=t[e][r];for(e=0;e<n;e+=1){if(0==(i=a[e][e])){for(s=e+1;s<n;s+=1)if(0!=a[s][e]){for(r=0;r<n;r++)i=a[e][r],a[e][r]=a[s][r],a[s][r]=i,i=o[e][r],o[e][r]=o[s][r],o[s][r]=i;break}if(0==(i=a[e][e]))return}for(r=0;r<n;r++)a[e][r]=a[e][r]/i,o[e][r]=o[e][r]/i;for(s=0;s<n;s++)if(s!=e)for(i=a[s][e],r=0;r<n;r++)a[s][r]-=i*a[e][r],o[s][r]-=i*o[e][r]}return o}(this.arr);return new ot(this.rows,this.cols,t.flat(1))}static zeros(t,e){let s=new ot(t,e);for(let n=0;n<t;n++)for(var r=0;r<e;r++)s.arr[n][r]=0;return s}static ones(t,e){let s=new ot(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=1;return s}static nums(t,e,s){let r=new ot(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)r.arr[n][t]=s;return r}static get rand(){return{int:(t,e,s,r)=>{let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.randInt(s,r);return n},bin:(t,e)=>{let s=new ot(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=J.randBin;return s},hex:(t,e)=>{let s=new ot(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=J.randHex;return s},choices:(t,e,s,r)=>{let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.choice(s,r);return n},permutation:(t,e,s)=>{}}}static rands(t,e,s=1,r){let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.rand(s,r);return n}map(t,e,s,r){return Ht.map(this,t,e,s,r)}lerp(t,e){return Ht.lerp(this,t,e)}norm(t,e){return Ht.norm(this,t,e)}clamp(t,e){return Ht.clamp(this,t,e)}static map(t,e,s,r,n){return Ht.map(t,e,s,r,n)}static lerp(t,e,s){return Ht.lerp(t,e,s)}static norm(t,e,s){return Ht.norm(t,e,s)}static clamp(t,e,s){return Ht.clamp(at,e,s)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let s=0;s<this.rows;s++)this.arr[e][s]=+this.arr[e][s].toPrecision(t);return this}get toBin(){let t=this.arr.flat(1).toBin;return new ot(this.rows,this.cols,t)}get toOct(){let t=this.arr.flat(1).toOct;return new ot(this.rows,this.cols,t)}get toHex(){let t=this.arr.flat(1).toHex;return new ot(this.rows,this.cols,t)}max2min(){let t=this.arr.flat(1).max2min;return new ot(this.rows,this.cols,t)}min2max(){let t=this.arr.flat(1).min2max;return new ot(this.rows,this.cols,t)}sortRows(t=void 0){let e=this.arr.map((e=>e.sort(t))).flat(1);return new ot(this.rows,this.cols,e)}sortCols(t=void 0){let e=this.T.arr.map((e=>e.sort(t))).flat(1);return new ot(this.rows,this.cols,e).T}filterByRows(t){var e=this.arr.map((e=>e.map((e=>+(""+e).includes(t))))).map((t=>!!Logic.or(...t))),s=this.arr.filter(((t,s)=>!0===e[s]));return 0===s.length&&s.push([]),console.log(s),new ot(s)}filterByCols(t){return new ot(this.T.arr.filter((e=>e.includes(t))))}sortAll(t=void 0){let e=this.arr.flat(1).sort(t);return new ot(this.rows,this.cols,e)}count(t){return this.arr.flat(1).count(t)}toBase(t){let e=this.arr.flat(1).toBase(t);return new ot(this.rows,this.cols,e)}#t(t){if(this.rows!==t.rows)return;let e=this.arr;for(let s=0;s<this.rows;s++)for(let r=this.cols;r<this.cols+t.cols;r++)e[s][r]=t.arr[s][r-this.cols];return this.cols+=t.cols,new ot(this.rows,this.cols,e.flat(1))}hstack(...t){const e=[this,...t].reduce(((t,e)=>t.#t(e)));return Object.assign(this,e),this}static hstack(t,...e){return t.clone.hstack(...e)}#e(t){if(this.cols!==t.cols)return;let e=this.arr;for(let s=this.rows;s<this.rows+t.rows;s++){e[s]=[];for(let r=0;r<this.cols;r++)e[s][r]=t.arr[s-this.rows][r]}return this.rows+=t.rows,new ot(this.rows,this.cols,e.flat(1))}vstack(...t){const e=[this,...t].reduce(((t,e)=>t.#e(e)));return Object.assign(this,e),this}static vstack(t,...e){return t.clone.vstack(...e)}hqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#t(e)));return Object.assign(this,e),this}vqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#e(e)));return Object.assign(this,e),this}static hqueue(t,...e){return t.clone.hqueue(...e)}static vqueue(t,...e){return t.clone.vqueue(...e)}slice(t=0,e=0,s=this.rows-1,r=this.cols-1){let n=s-t,i=r-e,o=new Array(i);for(let s=0;s<n;s++){o[s]=[];for(let r=0;r<i;r++)o[s][r]=this.arr[s+t][r+e]}return new ot(n,i,o.flat(1))}static slice(t,e=0,s=0,r=this.rows-1,n=this.cols-1){return t.slice(e,s,r,n)}splice(t,e,s,...r){}getRows(t,e=t+1){return this.slice(t,0,e,this.cols)}getCols(t,e=t+1){return this.slice(0,t,this.rows,e)}static getRows(t,e,s=e+1){return t.slice(e,0,s,t.cols)}static getCols(t,e,s=e+1){return t.slice(0,e,t.rows,s)}add(...t){for(let r=0;r<t.length;r++){("number"==typeof t[r]||t[r]instanceof s)&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(let s=0;s<this.rows;s++)for(var e=0;e<this.cols;e++)this.arr[s][e]=Ht.add(this.arr[s][e],t[r].arr[s][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=Ht.sub(this.arr[r][e],t[s].arr[r][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}mul(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(var e=0;e<this.rows;e++)for(var s=0;s<this.cols;s++)this.arr[e][s]=Ht.mul(this.arr[e][s],t[r].arr[e][s])}return new ot(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=Ht.div(this.arr[r][e],t[s].arr[r][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static div(t,...e){return t.clone.div(...e)}static mul(t,...e){return t.clone.mul(...e)}modulo(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=Ht.modulo(this.arr[r][e],t[s].arr[r][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static modulo(t,...e){return t.clone.modulo(...e)}dot(t){for(var e=[],s=0;s<this.arr.length;s++){e[s]=[];for(var r=0;r<t.arr[0].length;r++){e[s][r]=0;for(var n=0;n<this.arr[0].length;n++)e[s][r]=Ht.add(e[s][r],Ht.mul(this.arr[s][n],t.arr[n][r]))}}return new ot(this.arr.length,t.arr[0].length,e.flat(1))}static dot(t,e){return t.dot(e)}pow(t){let e=this.clone,s=this.clone;for(let r=0;r<t-1;r++)s=s.dot(e);return s}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t+=this.arr[e][s];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof s))}get min(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(o(...this.arr[e]));return o(...t)}get max(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(a(...this.arr[e]));return a(...t)}get minRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(o(...this.arr[e]));return t}get maxRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(a(...this.arr[e]));return t}get minCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new ot(t.length,1,t)}get toArray(){let t=[];for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t.push(this.arr[e][s]);return t}get print(){let t="[";for(let e=0;e<this.arr.length;e++)t+=(0!=e?" ":"")+` [${this.arr[e].map((t=>" "+t.toString()+" "))}],\n`;console.log(t.substring(0,t.length-2)+" ]"),document.write(t.substring(0,t.length-2)+" ]")}get table(){console.table(this.arr)}get serialize(){return JSON.stringify(this)}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let e=new ot(t.rows,t.cols);return e.arr=t.arr,e}DecompositionLU(){const[t,e]=tt(this);return{L:t,U:e}}static DecompositionLU(...t){const e=t.map((t=>t.clone.LU()));return 1===e.length?e[0]:e}DecompositionQR(){const[t,e]=nt(this);return{Q:t,R:e}}static DecompositionQR(...t){const e=t.map((t=>t.clone.DecompositionQr()));return 1===e.length?e[0]:e}DecompositionCholesky(){return{L:it(this)}}static DecompositionCholesky(...t){const e=t.map((t=>t.clone.DecompositionCholesky()));return 1===e.length?e[0]:e}get decomposition(){return{LU:()=>this.DecompositionLU(),QR:()=>this.DecompositionQR(),Cholesky:()=>this.DecompositionCholesky()}}static get decomposition(){return{LU:(...t)=>ot.LU(...t),QR:(...t)=>ot.QR(...t),CHOLESKY:(...t)=>ot.CHOLESKY(...t)}}toTable(){var t=new DocumentFragment,e=new Array(this.rows).fill(null).map((()=>document.createElement("tr"))),s=this.arr.map((t=>t.map((()=>document.createElement("td")))));for(let t=0;t<s.length;t++)for(let r=0;r<s[0].length;r++)s[t][r].innerHTML=this.arr[t][r],e[t].appendChild(s[t][r]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let s=Grid();return s.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),s.Columns(this.cols),s}sortTable(t=0,{type:e="num",order:s="asc"}={}){var r=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e}))))),n=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e})))));"num"===e?"asc"===s?r[t].sort(((t,e)=>t.x-e.x)):"desc"===s?r[t].sort(((t,e)=>e.x-t.x)):"toggle"===s&&(r[t][0].x>r[t][1].x?r[t].sort(((t,e)=>e.x-t.x)):r[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===s?r[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===s&&r[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),s=r[t].map((t=>t.y));for(let e=0;e<r.length;e++)e!==t&&r[e].map(((t,e)=>t.y=s[e]));for(let e=0;e<r.length;e++)e!==t&&n[e].map(((t,n)=>t.x=r[e][s[n]].x));n[t]=r[t];var i=n.map((t=>t.map((t=>t.x))));return new ot(i).T}}const at=(t,e,s)=>new ot(t,e,s),ht=(...t)=>new ot(2,2,t),lt=(...t)=>new ot(3,3,t),ct=(...t)=>new ot(4,4,t);class ut{static resolve(t,e){return t.inv.dot(ot.fromVector(e)).arr.flat(1).map((t=>+t.toFixed(10)))}}const mt=(t,...e)=>{const n=e.map((e=>{if(null===e)return t(null);if(["number","string","boolean","bigint","undefined"].includes(typeof e))return t(e);if(e instanceof Array)return e.map((e=>mt(t,e)));if(ArrayBuffer.isView(e))return e.map((e=>t(e)));if(e instanceof Set)return new Set(mt(t,...e));if(e instanceof Map)return new Map([...e].map((e=>[e[0],mt(t,e[1])])));if(e instanceof ot)return new ot(e.rows,e.cols,mt(e.arr.flat(1)));if(e instanceof s){const[s,n,i,o]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return r(w(i),o);case Math.exp:return r(b(s)*v(n),b(s)*x(n));case Math.abs:return i;case Math.sqrt:return r(g(i)*v(o/2),g(i)*x(o/2));case p.cos:return r(v(s)*T(n),-x(s)*I(n));case p.sin:return r(x(s)*T(n),v(s)*I(n));case p.tan:{const t=v(2*s)+T(2*n);return r(x(2*s)/t,I(2*n)/t)}case p.cosh:return r(T(s)*v(n),I(s)*x(n));case p.sinh:return r(I(s)*v(n),T(s)*x(n));case p.tanh:{const t=T(2*s)+v(2*n);return r(I(2*s)/t,x(2*n)/t)}}}else if(e instanceof Object)return Object.fromEntries(Object.entries(e).map((e=>[e[0],mt(t,e[1])])))}));return 1==n.length?n[0]:n},pt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t+e;if(e instanceof s)return r(t+e.a,e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).add(e);if(e instanceof Array)return e.map((e=>bt(e,t)))}else{if(t instanceof s||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.add(e))):t.clone.add(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>bt(t,e)));if(t.length===e.length)return t.map(((t,s)=>bt(t,e[s])))}}},dt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof s)return r(t-e.a,-e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).sub(e);if(e instanceof Array)return e.map((e=>wt(e,t)))}else{if(t instanceof s||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.sub(e))):t.clone.sub(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>wt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>wt(t,e[s])))}}},gt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof s)return r(t*e.a,t*e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).mul(e);if(e instanceof Array)return e.map((e=>vt(t,e)))}else{if(t instanceof s||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.mul(e))):t.clone.mul(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>vt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>vt(t,e[s])))}}},ft=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof s)return r(t/e.a,t/e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).div(e);if(e instanceof Array)return e.map((e=>xt(t,e)))}else{if(t instanceof s||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>xt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>xt(t,e[s])))}}},yt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof s)return r(t%e.a,t%e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).modulo(e);if(e instanceof Array)return e.map((e=>xt(t,e)))}else{if(t instanceof s||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array&&!(e instanceof Array))return t.map((t=>bt(t,e)))}},bt=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=pt(s,e[t]);return s},wt=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=dt(s,e[t]);return s},vt=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=gt(s,e[t]);return s},xt=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=ft(s,e[t]);return s},Ft=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=yt(s,e[t]);return s},{PI:Ct,E:Et}=Math,kt=Number.EPSILON,At=t=>new Array(t).fill(0),Dt=t=>new Array(t).fill(1),_t=(t,e)=>new Array(e).fill(t),Bt=(t,e,r)=>{if("number"==typeof t)return e!==r?(t-e)/(r-e):0;if(t instanceof ot)return new ot(t.rows,t.cols,Bt(t.arr.flat(1),e,r));if(t instanceof s)return new s(Bt(t.a,e,r),Bt(t.b,e,r));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Bt(t,e,r)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=Bt(t[s])}}},Mt=(t,e,r)=>{if("number"==typeof t)return(r-e)*t+e;if(t instanceof ot)return new ot(t.rows,t.cols,Mt(t.arr.flat(1),e,r));if(t instanceof s)return new s(Mt(t.a,e,r),Mt(t.b,e,r));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Mt(t,e,r)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=Mt(t[s])}}},Tt=(t,e,r,n,i)=>{if("number"==typeof t)return Mt(Bt(t,e,r),n,i);if(t instanceof ot)return new ot(t.rows,t.cols,Tt(t.arr.flat(1),e,r,n,i));if(t instanceof s)return new s(Tt(t.a,r,n,i),Tt(t.b,e,r,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Tt(t,e,r,n,i)));{let s=new Array(t.length);for(let o=0;o<t.length;o++)s[o]=Tt(t[o],e,r,n,i)}}},It=(t,e,r)=>{const[n,i]=[o(e,r),a(e,r)];if("number"==typeof t)return o(a(t,n),i);if(t instanceof ot)return new ot(t.rows,t.cols,It(t.arr.flat(1),n,i));if(t instanceof s)return new s(It(t.a,n,i),It(t.b,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>It(t,n,i)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=It(t[s],n,i)}}},St=(t,e,s,r=!1)=>{let n=[];if(t<e)for(let i=t;r?i<=e:i<e;i+=s)n.push(10*i/10);else for(let i=t;r?i>=e:i>e;i-=s)n.push(10*i/10);return n},Lt=(t,e,n=d(e-t)+1,i=!0)=>{if(Math.floor(n)===n){if([t,e].every((t=>"number"==typeof t))){const[s,r]=[t,e].sort(((t,e)=>e-t));var o=[];let h;h=i?(s-r)/(n-1):(s-r)/n;for(var a=0;a<n;a++)t<e?o.push(r+h*a):o.push(s-h*a);return o}if([t,e].some((t=>t instanceof s))){const s=r(t),o=r(e);n=n||Math.abs(s.a-o.a)+1;const a=Lt(s.a,o.a,n,i),h=Lt(s.b,o.b,n,i);let l=new Array(n).fill(null);return l=l.map(((t,e)=>r(a[e],h[e]))),l}}},Ot=(t,e,s=e-t+1,r=Et,n=!0)=>Lt(t,e,s,n).map((t=>f(r,t))),jt=(t,e,n=d(e-t)+1,i=!0)=>{if(Math.floor(n)===n){if([t,e].every((t=>"number"==typeof t))){const[s,r]=[t,e].sort(((t,e)=>e-t));let o;o=y(s/r,i?n-1:n);const a=[r];for(let t=1;t<n;t++)a.push(a[t-1]*o);return t<e?a:a.reverse()}if([t,e].some((t=>t instanceof s))){const s=r(t),o=r(e);let a;n=n||Math.abs(s.a-o.a)+1,a=y(o.div(s),i?n-1:n);const h=[s];for(let t=1;t<n;t++)h.push(vt(h[t-1],a));return h}}},Rt=(...t)=>mapfun((t=>t*Math.PI/180),...t),Vt=(...t)=>mapfun((t=>t/Math.PI*180),...t),Pt=(t,e,s)=>{const[r,n]=[Math.min(e,s),Math.max(e,s)];return t>=r&&t<=n},Nt=(t,e,s=1e-4)=>Math.abs(t-e)<=s,$t=(t,e)=>t.reduce(((t,s)=>[...t,...e.map((t=>[s,t]))]),[]),zt=(t,e)=>{let s,r=1;if(t==P(t)&&e==P(e)){for(s=2;s<=t&&s<=e;++s)t%s==0&&e%s==0&&(r=s);return r}console.log("error")},Ut=(t,e)=>{let s;if(t==P(t)&&e==P(e)){for(s=t>e?t:e;s%t!=0||s%e!=0;)++s;return s}console.log("error")},Ht={add:bt,sub:wt,mul:vt,div:xt,modulo:Ft,zeros:At,ones:Dt,nums:_t,norm:Bt,lerp:Mt,map:Tt,clamp:It,arange:St,linspace:Lt,logspace:Ot,geomspace:jt,sum:n,prod:i,accum:h,cartesianProduct:$t,ppcm:Ut,pgcd:zt,deg2rad:Rt,rad2deg:Vt,inRange:Pt,isApproximatlyEqual:Nt},Zt=t=>{const e=[],n=t.length;t[0]instanceof s||(t=t.map((t=>r(t,0))));for(let s=0;s<n;s++){let i=0,o=0;for(let e=0;e<n;e++){const r=2*Ct*s*e/n;i+=t[e].a*v(r)+t[e].b*x(r),o+=-t[e].a*x(r)+t[e].b*v(r)}i/=n,o/=n,e[s]=r(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},qt=t=>{const e=[],n=t.length;t[0]instanceof s||(t=t.map((t=>r(t,0))));for(let s=0;s<n;s++){let i=0,o=0;for(let e=0;e<n;e++){const r=2*Ct*s*e/n;i+=t[e].a*v(r)+t[e].b*x(r),o+=t[e].a*x(r)+t[e].b*v(r)}i/=n,o/=n,e[s]=r(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},Wt=(t,e,s=!0)=>{const r=t.length,n=e.length,i=[],o=s?Math.max(r,n):r+n-1;for(let s=0;s<o;s++){let o=0;for(let i=0;i<n;i++){const a=s+i-Math.floor(n/2);o+=(a>=0&&a<r?t[a]:0)*e[i]}i.push(o)}return i},Xt=(t,e,s=!0)=>{t instanceof ot||(t=at(t)),e instanceof ot||(e=at(e));const r=t.rows,n=t.cols,i=s?Math.max(t.rows,e.rows):t.rows+e.rows-1,o=s?Math.max(t.cols,e.cols):t.cols+e.cols-1,a=e.rows,h=[];for(let s=0;s<i;s++){const i=[];for(let h=0;h<o;h++){let o=0;for(let i=0;i<a;i++)for(let l=0;l<a;l++){const c=s+i-Math.floor(a/2),u=h+l-Math.floor(a/2);o+=(c>=0&&c<r&&u>=0&&u<n?t[c][u]:0)*e[i][l]}i.push(o)}h.push(i)}return h},Yt=(t,e,s)=>t instanceof ot||t instanceof Array&&t[0][0]?Xt(t,e,s):Wt(t,e,s);class Kt{constructor(t){this.input=t,this.input_fft=Zt(this.input),this.output_fft=[]}lowPass(t){return this.input_fft.output.forEach(((e,s)=>{e=e.z<t?this.output_fft[s]=this.input_fft.output[s]:this.output_fft[s]=r(0,0)})),qt(this.output_fft).re}highPass(t){return this.input_fft.output.forEach(((e,s)=>{e=e.z>t?this.output_fft[s]=this.input_fft.output[s]:this.output_fft[s]=r(0,0)})),qt(this.output_fft).re}bandePass(){}bandeCoupe(){}}const Gt={zeros:At,ones:Dt,nums:_t,arange:St,linspace:Lt,logspace:Ot,geomspace:jt,map:Tt,norm:Bt,lerp:Mt,clamp:It,noise:(t,e=0,s=1)=>J.floats(t,e,s),echelon(t,e=0,s=1){t instanceof Array||(t=[t]);const r=mt((t=>t>=e?1:0),...t);return r instanceof Array?r.map((t=>t*s)):r*s},rampe(t,e=0,s=1){t instanceof Array||(t=[t]);const r=mt((t=>t>=e?t-e:0),...t);return r instanceof Array?r.map((t=>t*s)):r*s},sign(t,e=0,s=1){t instanceof Array||(t=[t]);const r=mt((t=>Math.sign(t-e)),...t);return r instanceof Array?r.map((t=>t*s)):r*s},rect(t,e,s=0,r=1){t instanceof Array||(t=[t]);const n=mt((t=>s-e/2<t&&s+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*r)):n*r},tri(t,e,s=0,r=1){t instanceof Array||(t=[t]);const n=mt((t=>s-e/2<t&&s+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*r)):n*r},dirac:(t,e)=>mt((t=>t===e?1/0:0),...t),lorentz(t,e=0,s=1){t instanceof Array||(t=[t]);const r=mt((t=>1/(1+(t-e)**2)),...t);return r instanceof Array?r.map((t=>t*s)):r*s},sinc(t,e,s=1){t instanceof Array||(t=[t]);const r=mt((t=>E(t-e)),...t);return r instanceof Array?r.map((t=>t*s)):r*s},square(t,e=1,s=1){t instanceof Array||(t=[t]);const r=mt((t=>U(x(2*t*Math.PI/e))),...t);return r instanceof Array?r.map((t=>t*s)):r*s},sawtooth(){},conv:Yt,conv1d:Wt,conv2d:Xt,circularConv:(t,e)=>Yt(t,e,!0),linearConv:(t,e)=>Yt(t,e,!1),circularConv1d:(t,e)=>Wt(t,e,!0),linearConv1d:(t,e)=>Wt(t,e,!1),circularConv2d:(t,e)=>Xt(t,e,!0),linearConv2d:(t,e)=>Xt(t,e,!1),fft:Zt,ifft:qt,filter:t=>new Kt(t)},Qt={PI:Ct,E:Et,EPSILON:kt,Random:J,complex:r,Complex:s,Matrix:ot,LinearSystem:ut,matrix:at,matrix2:ht,matrix3:lt,matrix4:ct,cos:v,sin:x,tan:F,sinc:E,sec:C,csc:k,cot:A,abs:d,sqrt:g,pow:f,sqrtn:y,e:b,ln:w,acos:D,asin:_,atan:B,acot:M,cosh:T,sinh:I,tanh:S,coth:L,acosh:O,asinh:j,atanh:R,min:o,max:a,sign:U,floor:P,ceil:V,round:N,fact:z,hypot:Z,sig:H,atan2:$,Utils:Ht,mapfun:mt,nums:_t,zeros:At,ones:Dt,sum:n,prod:i,add:bt,mul:vt,div:xt,sub:wt,modulo:Ft,rad2deg:Vt,deg2rad:Rt,arange:St,linspace:Lt,logspace:Ot,geomspace:jt,norm:Bt,lerp:Mt,map:Tt,clamp:It,pgcd:zt,ppcm:Ut,isApproximatlyEqual:Nt,inRange:Pt,cartesianProduct:$t,Discret:Q,Logic:Y,Base:X,Permutation:K,Combinaison:G,powerSet:q,subSet:W,Signal:Gt,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}},Jt=(t,e="px")=>("number"==typeof t&&(t+=e),t instanceof Array&&(t=t.map((t=>"number"==typeof t?t+=e:t)).join(" ")),t);class te{constructor(t={}){this.target=null,this.styles=new Map([["default",t]]),this.cache={isHidden:!1,isFaddedOut:!1,transformation:{Flip:[0,0,0],matrix:new ot([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])}}}style(t,{target:e="parent",maskVector:s=null}={}){return"parent"===e||0===e?((t,e)=>{t&&Object.assign(t.style,e)})(this.target.element,t):"parent"!==e&&0!==e||(s?this.items.map(((e,r)=>1==s[r]&&e.style(t))):this.items.map((e=>e.style(t)))),this}linkTo(t){return this.target=t,this}use(t="default"){return this.style(this.styles.get(t)),this}update(t,e){const s=this.styles.get(t);return s?this.styles.set(t,Object.assign(s,e)):this.styles.set(t,e),this}add(t,e){return this.styles.set(t,e),this}replace(t,e){return this.styles.set(t,e),this}delete(...t){return t.forEach((t=>this.styles.delete(t))),this}updateDefaultStyle(){const t=Object.fromEntries(Object.entries(this.target.element.style).filter((t=>isNaN(+t[0]))));return this.update("default",t),this}hover(t){return t&&this.add("hover",t),this.target.element.addEventListener("pointerenter",(()=>this.use("hover"))),this.target.element.addEventListener("pointerleave",(()=>this.use("default"))),this}isInline(){return getComputedStyle(this.target.element).display.includes("inline")}isBlock(){return!this.isInline()}size(t,e,{target:s,maskVector:r}={}){return this.style({width:t,height:e},{target:s,maskVector:r}),this}width(t,{target:e,maskVector:s}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let r=t.min??t.max,n=t.max??t.min;r=Jt(r,"px"),n=Jt(n,"px"),this.style({minWidth:r,maxWidth:n},{target:e,maskVector:s})}}else t=Jt(t,"px"),this.style({width:t},{target:e,maskVector:s});return this}height(t,{target:e,maskVector:s}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let r=t.min??t.max,n=t.max??t.min;r=Jt(r,"px"),n=Jt(n,"px"),this.style({minHeight:r,maxHeight:n},{target:e,maskVector:s})}}else t=Jt(t,"px"),this.style({height:t},{target:e,maskVector:s});return this}enableResize(t=!1,e=!1,{target:s,maskVector:r}={}){let n="none";return n=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:n,overflow:"hidden"},{target:s,maskVector:r}),this.isInline()&&(console.group("Ziko Issue : Temporarily Incompatible Method"),console.warn(".enableResize has no effect on inline elements!"),console.info("%cConsider using other display types such as block, inline-block, flex, or grid for proper resizing behavior.","color:gold;background-color:#3333cc;padding:5px"),console.groupEnd()),this}hide({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.hide({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:s});return this}show({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.show({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:s});return this}color(t,{target:e,maskVector:s}={}){return this.style({color:t},{target:e,maskVector:s}),this}background(t,{target:e,maskVector:s}={}){return this.style({background:t},{target:e,maskVector:s}),this}backgroundColor(t,{target:e,maskVector:s}={}){return this.style({backgroundColor:t},{target:e,maskVector:s}),this}opacity(t,{target:e,maskVector:s}={}){return this.style({opacity:t},{target:e,maskVector:s}),this}position(t,{target:e,maskVector:s}={}){return this.style({position:t},{target:e,maskVector:s}),this}display(t,{target:e,maskVector:s}={}){return this.style({display:t},{target:e,maskVector:s}),this}zIndex(t,{target:e,maskVector:s}={}){return this.style({zIndex:t},{target:e,maskVector:s}),this}float(t,{target:e,maskVector:s}={}){return this.style({float:t},{target:e,maskVector:s}),this}border(t="1px solid red",{target:e,maskVector:s}={}){return this.style({border:t},{target:e,maskVector:s}),this}borderTop(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderTop:t},{target:e,maskVector:s}),this}borderRight(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderRight:t},{target:e,maskVector:s}),this}borderBottom(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderBottom:t},{target:e,maskVector:s}),this}borderLeft(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderLeft:t},{target:e,maskVector:s}),this}borderRadius(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({borderRadius:t},{target:e,maskVector:s}),this}margin(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({margin:t},{target:e,maskVector:s}),this}marginTop(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({marginTop:t},{target:e,maskVector:s}),this}marginRight(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({marginRight:t},{target:e,maskVector:s}),this}marginBootom(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({marginBootom:t},{target:e,maskVector:s}),this}marginLeft(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({marginLeft:t},{target:e,maskVector:s}),this}padding(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({padding:t},{target:e,maskVector:s}),this}paddingTop(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({paddingTop:t},{target:e,maskVector:s}),this}paddingRight(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({paddingRight:t},{target:e,maskVector:s}),this}paddingBootom(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({paddingBootom:t},{target:e,maskVector:s}),this}paddingLeft(t,{target:e,maskVector:s}={}){return t=Jt(t,"px"),this.style({paddingLeft:t},{target:e,maskVector:s}),this}font(t,{target:e,maskVector:s}={}){return this.style({font:t},{target:e,maskVector:s}),this}fontFamily(t="",{target:e,maskVector:s}={}){return this.style({fontFamily:t},{target:e,maskVector:s}),this}fontSize(t,{target:e,maskVector:s}={}){return this.style({fontSize:t},{target:e,maskVector:s}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e,{target:s,maskVector:r}={}){const n=["hidden","auto"];return this.style({overflowX:"number"==typeof t?n[t]:t,overflowY:"number"==typeof e?n[e]:e},{target:s,maskVector:r}),this}clip(t,{target:e,maskVector:s}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:s}),this}fadeOut(t=1){return this.style({transition:t/1e3+"s",opacity:0}),this.cache.isFaddedOut=!0,this}fadeIn(t=1){return this.style({transition:t/1e3+"s",opacity:1}),this.cache.isFaddedOut=!1,this}toggleFade(t=1e3,e=t){return this.cache.isFaddedOut?this.fadeIn(t):this.fadeOut(e),this}#s(t){const e=this.cache.transformation.matrix.arr.join(",");this.style({transform:`matrix3d(${e})`,"-webkit-transform":`matrix3d(${e})`,"-moz-transform":`matrix3d(${e})`,"-ms-transform":`matrix3d(${e})`,"-o-transform":`matrix3d(${e})`}),0!=t&&this.style({transition:`transform ${t/1e3}s ease`})}translate(t,e=t,s=0,r=0){return this.cache.transformation.matrix.set(3,0,t),this.cache.transformation.matrix.set(3,1,e),this.cache.transformation.matrix.set(3,2,s),this.#s(r),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#s(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#s(e),this}translateZ(t,e=0){const s=-1/this.cache.transformation.matrix[2][2];return this.cache.transformation.matrix.set(3,2,t),this.cache.transformation.matrix.set(3,3,1-t/s),this.#s(e),this}perspective(t,e=0){const s=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/t),this.cache.transformation.matrix.set(3,3,1-s/t),this.#s(e),this}scale(t,e=t,s=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.set(1,1,e),this.cache.transformation.matrix.arr.join(","),this.#s(s),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.arr.join(","),this.#s(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#s(e),this}skew(t,e=t,s=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.set(1,0,e),this.cache.transformation.matrix.arr.join(","),this.#s(s),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#s(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#s(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,v(t)),this.cache.transformation.matrix.set(1,2,-x(t)),this.cache.transformation.matrix.set(2,1,x(t)),this.cache.transformation.matrix.set(1,2,v(t)),this.#s(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,v(t)),this.cache.transformation.matrix.set(0,2,x(t)),this.cache.transformation.matrix.set(2,0,-x(t)),this.cache.transformation.matrix.set(2,2,v(t)),this.#s(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,v(t)),this.cache.transformation.matrix.set(0,1,-x(t)),this.cache.transformation.matrix.set(1,0,x(t)),this.cache.transformation.matrix.set(1,1,v(t)),this.#s(e),this}flipeX({t:t=1}={}){return this.cache.transformation.Flip[0]+=180,this.cache.transformation.Flip[0]%=360,this.rotateX(this.cache.transformation.Flip[0],t),this}flipeY(t=1){return this.cache.transformation.Flip[1]+=180,this.cache.transformation.Flip[1]%=360,this.rotateY(this.cache.transformation.Flip[1],t),this}flipeZ(t=1){return this.cache.transformation.Flip[2]+=180,this.cache.transformation.Flip[2]%=360,this.rotateZ(this.cache.transformation.Flip[2],t),this}slideHeightIn(t=1,e=this.h){return this.style({transition:t+"s",height:e}),this}slideHeightOut(t=1){return this.style({transition:t+"s",height:0}),this.target.element.addEventListener("transitionend",(()=>this.style({opacity:"none"}))),this}slideWidthIn(t=1,e=this.w){return this.style({transition:t+"s",width:e}),this}slideWidthOut(t=1){this.style({transition:t+"s",width:0});const e=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",e),this.target.element.removeEventListener("transitionend",e),this}slideIn({t:t=1,w:e="100%",h:s="auto"}={}){return this.style({transition:t+"s",width:e,height:s,visibility:"visible"}),this}slideOut({t:t=1,width:e=0,height:s=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:s});const r=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",r),this.target.element.removeEventListener("transitionend",r),this}}function ee(t,e,s,r){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),s&&s(),this.cache.stream.enabled[e]&&r&&this.cache.stream.history[e].push(r),this.cache.callbacks[e].map((t=>t(this))),this}class se{constructor(t){this.target=null,this.setTarget(t),this.__dispose=this.dispose.bind(this)}get targetElement(){return this.target.element}setTarget(t){return this.target=t,this}__handle(t,e,s){const r="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(s),this.targetElement.addEventListener(r,e),this}__onEvent(t,e,...s){if(0===s.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=s.map((t=>e=>t.call(this,e)));return this.__handle(t,this.__controller[t],e),this}preventDefault(t={}){return Object.assign(this.cache.preventDefault,t),this}pause(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.removeEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!0);return this}resume(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.addEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!1);return this}dispose(t={}){return this.pause(t),this}stream(t={}){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.clear).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.cache.stream.history[e]=[]);return this}}function re(t){ee.call(this,t,"down",(()=>{this.dx=parseInt(t.offsetX),this.dy=parseInt(t.offsetY),this.isDown=!0}),{x:this.dx,y:this.dy,t:Date.now()-this.cache.stream.t0})}function ne(t){ee.call(this,t,"move",(()=>{this.mx=parseInt(t.offsetX),this.my=parseInt(t.offsetY),this.isMoving=!0}),{x:this.mx,y:this.my,t:Date.now()-this.cache.stream.t0})}function ie(t){ee.call(this,t,"up",(()=>{this.ux=parseInt(t.offsetX),this.uy=parseInt(t.offsetY),this.isDown=!1;const e=this.dx,s=this.dy,r=this.ux,n=this.uy,i=(r-e)/this.target.Width,o=(s-n)/this.target.Height,a=i<0?"left":i>0?"right":"none",h=o<0?"bottom":o>0?"top":"none";this.swippe={h:a,v:h,delta_x:i,delta_y:o}}),{x:this.ux,y:this.uy,t:Date.now()-this.cache.stream.t0})}function oe(t){ee.call(this,t,"enter",null,null)}function ae(t){ee.call(this,t,"leave",null,null)}function he(t){ee.call(this,t,"out",null,null)}class le extends se{constructor(t){super(t),this.event=null,this.dx=0,this.dy=0,this.dt=0,this.mx=0,this.my=0,this.mt=0,this.ux=0,this.uy=0,this.ut=0,this.swippe={h:null,v:null,delta_x:0,delta_y:0},this.isMoving=!1,this.isDown=!1,this.cache={prefixe:"pointer",preventDefault:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},paused:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},stream:{enabled:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},clear:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},history:{down:[],move:[],up:[],enter:[],out:[],leave:[]}},callbacks:{down:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],move:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],up:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],enter:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],out:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],leave:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})]}},this.__controller={down:re.bind(this),move:ne.bind(this),up:ie.bind(this),enter:oe.bind(this),out:he.bind(this),leave:ae.bind(this)}}onDown(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("down",{down:!0,move:!1,up:!1,enter:!1,out:!1,leave:!1},...t),this}onMove(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("move",{down:!1,move:!0,up:!1,enter:!1,out:!1,leave:!1},...t),this}onUp(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("up",{down:!1,move:!1,up:!0,enter:!1,out:!1,leave:!1},...t),this}onEnter(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("enter",{down:!1,move:!1,up:!1,enter:!0,out:!1,leave:!1},...t),this}onOut(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("out",{down:!1,move:!1,up:!1,enter:!1,out:!0,leave:!1},...t),this}onLeave(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("leave",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!0},...t),this}}var ce=t=>new le(t);class ue extends se{constructor(t){super(t),this.event=null,this.dx=0,this.dy=0,this.dt=0,this.mx=0,this.my=0,this.mt=0,this.ux=0,this.uy=0,this.ut=0,this.swippe={h:null,v:null,delta_x:0,delta_y:0},this.isMoving=!1,this.isDown=!1,this.cache={prefixe:"mouse",preventDefault:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},paused:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},stream:{enabled:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},clear:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},history:{down:[],move:[],up:[],enter:[],out:[],leave:[],over:[]}},callbacks:{down:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],move:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],up:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],enter:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],out:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],leave:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],over:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})]}},this.__controller={down:me.bind(this),move:pe.bind(this),up:de.bind(this),enter:ge.bind(this),out:ye.bind(this),leave:fe.bind(this),over:be.bind(this)}}onDown(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("down",{down:!0,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},...t),this}onMove(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("move",{down:!1,move:!0,up:!1,enter:!1,out:!1,leave:!1,over:!1},...t),this}onUp(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("up",{down:!1,move:!1,up:!0,enter:!1,out:!1,leave:!1,over:!1},...t),this}onEnter(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("enter",{down:!1,move:!1,up:!1,enter:!0,out:!1,leave:!1,over:!1},...t),this}onOut(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("out",{down:!1,move:!1,up:!1,enter:!1,out:!0,leave:!1,over:!1},...t),this}onLeave(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("leave",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!0,over:!1},...t),this}onOver(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("over",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!0},...t),this}}function me(t){ee.call(this,t,"down",(()=>{this.dx=parseInt(t.offsetX),this.dy=parseInt(t.offsetY),this.isDown=!0}),{x:this.dx,y:this.dy,t:Date.now()-this.cache.stream.t0})}function pe(t){ee.call(this,t,"move",(()=>{this.mx=parseInt(t.offsetX),this.my=parseInt(t.offsetY),this.isMoving=!0}),{x:this.mx,y:this.my,t:Date.now()-this.cache.stream.t0})}function de(t){ee.call(this,t,"up",(()=>{this.ux=parseInt(t.offsetX),this.uy=parseInt(t.offsetY),this.isDown=!1;const e=this.dx,s=this.dy,r=this.ux,n=this.uy,i=(r-e)/this.target.Width,o=(s-n)/this.target.Height,a=i<0?"left":i>0?"right":"none",h=o<0?"bottom":o>0?"top":"none";this.swippe={h:a,v:h,delta_x:i,delta_y:o}}),{x:this.ux,y:this.uy,t:Date.now()-this.cache.stream.t0})}function ge(t){ee.call(this,t,"enter",null,null)}function fe(t){ee.call(this,t,"leave",null,null)}function ye(t){ee.call(this,t,"out",null,null)}function be(t){ee.call(this,t,"out",null,null)}const we=t=>new ue(t);function ve(t){ee.call(this,t,"wheel",null,null)}class xe extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{wheel:!1},paused:{wheel:!1},stream:{enabled:{wheel:!1},clear:{wheel:!1},history:{wheel:[]}},callbacks:{click:[]}},this.__controller={wheel:ve.bind(this)}}onWheel(...t){return this.__onEvent("wheel",{},...t),this}}const Fe=t=>new xe(t);function Ce(t){ee.call(this,t,"down",(()=>this.kd=t.key),{key:t.key,t:10})}function Ee(t){ee.call(this,t,"press",(()=>this.kp=t.key),{key:t.key,t:10})}function ke(t){ee.call(this,t,"up",(()=>this.ku=t.key),{key:t.key,t:10})}class Ae extends se{constructor(t){super(t),this.kp=null,this.kd=null,this.ku=null,this.t=0,this.cache={prefixe:"key",preventDefault:{down:!1,press:!1,up:!1},paused:{down:!1,press:!1,up:!1},stream:{enabled:{down:!1,press:!1,up:!1},clear:{down:!0,press:!1,up:!1},history:{down:[],press:[],up:[]}},callbacks:{down:[t=>console.log({kd:t.kd})],press:[t=>console.log({kp:t.kp})],up:[t=>console.log({ku:t.ku})]},successifKeysCallback:{down:[t=>console.log(1111)],press:[t=>console.log(1112)],kyup:[t=>console.log(1113)]}},this.__controller={down:Ce.bind(this),press:Ee.bind(this),up:ke.bind(this)}}onDown(...t){return this.__onEvent("down",{down:!0},...t),this}onPress(...t){return this.__onEvent("press",{press:!0},...t),this}onUp(...t){return this.__onEvent("up",{up:!0},...t),this}}var De=t=>new Ae(t);function _e(t){ee(this,t,"start",null)}function Be(t){ee.call(this,t,"drag",null,null)}function Me(t){ee.call(this,t,"end",null,null)}function Te(t){ee.call(this,t,"drop",null,null)}class Ie extends se{constructor(t){super(t),this.target.setAttribute("draggable",!0),this.cache={prefixe:"drag",preventDefault:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},paused:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},callbacks:{drag:[],start:[],end:[],enter:[],leave:[],over:[]},stream:{enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},clear:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},history:{drag:[],start:[],end:[],enter:[],leave:[],over:[]}}},this.__controller={start:_e.bind(this),drag:Be.bind(this),end:Me.bind(this)}}onStart(...t){return this.__onEvent("start",{},...t),this}onDrag(...t){return this.__onEvent("drag",{},...t),this}onEnd(...t){return this.__onEvent("end",{},...t),this}}class Se extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{drop:!1},paused:{drop:!1},stream:{enabled:{drop:!1},clear:{drop:!1},history:{drop:[]}},callbacks:{drop:[t=>console.log({dx:t.dx,dy:t.dy,drop:t.drop,move:t.move,t:t.dt})]}},this.__controller={drop:Te.bind(this)}}onDrop(...t){return this.__onEvent("drop",{},...t),this}}const Le=t=>new Ie(t),Oe=t=>new Se(t);function je(t){ee.call(this,t,"click",null,null)}function Re(t){ee.call(this,t,"dbclick",null,null)}class Ve extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{click:!1,dbclick:!1},paused:{click:!1,dbclick:!1},stream:{enabled:{click:!1,dbclick:!1},clear:{click:!1,dbclick:!1},history:{click:[],dbclick:[]}},callbacks:{click:[],dbclick:[]}},this.__controller={click:je.bind(this),dbclick:Re.bind(this)}}onClick(...t){return this.__onEvent("click",{},...t),this}onDbClick(...t){return this.__onEvent("dbclick",{},...t),this}}const Pe=t=>new Ve(t);function Ne(t){ee.call(this,t,"copy",null,null)}function $e(t){ee.call(this,t,"cut",null,null)}function ze(t){ee.call(this,t,"paste",null,null)}function Ue(t){ee.call(this,t,"select",null,null)}class He extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{copy:!1,cut:!1,paste:!1,select:!1},paused:{copy:!1,cut:!1,paste:!1,select:!1},stream:{enabled:{copy:!1,cut:!1,paste:!1,select:!1},clear:{copy:!1,cut:!1,paste:!1,select:!1},history:{copy:[],cut:[],paste:[],select:[]}},callbacks:{copy:[],cut:[],paste:[],select:[]}},this.__controller={copy:Ne.bind(this),cut:$e.bind(this),paste:ze.bind(this),select:Ue.bind(this)}}onCopy(...t){return this.__onEvent("copy",{},...t),this}onCut(...t){return this.__onEvent("cut",{},...t),this}onPaste(...t){return this.__onEvent("paste",{},...t),this}onSelect(...t){return this.__onEvent("select",{},...t),this}}const Ze=t=>new He(t);function qe(t){ee.call(this,t,"focus",null,null)}function We(t){ee.call(this,t,"blur",null,null)}class Xe extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{focus:!1,blur:!1},paused:{focus:!1,blur:!1},stream:{enabled:{focus:!1,blur:!1},clear:{focus:!1,blur:!1},history:{focus:[],blur:[]}},callbacks:{focus:[],blur:[]}},this.__controller={focus:qe.bind(this),blur:We.bind(this)}}onFocus(...t){return this.__onEvent("focus",{},...t),this}onBlur(...t){return this.__onEvent("blur",{},...t),this}}const Ye=t=>new Xe(t);function Ke(t){ee.call(this,t,"input",null,null)}function Ge(t){ee.call(this,t,"change",null,null)}class Qe extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{input:!1,change:!1},paused:{input:!1,change:!1},stream:{enabled:{input:!1,change:!1},clear:{input:!1,change:!1},history:{input:[],change:[]}},callbacks:{input:[],change:[]}},this.__controller={input:Ke.bind(this),change:Ge.bind(this)}}get value(){return this.target.value}onInput(...t){return this.__onEvent("input",{},...t),this}onChange(...t){return this.__onEvent("change",{},...t),this}}const Je=t=>new Qe(t);function ts(t){ee.call(this,t,"hashchange",null,null)}class es extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{hashchange:!1},paused:{hashchange:!1},stream:{enabled:{hashchange:!1},clear:{hashchange:!1},history:{hashchange:[]}},callbacks:{hashchange:[]}},this.__controller={hashchange:ts.bind(this)}}onChange(...t){return this.__onEvent("hashchange",{},...t),this}}const ss=t=>new es(t),rs=t=>function(e){ee.call(this,e,t,null,null)};class ns extends se{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{}},this.__controller={}}#r(t){return this.cache.preventDefault[t]=!1,this.cache.paused[t]=!1,this.cache.stream.enabled=!1,this.cache.stream.clear=!1,this.cache.stream.history=[],this.cache.callbacks[t]=[],this.__controller[t]=rs(t).bind(this),this}on(t,...e){return this.__controller[t]||this.#r(t),this.__onEvent(t,{},...e),this}emit(t,e={}){this.__controller[t]||this.#r(t),this.detail=e;const s=new Event(t);return this.targetElement.dispatchEvent(s),this}}const is=t=>new ns(t),os={usePointerEvent:ce,useMouseEvent:we,useWheelEvent:Fe,useKeyEvent:De,useDragEvent:Le,useDropEvent:Oe,useClickEvent:Pe,useClipboardEvent:Ze,useFocusEvent:Ye,useInputEvent:Je,useHashEvent:ss,useCustomEvent:is,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class as{constructor(t,e,{threshold:s=0,margin:r=0}={}){this.target=t,this.config={threshold:s,margin:r},this.observer=new IntersectionObserver((t=>{this.entrie=t[0],e(this)}),{threshold:this.threshold})}get ratio(){return this.entrie.intersectionRatio}get isIntersecting(){return this.entrie.isIntersecting}setThreshould(t){return this.config.threshold=t,this}setMargin(t){return t="number"==typeof t?t+"px":t,this.config.margin=t,this}start(){return this.observer.observe(this.target.element),this}stop(){return this}}const hs=(t,e,s)=>new as(t,e,s);class ls{constructor(t,e){this.UIElement=t,this.options=e||{attributes:!0,childList:!0,subtree:!0},this.observer=null,this.streamingEnabled=!0,this.mutationHistory={attributes:[],childList:[],subtree:[]},this.observeCallback=(t,e)=>{if(this.streamingEnabled)for(const e of t)switch(e.type){case"attributes":this.mutationHistory.attributes.push(e.target.getAttribute(e.attributeName));break;case"childList":this.mutationHistory.childList.push(e);break;case"subtree":this.mutationHistory.subtree.push(e)}this.callback&&this.callback(t,e)}}observe(t){this.observer||(this.observer=new MutationObserver(this.observeCallback),this.observer.observe(this.UIElement.element,this.options),this.callback=t,this.streamingEnabled=!0)}pause(t){this.observer&&(this.observer.disconnect(),t&&this.observer.observe(this.UIElement,t))}reset(t){this.observer&&(this.observer.disconnect(),this.observer.observe(this.UIElement,t||this.options))}clear(){return this.observer&&(this.observer.disconnect(),this.observer=null,this.mutationHistory={attributes:[],childList:[],subtree:[]}),this.streamingEnabled=!1,this}getMutationHistory(){return this.mutationHistory}enableStreaming(){return this.streamingEnabled=!0,this}disableStreaming(){return this.streamingEnabled=!1,this}}const cs=(t,e={},s=null)=>{const r=new ls(t,e);return s&&r.observe(s),r},us=(t,e=null)=>cs(t,{attributes:!0,childList:!1,subtree:!1},(([t])=>e(t))),ms=(t,e=null)=>cs(t,{attributes:!1,childList:!0,subtree:!1},(([t])=>e(t)));class ps{constructor(t,e){this.target=t,this.contentRect=null,this.observer=new ResizeObserver((()=>{e(this)}))}get BoundingRect(){return this.target.element.getBoundingClientRect()}get width(){return this.BoundingRect.width}get height(){return this.BoundingRect.height}get top(){return this.BoundingRect.top}get bottom(){return this.BoundingRect.bottom}get right(){return this.BoundingRect.right}get left(){return this.BoundingRect.left}get x(){return this.BoundingRect.x}get y(){return this.boundingRect.y}start(){return this.observer.observe(this.target.element),this}stop(){return this.observer.unobserve(this.target.element),this}}const ds=(t,e)=>new ps(t,e);class gs{constructor(t,{fps:e,step:s,t:r=[0,null],start:n=!0}={}){this.callback=t,this.cache={isRunning:!1,AnimationId:null,startTime:null,step:s,fps:e,t:r,started:n},this.adjust(),this.i=0}adjust(){if(this.cache.step&&this.cache.fps&&(console.warn(`Fps will be adjusted from ${this.cache.fps} to ${1e3/this.cache.step} to ensure a smoother animation`),this.cache.fps=1e3/this.cache.step),this.cache.started){const t=this.cache.t;t[0]?this.startAfter(t[0]):this.start(),t[1]&&t[1]!==1/0&&this.stopAfter(t[1])}return this}get TIME_STEP(){return this.cache.step?this.cache.step:1e3/this.cache.fps}start(){return this.cache.isRunning||(this.i=0,this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}stop(){return this.pause(),this.i=0,this}resume(){return this.cache.isRunning=!0,this.animate(),this}startAfter(t=1e3){return setTimeout(this.start.bind(this),t),this}stopAfter(t=1e3){return setTimeout(this.stop.bind(this),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.startTime;e>this.TIME_STEP&&(this.callback(this),this.i++,this.cache.startTime=t-e%this.TIME_STEP),this.cache.AnimationId=setTimeout(this.animate,0)}}}const fs=(t,e)=>new gs(t,e),ys={Linear:function(t){return t},InSin:t=>1-Math.cos(t*Math.PI/2),OutSin:t=>Math.sin(t*Math.PI/2),InOutSin:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t**2,OutQuad:t=>1-Math.pow(1-t,2),InOutQuad:t=>t<.5?2*Math.pow(t,2):1-Math.pow(-2*t+2,2)/2,InCubic:t=>t**3,OutCubic:t=>1-Math.pow(1-t,3),InOutCubic:t=>t<.5?4*Math.pow(t,3):1-Math.pow(-2*t+2,3)/2,InQuart:t=>t**4,OutQuart:t=>1-Math.pow(1-t,4),InOutQuart:t=>t<.5?8*Math.pow(t,4):1-Math.pow(-2*t+2,4)/2,InQuint:t=>t**5,OutQuint:t=>1-Math.pow(1-t,5),InOutQuint:t=>t<.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)/2,InExpo:t=>0===t?0:Math.pow(2,10*t-10),OutExpo:t=>1===t?1:1-Math.pow(2,-10*t),InOutExpo:t=>0===t?0:1===t?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-Math.pow(t,2)),OutCirc:t=>Math.sqrt(1-Math.pow(t-1,2)),InOutCic:t=>t<.5?(1-Math.sqrt(1-Math.pow(2*t,2)))/2:(Math.sqrt(1-Math.pow(-2*t+2,2))+1)/2,Arc:t=>1-Math.sin(Math.acos(t)),Back:t=>Math.pow(t,2)*(2*t-1),Elastic:t=>-2*Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*t/3*t),InBack(t){const e=1.70158;return 2.70158*Math.pow(t,3)-e*t**2},OutBack(t){const e=1.70158;return 1+2.70158*Math.pow(t-1,3)+e*Math.pow(t-1,2)},InOutBack(t){const e=2.5949095;return t<.5?Math.pow(2*t,2)*(7.189819*t-e)/2:(Math.pow(2*t-2,2)*((e+1)*(2*t-2)+e)+2)/2},InElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:-Math.pow(2,10*t-10)*Math.sin((10*t-10.75)*e)},OutElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin((10*t-.75)*e)+1},InOutElastic(t){const e=2*Math.PI/4.5;return 0===t?0:1===t?1:t<.5?-Math.pow(2,20*t-10)*Math.sin((20*t-11.125)*e)/2:Math.pow(2,-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-ys.OutBounce(1-t),OutBounce(t){const e=7.5625,s=2.75;return t<1/s?e*t*t:t<2/s?e*(t-=1.5/s)*t+.75:t<2.5/s?e*(t-=2.25/s)*t+.9375:e*(t-=2.625/s)*t+.984375},InOutBounce:t=>t<.5?(1-ys.OutBounce(1-2*t))/2:(1+ys.OutBounce(2*t-1))/2},bs=(t,e=1e3)=>(...s)=>setTimeout((()=>t(...s)),e),ws=(t,e)=>{let s=0;return(...r)=>{const n=(new Date).getTime();n-s<e||(s=n,t(...r))}},vs=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,r=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:r}},xs=t=>new Promise((e=>{if(t.element)return e(t.element);const s=new MutationObserver((()=>{t.element&&(e(t.element),s.disconnect())}));s.observe(document.body,{childList:!0,subtree:!0})})),Fs=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},Cs=t=>new Promise((e=>setTimeout(e,t))),Es=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};class ks{constructor(t,{ease:e=ys.Linear,step:s=50,t:r=[0,null],start:n=!0,duration:i=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:s,intervall:r,started:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#n(){this.t+=this.cache.step,this.i++,this.tx=Tt(this.t,0,this.cache.duration,0,1),this.ty=this.cache.ease(this.tx),this.callback(this),this.t>=this.cache.duration&&(clearInterval(this.cache.AnimationId),this.cache.isRunning=!1)}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}#i(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#n.bind(this),this.cache.step)),this}start(){return this.#i(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#i(!1),this}stop(){return this.pause(),this.reset(!1),this}}const As=(t,e)=>new ks(t,e),Ds={wait:Cs,timeTaken:Es,useThrottle:ws,useDebounce:bs,Ease:ys,time_memory_Taken:vs,loop:fs,animation:As,waitForUIElm:xs,waitForUIElmSync:Fs,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class _s{constructor(t=(t=>console.log({x:t.x,y:t.y}))){this.previousX=globalThis?.screenX,this.previousY=globalThis?.screenY,this.view=[-1,-1,1,1],this.start(t)}get xMin(){return this.view[0]}get yMin(){return this.view[1]}get xMax(){return this.view[2]}get yMax(){return this.view[3]}get x(){return globalThis?.screenX}get y(){return globalThis?.screenY}get scx(){return screen.availWidth/2}get scy(){return screen.availHeight/2}get wcx(){return screenX+globalThis?.innerWidth/2}get wcx_v(){return Tt(this.wcx,0,screen.availWidth,this.view[0],this.view[2])}get wcy(){return screenY+globalThis?.innerHeight/2}get wcy_v(){return-Tt(this.wcy,0,screen.availHeight,this.view[1],this.view[3])}get dx(){return Tt(this.x,0,screen.availWidth,this.xMin,this.xMax)}get dy(){return Tt(this.y,0,screen.availHeight,this.yMin,this.yMax)}start(t){return this.loop=fs((()=>{let e=globalThis?.screenX,s=globalThis?.screenY;this.previousX===e&&this.previousY===s||(t(this),this.previousX=e,this.previousY=s)}),{fps:10,t:[0,1/0],start:!0}),this}}const Bs=t=>new _s(t);globalThis.watchScreen=Bs;const Ms={watch:cs,watchAttr:us,watchChildren:ms,watchIntersection:hs,watchSize:ds,watchScreen:Bs,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class Ts{constructor(t,e=0){this.id="Ziko-Style-"+e,this.use(t),this.keys=new Set,this.styles={default:{fontSize:"1em"}}}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t instanceof Object?Object.assign(this.styles,t):Object.assign(this.styles,{[t]:e}),this}#o(t){const e=Object.keys(this.styles);for(let s in this.styles[e[t]])document.documentElement.style.setProperty(`--${s}-${this.id}`,this.styles[e[t]][s]),this.keys.add(s);return this}#a(t){for(let e in this.styles[t])document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e);return this}#h(t){for(let e in t)document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e);return this}use(t){return"number"==typeof t&&this.#o(t),"string"==typeof t&&this.#a(t),t instanceof Object&&this.#h(t),this}}const Is=t=>e=>new Ts(e,t),Ss={cozyCottonCandy:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},crystalClear:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"},lightdreamyDusk:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},luminousLavender:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},meadowMornings:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},moonlitMauve:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},morningMist:{background:"#F6F6F6",currentLine:"#EAEAEA",selection:"#D8D8D8",foreground:"#333333",comment:"#808080",cyan:"#00A6A6",green:"#4CAF50",orange:"#FFA726",pink:"#FF4081",purple:"#9C27B0",red:"#FF5252",yellow:"#FFD740"},oceanBreeze:{background:"#ECF1F4",currentLine:"#DDE8ED",selection:"#BFD3C1",foreground:"#37474F",comment:"#607D8B",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},pastelParadise:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},pastelPetals:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sereneSnowfall:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},softSherbet:{background:"#FDF8F3",currentLine:"#FAF1EB",selection:"#FFEBEE",foreground:"#6D4C41",comment:"#A1887F",cyan:"#00BCD4",green:"#689F38",orange:"#FFA000",pink:"#EC407A",purple:"#8E24AA",red:"#E53935",yellow:"#FFC107"},subtleSerenity:{background:"#F3F5F7",currentLine:"#E8EDF2",selection:"#D1D9E6",foreground:"#2C3E50",comment:"#95A5A6",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},summerSunset:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#4E342E",comment:"#795548",cyan:"#009688",green:"#43A047",orange:"#FF5722",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sunnyDay:{background:"#FFF8E1",currentLine:"#FFF3E0",selection:"#FFE0B2",foreground:"#4E342E",comment:"#795548",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},tranquilTwilight:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},tranquilWaves:{background:"#F9F9F9",currentLine:"#E4E4E4",selection:"#D4D4D4",foreground:"#2C3E50",comment:"#7F8C8D",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},whisperingWillow:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"}},Ls={antiqueRose:{background:"#1C1014",currentLine:"#2B1B21",selection:"#443034",foreground:"#D8B5B5",comment:"#7F5E5E",cyan:"#6FA2A2",green:"#66A66F",orange:"#FFB97A",pink:"#FFA8BD",purple:"#B78DA5",red:"#FF6C6C",yellow:"#FFD579"},auroraBorealis:{background:"#1D1426",currentLine:"#2B1E35",selection:"#432D4E",foreground:"#C2AABF",comment:"#7F6E8E",cyan:"#7EA5D3",green:"#77C992",orange:"#FFC476",pink:"#FFA8B3",purple:"#AE9AC3",red:"#FF6C6C",yellow:"#FFD576"},autumnHarvest:{background:"#291C10",currentLine:"#3A2A1E",selection:"#573C2C",foreground:"#D4C3A2",comment:"#7F6F52",cyan:"#82B4BF",green:"#7FB074",orange:"#FFAB6E",pink:"#FF8196",purple:"#B394A9",red:"#FF6565",yellow:"#FFD270"},aylin:{background:"#13161E",currentLine:"#161A28",selection:"#222B3E",foreground:"#D2D8E0",comment:"#697098",cyan:"#78D1E1",green:"#98C379",orange:"#EBCB8B",pink:"#D16D9E",purple:"#C678DD",red:"#E88388",yellow:"#EBCB8B"},azureBlue:{background:"#001B29",currentLine:"#002C3E",selection:"#004E6B",foreground:"#C3D7E2",comment:"#5F7C92",cyan:"#75B7D1",green:"#70C8A7",orange:"#FFB476",pink:"#FF92B0",purple:"#B88BC3",red:"#FF6666",yellow:"#FFD666"},cobalt2:{background:"#193549",currentLine:"#1F4662",selection:"#193549",foreground:"#B9BED0",comment:"#627D98",cyan:"#4DB5BD",green:"#86B300",orange:"#FFB86C",pink:"#FF7F7B",purple:"#9B64FB",red:"#FF6672",yellow:"#FFCC99"},cobaltMaterialTheme:{background:"#263238",currentLine:"#37474F",selection:"#80CBC4",foreground:"#CFD8DC",comment:"#78909C",cyan:"#80CBC4",green:"#A5D6A7",orange:"#FFD54F",pink:"#FF80AB",purple:"#CE93D8",red:"#EF5350",yellow:"#FFEE58"},cosmicBlue:{background:"#1B2836",currentLine:"#223348",selection:"#39516D",foreground:"#C0D4E5",comment:"#728CAB",cyan:"#75A6FF",green:"#5ED99F",orange:"#FFAD6F",pink:"#FF90B6",purple:"#A889C5",red:"#FF6E6E",yellow:"#FCD256"},cosmicSunset:{background:"#1B1921",currentLine:"#272530",selection:"#3C3948",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},cyberForest:{background:"#0D151D",currentLine:"#18262F",selection:"#2B3B47",foreground:"#CDD7E0",comment:"#667B8B",cyan:"#7EC4CF",green:"#68CC96",orange:"#FFAC6C",pink:"#FF89B4",purple:"#A889C5",red:"#FF6565",yellow:"#FFCB6B"},cyberPunkCity:{background:"#000000",currentLine:"#121212",selection:"#1F1F1F",foreground:"#DADADA",comment:"#626262",cyan:"#71B7FF",green:"#50D890",orange:"#FFB86C",pink:"#FF79C6",purple:"#BB86FC",red:"#FF5454",yellow:"#FDD663"},cyberpunkNeon:{background:"#121212",currentLine:"#1B1B1B",selection:"#262626",foreground:"#DADADA",comment:"#6C6C6C",cyan:"#69AEDB",green:"#4ECCA3",orange:"#FFB86C",pink:"#FF79C6",purple:"#D08EFF",red:"#FF5454",yellow:"#FDD663"},darkDesert:{background:"#1E2022",currentLine:"#282A2E",selection:"#393D42",foreground:"#C0C5CE",comment:"#5C6368",cyan:"#6FB3E0",green:"#88C076",orange:"#FFB454",pink:"#FF7F90",purple:"#B48EAD",red:"#FF6666",yellow:"#FFCC66"},darkMint:{background:"#11161A",currentLine:"#1B2128",selection:"#3D4853",foreground:"#D9DEE5",comment:"#65737E",cyan:"#88C0D0",green:"#98C379",orange:"#FFB86C",pink:"#FF7F8B",purple:"#C594C5",red:"#FF6561",yellow:"#FAD07B"},deepOcean:{background:"#121C2C",currentLine:"#182236",selection:"#2B3E50",foreground:"#BDC3C7",comment:"#6C7A89",cyan:"#59ABE3",green:"#26A65B",orange:"#F9690E",pink:"#EB3B5A",purple:"#D2527F",red:"#E74C3C",yellow:"#F5AB35"},deepOceanBlue:{background:"#1B2F40",currentLine:"#263B53",selection:"#3A536E",foreground:"#BFC9D4",comment:"#657C8E",cyan:"#6CB5FF",green:"#65C287",orange:"#FFA974",pink:"#FF87B4",purple:"#AE9BFF",red:"#FF6666",yellow:"#FFD67B"},deepOceanSunset:{background:"#151D2A",currentLine:"#1D2735",selection:"#31405B",foreground:"#D5D9E0",comment:"#6C7B8B",cyan:"#6FAAD4",green:"#66C295",orange:"#FFA476",pink:"#FF94B0",purple:"#B08FC0",red:"#FF6565",yellow:"#FFD466"},deepSpace:{background:"#0F1419",currentLine:"#1A232D",selection:"#3A4758",foreground:"#CDD9E5",comment:"#657C96",cyan:"#6CB6FF",green:"#4CAF50",orange:"#FFB454",pink:"#FF75B5",purple:"#9A76FF",red:"#FF5555",yellow:"#FFC857"},dracula:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},dreamyDusk:{background:"#22243D",currentLine:"#313558",selection:"#4C4F6D",foreground:"#A5A7C5",comment:"#6F728E",cyan:"#81A2BE",green:"#7FB074",orange:"#FFB476",pink:"#FF91A4",purple:"#AE8DC2",red:"#FF7272",yellow:"#FFD67A"},electricLagoon:{background:"#15232B",currentLine:"#20323E",selection:"#344E5F",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},emeraldCity:{background:"#112E26",currentLine:"#1B3F38",selection:"#2F6253",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},enchantedEclipse:{background:"#131A22",currentLine:"#1F2C3A",selection:"#2D4455",foreground:"#A7B6C2",comment:"#6B7B8C",cyan:"#5FA8D3",green:"#5CB8A4",orange:"#FFA96C",pink:"#FF8FA2",purple:"#A88ED1",red:"#FF6B6B",yellow:"#FFD575"},enchantedEvening:{background:"#1E1824",currentLine:"#2A2332",selection:"#3F3A4F",foreground:"#C2B4CB",comment:"#7F7292",cyan:"#76AAD8",green:"#6CC095",orange:"#FFB36C",pink:"#FF8FB0",purple:"#AB8CC2",red:"#FF6464",yellow:"#FFD164"},fireAndIce:{background:"#1F2532",currentLine:"#292F3D",selection:"#4E556A",foreground:"#D8DEE9",comment:"#69758E",cyan:"#7EC4CF",green:"#68CC98",orange:"#FFA071",pink:"#FF88B5",purple:"#AE9BFF",red:"#FF657E",yellow:"#FDCB83"},forestGreen:{background:"#1A1E22",currentLine:"#24292F",selection:"#394147",foreground:"#C8C8C8",comment:"#5C6370",cyan:"#7AAB9D",green:"#88B379",orange:"#FFAC6F",pink:"#F97B77",purple:"#A187BE",red:"#FF5C5C",yellow:"#F5D76E"},futuristicBlue:{background:"#111B26",currentLine:"#1B2E3F",selection:"#334D65",foreground:"#C0D2E3",comment:"#6E859E",cyan:"#77AADB",green:"#78C196",orange:"#FFAC6C",pink:"#FF8DBE",purple:"#A48ADA",red:"#FF6666",yellow:"#FFD66D"},gentlePurple:{background:"#2E2E3D",currentLine:"#383849",selection:"#4D4D5C",foreground:"#B2B2CC",comment:"#6E6E8F",cyan:"#6D77CC",green:"#81C995",orange:"#FFB16A",pink:"#FF7CAC",purple:"#8A80A1",red:"#FF657A",yellow:"#FDB26E"},githubDarkDimmed:{background:"#0D1117",currentLine:"#161B22",selection:"#1F6F8B",foreground:"#8B949E",comment:"#8B949E",cyan:"#79C0FF",green:"#2DD57A",orange:"#FFB454",pink:"#FF80AB",purple:"#D781D3",red:"#EF5252",yellow:"#D29922"},gruvbox:{background:"#282828",currentLine:"#3c3836",selection:"#bdae93",foreground:"#ebdbb2",comment:"#928374",cyan:"#83a598",green:"#b8bb26",orange:"#fe8019",pink:"#d3869b",purple:"#d3869b",red:"#fb4934",yellow:"#fabd2f"},materialTheme:{background:"#263238",currentLine:"#37474f",selection:"#90a4ae",foreground:"#eceff1",comment:"#546e7a",cyan:"#80cbc4",green:"#a5d6a7",orange:"#ffb74d",pink:"#f06292",purple:"#ba68c8",red:"#ef5350",yellow:"#ffee58"},midnightMystique:{background:"#1E1E27",currentLine:"#292935",selection:"#3F3F4F",foreground:"#C2C2D3",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},midnightSunset:{background:"#182233",currentLine:"#1D2D46",selection:"#384B66",foreground:"#B7C0CE",comment:"#6A788A",cyan:"#6B98FF",green:"#6BD49D",orange:"#FFA178",pink:"#FF8DAB",purple:"#B48EAD",red:"#F96263",yellow:"#FADA5E"},minimalMonochrome:{background:"#1C1C1C",currentLine:"#262626",selection:"#363636",foreground:"#D9D9D9",comment:"#757575",cyan:"#7DC1C7",green:"#7FB074",orange:"#FFB869",pink:"#FF81A2",purple:"#B48EAD",red:"#FF6B6B",yellow:"#FFD57B"},modernMarine:{background:"#0A0E19",currentLine:"#121929",selection:"#1E2B42",foreground:"#D5D8DE",comment:"#7F8493",cyan:"#6FB1D3",green:"#6CC792",orange:"#FFB577",pink:"#FF96B0",purple:"#B690C2",red:"#FF6666",yellow:"#FFD666"},monokai:{background:"#272822",currentLine:"#3e3d32",selection:"#49483e",foreground:"#f8f8f2",comment:"#75715e",cyan:"#66d9ef",green:"#a6e22e",orange:"#fd971f",pink:"#f92672",purple:"#ae81ff",red:"#f92672",yellow:"#e6db74"},moonlitMeadow:{background:"#12252C",currentLine:"#1D3B47",selection:"#24566E",foreground:"#A7C4BC",comment:"#5E7D84",cyan:"#82B7BD",green:"#87C38A",orange:"#F4B66A",pink:"#F77A92",purple:"#C58AC9",red:"#F0725E",yellow:"#E8C284"},mysticalMauve:{background:"#1A1A26",currentLine:"#252533",selection:"#3E3E57",foreground:"#B2B2CC",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},nebulaNights:{background:"#1B1821",currentLine:"#262330",selection:"#3C3A48",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},neonLights:{background:"#000000",currentLine:"#0D0D0D",selection:"#1A1A1A",foreground:"#DADADA",comment:"#7F7F7F",cyan:"#6FE3E3",green:"#60FFA0",orange:"#FFB67A",pink:"#FF9FBD",purple:"#BF8CC2",red:"#FF6666",yellow:"#FFD666"},nightSky:{background:"#17202A",currentLine:"#1C2732",selection:"#2E4053",foreground:"#D0D3D4",comment:"#566573",cyan:"#5DADE2",green:"#45B39D",orange:"#F5B041",pink:"#EB984E",purple:"#AF7AC5",red:"#EC7063",yellow:"#F4D03F"},nord:{background:"#2e3440",currentLine:"#3b4252",selection:"#4c566a",foreground:"#d8dee9",comment:"#616e88",cyan:"#88c0d0",green:"#a3be8c",orange:"#ebcb8b",pink:"#bf616a",purple:"#b48ead",red:"#bf616a",yellow:"#ebcb8b"},nova:{background:"#1F262D",currentLine:"#232A32",selection:"#414B56",foreground:"#D9E2EC",comment:"#525F69",cyan:"#89DDFF",green:"#64D989",orange:"#E7C664",pink:"#E95678",purple:"#C594C5",red:"#FF5656",yellow:"#FFC172"},novaDark:{background:"#1A2026",currentLine:"#212930",selection:"#36424F",foreground:"#C0C6D9",comment:"#5B6C7F",cyan:"#84CEE4",green:"#89DD6D",orange:"#FFB46E",pink:"#FF7CAB",purple:"#BB80B3",red:"#FC6161",yellow:"#FAB795"},oceanBlue:{background:"#12232E",currentLine:"#1D3B53",selection:"#205072",foreground:"#A8DADC",comment:"#5E81AC",cyan:"#7FB2F0",green:"#88C0D0",orange:"#FFB86C",pink:"#FFA0A0",purple:"#D4A3D9",red:"#EF8E8E",yellow:"#FFD180"},oceanicAzure:{background:"#001A23",currentLine:"#002B36",selection:"#004056",foreground:"#C0C5CE",comment:"#4D5767",cyan:"#75A4C0",green:"#68A3A8",orange:"#FFA45E",pink:"#FF94B0",purple:"#B48EAD",red:"#FF6363",yellow:"#FFD464"},oceanicGruvbox:{background:"#1d2021",currentLine:"#282828",selection:"#458588",foreground:"#ebdbb2",comment:"#928374",cyan:"#89b482",green:"#a9b665",orange:"#d79921",pink:"#d3869b",purple:"#b16286",red:"#fb4934",yellow:"#d5c4a1"},oceanicNext:{background:"#1B2B34",currentLine:"#343D46",selection:"#4F5B66",foreground:"#A7ADBA",comment:"#616E7C",cyan:"#7FB5DA",green:"#98C379",orange:"#EBCB8B",pink:"#EC5f67",purple:"#C594C5",red:"#EC5f67",yellow:"#D29922"},oneDark:{background:"#282c34",currentLine:"#3e4451",selection:"#4f5b66",foreground:"#abb2bf",comment:"#5c6370",cyan:"#56b6c2",green:"#98c379",orange:"#d19a66",pink:"#c678dd",purple:"#c678dd",red:"#e06c75",yellow:"#e5c07b"},polarNight:{background:"#2E3440",currentLine:"#3B4252",selection:"#4C566A",foreground:"#D8DEE9",comment:"#616E88",cyan:"#81A1C1",green:"#A3BE8C",orange:"#EBCB8B",pink:"#BF616A",purple:"#B48EAD",red:"#BF616A",yellow:"#EBCB8B"},radiantRainforest:{background:"#16231A",currentLine:"#1F3927",selection:"#355D43",foreground:"#A7C9A2",comment:"#6F8D77",cyan:"#80C3BB",green:"#76CC8F",orange:"#FFB56C",pink:"#FF8FA6",purple:"#AB8CC2",red:"#FF6C6C",yellow:"#FFD576"},retroTech:{background:"#0C0C0C",currentLine:"#141414",selection:"#1F1F1F",foreground:"#D9D9D9",comment:"#626262",cyan:"#77BFC9",green:"#69CC6D",orange:"#FFC46D",pink:"#FF7D99",purple:"#BB86FC",red:"#FF5555",yellow:"#FACD60"},royalPurple:{background:"#1E1B2E",currentLine:"#272337",selection:"#3E395B",foreground:"#D5D1E2",comment:"#76708E",cyan:"#76D7C4",green:"#47B87C",orange:"#FFC300",pink:"#F39C9D",purple:"#9B59B6",red:"#E74C3C",yellow:"#F1C40F"},sapphireSkies:{background:"#081125",currentLine:"#0F1F3A",selection:"#1E3874",foreground:"#D8DCE6",comment:"#6B7394",cyan:"#7EC4D9",green:"#7DCB9E",orange:"#FFB578",pink:"#FF8FB3",purple:"#B992CC",red:"#FF6767",yellow:"#FFD684"},shadesOfPurple:{background:"#2d2b55",currentLine:"#37355a",selection:"#444267",foreground:"#ecebf0",comment:"#9a99a3",cyan:"#a1efe4",green:"#72f1b8",orange:"#f78c6c",pink:"#ffcc99",purple:"#9a99a3",red:"#ff6188",yellow:"#ffcc99"},solarizedDark:{background:"#002b36",currentLine:"#073642",selection:"#586e75",foreground:"#839496",comment:"#586e75",cyan:"#2aa198",green:"#859900",orange:"#cb4b16",pink:"#d33682",purple:"#6c71c4",red:"#dc322f",yellow:"#b58900"},synthWave84:{background:"#2b213a",currentLine:"#3e3650",selection:"#564d7a",foreground:"#e0def4",comment:"#9c8c98",cyan:"#95e6cb",green:"#00ffb9",orange:"#f28779",pink:"#f771ac",purple:"#d3bfff",red:"#ff6188",yellow:"#ffd866"},tokyoNight:{background:"#1a1b26",currentLine:"#282a36",selection:"#44475a",foreground:"#eff0eb",comment:"#6b6e76",cyan:"#78d1e1",green:"#67b11d",orange:"#e1a80e",pink:"#ff79c6",purple:"#d27bff",red:"#ff5555",yellow:"#f3f99d"},tomorrowNight:{background:"#1d1f21",currentLine:"#282a36",selection:"#373b41",foreground:"#c5c8c6",comment:"#616e7c",cyan:"#81a2be",green:"#b5bd68",orange:"#de935f",pink:"#cc6666",purple:"#b294bb",red:"#cc6666",yellow:"#f0c674"},twilightMeadow:{background:"#14202A",currentLine:"#1F2E3F",selection:"#334D65",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},urbanTwilight:{background:"#161727",currentLine:"#1F2737",selection:"#35415B",foreground:"#BDC9D7",comment:"#7F8C9C",cyan:"#77AED8",green:"#6CC492",orange:"#FFB677",pink:"#FF95B1",purple:"#B48DC2",red:"#FF6C6C",yellow:"#FFD576"},vibrantInk:{background:"#1C1E26",currentLine:"#242730",selection:"#363B4A",foreground:"#BFC7D5",comment:"#5C6672",cyan:"#6A76FB",green:"#33CC95",orange:"#FF9A65",pink:"#FF75B5",purple:"#AE81FF",red:"#FF6188",yellow:"#FDD269"},vintageRust:{background:"#301F1A",currentLine:"#3E2A23",selection:"#5D3E35",foreground:"#D7C3A7",comment:"#7F6C55",cyan:"#83A4C4",green:"#7EAD90",orange:"#FFA45E",pink:"#FF8C9E",purple:"#B491A9",red:"#FF7262",yellow:"#FFD372"}},Os={...Ss,...Ls};class js{constructor(t,e=0){this.id="Ziko-Theme-"+e,this.use(t)}get current(){return["background","currentLine","selection","foreground","comment","cyan","green","orange","pink","purple","red","yellow"].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}useThemeIndex(t){const e=Object.keys(Os);for(let s in Os[e[t]])document.documentElement.style.setProperty(`--${s}-${this.id}`,Os[e[t]][s]);return this}useThemeName(t){t=t.toLowerCase();const e=Object.fromEntries(Object.entries(Os).map((t=>[t[0].toLowerCase(),t[1]])));for(let s in e[t])document.documentElement.style.setProperty(`--${s}-${this.id}`,e[t][s]);return this}useThemeObject(t){for(let e in t)document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]);return this}use(t){return"number"==typeof t&&this.useThemeIndex(t),"string"==typeof t&&this.useThemeName(t),t instanceof Object&&this.useThemeObject(t),this}}const Rs=(t=0)=>(e=0)=>new js(e,t);class Vs{constructor(){this.events={},this.maxListeners=10}on(t,e){this.events[t]||(this.events[t]=[]),this.events[t].push(e),this.events[t].length>this.maxListeners&&console.warn(`Warning: Possible memory leak. Event '${t}' has more than ${this.maxListeners} listeners.`)}once(t,e){const s=r=>{this.off(t,s),e(r)};this.on(t,s)}off(t,e){const s=this.events[t];if(s){const t=s.indexOf(e);-1!==t&&s.splice(t,1)}}emit(t,e){const s=this.events[t];s&&s.forEach((t=>{t(e)}))}clear(t){t?delete this.events[t]:this.events={}}setMaxListener(t,e){this.maxListeners=e}removeAllListeners(t){t?this.events[t]=[]:this.events={}}}const Ps=()=>new Vs;class Ns{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=Ps(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}}const $s=(t,e)=>new Ns(t,e);class zs{constructor(t,e=!0){this.#r(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#r(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=Ps(),this}}const Us=(t,e)=>new zs(t,e);class Hs{constructor(t=[],e=(()=>{})){this.mediaQueryRules=t,this.fallback=e,this.lastCalledCallback=null,this.init()}init(){this.mediaQueryRules.forEach((({query:t,callback:e})=>{const s=globalThis.matchMedia(t),r=()=>{const t=this.mediaQueryRules.some((({query:t})=>globalThis.matchMedia(t).matches));s.matches?(e(),this.lastCalledCallback=e):t||this.lastCalledCallback===this.fallback||(this.fallback(),this.lastCalledCallback=this.fallback)};r(),s.addListener(r)}))}}const Zs=(t,e)=>new Hs(t,e);class qs{constructor(t=""){this.channel=new BroadcastChannel(t),this.EVENTS_DATAS_PAIRS=new Map,this.EVENTS_HANDLERS_PAIRS=new Map,this.LAST_RECEIVED_EVENT="",this.UUID="ziko-channel"+J.string(10),this.SUBSCRIBERS=new Set([this.UUID])}get broadcast(){return this}emit(t,e){return this.EVENTS_DATAS_PAIRS.set(t,e),this.#l(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#c(),this}#c(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const s=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),r=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);s&&r&&r(s)},this}#l(t){return this.channel.postMessage({EVENTS_DATAS_PAIRS:this.EVENTS_DATAS_PAIRS,last_sended_event:t,userId:this.UUID}),this}close(){return this.channel.close(),this}}const Ws=t=>new qs(t);class Xs{#u;constructor(){this.#u=function(t){try{let e=new Function("return "+t.data.fun)()();postMessage({result:e})}catch(t){postMessage({error:t.message})}finally{t.data.close&&self.close()}}.toString(),this.blob=new Blob(["this.onmessage = "+this.#u],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,s=!0){return this.worker.postMessage({fun:t.toString(),close:s}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}const Ys=(t,e,s)=>{const r=new Xs;return t&&r.call(t,e,s),r};class Ks{constructor(t={acceptAllDevices:!0}){this.options=t,this.__Emitter__=Ps(),this.isSupported&&this.#r()}async#r(){this.promise=navigator.bluetooth.requestDevice(this.options).then((t=>this.device=t))}get isSupported(){return!!navigator.bluetooth}get current(){return this.device}connect(){return this.server=this.device.gatt.connect(),this.__Emitter__.emit("ziko:bluetooth-connected"),this}disconnect(){return this.device.gatt.disconnect(),this.__Emitter__.emit("ziko:bluetooth-disconnected"),this}onConnect(t){return this.__Emitter__.on("ziko:bluetooth-connected",t),this}onDisconnect(t){return this.__Emitter__.on("ziko:bluetooth-disconnected",t),this}dispose(){}async battery(t){const e=await this.server.getPrimaryService("battery_service"),s=await e.getCharacteristic("battery_level"),r=await s.readValue();t(await r.getUint8(0))}}const Gs=t=>new Ks(t);class Qs{constructor(){this.isSupported&&this.#r()}async#r(){this.__Battery__=await navigator.getBattery()}get isSupported(){return!!navigator.getBattery}get current(){const{level:t,charging:e,chargingTime:s,dischargingTime:r}=this.__Battery__;return{level:t,charging:e,chargingTime:s,dischargingTime:r}}onChargingChange(t){return this.__Battery__.addEventListener("chargingchange",t),this}onLevelChange(t){return this.__Battery__.addEventListener("levelchange",t),this}}const Js=()=>new Qs;class tr{constructor(){this.isSupported&&this.#r()}async#r(){navigator.geolocation.getCurrentPosition((t=>this.__Geolocation__=t))}get isSupported(){return!!navigator.geolocation}get current(){return this.__Geolocation__}}const er=()=>new tr;class sr{#m;constructor(t,e,s){this.#m={storage:t,globalKey:e,channel:Ws(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#r(s),this.#p()}get items(){return JSON.parse(this.#m.storage[this.#m.globalKey]??null)}#p(){for(let t in this.items)Object.assign(this,{[[t]]:this.items[t]})}#r(t){this.#m.channel=Ws(`Ziko:useStorage-${this.#m.globalKey}`),this.#m.channel.on("Ziko-Storage-Updated",(()=>this.#p())),t&&(this.#m.storage[this.#m.globalKey]?(Object.keys(this.items).forEach((t=>this.#m.oldItemKeys.add(t))),console.group("Ziko:useStorage"),console.warn(`Storage key '${this.#m.globalKey}' already exists. we will not overwrite it.`),console.info("%cWe'll keep the existing data.","background-color:#2222dd; color:gold;"),console.group("")):this.set(t))}set(t){return this.#m.storage.setItem(this.#m.globalKey,JSON.stringify(t)),this.#m.channel.emit("Ziko-Storage-Updated",{}),Object.keys(t).forEach((t=>this.#m.oldItemKeys.add(t))),this.#p(),this}add(t){const e={...this.items,...t};return this.#m.storage.setItem(this.#m.globalKey,JSON.stringify(e)),this.#p(),this}remove(...t){const e={...this.items};for(let s=0;s<t.length;s++)delete e[t[s]],delete this[t[s]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.#m.storage.removeItem(this.#m.globalKey),this.#p(),this}}const rr=(t,e)=>new sr(localStorage,t,e),nr=(t,e)=>new sr(sessionStorage,t,e),ir=(t,e=[],s=(()=>{}))=>{t.cache.stream.enabled.down=!0;const r=e.length,n=t.cache.stream.history.down.slice(-r).map((t=>t.key));e.join("")===n.join("")&&(t.event.preventDefault(),s.call(t,t))},or={Events:os,Observer:Ms,Use:{useStyle:Is,useTheme:Rs,useMediaQuery:Zs,useBattery:Js,useGeolocation:er,useEventEmitter:Ps,useChannel:Ws,useThread:Ys,useBluetooth:Gs,useTitle:$s,useFavIcon:Us,useThrottle:ws,useDebounce:bs,useLocaleStorage:rr,useSessionStorage:nr,useSuccesifKeys:ir,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}},ExtractAll:function(){this.Events.ExtractAll(),this.Observer.ExtractAll(),this.Use.ExtractAll()},RemoveAll:function(){this.Events.RemoveAll(),this.Observer.RemoveAll(),this.Use.RemoveAll()}};class ar{constructor(t,e=""){var s;this.target=globalThis.__Ziko__.__Config__.default.target||globalThis.document.body,"string"==typeof t&&(t="svg"===t?document.createElementNS("http://www.w3.org/2000/svg","svg"):globalThis.document.createElement(t)),this.element=t,this.uuid=this.constructor.name+"-"+J.string(10),this.cache={name:e,parent:null,isRoot:!1,isHidden:!1,isFrozzen:!1,style:(s={},new te(s)),attributes:{},filters:{},temp:{}},this.items=[],this.events={ptr:null,mouse:null,wheel:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,custom:null},this.observer={resize:null,intersection:null},this.cache.style.linkTo(this),this.style({position:"relative",boxSizing:"border-box",fontFamily:"verdana",margin:0,padding:0}),this.size("auto","auto"),globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],this.render(globalThis.__Ziko__.__Config__.default.render)}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.cache.events}get html(){return this.element.innerHTML}get text(){return this.element.textContent}get __app__(){if(this.cache.isRoot)return this;let t=this.cache.parent;for(;;){if(!t)return null;if(t.cache.isRoot)return t;t=t.parent}}get parent(){return this.cache.parent}get width(){return this.element.getBoundingClientRect().width}get height(){return this.element.getBoundingClientRect().height}get top(){return this.element.getBoundingClientRect().top}get right(){return this.element.getBoundingClientRect().right}get bottom(){return this.element.getBoundingClientRect().bottom}get left(){return this.element.getBoundingClientRect().left}clone(t=!1){const e=new this.constructor;if(e.__proto__=this.__proto__,this.items.length){const t=[...this.items].map((t=>t.clone()));e.append(...t)}else e.element=this.element.cloneNode(!0);return e.render(t)}style(t,{target:e="parent",maskVector:s=null}={}){return this.st.style(t,{target:e,maskVector:s}),this}size(t,e,{target:s,maskVector:r}={}){return this.st.size(t,e,{target:s,maskVector:r}),this}freeze(t){return this.cache.isFrozzen=t,this}at(t){return this.items.at(t)}maintain(){for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this.length=this.items.length,this}setTarget(t){return t instanceof ar&&(t=t.element),this.remove(),this.target=t,this.render(),this}render(t=!0,e=this.target){return e instanceof ar&&(e=e.element),this.target=e,t?this.target.appendChild(this.element):this.remove(),this}unrender(){return this.cache.parent?this.cache.parent.remove(this):this.target.children.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element),this}append(...t){if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let e=0;e<t.length;e++)["number","string"].includes(typeof t[e])&&(t[e]=lr(t[e])),t[e]instanceof ar?(t[e].cache.parent=this,this.element.appendChild(t[e].element),t[e].Target=this.element,this.items.push(t[e])):t[e]instanceof Object&&(t[e]?.style&&this.style(t[e]?.style),t[e]?.attr&&Object.entries(t[e].attr).forEach((t=>this.setAttr(""+t[0],t[1]))));return this.maintain(),this}remove(...t){if(0==t.length)this.cache.parent?this.cache.parent.remove(this):this.target.children.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof ar&&this.element.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}renderAfter(t=1){return setTimeout((()=>this.render()),t),this}unrenderAfter(t=1){return setTimeout((()=>this.unrender()),t),this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++)["number","string"].includes(typeof e[s])&&(e[s]=lr(e[s])),this.element.insertBefore(e[s].element,this.items[t].element),this.items.splice(t,0,e[s]);return this}setAttr(t,e){if(t instanceof Object){const[s,r]=[Object.keys(t),Object.values(t)];for(let n=0;n<s.length;n++)r[n]instanceof Array&&(e[n]=r[n].join(" ")),this?.attr[t[n]]!==e[n]&&(this.element.setAttribute(s[n],r[n]),Object.assign(this.cache.attributes,Object.fromEntries([[s[n],r[n]]])))}else e instanceof Array&&(e=e.join(" ")),this?.attr[t]!==e&&(this.element.setAttribute(t,e),Object.assign(this.cache.attributes,Object.fromEntries([[t,e]])));return this}removeAttr(...t){for(let e=0;e<t.length;e++)this.element.removeAttribute(t[e]);return this}setContentEditable(t=!0){return this.setAttr("contenteditable",t),this}get children(){return[...this.element.children]}get cloneElement(){return this.element.cloneNode(!0)}setClasses(...t){return this.setAttr("class",t.join(" ")),this}get classes(){const t=this.element.getAttribute("class");return null===t?[]:t.split(" ")}addClass(){}setId(t){return this.setAttr("id",t),this}get id(){return this.element.getAttribute("id")}forEach(t){return this.items.forEach(t),this}map(t){return this.items.map(t)}find(t){return this.items.filter(t)}filter(t,e=(()=>{}),s=(()=>{})){const r=this.items.filter(t);return r.forEach(e),this.items.filter((t=>!r.includes(t))).forEach(s),this}filterByTextContent(t,e=!1){return this.items.map((t=>t.render())),this.items.filter((s=>{const r=s.element.textContent;return!(e?r===t:r.includes(t))})).map((t=>t.unrender())),this}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.classes.includes(t))).map((t=>t.unrender())),this}sortByTextContent(t,e){let s=this.children;return s.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),s.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,s)=>t.style.display=e[s])),s.filter((t=>"none"!=t.style.display)),this}onPtrMove(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onMove(...t),this}onPtrDown(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onDown(...t),this}onPtrUp(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onUp(...t),this}onPtrEnter(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onEnter(...t),this}onPtrLeave(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onLeave(...t),this}onPtrOut(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onOut(...t),this}onMouseMove(...t){return this.events.mouse||(this.events.mouse=we(this)),this.events.mouse.onMove(...t),this}onMouseDown(...t){return this.events.mouse||(this.events.mouse=we(this)),this.events.mouse.onDown(...t),this}onMouseUp(...t){return this.events.mouse||(this.events.mouse=we(this)),this.events.mouse.onUp(...t),this}onMouseEnter(...t){return this.events.mouse||(this.events.mouse=we(this)),this.events.mouse.onEnter(...t),this}onMouseLeave(...t){return this.events.mouse||(this.events.mouse=we(this)),this.events.mouse.onLeave(...t),this}onMouseOut(...t){return this.events.mouse||(this.events.mouse=we(this)),this.events.mouse.onOut(...t),this}onWheel(...t){return this.events.wheel||(this.events.wheel=Fe(this)),this.events.wheel.onWheel(...t),this}onKeyDown(...t){return this.events.key||(this.events.key=De(this)),this.events.key.onDown(...t),this}onKeyPress(...t){return this.events.key||(this.events.key=De(this)),this.events.key.onPress(...t),this}onKeyUp(...t){return this.events.key||(this.events.key=De(this)),this.events.key.onUp(...t),this}onKeysDown({keys:t=[],callback:e}={}){return this.events.key||(this.events.key=De(this)),this.events.key.handleSuccessifKeys({keys:t,callback:e}),this}onDragStart(...t){return this.events.drag||(this.events.drag=Le(this)),this.events.drag.onStart(...t),this}onDrag(...t){return this.events.drag||(this.events.drag=Le(this)),this.events.drag.onDrag(...t),this}onDragEnd(...t){return this.events.drag||(this.events.drag=Le(this)),this.events.drag.onEnd(...t),this}onDrop(...t){return this.events.drop||(this.events.drop=Oe(this)),this.events.drop.onDrop(...t),this}onClick(...t){return this.events.click||(this.events.click=Pe(this)),this.events.click.onClick(...t),this}onDbClick(...t){return this.events.click||(this.events.click=Pe(this)),this.events.click.onDbClick(...t),this}onCopy(...t){return this.events.clipboard||(this.events.clipboard=Ze(this)),this.events.clipboard.onCopy(...t),this}onCut(...t){return this.events.clipboard||(this.events.clipboard=Ze(this)),this.events.clipboard.onCut(...t),this}onPaste(...t){return this.events.clipboard||(this.events.clipboard=Ze(this)),this.events.clipboard.onPaste(...t),this}onSelect(...t){return this.events.clipboard||(this.events.clipboard=Ze(this)),this.events.clipboard.onSelect(...t),this}onFocus(...t){return this.events.focus||(this.events.focus=Ye(this)),this.events.focus.onFocus(...t),this}onBlur(...t){return this.events.focus||(this.events.focus=Ye(this)),this.events.focus.onFocus(...t),this}on(t,...e){return this.events.custom||(this.events.custom=is(this)),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=is(this)),this.events.custom.emit(t,e),this}watchAttr(t){return this.observer.attr||(this.observer.attr=us(this,t)),this}watchChildren(t){return this.observer.children||(this.observer.children=ms(this,t)),this}watchSize(t){return this.observer.resize||(this.observer.resize=ds(this,t)),this.observer.resize.start(),this}watchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=hs(this,t,e)),this.observer.intersection.start(),this}get VisibleArea(){let t=this.element.getBoundingClientRect(),e=globalThis.document.documentElement.clientHeight,s=globalThis.document.documentElement.clientWidth,r=t.top>0&&t.top<e,n=t.bottom<e&&t.bottom>0,i=t.left>0&&t.left<s,o=t.right>0&&t.right<s;return{top:r,bottom:n,left:i,right:o,heightRatio:(t.height+t.y)/t.height,isVisible:r||n||o||i}}setFullScreen(t=!0,e){return this.element.requestFullscreen?(t?this.element.requestFullscreen(e):globalThis.document.exitFullscreen(),this):(console.error("Fullscreen API is not supported in this browser."),this)}toggleFullScreen(t){return globalThis.document.fullscreenElement?globalThis.document.exitFullscreen():this.element.requestFullscreen(t),this}toPdf(){return __ZikoPdf__,this}}class hr extends ar{#d="";constructor(...t){super("span","text"),this.element=document.createElement("span"),this.addValue(...t),this.st.display("inline-block")}clear(){return this.element.textContent="",this}get value(){return this.element.textContent}setValue(t="",e=!1){["string","number"].includes(typeof t)&&(this.#d=""+t,this.#d.includes("\n")&&(this.#d=this.#d.split("\n").map((t=>"<span>".concat(t,"</span></br>"))).join(""))),t instanceof s&&(this.#d=""+t.UI()),e?this.element.innerHTML+=this.#d:this.element.innerHTML=this.#d,(t instanceof Array||t instanceof Set)&&(t instanceof Set&&(t=[...t]),this.addValue(...t))}addValue(...t){return t.map((t=>{this.setValue(" ",!0),this.setValue(t,!0)})),this}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}const lr=(...t)=>new hr(...t);class cr extends ar{constructor(...t){super("p","p"),this.addValue(...t),this.style({margin:0,padding:0})}addValue(...t){for(let e=0;e<t.length;e++)"string"==typeof t[e]||"number"==typeof t[e]?(this.element.appendChild(document.createTextNode(t[e])),this.element.appendChild(document.createElement("br"))):t[e]instanceof ar?this.element.appendChild(t[e].element):t[e]instanceof s&&lr(t.a+" + "+t.b+"i");return this}clear(){return this.element.childNodes.forEach((t=>t.remove())),this}setValue(...t){return this.clear(),this.addValue(...t),this}}const ur=(...t)=>(new cr).append(...t);class mr extends ar{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element.textContent=e}get value(){return this.element.innerText}setValue(t=""){this.element.innerText=t}addValue(t=""){return this.element.innerText+=t,this}}const pr=(t="")=>new mr(1,t),dr=(t="")=>new mr(2,t),gr=(t="")=>new mr(3,t),fr=(t="")=>new mr(4,t),yr=(t="")=>new mr(5,t),br=(t="")=>new mr(6,t);class wr extends ar{constructor(t){super(t,"html")}}class vr extends ar{constructor(){super("br","br"),delete this.append}}class xr extends ar{constructor(){super("hr","hr"),delete this.append}}class Fr extends ar{constructor(t){super("a","link"),this.setHref(t)}setHref(t){this.element.href=t}}const Cr=()=>new vr,Er=()=>new xr,kr=(t=1)=>new Array(t).fill(new vr),Ar=(t=1)=>new Array(t).fill(new xr),Dr=(t,...e)=>new Fr(t).append(...e),_r=(t,...e)=>new wr(t).append(...e);class Br extends ar{constructor(t){super("li","li"),this.append(t)}}class Mr extends ar{constructor(t,e){super(t,e),delete this.append,this.style({listStylePosition:"inside"})}append(...t){for(let e=0;e<t.length;e++){let s=null;["string","number"].includes(typeof t[e])&&(t[e]=lr(t[e])),t[e]instanceof ar&&(s=new Br(t[e])),s.setTarget(this.element),this.items.push(s[0]),this.maintain()}}remove(...t){if(0==t.length)this.Target.children.length&&this.Target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof ar&&this.element.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++){let r=null;["number","string"].includes(typeof e[s])&&(e[s]=lr(e[s])),e[s]instanceof ar&&(r=new Br(e[s])),this.element.insertBefore(r.element,this.items[t].parent.element),this.items.splice(t,0,e[s][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((s=>{const r=s.element.textContent;return!(e?r===t:r.includes(t))})).map((t=>t.parent.render(!1))),this}sortByTextContent(t=1){return this.items.map((t=>t.parent.render(!1))),this.sortedItems=this.items.sort(((e,s)=>t*e.element.textContent.localeCompare(s.element.textContent))),this.append(...this.sortedItems),this}filterByClass(t){return this.items.map((t=>t.parent.render(!0))),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.parent.render(!1))),this}delete(t){return[...this.element.children].indexOf(t)}push(){}pop(){}unshift(){}shift(){}sort(){}filter(){}slice(){}}class Tr extends Mr{constructor(...t){super("ol","ol"),this.append(...t)}type(t=1){return this.element.setAttribute("type",t),this}start(t=1){return this.element.setAttribute("start",t),this}}class Ir extends Mr{constructor(...t){super("ul","ul"),this.append(...t)}}const Sr=(...t)=>new Tr(...t),Lr=(...t)=>new Ir(...t);class Or extends ar{constructor(t="button"){super("button","btn"),this.element=document.createElement("button"),this.setValue(t),this.st.cursor("pointer")}setValue(t){return t instanceof ar?t.setTarget(this.element):(this.element.appendChild(document.createTextNode("")),this.element.childNodes[0].data=t),this}get value(){return this.element.innerText}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}const jr=t=>new Or(t);class Rr extends ar{constructor(t=""){super(),this.element=document.createElement("option"),t instanceof Object&&"value"in t?(this.setValue(t.value),this.setText(t?.text??t.value)):this.setValue(t)}setValue(t=""){return this.element.value=t,this}setText(t=""){return t&&(this.element.textContent=t),this}}class Vr extends ar{constructor(){super(),this.element=document.createElement("textarea")}get value(){return this.element.textContent}}const Pr=()=>new Vr;class Nr extends ar{constructor(t,e="",s){super("input",t),this.element=document.createElement("input"),Object.assign(this.events,{input:null}),this.setValue(e),s&&this.linkDatalist(s)}onInput(...t){return this.events.input||(this.events.input=Je(this)),this.events.input.onInput(...t),this}onChange(...t){return this.events.input||(this.events.input=Je(this)),this.events.input.onChange(...t),this}linkDatalist(t){let e;if(t instanceof Jr)e=t.Id;else if(t instanceof Array){const s=new Jr(...t);e=s.Id,console.log(s)}else e=t;return this.element.setAttribute("list",e),this}get value(){return this.element.value}_setType(t){return this.element.type=t,this}setValue(t=""){return this.element.value=t,this}useState(t){return this.setValue(t),[{value:this.value},t=>this.setValue(t)]}setPlaceholder(t){return t&&(this.element.placeholder=t),this}get isValide(){return this.element.checkValidity()}setRequired(t=!0){return this.element.required=t,this}select(){return this.element.select(),this}copy(){return this.element.select(),document.execCommand("copy"),this}cut(){return this.element.select(),document.execCommand("cut"),this}accept(t){return this.element.accept=t,this}}class $r extends Nr{constructor(){super("inputSearch"),this._setType("search"),this.Length=0}onsearch(t){return this.element.addEventListener("search",(()=>t())),this}connect(...t){return this}displayLength(t){return this.element.addEventListener("keyup",(()=>t.setValue(this.Length))),this}}class zr extends Nr{constructor(t,e,s=1){super("inpuNumber"),this._setType("number"),this.setMin(t).setMax(e).setStep(s)}get value(){return+this.element.value}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}}class Ur extends zr{constructor(t=0,e=0,s=10,r=1){super("inputSlider"),this._setType("range"),this.setMin(e).setMax(s).setValue(t).setStep(r)}}class Hr extends Nr{constructor(){super("inputColor"),this._setType("color"),this.background(this.value),this.onInput((()=>this.background(this.value)))}}class Zr extends Nr{constructor(){super("inputPassword"),this._setType("password")}}class qr extends Nr{constructor(){super("inputEmail"),this._setType("email")}}class Wr extends Nr{constructor(){super("inputTime"),this._setType("time")}}class Xr extends Nr{constructor(){super("inputDate"),this._setType("date")}}class Yr extends Nr{constructor(){super("inputDateTime"),this._setType("datetime-local")}}class Kr extends Nr{constructor(){super("inputCheckbox"),this._setType("checkbox"),this.cursor("pointer")}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}class Gr extends Nr{constructor(){super("inputRadio"),this._setType("radio"),this.cursor("pointer")}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}class Qr extends ar{constructor(t="File"){super("inputImage"),this._aux_element=jr(t).setTarget(this.Target),this.element=document.createElement("input"),this.element.setAttribute("type","file"),this.element.setAttribute("accept","image"),this._aux_element.onClick((()=>this.element.click())),this.element.onChange=this.handleImage.bind(this)}handleImage(t){const e=new FileReader,s=new Image;e.onload=function(t){s.src=t.target.result,console.log(s.src)},e.readAsDataURL(t.target.files[0]),this.img=s}get value(){return this.img}render(t=!0){return t?this.Target.appendChild(this._aux_element.element):this.remove(),this}remove(){return this.Target.children.length&&this.Target.removeChild(this._aux_element.element),this}}class Jr extends ar{constructor(...t){super(),this.element=document.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+J.string(10))}addOptions(...t){return t.map((t=>this.append(new Rr(t)))),this}}const tn=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:s}=t;return t=t.value??"",new Nr(t,e).setPlaceholder(s)}return new Nr(t,e)},en=(...t)=>new Jr(...t),sn=(t,e,s,r)=>{if(t instanceof Object){const{min:e=0,max:s=10,step:r=1}=t;return new Ur(t=t?.value??5,e,s,r)}return new Ur(t,e,s,r)},rn=(t,e,s)=>{if(t instanceof Object){const{value:e,max:s=10,step:r=1,placeholder:n=""}=t;return new Ur(t=t?.min??0,s,r).setValue(e).setPlaceholder(n)}return new zr(t,e,s)},nn=(...t)=>(new $r).connect(...t),on=t=>new Qr(t),an=()=>new Zr,hn=()=>new qr,ln=()=>new Hr,cn=()=>new Wr,un=()=>new Xr,mn=()=>new Yr,pn=()=>new Kr,dn=()=>new Gr;class gn extends ar{constructor(){super(),this.element=document.createElement("select")}addOptions(...t){return t.map((t=>this.append(new Rr(t)))),this}}const fn=()=>new gn;class yn extends ar{constructor(t,e,s){super("img","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({border:"1px solid black",width:e,height:s})}updateSrc(t){return this.value=t,this.element.src=t,this}toggleSrc(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.updateSrc(t[e+1]):this.updateSrc(t[0]),this}alt(t){return this.element.alt=t,this}}const bn=(t,e,s)=>new yn(t,e,s);class wn extends ar{constructor(t,e){super("figure","figure"),this.img=t.width("100%").element,this.caption=document.createElement("figcaption"),this.caption.append(e.element),this.element.append(this.img),this.element.append(this.caption)}}const vn=(t,e)=>new wn(t,e);class xn extends ar{constructor(t="",e="100%",s="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s})}get t(){return this.element.currentTime}useControls(t=!0){return this.element.controls=t,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}poster(t=""){return this.element.poster=t,this}usePIP(t){return this.element.requestPictureInPicture(t),this}seekTo(t){return this.element.currentTime=t,this}onPlay(){}onPause(){}}const Fn=(t,e,s)=>new xn(t,e,s);class Cn extends ar{constructor(t){super("audio","audio"),this.element.setAttribute("src",t),this.useControls()}get t(){return this.element.currentTime}useControls(t=!0){return this.element.controls=t,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}seekTo(t){return this.element.currentTime=t,this}onPlay(){}onPause(){}}const En=t=>new Cn(t);class kn extends xn{constructor(){super(),this.element.setAttribute("src",""),this.constraints={audio:!0,video:{width:1280,height:720}}}start(){return navigator.mediaDevices.getUserMedia(this.constraints).then((t=>{this.element.srcObject=t,this.element.onloadedmetadata=()=>{this.element.play()}})).catch((function(t){console.log(t.name+": "+t.message)})),this}}const An=()=>new kn;class Dn extends ar{constructor(t="div",e="100%",s="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s}),this.style({display:"flex"}),this.render()}resp(t,e=!0){return this.wrap(e),this.element.clientWidth<t?this.vertical():this.horizontal(),this}setSpaceAround(){return this.style({justifyContent:"space-around"}),this}setSpaceBetween(){return this.style({justifyContent:"space-between"}),this}setBaseline(){return this.style({alignItems:"baseline"}),this}gap(t){return"row"===this.direction?this.style({columnGap:t}):"column"===this.direction&&this.style({rowGap:t}),this}wrap(t="wrap"){return this.style({flexWrap:"string"==typeof t?t:["no-wrap","wrap","wrap-reverse"][+t]}),this}_justifyContent(t="center"){return this.style({justifyContent:t}),this}vertical(t,e,s=1){return Bn.call(this,s),this.style({alignItems:"number"==typeof t?Tn.call(this,t):t,justifyContent:"number"==typeof e?In.call(this,e):e}),this}horizontal(t,e,s=1){return Mn.call(this,s),this.style({alignItems:"number"==typeof e?In.call(this,e):e,justifyContent:"number"==typeof t?Tn.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const _n=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new Dn(e).append(...t)};function Bn(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function Mn(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function Tn(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function In(t){return Tn(-t)}class Sn extends ar{constructor(t="div",e="50vw",s="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({border:"1px solid black",width:e,height:s}),this.style({display:"grid"}),this.render()}columns(t){let e="";for(let s=0;s<t;s++)e=e.concat(" auto");return this.#g(e),this}#g(t="auto auto"){return this.style({gridTemplateColumns:t}),this}gap(t=10,e=t){return"number"==typeof t&&(t+="px"),"number"==typeof e&&(e+="px"),this.style({gridColumnGap:t,gridRowGap:e}),this}}const Ln=(...t)=>new Sn("div").append(...t);class On extends ar{constructor(t,e,s="😁"){super("details","Accordion"),this.summary=_r("summary",t).style({fontSize:"1.1em",padding:"0.625rem",fontWeight:"bold",listStyleType:`"${s}"`,cursor:"pointer"}),this.summary[0].style({marginLeft:"0.5em"}),this.content=e.style({margin:"0.7em"}),this.append(this.summary,this.content),this.style({marginBottom:"0.7em"}),this.render()}get isOpen(){return this.element.open}open(){return this.element.open=!0,this}onOpen(t){return this}close(){return this.element.open=!0,this}onClose(t){return this}toggle(){return this.element.open=!this.element.open,this}}const jn=(t,e,s)=>new On(t,e,s);class Rn extends Dn{constructor(...t){super(),this.style({position:"relative",overflow:"hidden",touchAction:"none",userSelect:"none"}),this.horizontal("space-around",0),this.track=Section(...t).style({display:"inline-flex"}),this.track.size(100*this.track.children.length+"vw"),this.track.setTarget(this),this.track.items.map((t=>t.style({pointerEvents:"none",margin:"auto 10px"}))),this.x0=null,this.tx=0,this.onPtrMove((t=>{if(t.isDown){let e=t.event.pageX-this.x0;this.track.st.translateX(this.tx+e,0)}})),this.onPtrDown((t=>{console.log(t.event),this.x0=t.event.pageX;const e=window.getComputedStyle(this.track.element).getPropertyValue("transform");"none"!==e&&(this.tx=+e.split(",")[4])})),this.onPtrUp((t=>console.log(t.isDown))),this.onPtrLeave((t=>{}))}}const Vn=(...t)=>new Rn(...t);class Pn extends Dn{constructor(){super("section"),Object.assign(this.cache,{order:0,currentNote:null,currentNoteIndex:null}),this.vertical(0,0)}setCurrentNote(t){return this.cache.currentNote=t,this.cache.currentNoteIndex=this.items.findIndex((e=>e===t)),t.focus(),this.items.forEach((t=>t.Input.style({border:"1px solid #ccc"}))),t.Input.style({border:"2px lightgreen solid"}),this}addNote(t=""){return this.append(Un(t)),this}execute(){return this.cache.currentNote.execute(),this.incrementOrder(),this}incrementOrder(){return this.cache.order++,this.cache.currentNote.setOrder(this.cache.order),this}next(){return this.cache.currentNote===this.items.at(-1)?(this.addNote(),this.setCurrentNote(this.items.at(-1))):this.setCurrentNote(this.items[this.cache.currentNoteIndex+1]),this}previous(){return this.cache.currentNote!==this.items[0]&&this.setCurrentNote(this.items[this.cache.currentNoteIndex-1]),this}data(){return this.items.map((t=>t.cellData()))}serialize(){return JSON.stringify(this.data())}import(t=[]){return t.forEach(((e,s)=>this.addNote(t[s].input))),this}}const Nn=()=>new Pn,$n={background:"none",width:"25px",height:"25px",fontSize:"1.2rem",cursor:"pointer"};class zn extends Dn{constructor(t="",{type:e="js",order:s=null}={}){var r;super("section"),Object.assign(this.cache,{state:null,order:s,type:e,metadata:{created:Date.now(),updated:null}}),this.Input=((t="")=>_r("code",t).style({width:"100%",height:"auto",padding:"10px",boxSizing:"border-box",border:"1px solid #ccc",outline:"none",fontSize:"1rem",fontFamily:"Lucida Console, Courier New, monospace",padding:"1rem 0.5rem",wordBreak:"break-all",background:"#f6f8fa",color:"#0062C3"}).setAttr("contenteditable",!0).setAttr("spellcheck",!1))(t),this.Output=_r("output").style({width:"100%",height:"auto",padding:"5px 0"}),this.InOut=_n(this.Input,this.Output).vertical().style({width:"100%",margin:"10px auto"}),this.RightControl=(r=this,_n(lr("â–ļī¸").style($n).onClick((t=>{r.parent instanceof Pn&&r.parent.setCurrentNote(r),r.execute(),globalThis.__Ziko__.__Config__.default.target=t.target.parent.parent[1][1]})),lr("📋").style($n).onClick((()=>{navigator.clipboard.writeText(r.codeText)})),lr("âœ–ī¸").style($n).onClick((()=>r.remove())),lr("âœ–ī¸").style($n).onClick((()=>r.remove()))).style({width:"70px",height:"50px",margin:"10px 0"}).horizontal(0,0).wrap(!0)),this.LeftControl=_n(lr("[ ]")).style({width:"50px",height:"50px",margin:"10px 4px",padding:"5px",color:"darkblue",borderBottom:"4px solid gold"}).horizontal(0,0),this.append(this.LeftControl,this.InOut,this.RightControl),this.horizontal(-1,1).style({width:"95vw",margin:"0 auto",border:"1px darkblue dotted"}),this.Input.onKeyDown((t=>{"Enter"===t.kd&&t.event.shiftKey&&(t.event.preventDefault(),this.execute(this.cache.order)),this.cache.parent instanceof Pn&&("ArrowDown"===t.kd&&t.event.shiftKey&&this.cache.parent.next(),"ArrowUp"===t.kd&&t.event.shiftKey&&this.cache.parent.previous())})),this.Input.onFocus((()=>{this.cache.parent instanceof Pn&&(this.cache.parent.cache.currentNote=this,this.cache.parent.setCurrentNote(this))})),this.Input.onPaste((t=>{}))}get codeText(){return this.Input.element.innerText.trim()}get codeHTML(){return this.Input.element.innerHTML}get outputHTML(){return this.Output.element.innerHTML}setValue(t){return this.Input[0].setValue(t),this}cellData(){return{input:this.codeText,output:this.outputHTML,order:this.cache.order,type:this.cache.type}}execute(t){return this.clearOutput(),this.evaluate(t),this.cache.metadata.updated=Date.now(),this}#f(t){try{this.LeftControl[0].setValue("pending"),this.cache.state="pending",globalThis.eval(this.Input.element.innerText)}catch(t){console.log(t),text(`Error : ${t.message}`).style({color:"red",background:"gold",border:"2px red solid",padding:"10px",margin:"10px 0",display:"flex",justifyContent:"center"}),this.LeftControl[0].setValue("Err"),this.cache.state="Error"}finally{"pending"===this.cache.state&&(this.cache.state="success",this.setOrder(t),this.cache.parent instanceof Pn&&(this.cache.parent.incrementOrder(),this.cache.parent.next()))}}#y(){}#b(){}evaluate(t){if(globalThis.__Ziko__.__Config__.default.target=this.Output.element,"js"===this.cache.type)this.#f(t);return this}clearInput(){return this.Output.element.innerText="",this}clearOutput(){return this.Output.element.innerText="",this}setOrder(t,e=!0){return this.cache.order=t,e&&("number"==typeof t?this.LeftControl[0].setValue(`[${t}]`):this.LeftControl[0].setValue("[-]")),this}focus(){return this.Input.element.focus(),this}}const Un=(t,{type:e,order:s}={})=>new zn(t,{type:e,order:s});class Hn extends Dn{#w=0;constructor(t,e){super("div","Tabs"),this.style({boxSizing:"border-box",backgroundColor:"blanchedalmond",border:"1px red solid",margin:"30px"}),this.append(_n().size("auto","auto").style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",minWidth:"50px",minHeight:"50px",backgroundColor:"darkblue",border:"1px darkblue solid"}),_n().style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",width:"100%",height:"100%",backgroundColor:"darkslategrey"})),this.Controller=this.items[0].setAttr("role","tablist"),this.Content=this.items[1],t.length!==e.length?console.error(""):(this.Controller.append(...t),this.Content.append(...e)),this.init(),this.display(0)}init(){for(let t=0;t<this.Controller.length;t++)this.Controller[t].setAttr("role","tab").setAttr("aria-controls",`tab${t}`),this.Content[t].setAttr("role","tabpanel").setAttr("aria-labelledby",`tab${t}`).setAttr("tabindex",-1);return this.Controller.forEach((t=>t.onClick((t=>{const e=t.target.element.getAttribute("aria-controls"),s=+e.slice(3);this.Content.filter((t=>t.element.getAttribute("aria-labelledby")===e),(()=>{this.#w!==s&&this.display(s)}))})))),this}addPairs(t,e){this.Controller.append(t),this.Content.append(e);const s=this.Controller.length;return this.Controller.at(-1).setAttr("role","tab").setAttr("aria-controls","tab"+(s-1)),this.Content.at(-1).setAttr("role","tabpanel").setAttr("aria-labelledby","tab"+(s-1)).setAttr("tabindex",-1),this}removePairs(t){}display(t){return this.#w=t%this.Content.length,this.Controller.forEach((t=>t.setAttr("tabindex",-1).setAttr("aria-selected",!1))),this.Controller.at(this.#w).setAttr("tabindex",0).setAttr("aria-selected",!0),(async()=>{await this.Content.forEach((t=>t.st.hide())),await this.Content.at(this.#w).setAttr("tabindex",0).st.show()})(),this}next(t=1){return this.display(this.#w+t),this}previous(t=1){return this.display(this.#w-t),this}useHorizontalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_x)))),this}useVerticalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_y)))),this}}const Zn=(t,e)=>new Hn(t,e);class qn extends ar{constructor(){super("main","Main")}}class Wn extends ar{constructor(){super("header","Header")}}class Xn extends ar{constructor(){super("nav","Nav")}}class Yn extends ar{constructor(){super("section","Section"),this.style({position:"relative"})}}class Kn extends ar{constructor(){super("article","Article")}}class Gn extends ar{constructor(){super("aside","Aside")}}class Qn extends ar{constructor(){super("footer","Footer"),this.element=document.createElement("footer")}}const Jn=(...t)=>(new Yn).append(...t),ti=(...t)=>(new Kn).append(...t),ei=(...t)=>(new qn).append(...t),si=(...t)=>(new Wn).append(...t),ri=(...t)=>(new Qn).append(...t),ni=(...t)=>(new Xn).append(...t),ii=(...t)=>(new Gn).append(...t);class oi extends ar{constructor(...t){super(),this.element=document.createElement("Tr"),this.append(...t)}}class ai extends ar{constructor(...t){super(),this.element=document.createElement("Td"),this.append(...t)}}class hi extends ar{constructor(...t){super(),this.element=document.createElement("Thead"),this.append(...t)}}class li extends ar{constructor(...t){super(),this.element=document.createElement("Tbody"),this.append(...t)}}class ci extends ar{constructor(t){super(),this.element=document.createElement("Caption"),this.append(t)}}const ui=(...t)=>(t=t.map((t=>(t instanceof ar||(t=lr(t)),t))),new ai(...t)),mi=t=>new ci(t),pi=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new oi(...t))())),s=t.arr.map((t=>t.map((()=>null))));for(let r=0;r<s.length;r++)for(let n=0;n<s[0].length;n++)s[r][n]=ui(t.arr[r][n]),e[r].append(s[r][n]);return e};class di extends ar{constructor(t,{caption:e=null,head:s=null,foot:r=null}={}){super("table","Table"),this.structure={caption:e,head:s,body:null,foot:r},t&&this.fromMatrix(t),e&&this.setCaption(e)}get caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=mi(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof ci))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof ar||(t=ui(t)),t))),new hi(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof ci))),this}setFooter(t){return this.structure.caption=mi(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof ci))),this}fromMatrix(t){return this.bodyMatrix=t instanceof Array?at(t):t,this.structure.body&&this.remove(this.structure.body),this.structure.body=((...t)=>new li(...t))(),this.append(this.structure.body),this.structure.body.append(...pi(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof di&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof di&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,s=this.bodyMatrix.rows-1,r=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,s,r)),this}sortByCols(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.clone.sortTable(t,e)),this}sortByRows(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.T.clone.sortTable(t,e).T),this}filterByRows(t){return this.fromMatrix(this.bodyMatrix.clone.filterByRows(t)),this}filterByCols(t){return this.fromMatrix(this.bodyMatrix.clone.filterByCols(t)),this}forEachRow(t){return this.structure.body.forEach(t),this}forEachItem(t){return this.structure.body.forEach((e=>e.forEach(t))),this}}const gi=(t,e)=>new di(t,e),fi={html:_r,text:lr,p:ur,h1:pr,h2:dr,h3:gr,h4:fr,h5:yr,h6:br,btn:jr,br:Cr,hr:Er,brs:kr,hrs:Ar,link:Dr,ol:Sr,ul:Lr,input:tn,search:nn,slider:sn,checkbox:pn,radio:dn,datalist:en,inputNumber:rn,inputColor:ln,inputDate:un,inputDateTime:mn,inputEmail:hn,inputImage:on,inputPassword:an,inputTime:cn,select:fn,textarea:Pr,inputCamera:An,image:bn,video:Fn,audio:En,figure:vn,Flex:_n,Carousel:Vn,Grid:Ln,Header:si,Main:ei,Section:Jn,Article:ti,Aside:ii,Nav:ni,Footer:ri,Table:gi,CodeCell:Un,CodeNote:Nn,Tabs:Zn,Accordion:jn,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}},yi=t=>t.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/\[(.*?)\]\((.*?)\)/g,'<a href="$2">$1</a>').replace(/!\[(.*?)\]\((.*?)\)/g,'<img src="$2" alt="$1">').replace(/`([^`]+)`/g,"<code>$1</code>"),bi=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${yi(t)}</td>`)).join("")}</tr>\n`,wi=(t,e)=>{const s=t.join("\n");return`${e?`<pre><code data-language="${e}">${s}</code></pre>`:`<pre><code>${s}</code></pre>`}\n`},vi=t=>{const e=t.match(/^\d+\.\s/);if(e){let s=+e[1];return`<ol${1===s?"":` start="${s}"`}>${yi(t.slice(e[0].length))}</ol>\n`}return`<ul>${yi(t)}</ul>\n`},xi=t=>{const e=t.split("\n");let s="",r=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))r||(r=!0,s+="<table>\n"),s+=bi(a);else if(r&&(r=!1,s+="</table>\n"),a.startsWith("```"))n?(n=!1,s+=wi(i,o)):(n=!0,i=[],o=a.slice(3).trim());else if(n)i.push(a);else if(a.startsWith("# ")){const t=a.indexOf(" "),e=a.slice(t+1);s+=`<h${t}>${yi(e)}</h${t}>\n`}else a.startsWith("- ")||a.startsWith("* ")||a.match(/^\d+\.\s/)?s+=vi(a):"---"!==a.trim()?s+=`<p>${yi(a)}</p>\n`:s+="<hr>\n"}return s},Fi=t=>t.replace(/\*(.*?)\*/g,"_$1_").replace(/\*\*(.*?)\*\*/g,"*$1*").replace(/\[(.*?)\]\((.*?)\)/g,"link:$2[$1]").replace(/!\[(.*?)\]\((.*?)\)/g,"image::$2[$1]").replace(/`([^`]+)`/g,"``$1``").replace(/^\*\s/,""),Ci=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${Fi(t)}</td>`)).join("")}</tr>\n`,Ei=(t,e)=>{const s=t.join("\n");return`${e?`<pre><code data-language="${e}">${s}</code></pre>`:`<pre><code>${s}</code></pre>`}\n`},ki=t=>{const e=/^(\d+)\.\s/,s=/^[.]\s/,r=/^[*]\s/;if(t.match(e)){return`<ol start="${t.match(e)[1]}"><li>${Fi(t.replace(e,""))}</li></ol>\n`}return t.match(s)?`<ol><li>${Fi(t.replace(s,""))}</li></ol>\n`:t.match(r)?`<ul><li>${Fi(t.replace(r,""))}</li></ul>\n`:`<p>${Fi(t)}</p>\n`},Ai=t=>`<blockquote>${Fi(t.slice(2))}</blockquote>\n`,Di=t=>{const e=t.match(/\[(.*?)\]/);return e?e[1].split(",").map((t=>`[${t.trim()}]`)).join(""):""},_i=t=>{const e=t.split("\n");let s="",r=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))r||(r=!0,s+="<table>\n"),s+=Ci(a);else if(r&&(r=!1,s+="</table>\n"),a.startsWith("```"))n?(n=!1,s+=Ei(i,o)):(n=!0,i=[],o=a.slice(3).trim());else if(n)i.push(a);else if(a.startsWith("=")){const t=(a.match(/=/g)||[]).length,e=a.replace(/=/g,"").trim();s+=`<h${t}>${Fi(e)}</h${t}>\n`}else a.match(/^(\d+)\.\s/)||a.match(/^[*\.]\s/)?s+=ki(a):a.startsWith("> ")?s+=Ai(a):"---"!==a.trim()?a.startsWith("[")?s+=Di(a):""!==a.trim()&&(s+=`<p>${Fi(a)}</p>\n`):s+="<hr>\n"}return s},Bi=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),Mi=(t,e=",")=>new ot(Bi(t,e)),Ti=(t,e=",")=>{const[s,...r]=Bi(t,e);return r.map((t=>{const e={};return s.forEach(((s,r)=>{e[s]=t[r]})),e}))},Ii=(t,e=",")=>JSON.stringify(Ti(t,e)),Si=(t,e)=>{const s=t.trim().trimEnd().split("\n").filter((t=>t));let r=`INSERT INTO ${e} (${s[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<s.length;t++){const e=s[t].split(",");n.push(`(${e})`)}return r+n.join(",\n")},Li=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],Oi=(t,e)=>Li(t).map((t=>t.join(e))).join("\n"),ji=t=>Li(t instanceof Object?t:JSON.parse(t)),Ri=(t,e=",")=>Oi(t instanceof Object?t:JSON.parse(t),e),Vi=(t,e)=>{const s=Ri(t,e),r=new Blob([s],{type:"text/csv;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Pi=(t,e)=>{const s=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){s.push(`${e}-`);const r=Pi(t,`${e} `);s.push(...r)}else s.push(`${e}- ${t}`)}));else for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];if("object"==typeof n&&null!==n){s.push(`${e}${r}:`);const t=Pi(n,`${e} `);s.push(...t)}else s.push(`${e}${r}: ${n}`)}return s},Ni=(t,e="")=>Pi(t,e).join("\n"),$i=(t,e)=>Ni(t instanceof Object?t:JSON.parse(t),e),zi=(t,e)=>{const s=$i(t,e),r=new Blob([s],{type:"text/yml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Ui=(t,e=1)=>{let s="";for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];s+="\n"+" ".repeat(e)+`<${r}>`,s+="object"==typeof n?Ui(n,e+2):`${n}`,s+=`</${r}>`}return s.trim()},Hi=(t,e)=>{const s=Ui(t,e),r=new Blob([s],{type:"text/xml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Zi=t=>(new XMLSerializer).serializeToString(t),qi=t=>btoa(Zi(t)),Wi=t=>"data:image/svg+xml;base64,"+qi(t),Xi=(t,e=!0)=>bn(Wi(t)).render(e);function Yi(t){const e={type:t.nodeName,attributes:{},children:[]};for(let s=0;s<t.attributes.length;s++){const r=t.attributes[s];e.attributes[r.name]=r.value}for(let s=0;s<t.childNodes.length;s++){const r=t.childNodes[s];r.nodeType===Node.ELEMENT_NODE?e.children.push(Yi(r)):r.nodeType===Node.TEXT_NODE&&(e.text=r.textContent.trim())}return e}const Ki=t=>{const e=new XMLHttpRequest;if(e.open("GET",t,!1),e.send(),200===e.status)return e.responseText;throw new Error(`Failed to fetch data from ${t}. Status: ${e.status}`)};globalThis.fetchdom=async function(t="https://github.com/zakarialaoui10"){const e=await fetch(t),s=await e.text();return(new DOMParser).parseFromString(s,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=Ki(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};const Gi={isDigit:/^\d+$/,isEmail:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,isURL:/^(https?:\/\/)?([\w\-]+\.)+[\w\-]+(\/[\w\-./?%&=]*)?$/,isHexColor:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,isIPv4:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,isMACAddress:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,isDate:/^\d{4}-\d{2}-\d{2}$/};class Qi{constructor(t){this.string=t}isDigit(){return Gi.isDigit.test(this.string)}static isDigit(t){return new Qi(t).isDigit()}isNumber(){return!isNaN(this.string)}static isNumber(t){return new Qi(t).isNumber()}isUrl(){return Gi.isURL.test(this.string)}static isUrl(t){return new Qi(t).isUrl()}isHexColor(){return Gi.isHexColor.test(this.string)}static isHexColor(t){return new Qi(t).isHexColor()}isIPv4(){return Gi.isIPv4.test(this.string)}static isIPv4(t){return new Qi(t).isIPv4()}isDate(){return Gi.isDate.test(this.string)}static isDate(t){return new Qi(t).isDate()}isMACAddress(){return Gi.isMACAddress.test(this.string)}static isMACAddress(t){return new Qi(t).isMACAddress()}isPascalCase(){if(0===this.string.length)return!1;return/^[A-Z][a-zA-Z0-9]*$/.test(this.string)}static isPascalCase(t){return new Qi(t).isPascalCase()}isCamelCase(){if(0===this.string.length)return!1;return/^[a-z][a-zA-Z0-9]*$/.test(this.string)}static isCamelCase(t){return new Qi(t).isCamelCase()}isHyphenCase(){return this.string.split("-").length>1}static isHyphenCase(t){return new Qi(t).isHyphenCase()}isSnakeCase(){return this.string.split("_").length>1}static isSnakeCase(t){return new Qi(t).isSnakeCase()}isPalindrome(){const t=this.string.toLocaleLowerCase();let e,s=t.length;for(e=0;e<s/2;e++)if(t[e]!=t[s-e-1])return!1;return!0}static isPalindrome(t){return new Qi(t).isPalindrome()}static isAnagrams(t,e){return t=t.split("").sort(),e=e.split("").sort(),JSON.stringify(t)===JSON.stringify(e)}isIsogram(){return[...new Set(this.string.toLowerCase())].length===this.string.length}static isIsogram(t){return new Qi(t).isIsogram()}static camel2hyphencase(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}static camel2snakecase(t){return t.replace(/[A-Z]/g,(t=>"_"+t.toLowerCase()))}static camel2pascalcase(t){return t.charAt(0).toUpperCase()+t.slice(1)}static camel2constantcase(t){return t.replace(/[A-Z]/g,(t=>"_"+t)).toUpperCase()}static pascal2snakecase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t.toLowerCase():t.toLowerCase()))}static pascal2hyphencase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"-"+t.toLowerCase():t.toLowerCase()))}static pascal2camelcase(t){return t.charAt(0).toLowerCase()+t.slice(1)}static pascal2constantcase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t:t)).toUpperCase()}static snake2camelcase(t){return t.replace(/(_\w)/g,(t=>t[1].toUpperCase()))}static snake2hyphencase(t){return t.replace(/_/g,"-")}static snake2pascalcase(t){return t.split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static snake2constantcase(t){return t.toUpperCase()}static hyphen2camelcase(t){return t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))}static hyphen2snakecase(t){return t.replace(/-/g,"_")}static hyphen2pascalcase(t){return t.split("-").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static hyphen2constantcase(t){return t.replace(/-/g,"_").toUpperCase()}static constant2camelcase(t){return t.toLowerCase().replace(/_([a-z])/g,(t=>t[1].toUpperCase()))}static constant2snakecase(t){return t.toLowerCase()}static constant2pascalcase(t){return t.toLowerCase().split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static constant2hyphencase(t){return t.toLowerCase().replace(/_/g,"-")}}const Ji=t=>new Qi(t),to={str:Ji,Str:Qi,parseXML:function(t){return Yi((new DOMParser).parseFromString(t,"text/xml").documentElement)},preload:Ki,markdown2html:xi,adoc2html:_i,csv2arr:Bi,csv2matrix:Mi,csv2object:Ti,csv2json:Ii,csv2sql:Si,json2arr:ji,json2csv:Ri,json2csvFile:Vi,json2yml:$i,json2ymlFile:zi,json2xml:Ui,json2xmlFile:Hi,svg2str:Zi,svg2ascii:qi,svg2imgUrl:Wi,svg2img:Xi,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class eo extends ar{constructor(t=360,e=300){super("svg","svg"),this.setAttr("width",t),this.setAttr("height",e),this.style({border:"1px black solid"}),this.view(-10,-10,10,10)}view(t,e,s,r){let n=Math.abs(s-t),i=Math.abs(r-e);return this.setAttr("viewBox",[t,e,n,i].join(" ")),this.st.scaleY(-1),this}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return this.maintain(),this}remove(...t){for(let e=0;e<t.length;e++)this.element.removeChild(t[e].element),this.items=this.items.filter((e=>!t));return this.maintain(),this}mask(){}toString(){return(new XMLSerializer).serializeToString(this.element)}btoa(){return btoa(this.toString())}toImg(){return"data:image/svg+xml;base64,"+this.btoa()}toImg2(){return"data:image/svg+xml;charset=utf8,"+this.toString().replaceAll("<","%3C").replaceAll(">","%3E").replaceAll("#","%23").replaceAll('"',"'")}}const so=(t,e)=>new eo(t,e);class ro{constructor(t){this.cache={type:t}}pos(t,e){return this.posX(t).posY(e)}posX(t){return["circle","ellipse"].includes(this.cache.type)?this.element.cx.baseVal.value=t:this.element.x.baseVal.value=t,this}posY(t){return["circle","ellipse"].includes(this.cache.type)?this.element.cy.baseVal.value=t:this.element.y.baseVal.value=t,this}translate(t,e){return this}color({stroke:t,fill:e}){return this.element.setAttribute("stroke",t),this.element.setAttribute("fill",e),this}fill(t="none"){return this.element.setAttribute("fill",t),this}stroke(t="none",e){return this.element.setAttribute("stroke",t),e&&this.strokeWidth(e),this}strokeWidth(t=1){return this.element.setAttribute("stroke-width",t),this}opacity(t=1){return this.element.setAttribute("opacity",t),this}}class no extends ro{constructor(t,e,s,r,n=!0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.setX(t).setY(e).width(s).height(r),this.rx=this.x+this.w/2,this.ty=this.y+this.h/2}setX(t){return this.element.x.baseVal.value=t,this.x=t,this}setY(t){return this.element.y.baseVal.value=t,this.y=t,this}r(t,e){return this.rx=t,this.ry=e,this.setX(this.rx-this.w/2),this.setY(this.ry-this.h/2),this}width(t){return this.element.width.baseVal.value=t,this.w=t,this}height(t){return this.element.height.baseVal.value=t,this.h=t,this}}const io=(t,e,s,r,n)=>new no(t,e,s,r,n);class oo extends ro{constructor(t,e,s){super("circle"),this.element=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.pos(t,e).setR(s)}setR(t){return this.element.r.baseVal.value=t,this}get r(){return this.element.r.baseVal.value}get cx(){return this.element.cx.baseVal.value}get cy(){return this.element.cy.baseVal.value}}const ao=(t,e,s)=>new oo(t,e,s);class ho extends ro{constructor(t,e,s,r){super("ellipse"),this.element=document.createElementNS("http://www.w3.org/2000/svg","ellipse"),this.pos(t,e).setRx(s).setRy(r)}setRx(t){return this.element.rx.baseVal.value=t,this}setRy(t){return this.element.ry.baseVal.value=t,this}}const lo=(t,e,s,r)=>new ho(t,e,s,r);class co extends ro{constructor(t,e,s,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","line"),this.x1(t).y1(e).x2(s).y2(r).stroke("black")}x1(t){return this.element.x1.baseVal.value=t,this}y1(t){return this.element.y1.baseVal.value=t,this}x2(t){return this.element.x2.baseVal.value=t,this}y2(t){return this.element.y2.baseVal.value=t,this}}const uo=(t,e,s,r)=>new co(t,e,s,r);class mo extends ro{}class po extends ro{constructor(){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","path"),this.path=""}setPath(){return this.element.setAttribute("d",this.path),this}clear(){return this.path="",this.setPath(),this}moveTo(t,e){return this.path+=`M${t} ${e} `,this.setPath(),this}lineTo(t,e){return this.path+=`L${t} ${e} `,this.setPath(),this}hr(t){return this.path+=`H${t} `,this.setPath(),this}vr(t){return this.path+=`V${t} `,this.setPath(),this}bezier(t,e,s,r,n,i){return this.path+=`C ${t} ${e},${s} ${r},${n} ${i} `,this.setPath(),this}quadratic(t,e,s,r){return this.path+=`Q ${t} ${e} ${s} ${r} `,this.setPath(),this}close(){return this.path+="Z",this.setPath(),this}}const go=()=>new po;class fo extends ro{constructor(t=[],e=[]){super(),this.X=t,this.Y=e,this.element=document.createElementNS("http://www.w3.org/2000/svg","polygon"),this.element.setAttribute("points",""),this.addPoints(t,e)}addPoint(t,e){let s=this.element.parentElement.createSVGPoint();return s.x=t,s.y=e,this.element.points.appendItem(s),this}addPoints(t,e){for(let s=0;s<t.length;s++){let r=this.element.parentElement.createSVGPoint();r.x=t[s],r.y=e[s],this.element.points.appendItem(r)}return this}}const yo=(t,e)=>new fo(t,e);class bo extends ro{constructor(t,e,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","text"),this.setText(t),this.x(e).y(s)}x(t){return this.element.setAttribute("x",t),this}y(t){return this.element.setAttribute("y",t),this}setText(t=""){return this.element.textContent=t,this}}const wo=(t,e,s)=>new bo(t,e,s);class vo extends ro{constructor(t="",e="100%",s="100%",r=0,n=0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","image"),this.setSrc(t).width(e).height(s).x(r).y(n)}x(t){return this.element.x.baseVal.value=t,this}y(t){return this.element.y.baseVal.value=t,this}width(t){return this.element.setAttribute("width",t),this}height(t){return this.element.setAttribute("height",t),this}setSrc(t=""){return this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),this}}const xo=(t,e,s,r,n)=>new vo(t,e,s,r,n);class Fo extends ro{constructor(t=0,e=0,s="100%",r="100%",...n){super("foreignObject"),this.items=[],this.element=document.createElementNS("http://www.w3.org/2000/svg","foreignObject"),this.container=_n().setTarget(this.element).vertical(0,0).size("auto","auto"),this.container.st.scaleY(-1),this.posX(t).posY(e).width(s).height(r)}width(t){return this.element.setAttribute("width",t),this}height(t){return this.element.setAttribute("height",t),this}add(...t){return this.container.append(...t),this}remove(...t){return this.container.append(...t),this}}const Co=(t,e,s)=>new Fo(t,e,s);class Eo extends ro{constructor(...t){super(),this.items=[],this.element=document.createElementNS("http://www.w3.org/2000/svg","g"),this.add(...t)}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return 1===t.length?t[0]:t}remove(...t){for(let e=0;e<t.length;e++)this.element.removeChild(t[e].element),this.items=this.items.filter((e=>e!=t));return this}}const ko=(...t)=>new Eo(...t);class Ao extends ro{constructor(t,...e){super(),this.items=[],this.element=document.createElementNS("http://www.w3.org/2000/svg","a"),this.element.setAttribute("href",t),this.add(...e)}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return 1===t.length?t[0]:t}remove(...t){for(let e=0;e<t.length;e++)this.element.removeChild(t[e].element),this.items=this.items.filter((e=>e!=t));return this}}const Do=(t,...e)=>new Ao(t,...e),_o=(t,e,s=10,r=10)=>{let n=go().fill("none").stroke("coral").strokeWidth(.6);console.log({x:t/s,y:e/r});for(let e=0;e<t;e++)n.moveTo(0,e*t/s).hr(t);for(let t=0;t<e;t++)n.moveTo(t*e/r,0).vr(e);return n};class Bo extends ar{constructor(t,e){super("canvas","canvas"),this.ctx=this.element.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new ot([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new ot([[-10,-10],[10,10]]),this.render(globalThis.__Ziko__.__Config__.default.render),setTimeout((()=>this.resize(t,e)),0),this.on("sizeupdated",(()=>this.adjust()))}get Width(){return this.element.width}get Height(){return this.element.height}get Xmin(){return this.axisMatrix[0][0]}get Ymin(){return this.axisMatrix[0][1]}get Xmax(){return this.axisMatrix[1][0]}get Ymax(){return this.axisMatrix[1][1]}get ImageData(){return this.ctx.getImageData(0,0,c.Width,c.Height)}draw(t=!0){return t?(this.clear(),this.items.forEach((t=>{t.parent=this,t.draw(this.ctx)}))):(this.items.at(-1).parent=this,this.items.at(-1).draw(this.ctx)),this.maintain(),this}applyTransformMatrix(){return this.ctx.setTransform(this.transformMatrix[0][0],this.transformMatrix[1][0],this.transformMatrix[0][1],this.transformMatrix[1][1],this.transformMatrix[0][2],this.transformMatrix[1][2]),this}resize(t,e){return this.size(t,e),this.lineWidth(),this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this.emit("sizeupdated"),this}adjust(){return this.element.width=this.element.getBoundingClientRect().width,this.element.height=this.element.getBoundingClientRect().height,this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this}view(t,e,s,r){return this.transformMatrix[0][0]=this.Width/(s-t),this.transformMatrix[1][1]=-this.Height/(r-e),this.transformMatrix[0][2]=this.Width/2,this.transformMatrix[1][2]=this.Height/2,this.axisMatrix=new ot([[t,e],[s,r]]),this.applyTransformMatrix(),this.clear(),this.lineWidth(1),this.draw(),this}reset(){return this.ctx.setTransform(1,0,0,0,0,0),this}append(t){return this.items.push(t),this.draw(!1),this}background(t){this.ctx.fillStyle=t,this.ctx.setTransform(1,0,0,1,0,0),this.ctx.fillRect(0,0,this.Width,this.Height),this.applyTransformMatrix(),this.draw()}lineWidth(t){return this.ctx.lineWidth=t/this.transformMatrix[0][0],this}ImageData(t=0,e=0,s=this.Width,r=this.Height){return this.ctx.getImageData(t,e,s,r)}clear(){return this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.Width,this.Height),this.applyTransformMatrix(),this}clone(){console.log(this.Width);const t=new Bo;return t.items=this.items,t.transformMatrix=this.transformMatrix,t.axisMatrix=this.axisMatrix,Object.assign(t.cache,{...this.cache}),this.size(element.style.width,element.style.width),this.applyTransformMatrix(),this.draw(),this.adjust(),t}toImage(){return this.img=document.createElement("img"),this.img.src=this.element.toDataURL("image/png"),this}toBlob(){this.element.toBlob((function(t){var e=document.createElement("img"),s=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(s)},e.src=s,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const Mo=(t,e)=>new Bo(t,e);class To{constructor(t,e){this.parent=null,this.position={x:t,y:e},this.cache={interact:null,config:{draggable:!1,selected:!1,highlighted:!1,rendered:!1},style:{normal:{strokeEnabled:!0,fillEnabled:!1,strokeColor:"#111111",fillColor:"#777777"},highlighted:{strokeEnabled:!0,fillEnabled:!1,strokeColor:null,fillColor:null}}},this.history={position:[],styles:[]},this.render()}get px(){return(this.position.x??0)+(this.parent?.position?.x??0)}get py(){return(this.position.y??0)+(this.parent?.position?.y??0)}isIntersectedWith(){}isInStroke(t,e){let s;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),s=this.parent.ctx.isPointInStroke(this.path,t,e),this.parent.applyTransformMatrix()),s}isInPath(t,e){let s;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),s=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),s}posX(t){return this.position.x=t,this.parent&&this.parent.draw(),this}posY(t){return this.position.y=t,this.parent&&this.parent.draw(),this}color({stroke:t=this.cache.style.normal.strokeColor,fill:e=this.cache.style.normal.fillColor}={stroke:t,fill:e}){return this.cache.style.normal.strokeColor=t,this.cache.style.normal.fillColor=e,this.parent&&this.parent.draw(),this}translate(t=0,e=0){this.position.x+=t,this.position.y+=e,this.parent&&this.parent.draw()}applyNormalStyle(t){return t.strokeStyle=this.cache.style.normal.strokeColor,t.fillStyle=this.cache.style.normal.fillColor,this}applyHighlightedStyle(t){return t.strokeStyle=this.cache.style.highlighted.strokeColor,t.fillStyle=this.cache.style.highlighted.fillColor,this}stroke(t=this.cache.style.normal.strokeColor,e=!0){return this.cache.style.normal.strokeEnabled=e,this.cache.style.normal.strokeColor=t,this.parent&&this.parent.draw(),this}fill(t=this.cache.style.normal.fillColor,e=!0){return this.cache.style.normal.fillEnabled=e,this.cache.style.normal.filleColor=t,this.parent&&this.parent.draw(),this}render(t=!0){return this.cache.config.rendered=t,this}}class Io extends To{constructor(t,e,s,r){super(t,e),this.r=s,this.angle=r,this.path=null}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path=new Path2D,this.path.arc(this.px,this.py,this.r,0,this.angle);const{strokeEnabled:e,fillEnabled:s}=this.cache.style.normal;e&&t.stroke(this.path),s&&t.fill(this.path),t.closePath(),t.restore()}return this}radius(t){return this.r=t,this.parent&&this.parent.draw(),this}}const So=(t,e,s,r)=>new Io(t,e,s,r),Lo=(t,e,s)=>new Io(t,e,s,2*Math.PI);class Oo extends To{constructor(t,e){super(),this.pointsMatrix=null,this.path=new Path2D,this.fromXY(t,e)}get points(){return this.pointsMatrix.T.arr}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.moveTo(this.points[1][0]+this._x,this.points[1][1]+this._y);for(let t=1;t<this.points.length;t++)this.path.lineTo(this.points[t][0]+this._x,this.points[t][1]+this._y);t.stroke(this.path),t.restore()}return this}fromXY(t,e){return this.pointsMatrix=at([t,e]),this}push(t,e){return this.pointsMatrix.hstack(at([t,e])),this.parent&&this.parent.draw(),this}isIn(t,e){let s;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),s=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),s}}const jo=(t=[],e=[])=>new Oo(t,e);class Ro extends To{constructor(t,e,s,r){super(),this.x0=t,this.x1=s,this.y0=e,this.y1=r,delete this.fill}draw(t){return this.cache.config.rendered&&(t.save(),this.applyNormalStyle(t),t.beginPath(),t.moveTo(this.x0+this._x,this.y0+this._y_),t.lineTo(this.x1+this._x,this.y1+this._y),t.stroke(),this.cache.style.normal.strokeEnabled&&t.stroke(),t.restore()),this}}const Vo=(t,e,s,r)=>new Ro(t,e,s,r);class Po extends To{constructor(t,e,s,r){super(t,e),this.w=s,this.h=r,this.path=new Path2D}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.rect(this.px,this.py,this.w,this.h);const{strokeEnabled:e,fillEnabled:s}=this.cache.style.normal;e&&t.stroke(this.path),s&&t.fill(this.path),t.closePath(),t.restore()}return this}width(t){return this.w=t,this.parent&&this.parent.draw(),this}height(t){return this.h=t,this.parent&&this.parent.draw(),this}}const No=(t,e,s,r)=>new Po(t,e,s,r),$o={Svg:so,ZikoUISvg:eo,svgCircle:ao,svgEllipse:lo,svgImage:xo,svgLine:uo,svgPolygon:yo,svgRect:io,svgText:wo,svgGroupe:ko,svgLink:Do,svgGrid:_o,svgObject:Co,svgPath:go,Canvas:Mo,canvasArc:So,canvasCircle:Lo,canvasPoints:jo,canvasLine:Vo,canvasRect:No,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class zo{constructor(t,e){this.root_UI=t,this.routes=new Map([[404,lr("Error 404")],...Object.entries(e)]),this.patterns=new Map,this.maintain(),window.onpopstate=this.render(location.pathname)}get(t,e){if("string"==typeof t&&t.includes(":")){const s=new RegExp(`^${t.replace(/:([^/]+)/g,((t,e)=>"(.+)"))}$`);this.patterns.set(s,(t=>{const r=s.exec(t).slice(1);e(...r)}))}else t instanceof RegExp?this.patterns.set(t,e):this.routes.set(t,e);return this.maintain(),this}maintain(){return this.root_UI.append(...this.routes.values()),[...this.routes.values()].map((t=>t.render(!1))),this.render(location.pathname),this}render(t){if(this.routes.get(t))this.routes.get(t).render(!0);else{const e=[...this.patterns.keys()].find((e=>e.test(t)));e?this.patterns.get(e)(t):this.routes.get(404).render(!0)}return window.history.pushState({},"",t),this}}const Uo=(t,e,s)=>new zo(t,e,s),Ho={},Zo={default:{target:null,render:!0,math:{mode:"deg"}},setDefault:function(t){const e=Object.keys(t),s=Object.values(t);for(let t=0;t<e.length;t++)this.default[e[t]]=s[t]},init:()=>document.documentElement.setAttribute("data-engine","zikojs")};class qo extends HTMLElement{constructor(){super(),this.shadowDOM=this.attachShadow({mode:"open"}),this.wrapper=document.createElement("div")}connectedCallback(){this.setAttribute("role","region"),this.setAttribute("data-engine","zikojs"),this.shadowDOM.append(this.wrapper),this.observeContentChanges()}observeContentChanges(){new MutationObserver((t=>{t.forEach((t=>{"childList"!==t.type&&"characterData"!==t.type||(this.wrapper.innerHTML="",__Ziko__.__Config__.setDefault({target:this.wrapper}),globalThis.eval(this.innerHTML))}))})).observe(this,{childList:!0,subtree:!0,characterData:!0})}disconnectedCallback(){console.log("ZikoUIComponent removed from page.")}}globalThis.document&&globalThis.customElements.define("ziko-ui",qo);class Wo{constructor(t){this.app=t,this.meta={},this.#v("generator","zikojs")}#v(t,e){const s=document.querySelector(`meta[name=${t}]`);return this.meta=s||document.createElement("meta"),this.meta.setAttribute("name",t),this.meta.setAttribute("content",e),s||this.app.head.append(this.meta),this}charset(t="utf-8"){const e=document.querySelector("meta[charset]");return this.meta=e||document.createElement("meta"),this.meta.setAttribute("charset",t),e||this.app.head.append(this.meta),this}description(t){return this.#v("description",t),this}viewport(t="width=device-width, initial-scale=1.0"){return this.#v("viewport",t),this}keywords(...t){return t.push("zikojs"),t=[...new Set(t)].join(", "),this.#v("keywords",t),this}author(t="",e=""){const s=[t,e].join(", ");return this.#v("author",s),this}}class Xo extends Dn{constructor(){super("main"),this.root=document.documentElement,this.head=null,this.#r(),this.seo=new Wo(this),Object.assign(this.events,{hash:null}),Object.assign(this.cache,{theme:null,isRoot:!0}),this.render(globalThis.__Ziko__.__Config__.default.render)}#r(){this.root.setAttribute("data-engine","zikojs");const t=this.root.getElementsByTagName("head")[0];this.head=t||(this.head=document.createElement("head")),t||this.root.insertBefore(this.head,document.body);const e=this.head.getElementsByTagName("title")[0];this.Title=e||document.createElement("title"),e||this.head.append(this.Title)}title(t=this.title.textContent){return this.Title.textContent=t,this}prefetch(){}description(){}onHashChange(...t){return this.events.hash||(this.events.hash=ss(this)),this.events.hash.onChange(...t),this}}const Yo=(...t)=>(new Xo).append(...t),Ko={App:Yo,Math:Qt,UI:fi,Time:Ds,Graphics:$o,Reactivity:or,Data:to,SPA:Uo};function Go(){return fi.ExtractAll(),Qt.ExtractAll(),Ds.ExtractAll(),or.ExtractAll(),$o.ExtractAll(),to.ExtractAll(),this}function Qo(){fi.RemoveAll(),Qt.RemoveAll(),Ds.RemoveAll(),or.RemoveAll(),$o.RemoveAll(),to.RemoveAll()}globalThis.__Ziko__?console.warn("WARNING: Multiple instances of Ziko.js being imported."):globalThis.__Ziko__={...Ko,__UI__:Ho,__Config__:Zo,ExtractAll:Go,RemoveAll:Qo},globalThis.document&&document.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),t.Accordion=jn,t.App=Yo,t.Article=ti,t.Aside=ii,t.Base=X,t.Canvas=Mo,t.Carousel=Vn,t.CodeCell=Un,t.CodeNote=Nn,t.Combinaison=G,t.Complex=s,t.DarkThemes=Ls,t.Data=to,t.E=Et,t.EPSILON=kt,t.Ease=ys,t.ExtractAll=Go,t.Fixed=p,t.Flex=_n,t.Footer=ri,t.Graphics=$o,t.Grid=Ln,t.Header=si,t.LightThemes=Ss,t.LinearSystem=ut,t.Logic=Y,t.Main=ei,t.Math=Qt,t.Matrix=ot,t.Nav=ni,t.PI=Ct,t.Permutation=K,t.Random=J,t.Reactivity=or,t.RemoveAll=Qo,t.SPA=Uo,t.Section=Jn,t.Signal=Gt,t.Str=Qi,t.Svg=so,t.Table=gi,t.Tabs=Zn,t.Themes=Os,t.Time=Ds,t.UI=fi,t.Utils=Ht,t.ZikoUIArticle=Kn,t.ZikoUIAside=Gn,t.ZikoUIAudio=Cn,t.ZikoUIBr=vr,t.ZikoUICanvas=Bo,t.ZikoUICodeNote=Pn,t.ZikoUIComponent=qo,t.ZikoUIElement=ar,t.ZikoUIFigure=wn,t.ZikoUIFooter=Qn,t.ZikoUIHeader=Wn,t.ZikoUIHr=xr,t.ZikoUIHtmlTag=wr,t.ZikoUIImage=yn,t.ZikoUILink=Fr,t.ZikoUIMain=qn,t.ZikoUINav=Xn,t.ZikoUISection=Yn,t.ZikoUISvg=eo,t.ZikoUIVideo=xn,t.__Config__=Zo,t.abs=d,t.accum=h,t.acos=D,t.acosh=O,t.acot=M,t.add=bt,t.adoc2html=_i,t.animation=As,t.arange=St,t.asin=_,t.asinh=j,t.atan=B,t.atan2=$,t.atanh=R,t.audio=En,t.bessel=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return u(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return mt((t=>u(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(mt((e=>u(t[r],e)),...e));return s}}},t.beta=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return m(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return mt((t=>m(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(mt((e=>m(t[r],e)),...e));return s}}},t.br=Cr,t.brs=kr,t.btn=jr,t.canvasArc=So,t.canvasCircle=Lo,t.canvasLine=Vo,t.canvasPoints=jo,t.canvasRect=No,t.cartesianProduct=$t,t.ceil=V,t.checkbox=pn,t.choleskyDecomposition=it,t.clamp=It,t.complex=r,t.cos=v,t.cosh=T,t.cot=A,t.coth=L,t.count=(t,e)=>t.split("").filter((t=>t==e)).length,t.countWords=(t,e)=>t.split(" ").filter((t=>t==e)).length,t.csc=k,t.csv2arr=Bi,t.csv2json=Ii,t.csv2matrix=Mi,t.csv2object=Ti,t.csv2sql=Si,t.datalist=en,t.default=Ko,t.deg2rad=Rt,t.div=xt,t.e=b,t.fact=z,t.figure=vn,t.floor=P,t.gamma=(...t)=>mt(l,...t),t.geomspace=jt,t.h1=pr,t.h2=dr,t.h3=gr,t.h4=fr,t.h5=yr,t.h6=br,t.hr=Er,t.hrs=Ar,t.html=_r,t.hypot=Z,t.image=bn,t.inRange=Pt,t.input=tn,t.inputCamera=An,t.inputColor=ln,t.inputDate=un,t.inputDateTime=mn,t.inputEmail=hn,t.inputImage=on,t.inputNumber=rn,t.inputPassword=an,t.inputTime=cn,t.isApproximatlyEqual=Nt,t.json2arr=ji,t.json2csv=Ri,t.json2csvFile=Vi,t.json2xml=Ui,t.json2xmlFile=Hi,t.json2yml=$i,t.json2ymlFile=zi,t.lerp=Mt,t.li=t=>new Br(t),t.link=Dr,t.linspace=Lt,t.ln=w,t.logspace=Ot,t.loop=fs,t.luDecomposition=tt,t.map=Tt,t.mapfun=mt,t.markdown2html=xi,t.matrix=at,t.matrix2=ht,t.matrix3=lt,t.matrix4=ct,t.max=a,t.min=o,t.modulo=Ft,t.mul=vt,t.norm=Bt,t.nums=_t,t.ol=Sr,t.ones=Dt,t.p=ur,t.pgcd=zt,t.pow=f,t.powerSet=q,t.ppcm=Ut,t.prod=i,t.qrDecomposition=nt,t.rad2deg=Vt,t.radio=dn,t.removeExtraSpace=t=>t.replace(/\s+/g," "),t.round=N,t.search=nn,t.sec=C,t.select=fn,t.sig=H,t.sign=U,t.sin=x,t.sinc=E,t.sinh=I,t.slider=sn,t.sqrt=g,t.sqrtn=y,t.str=Ji,t.sub=wt,t.subSet=W,t.sum=n,t.svg2ascii=qi,t.svg2img=Xi,t.svg2imgUrl=Wi,t.svg2str=Zi,t.svgCircle=ao,t.svgEllipse=lo,t.svgGrid=_o,t.svgGroupe=ko,t.svgImage=xo,t.svgLine=uo,t.svgLink=Do,t.svgObject=Co,t.svgPath=go,t.svgPolyLine=(t,e)=>new mo(t,e),t.svgPolygon=yo,t.svgRect=io,t.svgText=wo,t.tan=F,t.tanh=S,t.text=lr,t.textarea=Pr,t.timeTaken=Es,t.time_memory_Taken=vs,t.ul=Lr,t.useBattery=Js,t.useBluetooth=Gs,t.useChannel=Ws,t.useClickEvent=Pe,t.useClipboardEvent=Ze,t.useCustomEvent=is,t.useDebounce=bs,t.useDragEvent=Le,t.useDropEvent=Oe,t.useEventEmitter=Ps,t.useFavIcon=Us,t.useFocusEvent=Ye,t.useGeolocation=er,t.useHashEvent=ss,t.useInputEvent=Je,t.useKeyEvent=De,t.useLocaleStorage=rr,t.useMediaQuery=Zs,t.useMouseEvent=we,t.usePointerEvent=ce,t.useSessionStorage=nr,t.useStyle=Is,t.useSuccesifKeys=ir,t.useTheme=Rs,t.useThread=Ys,t.useThrottle=ws,t.useTitle=$s,t.useWheelEvent=Fe,t.video=Fn,t.wait=Cs,t.waitForUIElm=xs,t.waitForUIElmSync=Fs,t.watch=cs,t.watchAttr=us,t.watchChildren=ms,t.watchIntersection=hs,t.watchScreen=Bs,t.watchSize=ds,t.zeros=At,Object.defineProperty(t,"__esModule",{value:!0})}));
9
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Ziko={})}(this,(function(e){"use strict";const{PI:s,E:r}=Math,n=Number.EPSILON;class i{}class o extends i{constructor(t=0,e=0){super(),t instanceof o?(this.a=t.a,this.b=t.b):"object"==typeof t?"a"in e&&"b"in t?(this.a=t.a,this.b=t.b):"a"in e&&"z"in t?(this.a=t.a,this.b=x(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*D(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=x(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/D(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*E(t.phi),this.a=t.z*A(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}toString(){let t="";return t=0!==this.a?this.b>=0?`${this.a}+${this.b}*i`:`${this.a}-${Math.abs(this.b)}*i`:this.b>=0?`${this.b}*i`:`-${Math.abs(this.b)}*i`,t}get clone(){return new o(this.a,this.b)}get z(){return Q(this.a,this.b)}get phi(){return W(this.b,this.a)}static Zero(){return new o(0,0)}get conj(){return new o(this.a,-this.b)}get inv(){return new o(this.a/(v(this.a,2)+v(this.b,2)),-this.b/(v(this.a,2)+v(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new o(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a+=+h(...e).toFixed(15),this.b+=+h(...s).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new o(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a-=+h(...e).toFixed(15),this.b-=+h(...s).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new o(t[e],0));let e=+l(this.z,...t.map((t=>t.z))).toFixed(15),s=+h(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*E(s).toFixed(15)).toFixed(14),this.b=+(e*A(s).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new o(t[e],0));let e=+(this.z/l(...t.map((t=>t.z)))).toFixed(15),s=+(this.phi-h(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*E(s).toFixed(15)).toFixed(15),this.b=+(e*A(s).toFixed(15)).toFixed(15),this}pow(t){if(Z(t)===t&&t>0){let e=+(this.z**t).toFixed(15),s=+(this.phi*t).toFixed(15);this.a=+(e*E(s).toFixed(15)).toFixed(15),this.b=+(e*A(s).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new o(+(t*E(e)).toFixed(13),+(t*A(e)).toFixed(13))}get expo(){return[this.z,this.phi]}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}static mul(t,...e){return t.clone.mul(...e)}static div(t,...e){return t.clone.div(...e)}static pow(t,e){return t.clone.pow(e)}static xpowZ(t){return a(t**this.a*E(this.b*k(t)),t**this.a*A(this.b*k(t)))}sqrtn(t=2){return a(C(this.z,t)*E(this.phi/t),C(this.z,t)*A(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return a(this.z,this.phi)}get cos(){return a(E(this.a)*j(this.b),A(this.a)*R(this.b))}get sin(){return a(A(this.a)*j(this.b),E(this.a)*R(this.b))}get tan(){const t=E(2*this.a)+j(2*this.b);return a(A(2*this.a)/t,R(2*this.b)/t)}printInConsole(){let t=this.a+" + "+this.b+" * i";return console.log(t),t}print(){}UI(){return"<span>"+this.a+" + i * "+this.b+"</span>"}}const a=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((s,r)=>a(t[r],e[r])));if(t instanceof wr&&e instanceof wr){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map(((s,r)=>a(t.arr[r],e.arr[r])));return new wr(t.rows,t.cols,...s)}return new o(t,e)},h=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e+=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(h(...t[s])):t[s]instanceof Object&&e.push(h(...Object.values(t[s])));return 1===e.length?e[0]:e},l=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let s=1;s<t.length;s++)e*=t[s];return e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(l(...t[s])):t[s]instanceof Object&&e.push(l(...Object.values(t[s])));return 1===e.length?e[0]:e},u=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(u(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>t[1]-e[1]))[0]]));return 1===e.length?e[0]:e},p=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.max(...t);const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(u(...t[s])):t[s]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[s]).sort(((t,e)=>e[1]-t[1]))[0]]));return 1===e.length?e[0]:e},m=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t.reduce(((t,e)=>[...t,t[t.length-1]+e]),[0]);return e.shift(),e}const e=[];for(let s=0;s<t.length;s++)t[s]instanceof Array?e.push(m(...t[s])):t[s]instanceof Object&&e.push(null);return 1===e.length?e[0]:e},g=t=>{const e=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];if(t<.5)return+(Math.PI/(Math.sin(Math.PI*t)*g(1-t))).toFixed(10);t-=1;let s=e[0];for(let r=1;r<9;r++)s+=e[r]/(t+r);const r=t+7+.5;return+(Math.sqrt(2*Math.PI)*Math.pow(r,t+.5)*Math.exp(-r)*s).toFixed(10)},f=(t,e)=>{let s=0;for(let r=0;r<100;r++){s+=Math.pow(-1,r)*Math.pow(e/2,t+2*r)/(X(r)*X(t+r))}return s},b=(t,e)=>{let s=0;const r=s=>Math.pow(s,t-1)*Math.pow(1-s,e-1);s+=.5*(r(0)+r(1));for(let t=1;t<1e3;t++){s+=r(0+.001*t)}return.001*s},y={cos:t=>+Math.cos(t).toFixed(15),sin:t=>+Math.sin(t).toFixed(15),tan:t=>+Math.tan(t).toFixed(31),sinc:t=>+Math.sin(Math.PI*t)/(Math.PI*t),sec:t=>1/Math.cos(t).toFixed(15),csc:t=>1/Math.sin(t).toFixed(15),cot:t=>1/Math.tan(t).toFixed(15),acos:t=>+Math.acos(t).toFixed(15),asin:t=>+Math.asin(t).toFixed(15),atan:t=>+Math.atan(t).toFixed(15),acot:t=>+Math.PI/2-Math.atan(t).toFixed(15),cosh:t=>+Math.cosh(t).toFixed(15),sinh:t=>+Math.sinh(t).toFixed(15),tanh:t=>+Math.tanh(t).toFixed(15),coth:t=>+(.5*Math.log((1+t)/(1-t))).toFixed(15),acosh:t=>+Math.acosh(t).toFixed(15),asinh:t=>+Math.asinh(t).toFixed(15),atanh:t=>+Math.atanh(t).toFixed(15)},w=(...t)=>Er(Math.abs,...t),x=(...t)=>Er(Math.sqrt,...t),v=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof o?o.fromExpo(t**e.a,e.b*k(t)):Er((e=>v(t,e)),...e);if(t instanceof o)return"number"==typeof e?o.fromExpo(t.z**e,t.phi*e):e instanceof o?o.fromExpo(t.z**e.a*F(-t.phi*e.b),k(t.z)*e.b+e.a*t.phi):Er((e=>v(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return Er((t=>v(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Er((e=>v(t[r],e)),...e));return s}}},C=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,1/e):Er((e=>C(t,e)),...e);if(t instanceof o)return"number"==typeof e?o.fromExpo(C(t.z,e),t.phi/e):Er((e=>C(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return Er((t=>C(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Er((e=>C(t[r],e)),...e));return s}}},F=(...t)=>Er(Math.exp,...t),k=(...t)=>Er(Math.log,...t),E=(...t)=>Er(y.cos,...t),A=(...t)=>Er(y.sin,...t),D=(...t)=>Er(y.tan,...t),B=(...t)=>Er(y.sec,...t),_=(...t)=>Er(y.sinc,...t),T=(...t)=>Er(y.csc,...t),I=(...t)=>Er(y.cot,...t),M=(...t)=>Er(y.acos,...t),S=(...t)=>Er(y.asin,...t),L=(...t)=>Er(y.atan,...t),O=(...t)=>Er(y.acot,...t),j=(...t)=>Er(y.cosh,...t),R=(...t)=>Er(y.sinh,...t),P=(...t)=>Er(y.tanh,...t),N=(...t)=>Er(y.coth,...t),V=(...t)=>Er(y.acosh,...t),$=(...t)=>Er(y.asinh,...t),U=(...t)=>Er(y.atanh,...t),H=(...t)=>Er(Math.ceil,...t),Z=(...t)=>Er(Math.floor,...t),q=(...t)=>Er(Math.round,...t),W=(t,e,s=!0)=>{if("number"==typeof t)return"number"==typeof e?s?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:Er((e=>W(t,e,s)),...e);if(t instanceof Array){if("number"==typeof e)return Er((t=>W(t,e,s)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Er((e=>v(t[r],e)),...e));return s}}},X=(...t)=>Er((t=>{let e,s=1;if(0==t)s=1;else if(t>0)for(e=1;e<=t;e++)s*=e;else s=NaN;return s}),...t),Y=(...t)=>Er(Math.sign,...t),G=(...t)=>Er((t=>1/(1+F(-t))),...t),Q=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?Er(Math.hypot,...t):void 0,K=t=>{const e=[],s=2**t.length;for(let r=0;r<s;r+=1){const s=[];for(let e=0;e<t.length;e+=1)r&1<<e&&s.push(t[e]);e.push(s)}return e},J=null,tt={_mode:Number,_map:function(t,e,s){return e instanceof wr?new wr(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof o?new o(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},dec2base(t,e){return this._mode=e<=10?Number:String,"number"==typeof t?this._mode((t>>>0).toString(e)):this._map(this.dec2base,t,e)},dec2bin(t){return this.dec2base(t,2)},dec2oct(t){return this.dec2base(t,8)},dec2hex(t){return this.dec2base(t,16)},bin2base(t,e){return this.dec2base(this.bin2dec(t),e)},bin2dec(t){return this._mode("0b"+t)},bin2oct(t){return this.bin2base(t,8)},bin2hex(t){return this.bin2base(t,16)},oct2dec(t){return this._mode("0o"+t)},oct2bin(t){return this.dec2bin(this.oct2dec(t))},oct2hex(t){return this.dec2hex(this.oct2dec(t))},oct2base(t,e){return this.dec2base(this.oct2dec(t),e)},hex2dec(t){return this._mode("0x"+t)},hex2bin(t){return this.dec2bin(this.hex2dec(t))},hex2oct(t){return this.dec2oct(this.hex2dec(t))},hex2base(t,e){return this.dec2base(this.hex2dec(t),e)},IEEE32toDec(t){let e=t.split(" ").join("").padEnd(32,"0"),s=e[0],r=2**(+("0b"+e.slice(1,9))-127);return(-1)**s*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),s=e[0],r=2**(+("0b"+e.slice(1,12))-1023);return(-1)**s*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*r}},et={_mode:Number,_map:function(t,e,s){return e instanceof wr?new wr(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof o?new o(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},not:function(t){return["number","boolean"].includes(typeof t)?et._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?et._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?et._mode(e.reduce(((t,e)=>t|e),t)):this._map(this.or,t,e)},nand:function(t,...e){return this.not(this.and(t,e))},nor:function(t,...e){return this.not(this.or(t,e))},xor:function(t,...e){let s=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===s.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return et.not(et.xor(t,e))}};class st{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const s=[];let r;return r=this.withDiscount(t,e-1),t.forEach((t=>{r.forEach((e=>{s.push([t].concat(e))}))})),s}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],s=this.withoutDiscount(t.slice(1)),r=t[0];for(let t=0;t<s.length;t++){const n=s[t];for(let t=0;t<=n.length;t++){const s=n.slice(0,t),i=n.slice(t);e.push(s.concat([r],i))}}return e}}class rt{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,n)=>{this.withDiscount(t.slice(n),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const s=[];return t.forEach(((r,n)=>{this.withoutDiscount(t.slice(n+1),e-1).forEach((t=>{s.push([r].concat(t))}))})),s}}const nt={Logic:et,Base:tt,Permutation:st,Combinaison:rt,combinaison:(t,e,s=!1)=>rt[s?"withDiscount":"withoutDiscount"](t,e),powerSet:K,subSet:J};class it{static float(t=1,e){return e?Math.random()*(e-t)+t:t*Math.random()}static int(t,e){return Math.floor(this.float(t,e))}static char(t){t=t??this.bool();const e=String.fromCharCode(this.int(97,120));return t?e.toUpperCase():e}static bool(){return[!1,!0][Math.floor(2*Math.random())]}static string(t,e){return t instanceof Array?new Array(this.int(...t)).fill(0).map((()=>this.char(e))).join(""):new Array(t).fill(0).map((()=>this.char(e))).join("")}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(8)}static hex(){return this.int(16)}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){let s=new Array(100);e=tn.accum(...e).map((t=>100*t)),s.fill(t[0],0,e[0]);for(let r=1;r<t.length;r++)s.fill(t[r],e[r-1],e[r]);return s[this.int(s.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:s,arr:r}=t;return xr(e,s,r.flat().sort((()=>.5-Math.random())))}static floats(t,e,s){return new Array(t).fill(0).map((()=>this.float(e,s)))}static ints(t,e,s){return new Array(t).fill(0).map((()=>this.int(e,s)))}static bools(t){return new Array(t).fill(0).map((()=>this.bool()))}static bins(t){return new Array(t).fill(0).map((()=>this.int(2)))}static octs(t){return new Array(t).fill(0).map((()=>this.int(8)))}static decs(t){return new Array(t).fill(0).map((()=>this.int(10)))}static hexs(t){return new Array(t).fill(0).map((()=>this.int(16)))}static choices(t,e,s){return new Array(t).fill(0).map((()=>this.choice(e,s)))}static perm(...t){return t.permS[this.int(t.length)]}static color(){return"#"+tt.dec2hex(this.float(16777216)).padStart(6,0)}static colors(t){return new Array(t).fill(null).map((()=>this.color()))}static complex(t=[0,1],e=[0,1]){return t instanceof Array?new o(this.float(t[0],t[1]),this.float(e[0],e[1])):new o(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new o(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new o(...this.bins(2))}static complexOct(){return new o(...this.octs(2))}static complexDec(){return new o(...this.decs(10))}static complexHex(){return new o(...this.octs(2))}static complexes(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complex(e,s)))}static complexesInt(t,e=0,s=1){return new Array(t).fill(0).map((()=>this.complexInt(e,s)))}static complexesBin(t){return new Array(t).fill(0).map((()=>this.complexBin()))}static complexesOct(t){return new Array(t).fill(0).map((()=>this.complexOct()))}static complexesDec(t){return new Array(t).fill(0).map((()=>this.complexDec()))}static complexesHex(t){return new Array(t).fill(0).map((()=>this.complexHex()))}static matrix(t,e,s,r){return xr(t,e,this.floats(t*e,s,r))}static matrixInt(t,e,s,r){return xr(t,e,this.ints(t*e,s,r))}static matrixBin(t,e){return xr(t,e,this.bins(t*e))}static matrixOct(t,e){return xr(t,e,this.octs(t*e))}static matrixDec(t,e){return xr(t,e,this.decs(t*e))}static matrixHex(t,e){return xr(t,e,this.hex(t*e))}static matrixColor(t,e){return xr(t,e,this.colors(t*e))}static matrixComplex(t,e,s,r){return xr(t,e,this.complexes(t*e,s,r))}static matrixComplexInt(t,e,s,r){return xr(t,e,this.complexesInt(t*e,s,r))}static matrixComplexBin(t,e){return xr(t,e,this.complexesBin(t*e))}static matrixComplexOct(t,e){return xr(t,e,this.complexesBin(t*e))}static matrixComplexDec(t,e){return xr(t,e,this.complexesBin(t*e))}static matrixComplexHex(t,e){return xr(t,e,this.complexesBin(t*e))}}const ot=t=>{t instanceof wr&&(t=t.arr);const e=t.length,s=new Array(e).fill(0).map((()=>new Array(e).fill(0))),r=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let n=0;n<e;n++){for(let i=n;i<e;i++){let e=0;for(let t=0;t<n;t++)e+=s[n][t]*r[t][i];r[n][i]=t[n][i]-e}for(let i=n;i<e;i++)if(n==i)s[n][n]=1;else{let e=0;for(let t=0;t<n;t++)e+=s[i][t]*r[t][n];s[i][n]=(t[i][n]-e)/r[n][n]}}return[s,r].map((t=>new wr(t)))},at=(t,e)=>t.reduce(((t,s,r)=>t+s*e[r]),0),ht=t=>Math.sqrt(t.reduce(((t,e)=>t+e*e),0)),lt=t=>t.map((e=>e/ht(t))),ct=t=>{t instanceof wr&&(t=t.arr);const e=t.length,s=t[0].length,r=[],n=[];for(let t=0;t<e;t++)n.push(new Array(s).fill(0));for(let i=0;i<s;i++){let s=t.map((t=>t[i]));for(let o=0;o<i;o++){const a=r[o],h=at(a,t.map((t=>t[i])));for(let t=0;t<e;t++)s[t]-=h*a[t];n[o][i]=h}const o=ht(s);r.push(lt(s)),n[i][i]=o}return[r,n].map((t=>new wr(t)))},ut=t=>{t instanceof wr&&(t=t.arr);const e=t.length,s=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let r=0;r<e;r++)for(let e=0;e<=r;e++){let n=0;for(let t=0;t<e;t++)n+=s[r][t]*s[e][t];s[r][e]=r===e?Math.sqrt(t[r][r]-n):1/s[e][e]*(t[r][e]-n)}return new wr(s)},pt=t=>t.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/\[(.*?)\]\((.*?)\)/g,'<a href="$2">$1</a>').replace(/!\[(.*?)\]\((.*?)\)/g,'<img src="$2" alt="$1">').replace(/`([^`]+)`/g,"<code>$1</code>"),dt=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${pt(t)}</td>`)).join("")}</tr>\n`,mt=(t,e)=>{const s=t.join("\n");return`${e?`<pre><code data-language="${e}">${s}</code></pre>`:`<pre><code>${s}</code></pre>`}\n`},gt=t=>{const e=t.match(/^\d+\.\s/);if(e){let s=+e[1];return`<ol${1===s?"":` start="${s}"`}>${pt(t.slice(e[0].length))}</ol>\n`}return`<ul>${pt(t)}</ul>\n`},ft=t=>{const e=t.split("\n");let s="",r=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))r||(r=!0,s+="<table>\n"),s+=dt(a);else if(r&&(r=!1,s+="</table>\n"),a.startsWith("```"))n?(n=!1,s+=mt(i,o)):(n=!0,i=[],o=a.slice(3).trim());else if(n)i.push(a);else if(a.startsWith("# ")){const t=a.indexOf(" "),e=a.slice(t+1);s+=`<h${t}>${pt(e)}</h${t}>\n`}else a.startsWith("- ")||a.startsWith("* ")||a.match(/^\d+\.\s/)?s+=gt(a):"---"!==a.trim()?s+=`<p>${pt(a)}</p>\n`:s+="<hr>\n"}return s},bt=t=>t.replace(/\*(.*?)\*/g,"_$1_").replace(/\*\*(.*?)\*\*/g,"*$1*").replace(/\[(.*?)\]\((.*?)\)/g,"link:$2[$1]").replace(/!\[(.*?)\]\((.*?)\)/g,"image::$2[$1]").replace(/`([^`]+)`/g,"``$1``").replace(/^\*\s/,""),yt=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${bt(t)}</td>`)).join("")}</tr>\n`,wt=(t,e)=>{const s=t.join("\n");return`${e?`<pre><code data-language="${e}">${s}</code></pre>`:`<pre><code>${s}</code></pre>`}\n`},xt=t=>{const e=/^(\d+)\.\s/,s=/^[.]\s/,r=/^[*]\s/;if(t.match(e)){return`<ol start="${t.match(e)[1]}"><li>${bt(t.replace(e,""))}</li></ol>\n`}return t.match(s)?`<ol><li>${bt(t.replace(s,""))}</li></ol>\n`:t.match(r)?`<ul><li>${bt(t.replace(r,""))}</li></ul>\n`:`<p>${bt(t)}</p>\n`},vt=t=>`<blockquote>${bt(t.slice(2))}</blockquote>\n`,Ct=t=>{const e=t.match(/\[(.*?)\]/);return e?e[1].split(",").map((t=>`[${t.trim()}]`)).join(""):""},Ft=t=>{const e=t.split("\n");let s="",r=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))r||(r=!0,s+="<table>\n"),s+=yt(a);else if(r&&(r=!1,s+="</table>\n"),a.startsWith("```"))n?(n=!1,s+=wt(i,o)):(n=!0,i=[],o=a.slice(3).trim());else if(n)i.push(a);else if(a.startsWith("=")){const t=(a.match(/=/g)||[]).length,e=a.replace(/=/g,"").trim();s+=`<h${t}>${bt(e)}</h${t}>\n`}else a.match(/^(\d+)\.\s/)||a.match(/^[*\.]\s/)?s+=xt(a):a.startsWith("> ")?s+=vt(a):"---"!==a.trim()?a.startsWith("[")?s+=Ct(a):""!==a.trim()&&(s+=`<p>${bt(a)}</p>\n`):s+="<hr>\n"}return s},kt=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),Et=(t,e=",")=>new wr(kt(t,e)),At=(t,e=",")=>{const[s,...r]=kt(t,e);return r.map((t=>{const e={};return s.forEach(((s,r)=>{e[s]=t[r]})),e}))},Dt=(t,e=",")=>JSON.stringify(At(t,e)),Bt=(t,e)=>{const s=t.trim().trimEnd().split("\n").filter((t=>t));let r=`INSERT INTO ${e} (${s[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<s.length;t++){const e=s[t].split(",");n.push(`(${e})`)}return r+n.join(",\n")},_t=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],Tt=(t,e)=>_t(t).map((t=>t.join(e))).join("\n"),It=t=>_t(t instanceof Object?t:JSON.parse(t)),Mt=(t,e=",")=>Tt(t instanceof Object?t:JSON.parse(t),e),St=(t,e)=>{const s=Mt(t,e),r=new Blob([s],{type:"text/csv;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Lt=(t,e)=>{const s=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){s.push(`${e}-`);const r=Lt(t,`${e} `);s.push(...r)}else s.push(`${e}- ${t}`)}));else for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];if("object"==typeof n&&null!==n){s.push(`${e}${r}:`);const t=Lt(n,`${e} `);s.push(...t)}else s.push(`${e}${r}: ${n}`)}return s},Ot=(t,e="")=>Lt(t,e).join("\n"),jt=(t,e)=>Ot(t instanceof Object?t:JSON.parse(t),e),Rt=(t,e)=>{const s=jt(t,e),r=new Blob([s],{type:"text/yml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},Pt=(t,e=1)=>{let s="";for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];s+="\n"+" ".repeat(e)+`<${r}>`,s+="object"==typeof n?Pt(n,e+2):`${n}`,s+=`</${r}>`}return s.trim()},Nt=(t,e)=>{const s=Pt(t,e),r=new Blob([s],{type:"text/xml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},zt=(t,e="px")=>("number"==typeof t&&(t+=e),t instanceof Array&&(t=t.map((t=>"number"==typeof t?t+=e:t)).join(" ")),t);class Vt{constructor(t={}){this.target=null,this.styles=new Map([["default",t]]),this.cache={isHidden:!1,isFaddedOut:!1,transformation:{Flip:[0,0,0],matrix:new wr([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])}}}style(t){return this?.target?.element?.style&&Object.assign(this?.target?.element?.style,t),this}linkTo(t){return this.target=t,this}use(t="default"){return this.style(this.styles.get(t)),this}update(t,e){const s=this.styles.get(t);return s?this.styles.set(t,Object.assign(s,e)):this.styles.set(t,e),this}add(t,e){return this.styles.set(t,e),this}replace(t,e){return this.styles.set(t,e),this}delete(...t){return t.forEach((t=>this.styles.delete(t))),this}updateDefaultStyle(){const t=Object.fromEntries(Object.entries(this.target.element.style).filter((t=>isNaN(+t[0]))));return this.update("default",t),this}hover(t){return t&&this.add("hover",t),this.target.element.addEventListener("pointerenter",(()=>this.use("hover"))),this.target.element.addEventListener("pointerleave",(()=>this.use("default"))),this}isInline(){return getComputedStyle(this.target.element).display.includes("inline")}isBlock(){return!this.isInline()}size(t,e,{target:s,maskVector:r}={}){return this.style({width:t,height:e},{target:s,maskVector:r}),this}width(t,{target:e,maskVector:s}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let r=t.min??t.max,n=t.max??t.min;r=zt(r,"px"),n=zt(n,"px"),this.style({minWidth:r,maxWidth:n},{target:e,maskVector:s})}}else t=zt(t,"px"),this.style({width:t},{target:e,maskVector:s});return this}height(t,{target:e,maskVector:s}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let r=t.min??t.max,n=t.max??t.min;r=zt(r,"px"),n=zt(n,"px"),this.style({minHeight:r,maxHeight:n},{target:e,maskVector:s})}}else t=zt(t,"px"),this.style({height:t},{target:e,maskVector:s});return this}enableResize(t=!1,e=!1,{target:s,maskVector:r}={}){let n="none";return n=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:n,overflow:"hidden"},{target:s,maskVector:r}),this.isInline()&&(console.group("Ziko Issue : Temporarily Incompatible Method"),console.warn(".enableResize has no effect on inline elements!"),console.info("%cConsider using other display types such as block, inline-block, flex, or grid for proper resizing behavior.","color:gold;background-color:#3333cc;padding:5px"),console.groupEnd()),this}hide({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.hide({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:s});return this}show({after:t,target:e,maskVector:s}={}){if("number"==typeof t){const r=()=>this.show({target:e,maskVector:s});setTimeout(r,t),clearTimeout(r)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:s});return this}color(t,{target:e,maskVector:s}={}){return this.style({color:t},{target:e,maskVector:s}),this}background(t,{target:e,maskVector:s}={}){return this.style({background:t},{target:e,maskVector:s}),this}backgroundColor(t,{target:e,maskVector:s}={}){return this.style({backgroundColor:t},{target:e,maskVector:s}),this}opacity(t,{target:e,maskVector:s}={}){return this.style({opacity:t},{target:e,maskVector:s}),this}position(t,{target:e,maskVector:s}={}){return this.style({position:t},{target:e,maskVector:s}),this}display(t,{target:e,maskVector:s}={}){return this.style({display:t},{target:e,maskVector:s}),this}zIndex(t,{target:e,maskVector:s}={}){return this.style({zIndex:t},{target:e,maskVector:s}),this}float(t,{target:e,maskVector:s}={}){return this.style({float:t},{target:e,maskVector:s}),this}border(t="1px solid red",{target:e,maskVector:s}={}){return this.style({border:t},{target:e,maskVector:s}),this}borderTop(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderTop:t},{target:e,maskVector:s}),this}borderRight(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderRight:t},{target:e,maskVector:s}),this}borderBottom(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderBottom:t},{target:e,maskVector:s}),this}borderLeft(t="1px solid red",{target:e,maskVector:s}={}){return this.style({borderLeft:t},{target:e,maskVector:s}),this}borderRadius(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({borderRadius:t},{target:e,maskVector:s}),this}margin(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({margin:t},{target:e,maskVector:s}),this}marginTop(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({marginTop:t},{target:e,maskVector:s}),this}marginRight(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({marginRight:t},{target:e,maskVector:s}),this}marginBootom(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({marginBootom:t},{target:e,maskVector:s}),this}marginLeft(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({marginLeft:t},{target:e,maskVector:s}),this}padding(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({padding:t},{target:e,maskVector:s}),this}paddingTop(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({paddingTop:t},{target:e,maskVector:s}),this}paddingRight(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({paddingRight:t},{target:e,maskVector:s}),this}paddingBootom(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({paddingBootom:t},{target:e,maskVector:s}),this}paddingLeft(t,{target:e,maskVector:s}={}){return t=zt(t,"px"),this.style({paddingLeft:t},{target:e,maskVector:s}),this}font(t,{target:e,maskVector:s}={}){return this.style({font:t},{target:e,maskVector:s}),this}fontFamily(t="",{target:e,maskVector:s}={}){return this.style({fontFamily:t},{target:e,maskVector:s}),this}fontSize(t,{target:e,maskVector:s}={}){return this.style({fontSize:t},{target:e,maskVector:s}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e,{target:s,maskVector:r}={}){const n=["hidden","auto"];return this.style({overflowX:"number"==typeof t?n[t]:t,overflowY:"number"==typeof e?n[e]:e},{target:s,maskVector:r}),this}clip(t,{target:e,maskVector:s}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:s}),this}fadeOut(t=1){return this.style({transition:t/1e3+"s",opacity:0}),this.cache.isFaddedOut=!0,this}fadeIn(t=1){return this.style({transition:t/1e3+"s",opacity:1}),this.cache.isFaddedOut=!1,this}toggleFade(t=1e3,e=t){return this.cache.isFaddedOut?this.fadeIn(t):this.fadeOut(e),this}#t(e){const s=this.cache.transformation.matrix.arr.join(",");this.style({transform:`matrix3d(${s})`,"-webkit-transform":`matrix3d(${s})`,"-moz-transform":`matrix3d(${s})`,"-ms-transform":`matrix3d(${s})`,"-o-transform":`matrix3d(${s})`}),0!=t&&this.style({transition:`transform ${e/1e3}s ease`})}translate(t,e=t,s=0,r=0){return this.cache.transformation.matrix.set(3,0,t),this.cache.transformation.matrix.set(3,1,e),this.cache.transformation.matrix.set(3,2,s),this.#t(r),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#t(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#t(e),this}translateZ(t,e=0){const s=-1/this.cache.transformation.matrix[2][2];return this.cache.transformation.matrix.set(3,2,z),this.cache.transformation.matrix.set(3,3,1-t/s),this.#t(e),this}perspective(t,e=0){const s=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/d),this.cache.transformation.matrix.set(3,3,1-s/t),this.#t(e),this}scale(t,e=t,s=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.set(1,1,e),this.#t(s),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.#t(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#t(e),this}skew(t,e=t,s=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.set(1,0,e),this.cache.transformation.matrix.arr.join(","),this.#t(s),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#t(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#t(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,E(t)),this.cache.transformation.matrix.set(1,2,-A(t)),this.cache.transformation.matrix.set(2,1,A(t)),this.cache.transformation.matrix.set(1,2,E(t)),this.#t(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,E(t)),this.cache.transformation.matrix.set(0,2,A(t)),this.cache.transformation.matrix.set(2,0,-A(t)),this.cache.transformation.matrix.set(2,2,E(t)),this.#t(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,E(t)),this.cache.transformation.matrix.set(0,1,-A(t)),this.cache.transformation.matrix.set(1,0,A(t)),this.cache.transformation.matrix.set(1,1,E(t)),this.#t(e),this}flipeX(t=1){return this.cache.transformation.Flip[0]+=180,this.cache.transformation.Flip[0]%=360,this.rotateX(this.cache.transformation.Flip[0],t),this}flipeY(t=1){return this.cache.transformation.Flip[1]+=180,this.cache.transformation.Flip[1]%=360,this.rotateY(this.cache.transformation.Flip[1],t),this}flipeZ(t=1){return this.cache.transformation.Flip[2]+=180,this.cache.transformation.Flip[2]%=360,this.rotateZ(this.cache.transformation.Flip[2],t),this}slideHeightIn(t=1,e=this.h){return this.style({transition:t+"s",height:e}),this}slideHeightOut(t=1){return this.style({transition:t+"s",height:0}),this.target.element.addEventListener("transitionend",(()=>this.style({opacity:"none"}))),this}slideWidthIn(t=1,e=this.w){return this.style({transition:t+"s",width:e}),this}slideWidthOut(t=1){this.style({transition:t+"s",width:0});const e=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",e),this.target.element.removeEventListener("transitionend",e),this}slideIn({transitionTimming:t=1,w:e="100%",h:s="auto"}={}){return this.style({transition:t+"s",width:e,height:s,visibility:"visible"}),this}slideOut({transitionTimming:t=1,width:e=0,heightransitionTimming:s=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:height});const r=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",r),this.target.element.removeEventListener("transitionend",r),this}}class $t{constructor(t={},e=(t.hasOwnProperty("default")?"default":Object.keys(t)[0]),s=0){this.id="Ziko-Style-"+s,this.keys=new Set,this.styles={default:{fontSize:"1em",color:"green"},other:{fontSize:"2em",color:"cyan"}},t&&this.add(t),e&&this.use(e)}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t&&"object"==typeof t&&!Array.isArray(t)?Object.assign(this.styles,t):"string"==typeof t&&Object.assign(this.styles,{[t]:e}),this}#e(t){const e=Object.keys(this.styles);for(let s in this.styles[e[t]])Object.prototype.hasOwnProperty.call(this.styles[e[t]],s)&&(document.documentElement.style.setProperty(`--${s}-${this.id}`,this.styles[e[t]][s]),this.keys.add(s));return this}#s(t){if(!this.styles[t])return this;for(let e in this.styles[t])Object.prototype.hasOwnProperty.call(this.styles[t],e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e));return this}#r(t){for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e));return this}use(t){return"number"==typeof t?this.#e(t):"string"==typeof t?this.#s(t):t&&"object"==typeof t?this.#r(t):this}}const Ut=(t,e,s)=>new $t(t,e,s),Ht={cozyCottonCandy:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},crystalClear:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"},lightdreamyDusk:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},luminousLavender:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},meadowMornings:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},moonlitMauve:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},morningMist:{background:"#F6F6F6",currentLine:"#EAEAEA",selection:"#D8D8D8",foreground:"#333333",comment:"#808080",cyan:"#00A6A6",green:"#4CAF50",orange:"#FFA726",pink:"#FF4081",purple:"#9C27B0",red:"#FF5252",yellow:"#FFD740"},oceanBreeze:{background:"#ECF1F4",currentLine:"#DDE8ED",selection:"#BFD3C1",foreground:"#37474F",comment:"#607D8B",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},pastelParadise:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},pastelPetals:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sereneSnowfall:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},softSherbet:{background:"#FDF8F3",currentLine:"#FAF1EB",selection:"#FFEBEE",foreground:"#6D4C41",comment:"#A1887F",cyan:"#00BCD4",green:"#689F38",orange:"#FFA000",pink:"#EC407A",purple:"#8E24AA",red:"#E53935",yellow:"#FFC107"},subtleSerenity:{background:"#F3F5F7",currentLine:"#E8EDF2",selection:"#D1D9E6",foreground:"#2C3E50",comment:"#95A5A6",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},summerSunset:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#4E342E",comment:"#795548",cyan:"#009688",green:"#43A047",orange:"#FF5722",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sunnyDay:{background:"#FFF8E1",currentLine:"#FFF3E0",selection:"#FFE0B2",foreground:"#4E342E",comment:"#795548",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},tranquilTwilight:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},tranquilWaves:{background:"#F9F9F9",currentLine:"#E4E4E4",selection:"#D4D4D4",foreground:"#2C3E50",comment:"#7F8C8D",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},whisperingWillow:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"}},Zt={antiqueRose:{background:"#1C1014",currentLine:"#2B1B21",selection:"#443034",foreground:"#D8B5B5",comment:"#7F5E5E",cyan:"#6FA2A2",green:"#66A66F",orange:"#FFB97A",pink:"#FFA8BD",purple:"#B78DA5",red:"#FF6C6C",yellow:"#FFD579"},auroraBorealis:{background:"#1D1426",currentLine:"#2B1E35",selection:"#432D4E",foreground:"#C2AABF",comment:"#7F6E8E",cyan:"#7EA5D3",green:"#77C992",orange:"#FFC476",pink:"#FFA8B3",purple:"#AE9AC3",red:"#FF6C6C",yellow:"#FFD576"},autumnHarvest:{background:"#291C10",currentLine:"#3A2A1E",selection:"#573C2C",foreground:"#D4C3A2",comment:"#7F6F52",cyan:"#82B4BF",green:"#7FB074",orange:"#FFAB6E",pink:"#FF8196",purple:"#B394A9",red:"#FF6565",yellow:"#FFD270"},aylin:{background:"#13161E",currentLine:"#161A28",selection:"#222B3E",foreground:"#D2D8E0",comment:"#697098",cyan:"#78D1E1",green:"#98C379",orange:"#EBCB8B",pink:"#D16D9E",purple:"#C678DD",red:"#E88388",yellow:"#EBCB8B"},azureBlue:{background:"#001B29",currentLine:"#002C3E",selection:"#004E6B",foreground:"#C3D7E2",comment:"#5F7C92",cyan:"#75B7D1",green:"#70C8A7",orange:"#FFB476",pink:"#FF92B0",purple:"#B88BC3",red:"#FF6666",yellow:"#FFD666"},cobalt2:{background:"#193549",currentLine:"#1F4662",selection:"#193549",foreground:"#B9BED0",comment:"#627D98",cyan:"#4DB5BD",green:"#86B300",orange:"#FFB86C",pink:"#FF7F7B",purple:"#9B64FB",red:"#FF6672",yellow:"#FFCC99"},cobaltMaterialTheme:{background:"#263238",currentLine:"#37474F",selection:"#80CBC4",foreground:"#CFD8DC",comment:"#78909C",cyan:"#80CBC4",green:"#A5D6A7",orange:"#FFD54F",pink:"#FF80AB",purple:"#CE93D8",red:"#EF5350",yellow:"#FFEE58"},cosmicBlue:{background:"#1B2836",currentLine:"#223348",selection:"#39516D",foreground:"#C0D4E5",comment:"#728CAB",cyan:"#75A6FF",green:"#5ED99F",orange:"#FFAD6F",pink:"#FF90B6",purple:"#A889C5",red:"#FF6E6E",yellow:"#FCD256"},cosmicSunset:{background:"#1B1921",currentLine:"#272530",selection:"#3C3948",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},cyberForest:{background:"#0D151D",currentLine:"#18262F",selection:"#2B3B47",foreground:"#CDD7E0",comment:"#667B8B",cyan:"#7EC4CF",green:"#68CC96",orange:"#FFAC6C",pink:"#FF89B4",purple:"#A889C5",red:"#FF6565",yellow:"#FFCB6B"},cyberPunkCity:{background:"#000000",currentLine:"#121212",selection:"#1F1F1F",foreground:"#DADADA",comment:"#626262",cyan:"#71B7FF",green:"#50D890",orange:"#FFB86C",pink:"#FF79C6",purple:"#BB86FC",red:"#FF5454",yellow:"#FDD663"},cyberpunkNeon:{background:"#121212",currentLine:"#1B1B1B",selection:"#262626",foreground:"#DADADA",comment:"#6C6C6C",cyan:"#69AEDB",green:"#4ECCA3",orange:"#FFB86C",pink:"#FF79C6",purple:"#D08EFF",red:"#FF5454",yellow:"#FDD663"},darkDesert:{background:"#1E2022",currentLine:"#282A2E",selection:"#393D42",foreground:"#C0C5CE",comment:"#5C6368",cyan:"#6FB3E0",green:"#88C076",orange:"#FFB454",pink:"#FF7F90",purple:"#B48EAD",red:"#FF6666",yellow:"#FFCC66"},darkMint:{background:"#11161A",currentLine:"#1B2128",selection:"#3D4853",foreground:"#D9DEE5",comment:"#65737E",cyan:"#88C0D0",green:"#98C379",orange:"#FFB86C",pink:"#FF7F8B",purple:"#C594C5",red:"#FF6561",yellow:"#FAD07B"},deepOcean:{background:"#121C2C",currentLine:"#182236",selection:"#2B3E50",foreground:"#BDC3C7",comment:"#6C7A89",cyan:"#59ABE3",green:"#26A65B",orange:"#F9690E",pink:"#EB3B5A",purple:"#D2527F",red:"#E74C3C",yellow:"#F5AB35"},deepOceanBlue:{background:"#1B2F40",currentLine:"#263B53",selection:"#3A536E",foreground:"#BFC9D4",comment:"#657C8E",cyan:"#6CB5FF",green:"#65C287",orange:"#FFA974",pink:"#FF87B4",purple:"#AE9BFF",red:"#FF6666",yellow:"#FFD67B"},deepOceanSunset:{background:"#151D2A",currentLine:"#1D2735",selection:"#31405B",foreground:"#D5D9E0",comment:"#6C7B8B",cyan:"#6FAAD4",green:"#66C295",orange:"#FFA476",pink:"#FF94B0",purple:"#B08FC0",red:"#FF6565",yellow:"#FFD466"},deepSpace:{background:"#0F1419",currentLine:"#1A232D",selection:"#3A4758",foreground:"#CDD9E5",comment:"#657C96",cyan:"#6CB6FF",green:"#4CAF50",orange:"#FFB454",pink:"#FF75B5",purple:"#9A76FF",red:"#FF5555",yellow:"#FFC857"},dracula:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},dreamyDusk:{background:"#22243D",currentLine:"#313558",selection:"#4C4F6D",foreground:"#A5A7C5",comment:"#6F728E",cyan:"#81A2BE",green:"#7FB074",orange:"#FFB476",pink:"#FF91A4",purple:"#AE8DC2",red:"#FF7272",yellow:"#FFD67A"},electricLagoon:{background:"#15232B",currentLine:"#20323E",selection:"#344E5F",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},emeraldCity:{background:"#112E26",currentLine:"#1B3F38",selection:"#2F6253",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},enchantedEclipse:{background:"#131A22",currentLine:"#1F2C3A",selection:"#2D4455",foreground:"#A7B6C2",comment:"#6B7B8C",cyan:"#5FA8D3",green:"#5CB8A4",orange:"#FFA96C",pink:"#FF8FA2",purple:"#A88ED1",red:"#FF6B6B",yellow:"#FFD575"},enchantedEvening:{background:"#1E1824",currentLine:"#2A2332",selection:"#3F3A4F",foreground:"#C2B4CB",comment:"#7F7292",cyan:"#76AAD8",green:"#6CC095",orange:"#FFB36C",pink:"#FF8FB0",purple:"#AB8CC2",red:"#FF6464",yellow:"#FFD164"},fireAndIce:{background:"#1F2532",currentLine:"#292F3D",selection:"#4E556A",foreground:"#D8DEE9",comment:"#69758E",cyan:"#7EC4CF",green:"#68CC98",orange:"#FFA071",pink:"#FF88B5",purple:"#AE9BFF",red:"#FF657E",yellow:"#FDCB83"},forestGreen:{background:"#1A1E22",currentLine:"#24292F",selection:"#394147",foreground:"#C8C8C8",comment:"#5C6370",cyan:"#7AAB9D",green:"#88B379",orange:"#FFAC6F",pink:"#F97B77",purple:"#A187BE",red:"#FF5C5C",yellow:"#F5D76E"},futuristicBlue:{background:"#111B26",currentLine:"#1B2E3F",selection:"#334D65",foreground:"#C0D2E3",comment:"#6E859E",cyan:"#77AADB",green:"#78C196",orange:"#FFAC6C",pink:"#FF8DBE",purple:"#A48ADA",red:"#FF6666",yellow:"#FFD66D"},gentlePurple:{background:"#2E2E3D",currentLine:"#383849",selection:"#4D4D5C",foreground:"#B2B2CC",comment:"#6E6E8F",cyan:"#6D77CC",green:"#81C995",orange:"#FFB16A",pink:"#FF7CAC",purple:"#8A80A1",red:"#FF657A",yellow:"#FDB26E"},githubDarkDimmed:{background:"#0D1117",currentLine:"#161B22",selection:"#1F6F8B",foreground:"#8B949E",comment:"#8B949E",cyan:"#79C0FF",green:"#2DD57A",orange:"#FFB454",pink:"#FF80AB",purple:"#D781D3",red:"#EF5252",yellow:"#D29922"},gruvbox:{background:"#282828",currentLine:"#3c3836",selection:"#bdae93",foreground:"#ebdbb2",comment:"#928374",cyan:"#83a598",green:"#b8bb26",orange:"#fe8019",pink:"#d3869b",purple:"#d3869b",red:"#fb4934",yellow:"#fabd2f"},materialTheme:{background:"#263238",currentLine:"#37474f",selection:"#90a4ae",foreground:"#eceff1",comment:"#546e7a",cyan:"#80cbc4",green:"#a5d6a7",orange:"#ffb74d",pink:"#f06292",purple:"#ba68c8",red:"#ef5350",yellow:"#ffee58"},midnightMystique:{background:"#1E1E27",currentLine:"#292935",selection:"#3F3F4F",foreground:"#C2C2D3",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},midnightSunset:{background:"#182233",currentLine:"#1D2D46",selection:"#384B66",foreground:"#B7C0CE",comment:"#6A788A",cyan:"#6B98FF",green:"#6BD49D",orange:"#FFA178",pink:"#FF8DAB",purple:"#B48EAD",red:"#F96263",yellow:"#FADA5E"},minimalMonochrome:{background:"#1C1C1C",currentLine:"#262626",selection:"#363636",foreground:"#D9D9D9",comment:"#757575",cyan:"#7DC1C7",green:"#7FB074",orange:"#FFB869",pink:"#FF81A2",purple:"#B48EAD",red:"#FF6B6B",yellow:"#FFD57B"},modernMarine:{background:"#0A0E19",currentLine:"#121929",selection:"#1E2B42",foreground:"#D5D8DE",comment:"#7F8493",cyan:"#6FB1D3",green:"#6CC792",orange:"#FFB577",pink:"#FF96B0",purple:"#B690C2",red:"#FF6666",yellow:"#FFD666"},monokai:{background:"#272822",currentLine:"#3e3d32",selection:"#49483e",foreground:"#f8f8f2",comment:"#75715e",cyan:"#66d9ef",green:"#a6e22e",orange:"#fd971f",pink:"#f92672",purple:"#ae81ff",red:"#f92672",yellow:"#e6db74"},moonlitMeadow:{background:"#12252C",currentLine:"#1D3B47",selection:"#24566E",foreground:"#A7C4BC",comment:"#5E7D84",cyan:"#82B7BD",green:"#87C38A",orange:"#F4B66A",pink:"#F77A92",purple:"#C58AC9",red:"#F0725E",yellow:"#E8C284"},mysticalMauve:{background:"#1A1A26",currentLine:"#252533",selection:"#3E3E57",foreground:"#B2B2CC",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},nebulaNights:{background:"#1B1821",currentLine:"#262330",selection:"#3C3A48",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},neonLights:{background:"#000000",currentLine:"#0D0D0D",selection:"#1A1A1A",foreground:"#DADADA",comment:"#7F7F7F",cyan:"#6FE3E3",green:"#60FFA0",orange:"#FFB67A",pink:"#FF9FBD",purple:"#BF8CC2",red:"#FF6666",yellow:"#FFD666"},nightSky:{background:"#17202A",currentLine:"#1C2732",selection:"#2E4053",foreground:"#D0D3D4",comment:"#566573",cyan:"#5DADE2",green:"#45B39D",orange:"#F5B041",pink:"#EB984E",purple:"#AF7AC5",red:"#EC7063",yellow:"#F4D03F"},nord:{background:"#2e3440",currentLine:"#3b4252",selection:"#4c566a",foreground:"#d8dee9",comment:"#616e88",cyan:"#88c0d0",green:"#a3be8c",orange:"#ebcb8b",pink:"#bf616a",purple:"#b48ead",red:"#bf616a",yellow:"#ebcb8b"},nova:{background:"#1F262D",currentLine:"#232A32",selection:"#414B56",foreground:"#D9E2EC",comment:"#525F69",cyan:"#89DDFF",green:"#64D989",orange:"#E7C664",pink:"#E95678",purple:"#C594C5",red:"#FF5656",yellow:"#FFC172"},novaDark:{background:"#1A2026",currentLine:"#212930",selection:"#36424F",foreground:"#C0C6D9",comment:"#5B6C7F",cyan:"#84CEE4",green:"#89DD6D",orange:"#FFB46E",pink:"#FF7CAB",purple:"#BB80B3",red:"#FC6161",yellow:"#FAB795"},oceanBlue:{background:"#12232E",currentLine:"#1D3B53",selection:"#205072",foreground:"#A8DADC",comment:"#5E81AC",cyan:"#7FB2F0",green:"#88C0D0",orange:"#FFB86C",pink:"#FFA0A0",purple:"#D4A3D9",red:"#EF8E8E",yellow:"#FFD180"},oceanicAzure:{background:"#001A23",currentLine:"#002B36",selection:"#004056",foreground:"#C0C5CE",comment:"#4D5767",cyan:"#75A4C0",green:"#68A3A8",orange:"#FFA45E",pink:"#FF94B0",purple:"#B48EAD",red:"#FF6363",yellow:"#FFD464"},oceanicGruvbox:{background:"#1d2021",currentLine:"#282828",selection:"#458588",foreground:"#ebdbb2",comment:"#928374",cyan:"#89b482",green:"#a9b665",orange:"#d79921",pink:"#d3869b",purple:"#b16286",red:"#fb4934",yellow:"#d5c4a1"},oceanicNext:{background:"#1B2B34",currentLine:"#343D46",selection:"#4F5B66",foreground:"#A7ADBA",comment:"#616E7C",cyan:"#7FB5DA",green:"#98C379",orange:"#EBCB8B",pink:"#EC5f67",purple:"#C594C5",red:"#EC5f67",yellow:"#D29922"},oneDark:{background:"#282c34",currentLine:"#3e4451",selection:"#4f5b66",foreground:"#abb2bf",comment:"#5c6370",cyan:"#56b6c2",green:"#98c379",orange:"#d19a66",pink:"#c678dd",purple:"#c678dd",red:"#e06c75",yellow:"#e5c07b"},polarNight:{background:"#2E3440",currentLine:"#3B4252",selection:"#4C566A",foreground:"#D8DEE9",comment:"#616E88",cyan:"#81A1C1",green:"#A3BE8C",orange:"#EBCB8B",pink:"#BF616A",purple:"#B48EAD",red:"#BF616A",yellow:"#EBCB8B"},radiantRainforest:{background:"#16231A",currentLine:"#1F3927",selection:"#355D43",foreground:"#A7C9A2",comment:"#6F8D77",cyan:"#80C3BB",green:"#76CC8F",orange:"#FFB56C",pink:"#FF8FA6",purple:"#AB8CC2",red:"#FF6C6C",yellow:"#FFD576"},retroTech:{background:"#0C0C0C",currentLine:"#141414",selection:"#1F1F1F",foreground:"#D9D9D9",comment:"#626262",cyan:"#77BFC9",green:"#69CC6D",orange:"#FFC46D",pink:"#FF7D99",purple:"#BB86FC",red:"#FF5555",yellow:"#FACD60"},royalPurple:{background:"#1E1B2E",currentLine:"#272337",selection:"#3E395B",foreground:"#D5D1E2",comment:"#76708E",cyan:"#76D7C4",green:"#47B87C",orange:"#FFC300",pink:"#F39C9D",purple:"#9B59B6",red:"#E74C3C",yellow:"#F1C40F"},sapphireSkies:{background:"#081125",currentLine:"#0F1F3A",selection:"#1E3874",foreground:"#D8DCE6",comment:"#6B7394",cyan:"#7EC4D9",green:"#7DCB9E",orange:"#FFB578",pink:"#FF8FB3",purple:"#B992CC",red:"#FF6767",yellow:"#FFD684"},shadesOfPurple:{background:"#2d2b55",currentLine:"#37355a",selection:"#444267",foreground:"#ecebf0",comment:"#9a99a3",cyan:"#a1efe4",green:"#72f1b8",orange:"#f78c6c",pink:"#ffcc99",purple:"#9a99a3",red:"#ff6188",yellow:"#ffcc99"},solarizedDark:{background:"#002b36",currentLine:"#073642",selection:"#586e75",foreground:"#839496",comment:"#586e75",cyan:"#2aa198",green:"#859900",orange:"#cb4b16",pink:"#d33682",purple:"#6c71c4",red:"#dc322f",yellow:"#b58900"},synthWave84:{background:"#2b213a",currentLine:"#3e3650",selection:"#564d7a",foreground:"#e0def4",comment:"#9c8c98",cyan:"#95e6cb",green:"#00ffb9",orange:"#f28779",pink:"#f771ac",purple:"#d3bfff",red:"#ff6188",yellow:"#ffd866"},tokyoNight:{background:"#1a1b26",currentLine:"#282a36",selection:"#44475a",foreground:"#eff0eb",comment:"#6b6e76",cyan:"#78d1e1",green:"#67b11d",orange:"#e1a80e",pink:"#ff79c6",purple:"#d27bff",red:"#ff5555",yellow:"#f3f99d"},tomorrowNight:{background:"#1d1f21",currentLine:"#282a36",selection:"#373b41",foreground:"#c5c8c6",comment:"#616e7c",cyan:"#81a2be",green:"#b5bd68",orange:"#de935f",pink:"#cc6666",purple:"#b294bb",red:"#cc6666",yellow:"#f0c674"},twilightMeadow:{background:"#14202A",currentLine:"#1F2E3F",selection:"#334D65",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},urbanTwilight:{background:"#161727",currentLine:"#1F2737",selection:"#35415B",foreground:"#BDC9D7",comment:"#7F8C9C",cyan:"#77AED8",green:"#6CC492",orange:"#FFB677",pink:"#FF95B1",purple:"#B48DC2",red:"#FF6C6C",yellow:"#FFD576"},vibrantInk:{background:"#1C1E26",currentLine:"#242730",selection:"#363B4A",foreground:"#BFC7D5",comment:"#5C6672",cyan:"#6A76FB",green:"#33CC95",orange:"#FF9A65",pink:"#FF75B5",purple:"#AE81FF",red:"#FF6188",yellow:"#FDD269"},vintageRust:{background:"#301F1A",currentLine:"#3E2A23",selection:"#5D3E35",foreground:"#D7C3A7",comment:"#7F6C55",cyan:"#83A4C4",green:"#7EAD90",orange:"#FFA45E",pink:"#FF8C9E",purple:"#B491A9",red:"#FF7262",yellow:"#FFD372"}},qt={...Ht,...Zt};class Wt{constructor(t,e=0){this.id="Ziko-Theme-"+e,this.use(t)}get current(){return["background","currentLine","selection","foreground","comment","cyan","green","orange","pink","purple","red","yellow"].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}useThemeIndex(t){const e=Object.keys(qt);for(let s in qt[e[t]])document.documentElement.style.setProperty(`--${s}-${this.id}`,qt[e[t]][s]);return this}useThemeName(t){t=t.toLowerCase();const e=Object.fromEntries(Object.entries(qt).map((t=>[t[0].toLowerCase(),t[1]])));for(let s in e[t])document.documentElement.style.setProperty(`--${s}-${this.id}`,e[t][s]);return this}useThemeObject(t){for(let e in t)document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]);return this}use(t){return"number"==typeof t&&this.useThemeIndex(t),"string"==typeof t&&this.useThemeName(t),t instanceof Object&&this.useThemeObject(t),this}}const Xt=(t,e=0)=>new Wt(t,e);class Yt{constructor(){this.events={},this.maxListeners=10}on(t,e){this.events[t]||(this.events[t]=[]),this.events[t].push(e),this.events[t].length>this.maxListeners&&console.warn(`Warning: Possible memory leak. Event '${t}' has more than ${this.maxListeners} listeners.`)}once(t,e){const s=r=>{this.off(t,s),e(r)};this.on(t,s)}off(t,e){const s=this.events[t];if(s){const t=s.indexOf(e);-1!==t&&s.splice(t,1)}}emit(t,e){const s=this.events[t];s&&s.forEach((t=>{t(e)}))}clear(t){t?delete this.events[t]:this.events={}}setMaxListener(t,e){this.maxListeners=e}removeAllListeners(t){t?this.events[t]=[]:this.events={}}}const Gt=()=>new Yt;class Qt{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=Gt(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}}const Kt=(t,e)=>new Qt(t,e);class Jt{constructor(t,e=!0){this.#n(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#n(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document?.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=Gt(),this}}const te=(t,e)=>new Jt(t,e);class ee{constructor(t=[],e=(()=>{})){this.mediaQueryRules=t,this.fallback=e,this.lastCalledCallback=null,this.init()}init(){this.mediaQueryRules.forEach((({query:t,callback:e})=>{const s=globalThis.matchMedia(t),r=()=>{const t=this.mediaQueryRules.some((({query:t})=>globalThis.matchMedia(t).matches));s.matches?(e(),this.lastCalledCallback=e):t||this.lastCalledCallback===this.fallback||(this.fallback(),this.lastCalledCallback=this.fallback)};r(),s.addListener(r)}))}}const se=(t,e)=>new ee(t,e);function re(t,e,s,r){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),s&&s(),this.cache.stream.enabled[e]&&r&&this.cache.stream.history[e].push(r),this.cache.callbacks[e].map((t=>t(this))),this}class ne{constructor(t){this.target=null,this.setTarget(t),this.__dispose=this.dispose.bind(this)}get targetElement(){return this.target.element}setTarget(t){return this.target=t,this}__handle(t,e,s){const r="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(s),this.targetElement.addEventListener(r,e),this}__onEvent(t,e,...s){if(0===s.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=s.map((t=>e=>t.call(this,e)));return this.__handle(t,this.__controller[t],e),this}preventDefault(t={}){return Object.assign(this.cache.preventDefault,t),this}pause(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.removeEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!0);return this}resume(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.addEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!1);return this}dispose(t={}){return this.pause(t),this}stream(t={}){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.clear).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.cache.stream.history[e]=[]);return this}}function ie(t){re.call(this,t,"down",(()=>{this.dx=parseInt(t.offsetX),this.dy=parseInt(t.offsetY),this.isDown=!0}),{x:this.dx,y:this.dy,t:Date.now()-this.cache.stream.t0})}function oe(t){re.call(this,t,"move",(()=>{this.mx=parseInt(t.offsetX),this.my=parseInt(t.offsetY),this.isMoving=!0}),{x:this.mx,y:this.my,t:Date.now()-this.cache.stream.t0})}function ae(t){re.call(this,t,"up",(()=>{this.ux=parseInt(t.offsetX),this.uy=parseInt(t.offsetY),this.isDown=!1;const e=this.dx,s=this.dy,r=this.ux,n=this.uy,i=(r-e)/this.target.Width,o=(s-n)/this.target.Height,a=i<0?"left":i>0?"right":"none",h=o<0?"bottom":o>0?"top":"none";this.swippe={h:a,v:h,delta_x:i,delta_y:o}}),{x:this.ux,y:this.uy,t:Date.now()-this.cache.stream.t0})}function he(t){re.call(this,t,"enter",null,null)}function le(t){re.call(this,t,"leave",null,null)}function ce(t){re.call(this,t,"out",null,null)}function ue(t){re.call(this,t,"cancel",null,null)}class pe extends ne{constructor(t){super(t),this.event=null,this.dx=0,this.dy=0,this.dt=0,this.mx=0,this.my=0,this.mt=0,this.ux=0,this.uy=0,this.ut=0,this.swippe={h:null,v:null,delta_x:0,delta_y:0},this.isMoving=!1,this.isDown=!1,this.cache={prefixe:"pointer",preventDefault:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,cancel:!1},paused:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,cancel:!1},stream:{enabled:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,cancel:!1},clear:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,cancel:!1},history:{down:[],move:[],up:[],enter:[],out:[],leave:[]}},callbacks:{down:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],move:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],up:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],enter:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],out:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],leave:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],cancel:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})]}},this.__controller={down:ie.bind(this),move:oe.bind(this),up:ae.bind(this),enter:he.bind(this),out:ce.bind(this),leave:le.bind(this),cancel:ue.bind(this)}}onDown(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("down",{down:!0,move:!1,up:!1,enter:!1,out:!1,leave:!1,cancel:!1},...t),this}onMove(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("move",{down:!1,move:!0,up:!1,enter:!1,out:!1,leave:!1,cancel:!1},...t),this}onUp(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("up",{down:!1,move:!1,up:!0,enter:!1,out:!1,leave:!1,cancel:!1},...t),this}onEnter(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("enter",{down:!1,move:!1,up:!1,enter:!0,out:!1,leave:!1,cancel:!1},...t),this}onOut(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("out",{down:!1,move:!1,up:!1,enter:!1,out:!0,leave:!1,cancel:!1},...t),this}onLeave(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("leave",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!0,cancel:!1},...t),this}onCancel(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("cancel",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,cancel:!0},...t),this}}var de=t=>new pe(t);class me extends ne{constructor(t){super(t),this.event=null,this.dx=0,this.dy=0,this.dt=0,this.mx=0,this.my=0,this.mt=0,this.ux=0,this.uy=0,this.ut=0,this.swippe={h:null,v:null,delta_x:0,delta_y:0},this.isMoving=!1,this.isDown=!1,this.cache={prefixe:"mouse",preventDefault:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},paused:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},stream:{enabled:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},clear:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},history:{down:[],move:[],up:[],enter:[],out:[],leave:[],over:[]}},callbacks:{down:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],move:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],up:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],enter:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],out:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],leave:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],over:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})]}},this.__controller={down:ge.bind(this),move:fe.bind(this),up:be.bind(this),enter:ye.bind(this),out:xe.bind(this),leave:we.bind(this),over:ve.bind(this)}}onDown(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("down",{down:!0,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!1},...t),this}onMove(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("move",{down:!1,move:!0,up:!1,enter:!1,out:!1,leave:!1,over:!1},...t),this}onUp(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("up",{down:!1,move:!1,up:!0,enter:!1,out:!1,leave:!1,over:!1},...t),this}onEnter(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("enter",{down:!1,move:!1,up:!1,enter:!0,out:!1,leave:!1,over:!1},...t),this}onOut(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("out",{down:!1,move:!1,up:!1,enter:!1,out:!0,leave:!1,over:!1},...t),this}onLeave(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("leave",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!0,over:!1},...t),this}onOver(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("over",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1,over:!0},...t),this}}function ge(t){re.call(this,t,"down",(()=>{this.dx=parseInt(t.offsetX),this.dy=parseInt(t.offsetY),this.isDown=!0}),{x:this.dx,y:this.dy,t:Date.now()-this.cache.stream.t0})}function fe(t){re.call(this,t,"move",(()=>{this.mx=parseInt(t.offsetX),this.my=parseInt(t.offsetY),this.isMoving=!0}),{x:this.mx,y:this.my,t:Date.now()-this.cache.stream.t0})}function be(t){re.call(this,t,"up",(()=>{this.ux=parseInt(t.offsetX),this.uy=parseInt(t.offsetY),this.isDown=!1;const e=this.dx,s=this.dy,r=this.ux,n=this.uy,i=(r-e)/this.target.Width,o=(s-n)/this.target.Height,a=i<0?"left":i>0?"right":"none",h=o<0?"bottom":o>0?"top":"none";this.swippe={h:a,v:h,delta_x:i,delta_y:o}}),{x:this.ux,y:this.uy,t:Date.now()-this.cache.stream.t0})}function ye(t){re.call(this,t,"enter",null,null)}function we(t){re.call(this,t,"leave",null,null)}function xe(t){re.call(this,t,"out",null,null)}function ve(t){re.call(this,t,"out",null,null)}const Ce=t=>new me(t);function Fe(t){re.call(this,t,"wheel",null,null)}class ke extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{wheel:!1},paused:{wheel:!1},stream:{enabled:{wheel:!1},clear:{wheel:!1},history:{wheel:[]}},callbacks:{click:[]}},this.__controller={wheel:Fe.bind(this)}}onWheel(...t){return this.__onEvent("wheel",{},...t),this}}const Ee=t=>new ke(t);function Ae(t){re.call(this,t,"down",(()=>this.kd=t.key),{key:t.key,t:10})}function De(t){re.call(this,t,"press",(()=>this.kp=t.key),{key:t.key,t:10})}function Be(t){re.call(this,t,"up",(()=>this.ku=t.key),{key:t.key,t:10})}class _e extends ne{constructor(t){super(t),this.kp=null,this.kd=null,this.ku=null,this.t=0,this.cache={prefixe:"key",preventDefault:{down:!1,press:!1,up:!1},paused:{down:!1,press:!1,up:!1},stream:{enabled:{down:!1,press:!1,up:!1},clear:{down:!0,press:!1,up:!1},history:{down:[],press:[],up:[]}},callbacks:{down:[t=>console.log({kd:t.kd})],press:[t=>console.log({kp:t.kp})],up:[t=>console.log({ku:t.ku})]},successifKeysCallback:{down:[t=>console.log(1111)],press:[t=>console.log(1112)],kyup:[t=>console.log(1113)]}},this.__controller={down:Ae.bind(this),press:De.bind(this),up:Be.bind(this)}}onDown(...t){return this.__onEvent("down",{down:!0},...t),this}onPress(...t){return this.__onEvent("press",{press:!0},...t),this}onUp(...t){return this.__onEvent("up",{up:!0},...t),this}}var Te=t=>new _e(t);function Ie(t){re(this,t,"start",null)}function Me(t){re.call(this,t,"drag",null,null)}function Se(t){re.call(this,t,"end",null,null)}function Le(t){re.call(this,t,"drop",null,null)}class Oe extends ne{constructor(t){super(t),this.target.setAttribute("draggable",!0),this.cache={prefixe:"drag",preventDefault:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},paused:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},callbacks:{drag:[],start:[],end:[],enter:[],leave:[],over:[]},stream:{enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},clear:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},history:{drag:[],start:[],end:[],enter:[],leave:[],over:[]}}},this.__controller={start:Ie.bind(this),drag:Me.bind(this),end:Se.bind(this)}}onStart(...t){return this.__onEvent("start",{},...t),this}onDrag(...t){return this.__onEvent("drag",{},...t),this}onEnd(...t){return this.__onEvent("end",{},...t),this}}class je extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{drop:!1},paused:{drop:!1},stream:{enabled:{drop:!1},clear:{drop:!1},history:{drop:[]}},callbacks:{drop:[t=>console.log({dx:t.dx,dy:t.dy,drop:t.drop,move:t.move,t:t.dt})]}},this.__controller={drop:Le.bind(this)}}onDrop(...t){return this.__onEvent("drop",{},...t),this}}const Re=t=>new Oe(t),Pe=t=>new je(t);function Ne(t){re.call(this,t,"click",null,null)}function ze(t){re.call(this,t,"dbclick",null,null)}class Ve extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{click:!1,dbclick:!1},paused:{click:!1,dbclick:!1},stream:{enabled:{click:!1,dbclick:!1},clear:{click:!1,dbclick:!1},history:{click:[],dbclick:[]}},callbacks:{click:[],dbclick:[]}},this.__controller={click:Ne.bind(this),dbclick:ze.bind(this)}}onClick(...t){return this.__onEvent("click",{},...t),this}onDbClick(...t){return this.__onEvent("dbclick",{},...t),this}}const $e=t=>new Ve(t);function Ue(t){re.call(this,t,"copy",null,null)}function He(t){re.call(this,t,"cut",null,null)}function Ze(t){re.call(this,t,"paste",null,null)}function qe(t){re.call(this,t,"select",null,null)}class We extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{copy:!1,cut:!1,paste:!1,select:!1},paused:{copy:!1,cut:!1,paste:!1,select:!1},stream:{enabled:{copy:!1,cut:!1,paste:!1,select:!1},clear:{copy:!1,cut:!1,paste:!1,select:!1},history:{copy:[],cut:[],paste:[],select:[]}},callbacks:{copy:[],cut:[],paste:[],select:[]}},this.__controller={copy:Ue.bind(this),cut:He.bind(this),paste:Ze.bind(this),select:qe.bind(this)}}onCopy(...t){return this.__onEvent("copy",{},...t),this}onCut(...t){return this.__onEvent("cut",{},...t),this}onPaste(...t){return this.__onEvent("paste",{},...t),this}onSelect(...t){return this.__onEvent("select",{},...t),this}}const Xe=t=>new We(t);function Ye(t){re.call(this,t,"focus",null,null)}function Ge(t){re.call(this,t,"blur",null,null)}class Qe extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{focus:!1,blur:!1},paused:{focus:!1,blur:!1},stream:{enabled:{focus:!1,blur:!1},clear:{focus:!1,blur:!1},history:{focus:[],blur:[]}},callbacks:{focus:[],blur:[]}},this.__controller={focus:Ye.bind(this),blur:Ge.bind(this)}}onFocus(...t){return this.__onEvent("focus",{},...t),this}onBlur(...t){return this.__onEvent("blur",{},...t),this}}const Ke=t=>new Qe(t);function Je(t){re.call(this,t,"input",null,null)}function ts(t){re.call(this,t,"change",null,null)}class es extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{input:!1,change:!1},paused:{input:!1,change:!1},stream:{enabled:{input:!1,change:!1},clear:{input:!1,change:!1},history:{input:[],change:[]}},callbacks:{input:[],change:[]}},this.__controller={input:Je.bind(this),change:ts.bind(this)}}get value(){return this.target.value}onInput(...t){return this.__onEvent("input",{},...t),this}onChange(...t){return this.__onEvent("change",{},...t),this}}const ss=t=>new es(t);function rs(t){re.call(this,t,"hashchange",null,null)}class ns extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{hashchange:!1},paused:{hashchange:!1},stream:{enabled:{hashchange:!1},clear:{hashchange:!1},history:{hashchange:[]}},callbacks:{hashchange:[]}},this.__controller={hashchange:rs.bind(this)}}onChange(...t){return this.__onEvent("hashchange",{},...t),this}}const is=t=>new ns(t),os=t=>function(e){re.call(this,e,t,null,null)};class as extends ne{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{}},this.__controller={}}#n(t){return this.cache.preventDefault[t]=!1,this.cache.paused[t]=!1,this.cache.stream.enabled=!1,this.cache.stream.clear=!1,this.cache.stream.history=[],this.cache.callbacks[t]=[],this.__controller[t]=os(t).bind(this),this}on(t,...e){return this.__controller[t]||this.#n(t),this.__onEvent(t,{},...e),this}emit(t,e={}){this.__controller[t]||this.#n(t),this.detail=e;const s=new Event(t);return this.targetElement.dispatchEvent(s),this}}const hs=t=>new as(t),ls={usePointerEvent:de,useMouseEvent:Ce,useWheelEvent:Ee,useKeyEvent:Te,useDragEvent:Re,useDropEvent:Pe,useClickEvent:$e,useClipboardEvent:Xe,useFocusEvent:Ke,useInputEvent:ss,useHashEvent:is,useCustomEvent:hs,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class cs{constructor(t,e,{threshold:s=0,margin:r=0}={}){this.target=t,this.config={threshold:s,margin:r},this.observer=new IntersectionObserver((t=>{this.entrie=t[0],e(this)}),{threshold:this.threshold})}get ratio(){return this.entrie.intersectionRatio}get isIntersecting(){return this.entrie.isIntersecting}setThreshould(t){return this.config.threshold=t,this}setMargin(t){return t="number"==typeof t?t+"px":t,this.config.margin=t,this}start(){return this.observer.observe(this.target.element),this}stop(){return this}}const us=(t,e,s)=>new cs(t,e,s);class ps{constructor(t,e){this.target=t,this.observer=null,this.cache={options:e||{attributes:!0,childList:!0,subtree:!0},streamingEnabled:!0,lastMutation:null,mutationHistory:{}},this.observeCallback=(t,e)=>{if(this.cache.streamingEnabled)for(const e of t)switch(e.type){case"attributes":this.cache.mutationHistory.attributes.push(e.target.getAttribute(e.attributeName));break;case"childList":this.cache.mutationHistory.childList.push(e);break;case"subtree":this.cache.mutationHistory.subtree.push(e)}this.callback&&this.callback(t,e)}}observe(t){this.observer||(this.observer=new MutationObserver(this.cache.observeCallback),this.observer.observe(this.target.element,this.cache.options),this.callback=([e])=>t.call(e,this),this.cache.streamingEnabled=!0)}pause(t){this.observer&&(this.observer.disconnect(),t&&this.observer.observe(this.target,t))}reset(t){this.observer&&(this.observer.disconnect(),this.observer.observe(this.target,t||this.cache.options))}clear(){return this.observer&&(this.observer.disconnect(),this.observer=null,this.cache.mutationHistory={attributes:[],childList:[],subtree:[]}),this.cache.streamingEnabled=!1,this}getMutationHistory(){return this.cache.mutationHistory}enableStreaming(){return this.cache.streamingEnabled=!0,this}disableStreaming(){return this.cache.streamingEnabled=!1,this}}class ds{constructor(t,e){this.target=t,this.contentRect=null,this.observer=new ResizeObserver((()=>{e(this)}))}get BoundingRect(){return this.target.element.getBoundingClientRect()}get width(){return this.BoundingRect.width}get height(){return this.BoundingRect.height}get top(){return this.BoundingRect.top}get bottom(){return this.BoundingRect.bottom}get right(){return this.BoundingRect.right}get left(){return this.BoundingRect.left}get x(){return this.BoundingRect.x}get y(){return this.BoundingRect.y}start(){return this.observer.observe(this.target.element),this}stop(){return this.observer.unobserve(this.target.element),this}}const ms=(t,e)=>new ds(t,e);class gs{constructor(t=(t=>console.log({x:t.x,y:t.y}))){this.cache={},this.previousX=globalThis?.screenX,this.previousY=globalThis?.screenY}update(){Object.assign(this.cache,{screenXLeft:globalThis?.screenX,screenXRight:globalThis?.screen.availWidth-globalThis?.screenX,screenYTop:globalThis?.screenY,screenYBottom:globalThis?.screen.availHeight-globalThis?.screenY-globalThis?.outerHeight,screenCenterX:globalThis?.screen.availWidth/2,screenCenterY:globalThis?.screen.availHeight/2,windowCenterX:globalThis?.outerWidth/2+globalThis?.screenX,windowCenterY:globalThis?.outerHeight/2+globalThis?.screenY,deltaCenterX:globalThis?.screen.availWidth/2-globalThis?.outerWidth/2+globalThis?.screenX,deltaCenterY:null})}get x0(){return Vr(globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get y0(){return-Vr(globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}get x1(){return Vr(globalThis?.screenX+globalThis?.outerWidth,0,globalThis.screen.availWidth,-1,1)}get y1(){return-Vr(globalThis?.screenY+globalThis?.outerHeight,0,globalThis.screen.availHeight,-1,1)}get cx(){return Vr(globalThis?.outerWidth/2+globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get cy(){return-Vr(globalThis?.outerHeight/2+globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}}const fs=t=>new gs(t);class bs extends ps{constructor(t,e){super(t,{attributes:!0,childList:!1,subtree:!1}),Object.assign(this.cache,{observeCallback:(t,e)=>{for(const e of t)this.cache.lastMutation={name:e.attributeName,value:e.target.getAttribute(e.attributeName)},this.cache.streamingEnabled&&this.cache.mutationHistory.attributes.push(this.cache.lastMutation);this.callback&&this.callback(t,e)}}),this.cache.mutationHistory.attributes=[],e&&this.observe(e)}get history(){return this.cache.mutationHistory.attributes}}const ys=(t,e)=>new bs(t,e);class ws extends ps{constructor(t,e){super(t,{attributes:!1,childList:!0,subtree:!1}),Object.assign(this.cache,{observeCallback:(t,e)=>{for(const e of t)e.addedNodes?this.cache.lastMutation={type:"add",item:this.target.find((t=>t.element===e.addedNodes[0]))[0],previous:this.target.find((t=>t.element===e.previousSibling))[0]}:e.addedNodes&&(this.cache.lastMutation={type:"remove",item:this.target.find((t=>t.element===e.removedNodes[0]))[0],previous:this.target.find((t=>t.element===e.previousSibling))[0]}),this.cache.streamingEnabled&&this.cache.mutationHistory.children.push(this.cache.lastMutation);this.callback&&this.callback(t,e)}}),this.cache.mutationHistory.children=[],e&&this.observe(e)}get item(){return this.cache.lastMutation.item}get history(){return this.cache.mutationHistory.children}}const xs=(t,e)=>new ws(t,e),vs={watch:(t,e={},s=null)=>{const r=new ps(t,e);return s&&r.observe(s),r},watchAttr:ys,watchChildren:xs,watchIntersection:us,watchSize:ms,watchScreen:fs,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class Cs{constructor(t=""){this.channel=new BroadcastChannel(t),this.EVENTS_DATAS_PAIRS=new Map,this.EVENTS_HANDLERS_PAIRS=new Map,this.LAST_RECEIVED_EVENT="",this.UUID="ziko-channel"+it.string(10),this.SUBSCRIBERS=new Set([this.UUID])}get broadcast(){return this}emit(t,e){return this.EVENTS_DATAS_PAIRS.set(t,e),this.#i(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#o(),this}#o(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const s=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),r=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);s&&r&&r(s)},this}#i(t){return this.channel.postMessage({EVENTS_DATAS_PAIRS:this.EVENTS_DATAS_PAIRS,last_sended_event:t,userId:this.UUID}),this}close(){return this.channel.close(),this}}const Fs=t=>new Cs(t);class ks{#a;constructor(){this.#a=function(t){try{let e=new Function("return "+t.data.fun)()();postMessage({result:e})}catch(t){postMessage({error:t.message})}finally{t.data.close&&self.close()}}.toString(),this.blob=new Blob(["this.onmessage = "+this.#a],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,s=!0){return this.worker.postMessage({fun:t.toString(),close:s}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}const Es=(t,e,s)=>{const r=new ks;return t&&r.call(t,e,s),r};class As{constructor(t={acceptAllDevices:!0}){this.options=t,this.__Emitter__=Gt(),this.isSupported&&this.#n()}async#n(){this.promise=navigator.bluetooth.requestDevice(this.options).then((t=>this.device=t))}get isSupported(){return!!navigator.bluetooth}get current(){return this.device}connect(){return this.server=this.device.gatt.connect(),this.__Emitter__.emit("ziko:bluetooth-connected"),this}disconnect(){return this.device.gatt.disconnect(),this.__Emitter__.emit("ziko:bluetooth-disconnected"),this}onConnect(t){return this.__Emitter__.on("ziko:bluetooth-connected",t),this}onDisconnect(t){return this.__Emitter__.on("ziko:bluetooth-disconnected",t),this}dispose(){}async battery(t){const e=await this.server.getPrimaryService("battery_service"),s=await e.getCharacteristic("battery_level"),r=await s.readValue();t(await r.getUint8(0))}}const Ds=t=>new As(t);class Bs{constructor(){this.isSupported&&this.#n()}async#n(){this.__Battery__=await navigator.getBattery()}get isSupported(){return!!navigator.getBattery}get current(){const{level:t,charging:e,chargingTime:s,dischargingTime:r}=this.__Battery__;return{level:t,charging:e,chargingTime:s,dischargingTime:r}}onChargingChange(t){return this.__Battery__.addEventListener("chargingchange",t),this}onLevelChange(t){return this.__Battery__.addEventListener("levelchange",t),this}}const _s=()=>new Bs;class Ts{constructor(){this.isSupported&&this.#n()}async#n(){navigator.geolocation.getCurrentPosition((t=>this.__Geolocation__=t))}get isSupported(){return!!navigator.geolocation}get current(){return this.__Geolocation__}}const Is=()=>new Ts;class Ms{constructor(t,e=1e3/30,s=0,r=1/0,n=!0){this.callback=t,this.cache={isRunning:!1,AnimationId:null,t0:null,step:e,startTime:s,endTime:r,started:n},this.init(),this.i=0}init(){return this.cache.started&&(this.cache.startTime?this.startAfter(this.cache.startTime):this.start(),this.cache.endTime&&this.cache.endTime!==1/0&&this.stopAfter(this.cache.endTime)),this}start(){return this.cache.isRunning||(this.i=0,this.cache.isRunning=!0,this.cache.t0=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}stop(){return this.pause(),this.i=0,this}resume(){return this.cache.isRunning=!0,this.animate(),this}startAfter(t=1e3){return setTimeout(this.start.bind(this),t),this}stopAfter(t=1e3){return setTimeout(this.stop.bind(this),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.t0;e>this.cache.step&&(this.callback(this),this.i++,this.cache.t0=t-e%this.cache.step),this.cache.AnimationId=setTimeout(this.animate,0)}}}const Ss=(t,e,s,r,n)=>new Ms(t,e,s,r,n),Ls={Linear:function(t){return t},InSin:t=>1-Math.cos(t*Math.PI/2),OutSin:t=>Math.sin(t*Math.PI/2),InOutSin:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t**2,OutQuad:t=>1-Math.pow(1-t,2),InOutQuad:t=>t<.5?2*Math.pow(t,2):1-Math.pow(-2*t+2,2)/2,InCubic:t=>t**3,OutCubic:t=>1-Math.pow(1-t,3),InOutCubic:t=>t<.5?4*Math.pow(t,3):1-Math.pow(-2*t+2,3)/2,InQuart:t=>t**4,OutQuart:t=>1-Math.pow(1-t,4),InOutQuart:t=>t<.5?8*Math.pow(t,4):1-Math.pow(-2*t+2,4)/2,InQuint:t=>t**5,OutQuint:t=>1-Math.pow(1-t,5),InOutQuint:t=>t<.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)/2,InExpo:t=>0===t?0:Math.pow(2,10*t-10),OutExpo:t=>1===t?1:1-Math.pow(2,-10*t),InOutExpo:t=>0===t?0:1===t?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-Math.pow(t,2)),OutCirc:t=>Math.sqrt(1-Math.pow(t-1,2)),InOutCic:t=>t<.5?(1-Math.sqrt(1-Math.pow(2*t,2)))/2:(Math.sqrt(1-Math.pow(-2*t+2,2))+1)/2,Arc:t=>1-Math.sin(Math.acos(t)),Back:t=>Math.pow(t,2)*(2*t-1),Elastic:t=>-2*Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*t/3*t),InBack(t){const e=1.70158;return 2.70158*Math.pow(t,3)-e*t**2},OutBack(t){const e=1.70158;return 1+2.70158*Math.pow(t-1,3)+e*Math.pow(t-1,2)},InOutBack(t){const e=2.5949095;return t<.5?Math.pow(2*t,2)*(7.189819*t-e)/2:(Math.pow(2*t-2,2)*((e+1)*(2*t-2)+e)+2)/2},InElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:-Math.pow(2,10*t-10)*Math.sin((10*t-10.75)*e)},OutElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin((10*t-.75)*e)+1},InOutElastic(t){const e=2*Math.PI/4.5;return 0===t?0:1===t?1:t<.5?-Math.pow(2,20*t-10)*Math.sin((20*t-11.125)*e)/2:Math.pow(2,-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-Ls.OutBounce(1-t),OutBounce(t){const e=7.5625,s=2.75;return t<1/s?e*t*t:t<2/s?e*(t-=1.5/s)*t+.75:t<2.5/s?e*(t-=2.25/s)*t+.9375:e*(t-=2.625/s)*t+.984375},InOutBounce:t=>t<.5?(1-Ls.OutBounce(1-2*t))/2:(1+Ls.OutBounce(2*t-1))/2},Os=(t,e=1e3)=>(...s)=>setTimeout((()=>t(...s)),e),js=(t,e)=>{let s=0;return(...r)=>{const n=(new Date).getTime();n-s<e||(s=n,t(...r))}},Rs=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,r=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:r}},Ps=t=>new Promise((e=>{if(t.element)return e(t.element);const s=new MutationObserver((()=>{t.element&&(e(t.element),s.disconnect())}));s.observe(document?.body,{childList:!0,subtree:!0})})),Ns=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},zs=t=>new Promise((e=>setTimeout(e,t))),Vs=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};class $s{constructor(t,e=Ls.Linear,s=50,{t:r=[0,null],start:n=!0,duration:i=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:s,intervall:r,started:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#h(){this.t+=this.cache.step,this.i++,this.tx=Vr(this.t,0,this.cache.duration,0,1),this.ty=this.cache.ease(this.tx),this.callback(this),this.t>=this.cache.duration&&(clearInterval(this.cache.AnimationId),this.cache.isRunning=!1)}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}#l(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#h.bind(this),this.cache.step)),this}start(){return this.#l(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#l(!1),this}stop(){return this.pause(),this.reset(!1),this}}const Us=(t,e=Ls.Linear,s=50,r)=>new $s(t,Ls.Linear,50,r),Hs={wait:zs,timeTaken:Vs,useThrottle:js,useDebounce:Os,Ease:Ls,time_memory_Taken:Rs,useTimeLoop:Ss,useAnimation:Us,waitForUIElm:Ps,waitForUIElmSync:Ns,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class Zs{constructor(t,e,s){this.cache={storage:t,globalKey:e,channel:Fs(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#n(s),this.#c()}get items(){return JSON.parse(this.cache.storage[this.cache.globalKey]??null)}#c(){for(let t in this.items)Object.assign(this,{[[t]]:this.items[t]})}#n(t){this.cache.channel=Fs(`Ziko:useStorage-${this.cache.globalKey}`),this.cache.channel.on("Ziko-Storage-Updated",(()=>this.#c())),t&&(this.cache.storage[this.cache.globalKey]?(Object.keys(this.items).forEach((t=>this.cache.oldItemKeys.add(t))),console.group("Ziko:useStorage"),console.warn(`Storage key '${this.cache.globalKey}' already exists. we will not overwrite it.`),console.info("%cWe'll keep the existing data.","background-color:#2222dd; color:gold;"),console.group("")):this.set(t))}set(t){return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(t)),this.cache.channel.emit("Ziko-Storage-Updated",{}),Object.keys(t).forEach((t=>this.cache.oldItemKeys.add(t))),this.#c(),this}add(t){const e={...this.items,...t};return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(e)),this.#c(),this}remove(...t){const e={...this.items};for(let s=0;s<t.length;s++)delete e[t[s]],delete this[t[s]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.cache.storage.removeItem(this.cache.globalKey),this.#c(),this}}const qs=(t,e)=>new Zs(localStorage,t,e),Ws=(t,e)=>new Zs(sessionStorage,t,e),Xs=(t,e=[],s=(()=>{}))=>{t.cache.stream.enabled.down=!0;const r=e.length,n=t.cache.stream.history.down.slice(-r).map((t=>t.key));e.join("")===n.join("")&&(t.event.preventDefault(),s.call(t,t))},Ys={Events:ls,Observer:vs,Hooks:{useStyle:Ut,useTheme:Xt,useMediaQuery:se,useBattery:_s,useGeolocation:Is,useEventEmitter:Gt,useChannel:Fs,useThread:Es,useBluetooth:Ds,useTitle:Kt,useFavIcon:te,useThrottle:js,useDebounce:Os,useLocaleStorage:qs,useSessionStorage:Ws,useSuccesifKeys:Xs,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}},ExtractAll:function(){this.Events.ExtractAll(),this.Observer.ExtractAll(),this.Hooks.ExtractAll()},RemoveAll:function(){this.Events.RemoveAll(),this.Observer.RemoveAll(),this.Hooks.RemoveAll()}};class Gs{constructor(t,e=""){var s;this.target=globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body,"string"==typeof t&&(t="svg"===t?globalThis?.document?.createElementNS("http://www.w3.org/2000/svg","svg"):globalThis?.document?.createElement(t)),this.element=t,this.uuid=this.constructor.name+"-"+it.string(10),this.cache={name:e,parent:null,isRoot:!1,isHidden:!1,isFrozzen:!1,legacyParent:null,style:(s={},new Vt(s)),attributes:{},filters:{},temp:{}},this.events={ptr:null,mouse:null,wheel:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,custom:null},this.observer={resize:null,intersection:null},this.cache.style.linkTo(this),this.style({position:"relative",boxSizing:"border-box",fontFamily:"verdana",margin:0,padding:0}),this.size("auto","auto"),globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],globalThis.__Ziko__.__Config__.default.render&&this.render()}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.cache.events}get html(){return this.element.innerHTML}get text(){return this.element.textContent}get __app__(){if(this.cache.isRoot)return this;let t=this.cache.parent;for(;;){if(!t)return null;if(t.cache.isRoot)return t;t=t.parent}}get parent(){return this.cache.parent}get width(){return this.element.getBoundingClientRect().width}get height(){return this.element.getBoundingClientRect().height}get top(){return this.element.getBoundingClientRect().top}get right(){return this.element.getBoundingClientRect().right}get bottom(){return this.element.getBoundingClientRect().bottom}get left(){return this.element.getBoundingClientRect().left}clone(t=!1){const e=new this.constructor;if(e.__proto__=this.__proto__,this.items.length){const t=[...this.items].map((t=>t.clone()));e.append(...t)}else e.element=this.element.cloneNode(!0);return e.render(t)}style(t){return t instanceof $t?this.st.style(t.current):this.st.style(t),this}size(t,e){return this.st.size(t,e),this}get#u(){const t=globalThis.getComputedStyle(this.element),e={};return"0px"!==t.marginRight&&Object.assign(e,{marginLeft:t.marginRight}),"0px"!==t.marginLeft&&Object.assign(e,{marginRight:t.marginLeft}),"0px"!==t.paddingRight&&Object.assign(e,{paddingLeft:t.paddingRight}),"0px"!==t.paddingLeft&&Object.assign(e,{paddingRight:t.paddingLeft}),"0px"!==t.left&&Object.assign(e,{right:t.left}),"0px"!==t.right&&Object.assign(e,{left:t.right}),"right"===t.textAlign&&Object.assign(e,{textAlign:"left"}),"left"===t.textAlign&&Object.assign(e,{textAlign:"right"}),"right"===t.float&&Object.assign(e,{float:"left"}),"left"===t.float&&Object.assign(e,{float:"right"}),"0px"!==t.borderRadiusLeft&&Object.assign(e,{right:t.borderRadiusRight}),"0px"!==t.borderRadiusRight&&Object.assign(e,{right:t.borderRadiusLeft}),["flex","inline-flex"].includes(t.display)&&("flex-end"===t.justifyContent&&Object.assign(e,{justifyContent:"flex-start"}),"flex-start"===t.justifyContent&&Object.assign(e,{justifyContent:"flex-end"})),e}useRtl(t=!1){return t?this.style({...this.#u,direction:"rtl"}):this.style({direction:"rtl"}),this}useLtr(t=!1){return t?this.style({...this.#u,direction:"ltr"}):this.style({direction:"ltr"}),this}freeze(t){return this.cache.isFrozzen=t,this}setTarget(t){return t instanceof Gs&&(t=t.element),this.unrender(),this.target=t,this.render(),this}render(t=this.target){return t instanceof Gs&&(t=t.element),this.target=t,this.target?.appendChild(this.element),this}unrender(){return this.cache.parent?this.cache.parent.remove(this):this.target?.children?.length&&[...this.target?.children].includes(this.element)&&this.target.removeChild(this.element),this}renderAfter(t=1){return setTimeout((()=>this.render()),t),this}unrenderAfter(t=1){return setTimeout((()=>this.unrender()),t),this}setAttr(t,e){if(t instanceof Object){const[s,r]=[Object.keys(t),Object.values(t)];for(let n=0;n<s.length;n++)r[n]instanceof Array&&(e[n]=r[n].join(" ")),this?.attr[t[n]]!==e[n]&&(this.element.setAttribute(s[n],r[n]),Object.assign(this.cache.attributes,Object.fromEntries([[s[n],r[n]]])))}else e instanceof Array&&(e=e.join(" ")),this?.attr[t]!==e&&(this.element.setAttribute(t,e),Object.assign(this.cache.attributes,Object.fromEntries([[t,e]])));return this}removeAttr(...t){for(let e=0;e<t.length;e++)this.element.removeAttribute(t[e]);return this}getAttr(t){return this.element.attributes[t].value}setContentEditable(t=!0){return this.setAttr("contenteditable",t),this}get children(){return[...this.element.children]}get cloneElement(){return this.element.cloneNode(!0)}setClasses(...t){return this.setAttr("class",t.join(" ")),this}get classes(){const t=this.element.getAttribute("class");return null===t?[]:t.split(" ")}addClass(){}setId(t){return this.setAttr("id",t),this}get id(){return this.element.getAttribute("id")}onPtrMove(...t){return this.events.ptr||(this.events.ptr=de(this)),this.events.ptr.onMove(...t),this}onPtrDown(...t){return this.events.ptr||(this.events.ptr=de(this)),this.events.ptr.onDown(...t),this}onPtrUp(...t){return this.events.ptr||(this.events.ptr=de(this)),this.events.ptr.onUp(...t),this}onPtrEnter(...t){return this.events.ptr||(this.events.ptr=de(this)),this.events.ptr.onEnter(...t),this}onPtrLeave(...t){return this.events.ptr||(this.events.ptr=de(this)),this.events.ptr.onLeave(...t),this}onPtrOut(...t){return this.events.ptr||(this.events.ptr=de(this)),this.events.ptr.onOut(...t),this}onPtrCancel(...t){return this.events.ptr||(this.events.ptr=de(this)),this.events.ptr.onCancel(...t),this}onMouseMove(...t){return this.events.mouse||(this.events.mouse=Ce(this)),this.events.mouse.onMove(...t),this}onMouseDown(...t){return this.events.mouse||(this.events.mouse=Ce(this)),this.events.mouse.onDown(...t),this}onMouseUp(...t){return this.events.mouse||(this.events.mouse=Ce(this)),this.events.mouse.onUp(...t),this}onMouseEnter(...t){return this.events.mouse||(this.events.mouse=Ce(this)),this.events.mouse.onEnter(...t),this}onMouseLeave(...t){return this.events.mouse||(this.events.mouse=Ce(this)),this.events.mouse.onLeave(...t),this}onMouseOut(...t){return this.events.mouse||(this.events.mouse=Ce(this)),this.events.mouse.onOut(...t),this}onWheel(...t){return this.events.wheel||(this.events.wheel=Ee(this)),this.events.wheel.onWheel(...t),this}onKeyDown(...t){return this.events.key||(this.events.key=Te(this)),this.events.key.onDown(...t),this}onKeyPress(...t){return this.events.key||(this.events.key=Te(this)),this.events.key.onPress(...t),this}onKeyUp(...t){return this.events.key||(this.events.key=Te(this)),this.events.key.onUp(...t),this}onKeysDown({keys:t=[],callback:e}={}){return this.events.key||(this.events.key=Te(this)),this.events.key.handleSuccessifKeys({keys:t,callback:e}),this}onDragStart(...t){return this.events.drag||(this.events.drag=Re(this)),this.events.drag.onStart(...t),this}onDrag(...t){return this.events.drag||(this.events.drag=Re(this)),this.events.drag.onDrag(...t),this}onDragEnd(...t){return this.events.drag||(this.events.drag=Re(this)),this.events.drag.onEnd(...t),this}onDrop(...t){return this.events.drop||(this.events.drop=Pe(this)),this.events.drop.onDrop(...t),this}onClick(...t){return this.events.click||(this.events.click=$e(this)),this.events.click.onClick(...t),this}onDbClick(...t){return this.events.click||(this.events.click=$e(this)),this.events.click.onDbClick(...t),this}onCopy(...t){return this.events.clipboard||(this.events.clipboard=Xe(this)),this.events.clipboard.onCopy(...t),this}onCut(...t){return this.events.clipboard||(this.events.clipboard=Xe(this)),this.events.clipboard.onCut(...t),this}onPaste(...t){return this.events.clipboard||(this.events.clipboard=Xe(this)),this.events.clipboard.onPaste(...t),this}onSelect(...t){return this.events.clipboard||(this.events.clipboard=Xe(this)),this.events.clipboard.onSelect(...t),this}onFocus(...t){return this.events.focus||(this.events.focus=Ke(this)),this.events.focus.onFocus(...t),this}onBlur(...t){return this.events.focus||(this.events.focus=Ke(this)),this.events.focus.onFocus(...t),this}on(t,...e){return this.events.custom||(this.events.custom=hs(this)),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=hs(this)),this.events.custom.emit(t,e),this}watchAttr(t){return this.observer.attr||(this.observer.attr=ys(this,t)),this}watchChildren(t){return this.observer.children||(this.observer.children=xs(this,t)),this}watchSize(t){return this.observer.resize||(this.observer.resize=ms(this,t)),this.observer.resize.start(),this}watchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=us(this,t,e)),this.observer.intersection.start(),this}setFullScreen(t=!0,e){return this.element.requestFullscreen?(t?this.element.requestFullscreen(e):globalThis.document.exitFullscreen(),this):(console.error("Fullscreen API is not supported in this browser."),this)}toggleFullScreen(t){return globalThis.document.fullscreenElement?globalThis.document.exitFullscreen():this.element.requestFullscreen(t),this}toPdf(){return __ZikoPdf__,this}}class Qs extends Gs{constructor(t,e,s){super("img","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({border:"1px solid black",width:e,height:s})}get isImg(){return!0}updateSrc(t){return this.value=t,this.element.src=t,this}toggleSrc(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.updateSrc(t[e+1]):this.updateSrc(t[0]),this}alt(t){return this.element.alt=t,this}}const Ks=(t,e,s)=>new Qs(t,e,s);class Js extends Gs{constructor(t,e){super("figure","figure"),this.img=t.width("100%").element,this.caption=document?.createElementt("figcaption"),this.caption.append(e.element),this.element.append(this.img),this.element.append(this.caption)}get isFigure(){return!0}}const tr=(t,e)=>new Js(t,e);class er extends Gs{constructor(t,e){super(t,e),this.useControls()}get t(){return this.element.currentTime}useControls(t=!0){return this.element.controls=t,this}enableControls(){return this.element.controls=!0,this}disableControls(){return this.element.controls=!0,this}toggleControls(){return this.element.controls=!this.element.controls,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}seekTo(t){return this.element.currentTime=t,this}onPlay(){}onPause(){}}class sr extends er{constructor(t="",e="100%",s="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s})}get isVideo(){return!0}usePoster(t=""){return this.element.poster=t,this}usePIP(t){return this.element.requestPictureInPicture(t),this}}const rr=(t,e,s)=>new sr(t,e,s);class nr extends er{constructor(t){super("audio","audio"),this.element.setAttribute("src",t),this.size("150px","30px")}get isAudio(){return!0}}const ir=t=>new nr(t),or=t=>(new XMLSerializer).serializeToString(t),ar=t=>btoa(or(t)),hr=t=>"data:image/svg+xml;base64,"+ar(t),lr=(t,e=!0)=>Ks(hr(t)).render(e),cr=t=>JSON.stringify(Er((t=>["number","string","boolean","bigint"].includes(typeof t)?String(t):t instanceof o||t instanceof wr?t.toString():t instanceof Array?pr(t):void 0),t),null," ").replace(/"([^"]+)":/g,"$1:").replace(/: "([^"]+)"/g,": $1"),ur=t=>{if(!Array.isArray(t))return 0;let e=1;for(const s of t)if(Array.isArray(s)){const t=ur(s);t+1>e&&(e=t+1)}return e},pr=t=>{let e=0;return function t(s){let r=ur(s),n=0;return s.some((t=>Array.isArray(t)))&&(e++,n=1),"["+s.map(((r,n)=>["number","string","boolean","bigint"].includes(typeof r)?String(r):r instanceof o?r.toString():r instanceof Array?`\n${" ".repeat(e)}${t(r)}${n===s.length-1?"\n":""}`:r instanceof Object?cr(r):void 0))+`${" ".repeat((r+e+1)*n)}]`}(t)};function dr(t){const e={type:t.nodeName,attributes:{},children:[]};for(let s=0;s<t.attributes.length;s++){const r=t.attributes[s];e.attributes[r.name]=r.value}for(let s=0;s<t.childNodes.length;s++){const r=t.childNodes[s];r.nodeType===Node.ELEMENT_NODE?e.children.push(dr(r)):r.nodeType===Node.TEXT_NODE&&(e.text=r.textContent.trim())}return e}const mr=t=>{const e=new XMLHttpRequest;if(e.open("GET",t,!1),e.send(),200===e.status)return e.responseText;throw new Error(`Failed to fetch data from ${t}. Status: ${e.status}`)};globalThis.fetchdom=async function(t="https://github.com/zakarialaoui10"){const e=await fetch(t),s=await e.text();return(new DOMParser).parseFromString(s,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=mr(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};const gr={isDigit:/^\d+$/,isEmail:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,isURL:/^(https?:\/\/)?([\w\-]+\.)+[\w\-]+(\/[\w\-./?%&=]*)?$/,isHexColor:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,isIPv4:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,isMACAddress:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,isDate:/^\d{4}-\d{2}-\d{2}$/};class fr{constructor(t){this.string=t}isDigit(){return gr.isDigit.test(this.string)}static isDigit(t){return new fr(t).isDigit()}isNumber(){return!isNaN(this.string)}static isNumber(t){return new fr(t).isNumber()}isUrl(){return gr.isURL.test(this.string)}static isUrl(t){return new fr(t).isUrl()}isHexColor(){return gr.isHexColor.test(this.string)}static isHexColor(t){return new fr(t).isHexColor()}isIPv4(){return gr.isIPv4.test(this.string)}static isIPv4(t){return new fr(t).isIPv4()}isDate(){return gr.isDate.test(this.string)}static isDate(t){return new fr(t).isDate()}isMACAddress(){return gr.isMACAddress.test(this.string)}static isMACAddress(t){return new fr(t).isMACAddress()}isPascalCase(){if(0===this.string.length)return!1;return/^[A-Z][a-zA-Z0-9]*$/.test(this.string)}static isPascalCase(t){return new fr(t).isPascalCase()}isCamelCase(){if(0===this.string.length)return!1;return/^[a-z][a-zA-Z0-9]*$/.test(this.string)}static isCamelCase(t){return new fr(t).isCamelCase()}isHyphenCase(){return this.string.split("-").length>1}static isHyphenCase(t){return new fr(t).isHyphenCase()}isSnakeCase(){return this.string.split("_").length>1}static isSnakeCase(t){return new fr(t).isSnakeCase()}isPalindrome(){const t=this.string.toLocaleLowerCase();let e,s=t.length;for(e=0;e<s/2;e++)if(t[e]!=t[s-e-1])return!1;return!0}static isPalindrome(t){return new fr(t).isPalindrome()}static isAnagrams(t,e){return t=t.split("").sort(),e=e.split("").sort(),JSON.stringify(t)===JSON.stringify(e)}isIsogram(){return[...new Set(this.string.toLowerCase())].length===this.string.length}static isIsogram(t){return new fr(t).isIsogram()}static camel2hyphencase(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}static camel2snakecase(t){return t.replace(/[A-Z]/g,(t=>"_"+t.toLowerCase()))}static camel2pascalcase(t){return t.charAt(0).toUpperCase()+t.slice(1)}static camel2constantcase(t){return t.replace(/[A-Z]/g,(t=>"_"+t)).toUpperCase()}static pascal2snakecase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t.toLowerCase():t.toLowerCase()))}static pascal2hyphencase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"-"+t.toLowerCase():t.toLowerCase()))}static pascal2camelcase(t){return t.charAt(0).toLowerCase()+t.slice(1)}static pascal2constantcase(t){return t.replace(/([A-Z])/g,((t,e)=>e?"_"+t:t)).toUpperCase()}static snake2camelcase(t){return t.replace(/(_\w)/g,(t=>t[1].toUpperCase()))}static snake2hyphencase(t){return t.replace(/_/g,"-")}static snake2pascalcase(t){return t.split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static snake2constantcase(t){return t.toUpperCase()}static hyphen2camelcase(t){return t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))}static hyphen2snakecase(t){return t.replace(/-/g,"_")}static hyphen2pascalcase(t){return t.split("-").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static hyphen2constantcase(t){return t.replace(/-/g,"_").toUpperCase()}static constant2camelcase(t){return t.toLowerCase().replace(/_([a-z])/g,(t=>t[1].toUpperCase()))}static constant2snakecase(t){return t.toLowerCase()}static constant2pascalcase(t){return t.toLowerCase().split("_").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("")}static constant2hyphencase(t){return t.toLowerCase().replace(/_/g,"-")}}const br=t=>new fr(t),yr={str:br,Str:fr,parseXML:function(t){return dr((new DOMParser).parseFromString(t,"text/xml").documentElement)},preload:mr,obj2str:cr,arr2str:pr,markdown2html:ft,adoc2html:Ft,csv2arr:kt,csv2matrix:Et,csv2object:At,csv2json:Dt,csv2sql:Bt,json2arr:It,json2csv:Mt,json2csvFile:St,json2yml:jt,json2ymlFile:Rt,json2xml:Pt,json2xmlFile:Nt,svg2str:or,svg2ascii:ar,svg2imgUrl:hr,svg2img:lr,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class wr extends i{constructor(t,e,s=[]){if(super(),t instanceof wr)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let r,n,i=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,i=arguments[0];else for(r=0;r<t;r++)for(i.push([]),i[r].push(new Array(e)),n=0;n<e;n++)i[r][n]=s[r*e+n],null==s[r*e+n]&&(i[r][n]=0);this.rows=t,this.cols=e,this.arr=i}this._maintain()}toString(){return pr(this.arr)}at(t=0,e=void 0){return t<0&&(t=this.rows+t),null==e?this.arr[t]:(e<0&&(e=this.cols+e),this.arr[t][e])}reshape(t,e){if(t*e==this.rows*this.cols)return new wr(t,e,this.arr.flat(1));console.error("Err")}static eye(t){let e=new wr(t,t);for(let s=0;s<t;s++)for(let r=0;r<t;r++)e.arr[s][r]=s===r?1:0;return e}get clone(){return new wr(this.rows,this.cols,this.arr.flat(1))}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}get reel(){return new wr(this.cols,this.rows,this.arr.flat(1).reel)}get imag(){return new wr(this.cols,this.rows,this.arr.flat(1).imag)}_maintain(){for(let t=0;t<this.arr.length;t++)Object.assign(this,{[[t]]:this.arr[t]});return this}get(t=0,e=0){return-1==e?this.arr[t]:-1==t?this.arr.map((t=>t[e])):this.arr[t][e]}set(t=0,e=0,s){if(-1==e)return this.arr[t]=s;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=s[t]||0;return this.arr}return this.arr[t][e]=s}get isSquare(){return this.rows/this.cols==1}get isSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==wr.sub(e,t).max&&0==wr.sub(e,t).min}get isAntiSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==wr.add(e,t).max&&0==wr.add(e,t).min}get isDiag(){if(!this.isSquare)return!1;const t=this.T,e=this.clone,s=wr.mul(e,t),r=wr.dot(t,e);return 0==wr.sub(s,r).max&&0==wr.sub(s,r).min}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.clone,e=wr.dot(t,t);return 0==wr.sub(e,t).max&&0==wr.sub(e,t).min}get T(){let t=[];for(let e=0;e<this.arr[0].length;e++){t[e]=[];for(let s=0;s<this.arr.length;s++)t[e][s]=this.arr[s][e]}return new wr(this.cols,this.rows,t.flat(1))}get det(){if(!this.isSquare)return new Error("is not square matrix");if(1==this.rows)return this.arr[0][0];function t(t,e){var s=[];for(let e=0;e<t.length;e++)s.push(t[e].slice(0));s.splice(0,1);for(let t=0;t<s.length;t++)s[t].splice(e,1);return s}return function e(s){if(2==s.length)return s.flat(1).some((t=>t instanceof wr))?void console.warn("Tensors are not completely supported yet ..."):tn.sub(tn.mul(s[0][0],s[1][1]),tn.mul(s[0][1],s[1][0]));for(var r=0,n=0;n<s.length;n++){const i=tn.add(tn.mul(v(-1,n),tn.mul(s[0][n],e(t(s,n)))));r=tn.add(r,i)}return r}(this.arr)}get inv(){if(!this.isSquare)return new Error("is not square matrix");if(0===this.det)return"determinat = 0 !!!";let t=function(t){if(t.length!==t[0].length)return;var e=0,s=0,r=0,n=t.length,i=0,o=[],a=[];for(e=0;e<n;e+=1)for(o[o.length]=[],a[a.length]=[],r=0;r<n;r+=1)o[e][r]=e==r?1:0,a[e][r]=t[e][r];for(e=0;e<n;e+=1){if(0==(i=a[e][e])){for(s=e+1;s<n;s+=1)if(0!=a[s][e]){for(r=0;r<n;r++)i=a[e][r],a[e][r]=a[s][r],a[s][r]=i,i=o[e][r],o[e][r]=o[s][r],o[s][r]=i;break}if(0==(i=a[e][e]))return}for(r=0;r<n;r++)a[e][r]=a[e][r]/i,o[e][r]=o[e][r]/i;for(s=0;s<n;s++)if(s!=e)for(i=a[s][e],r=0;r<n;r++)a[s][r]-=i*a[e][r],o[s][r]-=i*o[e][r]}return o}(this.arr);return new wr(this.rows,this.cols,t.flat(1))}static zeros(t,e){let s=new wr(t,e);for(let n=0;n<t;n++)for(var r=0;r<e;r++)s.arr[n][r]=0;return s}static ones(t,e){let s=new wr(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=1;return s}static nums(t,e,s){let r=new wr(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)r.arr[n][t]=s;return r}static get rand(){return{int:(t,e,s,r)=>{let n=new wr(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=it.randInt(s,r);return n},bin:(t,e)=>{let s=new wr(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=it.randBin;return s},hex:(t,e)=>{let s=new wr(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=it.randHex;return s},choices:(t,e,s,r)=>{let n=new wr(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=it.choice(s,r);return n},permutation:(t,e,s)=>{}}}static rands(t,e,s=1,r){let n=new wr(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=it.rand(s,r);return n}map(t,e,s,r){return tn.map(this,t,e,s,r)}lerp(t,e){return tn.lerp(this,t,e)}norm(t,e){return tn.norm(this,t,e)}clamp(t,e){return tn.clamp(this,t,e)}static map(t,e,s,r,n){return tn.map(t,e,s,r,n)}static lerp(t,e,s){return tn.lerp(t,e,s)}static norm(t,e,s){return tn.norm(t,e,s)}static clamp(t,e,s){return tn.clamp(xr,e,s)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let s=0;s<this.rows;s++)this.arr[e][s]=+this.arr[e][s].toPrecision(t);return this}get toBin(){let t=this.arr.flat(1).toBin;return new wr(this.rows,this.cols,t)}get toOct(){let t=this.arr.flat(1).toOct;return new wr(this.rows,this.cols,t)}get toHex(){let t=this.arr.flat(1).toHex;return new wr(this.rows,this.cols,t)}max2min(){let t=this.arr.flat(1).max2min;return new wr(this.rows,this.cols,t)}min2max(){let t=this.arr.flat(1).min2max;return new wr(this.rows,this.cols,t)}sortRows(t=void 0){let e=this.arr.map((e=>e.sort(t))).flat(1);return new wr(this.rows,this.cols,e)}sortCols(t=void 0){let e=this.T.arr.map((e=>e.sort(t))).flat(1);return new wr(this.rows,this.cols,e).T}filterByRows(t){var e=this.arr.map((e=>e.map((e=>+(""+e).includes(t))))).map((t=>!!Logic.or(...t))),s=this.arr.filter(((t,s)=>!0===e[s]));return 0===s.length&&s.push([]),console.log(s),new wr(s)}filterByCols(t){return new wr(this.T.arr.filter((e=>e.includes(t))))}sortAll(t=void 0){let e=this.arr.flat(1).sort(t);return new wr(this.rows,this.cols,e)}count(t){return this.arr.flat(1).count(t)}toBase(t){let e=this.arr.flat(1).toBase(t);return new wr(this.rows,this.cols,e)}#p(t){if(this.rows!==t.rows)return;let e=this.arr;for(let s=0;s<this.rows;s++)for(let r=this.cols;r<this.cols+t.cols;r++)e[s][r]=t.arr[s][r-this.cols];return this.cols+=t.cols,new wr(this.rows,this.cols,e.flat(1))}hstack(...t){const e=[this,...t].reduce(((t,e)=>t.#p(e)));return Object.assign(this,e),this}static hstack(t,...e){return t.clone.hstack(...e)}#d(t){if(this.cols!==t.cols)return;let e=this.arr;for(let s=this.rows;s<this.rows+t.rows;s++){e[s]=[];for(let r=0;r<this.cols;r++)e[s][r]=t.arr[s-this.rows][r]}return this.rows+=t.rows,new wr(this.rows,this.cols,e.flat(1))}vstack(...t){const e=[this,...t].reduce(((t,e)=>t.#d(e)));return Object.assign(this,e),this}static vstack(t,...e){return t.clone.vstack(...e)}hqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#p(e)));return Object.assign(this,e),this}vqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#d(e)));return Object.assign(this,e),this}static hqueue(t,...e){return t.clone.hqueue(...e)}static vqueue(t,...e){return t.clone.vqueue(...e)}slice(t=0,e=0,s=this.rows-1,r=this.cols-1){let n=s-t,i=r-e,o=new Array(i);for(let s=0;s<n;s++){o[s]=[];for(let r=0;r<i;r++)o[s][r]=this.arr[s+t][r+e]}return new wr(n,i,o.flat(1))}static slice(t,e=0,s=0,r=this.rows-1,n=this.cols-1){return t.slice(e,s,r,n)}splice(t,e,s,...r){}getRows(t,e=t+1){return this.slice(t,0,e,this.cols)}getCols(t,e=t+1){return this.slice(0,t,this.rows,e)}static getRows(t,e,s=e+1){return t.slice(e,0,s,t.cols)}static getCols(t,e,s=e+1){return t.slice(0,e,t.rows,s)}add(...t){for(let s=0;s<t.length;s++){("number"==typeof t[s]||t[s]instanceof o)&&(t[s]=wr.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=tn.add(this.arr[r][e],t[s].arr[r][e])}return new wr(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=wr.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=tn.sub(this.arr[r][e],t[s].arr[r][e])}return new wr(this.rows,this.cols,this.arr.flat(1))}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}mul(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=wr.nums(this.rows,this.cols,t[r]));for(var e=0;e<this.rows;e++)for(var s=0;s<this.cols;s++)this.arr[e][s]=tn.mul(this.arr[e][s],t[r].arr[e][s])}return new wr(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=wr.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=tn.div(this.arr[r][e],t[s].arr[r][e])}return new wr(this.rows,this.cols,this.arr.flat(1))}static div(t,...e){return t.clone.div(...e)}static mul(t,...e){return t.clone.mul(...e)}modulo(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=wr.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=tn.modulo(this.arr[r][e],t[s].arr[r][e])}return new wr(this.rows,this.cols,this.arr.flat(1))}static modulo(t,...e){return t.clone.modulo(...e)}dot(t){for(var e=[],s=0;s<this.arr.length;s++){e[s]=[];for(var r=0;r<t.arr[0].length;r++){e[s][r]=0;for(var n=0;n<this.arr[0].length;n++)e[s][r]=tn.add(e[s][r],tn.mul(this.arr[s][n],t.arr[n][r]))}}return new wr(this.arr.length,t.arr[0].length,e.flat(1))}static dot(t,e){return t.dot(e)}pow(t){let e=this.clone,s=this.clone;for(let r=0;r<t-1;r++)s=s.dot(e);return s}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t+=this.arr[e][s];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof o))}get min(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(u(...this.arr[e]));return u(...t)}get max(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(p(...this.arr[e]));return p(...t)}get minRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(u(...this.arr[e]));return t}get maxRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(p(...this.arr[e]));return t}get minCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new wr(t.length,1,t)}get toArray(){let t=[];for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t.push(this.arr[e][s]);return t}get print(){let t="[";for(let e=0;e<this.arr.length;e++)t+=(0!=e?" ":"")+` [${this.arr[e].map((t=>" "+t.toString()+" "))}],\n`;console.log(t.substring(0,t.length-2)+" ]"),document.write(t.substring(0,t.length-2)+" ]")}get table(){console.table(this.arr)}get serialize(){return JSON.stringify(this)}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let e=new wr(t.rows,t.cols);return e.arr=t.arr,e}DecompositionLU(){const[t,e]=ot(this);return{L:t,U:e}}static DecompositionLU(...t){const e=t.map((t=>t.clone.LU()));return 1===e.length?e[0]:e}DecompositionQR(){const[t,e]=ct(this);return{Q:t,R:e}}static DecompositionQR(...t){const e=t.map((t=>t.clone.DecompositionQr()));return 1===e.length?e[0]:e}DecompositionCholesky(){return{L:ut(this)}}static DecompositionCholesky(...t){const e=t.map((t=>t.clone.DecompositionCholesky()));return 1===e.length?e[0]:e}get decomposition(){return{LU:()=>this.DecompositionLU(),QR:()=>this.DecompositionQR(),Cholesky:()=>this.DecompositionCholesky()}}static get decomposition(){return{LU:(...t)=>wr.LU(...t),QR:(...t)=>wr.QR(...t),CHOLESKY:(...t)=>wr.CHOLESKY(...t)}}toTable(){var t=new DocumentFragment,e=new Array(this.rows).fill(null).map((()=>document?.createElement("tr"))),s=this.arr.map((t=>t.map((()=>document?.createElement("td")))));for(let t=0;t<s.length;t++)for(let r=0;r<s[0].length;r++)s[t][r].innerHTML=this.arr[t][r],e[t].appendChild(s[t][r]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let s=Grid();return s.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),s.Columns(this.cols),s}sortTable(t=0,{type:e="num",order:s="asc"}={}){var r=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e}))))),n=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e})))));"num"===e?"asc"===s?r[t].sort(((t,e)=>t.x-e.x)):"desc"===s?r[t].sort(((t,e)=>e.x-t.x)):"toggle"===s&&(r[t][0].x>r[t][1].x?r[t].sort(((t,e)=>e.x-t.x)):r[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===s?r[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===s&&r[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),s=r[t].map((t=>t.y));for(let e=0;e<r.length;e++)e!==t&&r[e].map(((t,e)=>t.y=s[e]));for(let e=0;e<r.length;e++)e!==t&&n[e].map(((t,n)=>t.x=r[e][s[n]].x));n[t]=r[t];var i=n.map((t=>t.map((t=>t.x))));return new wr(i).T}}const xr=(t,e,s)=>new wr(t,e,s),vr=(...t)=>new wr(2,2,t),Cr=(...t)=>new wr(3,3,t),Fr=(...t)=>new wr(4,4,t);class kr{static resolve(t,e){return t.inv.dot(wr.fromVector(e)).arr.flat(1).map((t=>+t.toFixed(10)))}}const Er=(t,...e)=>{const s=e.map((e=>{if(null===e)return t(null);if(["number","string","boolean","bigint","undefined"].includes(typeof e))return t(e);if(e instanceof Array)return e.map((e=>Er(t,e)));if(ArrayBuffer.isView(e))return e.map((e=>t(e)));if(e instanceof Set)return new Set(Er(t,...e));if(e instanceof Map)return new Map([...e].map((e=>[e[0],Er(t,e[1])])));if(e instanceof wr)return new wr(e.rows,e.cols,Er(e.arr.flat(1)));if(e instanceof o){const[s,r,n,i]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return a(k(n),i);case Math.exp:return a(F(s)*E(r),F(s)*A(r));case Math.abs:return n;case Math.sqrt:return a(x(n)*E(i/2),x(n)*A(i/2));case y.cos:return a(E(s)*j(r),-A(s)*R(r));case y.sin:return a(A(s)*j(r),E(s)*R(r));case y.tan:{const t=E(2*s)+j(2*r);return a(A(2*s)/t,R(2*r)/t)}case y.cosh:return a(j(s)*E(r),R(s)*A(r));case y.sinh:return a(R(s)*E(r),j(s)*A(r));case y.tanh:{const t=j(2*s)+E(2*r);return a(R(2*s)/t,A(2*r)/t)}default:return t(e)}}else if(e instanceof Object)return Object.fromEntries(Object.entries(e).map((e=>[e[0],Er(t,e[1])])))}));return 1==s.length?s[0]:s},Ar=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t+e;if(e instanceof o)return a(t+e.a,e.b);if(e instanceof wr)return wr.nums(e.rows,e.cols,t).add(e);if(e instanceof Array)return e.map((e=>Ir(e,t)))}else{if(t instanceof o||t instanceof wr)return e instanceof Array?e.map((e=>t.clone.add(e))):t.clone.add(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Ir(t,e)));if(t.length===e.length)return t.map(((t,s)=>Ir(t,e[s])))}}},Dr=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof o)return a(t-e.a,-e.b);if(e instanceof wr)return wr.nums(e.rows,e.cols,t).sub(e);if(e instanceof Array)return e.map((e=>Mr(e,t)))}else{if(t instanceof o||t instanceof wr)return e instanceof Array?e.map((e=>t.clone.sub(e))):t.clone.sub(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Mr(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>Mr(t,e[s])))}}},Br=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof o)return a(t*e.a,t*e.b);if(e instanceof wr)return wr.nums(e.rows,e.cols,t).mul(e);if(e instanceof Array)return e.map((e=>Sr(t,e)))}else{if(t instanceof o||t instanceof wr)return e instanceof Array?e.map((e=>t.clone.mul(e))):t.clone.mul(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Sr(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>Sr(t,e[s])))}}},_r=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof o)return a(t/e.a,t/e.b);if(e instanceof wr)return wr.nums(e.rows,e.cols,t).div(e);if(e instanceof Array)return e.map((e=>Lr(t,e)))}else{if(t instanceof o||t instanceof wr)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Lr(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>Lr(t,e[s])))}}},Tr=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof o)return a(t%e.a,t%e.b);if(e instanceof wr)return wr.nums(e.rows,e.cols,t).modulo(e);if(e instanceof Array)return e.map((e=>Lr(t,e)))}else{if(t instanceof o||t instanceof wr)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array&&!(e instanceof Array))return t.map((t=>Ir(t,e)))}},Ir=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=Ar(s,e[t]);return s},Mr=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=Dr(s,e[t]);return s},Sr=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=Br(s,e[t]);return s},Lr=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=_r(s,e[t]);return s},Or=(t,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=Tr(s,e[t]);return s},jr=t=>new Array(t).fill(0),Rr=t=>new Array(t).fill(1),Pr=(t,e)=>new Array(e).fill(t),Nr=(t,e,s)=>{if("number"==typeof t)return e!==s?(t-e)/(s-e):0;if(t instanceof wr)return new wr(t.rows,t.cols,Nr(t.arr.flat(1),e,s));if(t instanceof o)return new o(Nr(t.a,e,s),Nr(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Nr(t,e,s)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=Nr(t[s])}}},zr=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof wr)return new wr(t.rows,t.cols,zr(t.arr.flat(1),e,s));if(t instanceof o)return new o(zr(t.a,e,s),zr(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>zr(t,e,s)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=zr(t[s])}}},Vr=(t,e,s,r,n)=>{if("number"==typeof t)return zr(Nr(t,e,s),r,n);if(t instanceof wr)return new wr(t.rows,t.cols,Vr(t.arr.flat(1),e,s,r,n));if(t instanceof o)return new o(Vr(t.a,s,r,n),Vr(t.b,e,s,r,n));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Vr(t,e,s,r,n)));{let i=new Array(t.length);for(let o=0;o<t.length;o++)i[o]=Vr(t[o],e,s,r,n)}}},$r=(t,e,s)=>{const[r,n]=[u(e,s),p(e,s)];if("number"==typeof t)return u(p(t,r),n);if(t instanceof wr)return new wr(t.rows,t.cols,$r(t.arr.flat(1),r,n));if(t instanceof o)return new o($r(t.a,r,n),$r(t.b,r,n));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>$r(t,r,n)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=$r(t[s],r,n)}}},Ur=(t,e,s,r=!1)=>{let n=[];if(t<e)for(let i=t;r?i<=e:i<e;i+=s)n.push(10*i/10);else for(let i=t;r?i>=e:i>e;i-=s)n.push(10*i/10);return n},Hr=(t,e,s=w(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every((t=>"number"==typeof t))){const[o,a]=[t,e].sort(((t,e)=>e-t));var n=[];let h;h=r?(o-a)/(s-1):(o-a)/s;for(var i=0;i<s;i++)t<e?n.push(a+h*i):n.push(o-h*i);return n}if([t,e].some((t=>t instanceof o))){const n=a(t),i=a(e);s=s||Math.abs(n.a-i.a)+1;const o=Hr(n.a,i.a,s,r),h=Hr(n.b,i.b,s,r);let l=new Array(s).fill(null);return l=l.map(((t,e)=>a(o[e],h[e]))),l}}},Zr=(t,e,s=e-t+1,n=r,i=!0)=>Hr(t,e,s,i).map((t=>v(n,t))),qr=(t,e,s=w(e-t)+1,r=!0)=>{if(Math.floor(s)===s){if([t,e].every((t=>"number"==typeof t))){const[n,i]=[t,e].sort(((t,e)=>e-t));let o;o=C(n/i,r?s-1:s);const a=[i];for(let t=1;t<s;t++)a.push(a[t-1]*o);return t<e?a:a.reverse()}if([t,e].some((t=>t instanceof o))){const n=a(t),i=a(e);let o;s=s||Math.abs(n.a-i.a)+1,o=C(i.div(n),r?s-1:s);const h=[n];for(let t=1;t<s;t++)h.push(Sr(h[t-1],o));return h}}},Wr=(...t)=>mapfun((t=>t*Math.PI/180),...t),Xr=(...t)=>mapfun((t=>t/Math.PI*180),...t),Yr=(t,e,s)=>{const[r,n]=[Math.min(e,s),Math.max(e,s)];return t>=r&&t<=n},Gr=(t,e,s=1e-4)=>Math.abs(t-e)<=s,Qr=(t,e)=>t.reduce(((t,s)=>[...t,...e.map((t=>[s,t]))]),[]),Kr=(t,e)=>{let s,r=1;if(t==Z(t)&&e==Z(e)){for(s=2;s<=t&&s<=e;++s)t%s==0&&e%s==0&&(r=s);return r}console.log("error")},Jr=(t,e)=>{let s;if(t==Z(t)&&e==Z(e)){for(s=t>e?t:e;s%t!=0||s%e!=0;)++s;return s}console.log("error")},tn={add:Ir,sub:Mr,mul:Sr,div:Lr,modulo:Or,zeros:jr,ones:Rr,nums:Pr,norm:Nr,lerp:zr,map:Vr,clamp:$r,arange:Ur,linspace:Hr,logspace:Zr,geomspace:qr,sum:h,prod:l,accum:m,cartesianProduct:Qr,ppcm:Jr,pgcd:Kr,deg2rad:Wr,rad2deg:Xr,inRange:Yr,isApproximatlyEqual:Gr},en=t=>{const e=[],r=t.length;t[0]instanceof o||(t=t.map((t=>a(t,0))));for(let n=0;n<r;n++){let i=0,o=0;for(let e=0;e<r;e++){const a=2*s*n*e/r;i+=t[e].a*E(a)+t[e].b*A(a),o+=-t[e].a*A(a)+t[e].b*E(a)}i/=r,o/=r,e[n]=a(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},sn=t=>{const e=[],r=t.length;t[0]instanceof o||(t=t.map((t=>a(t,0))));for(let n=0;n<r;n++){let i=0,o=0;for(let e=0;e<r;e++){const a=2*s*n*e/r;i+=t[e].a*E(a)+t[e].b*A(a),o+=t[e].a*A(a)+t[e].b*E(a)}i/=r,o/=r,e[n]=a(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},rn=(t,e,s=!0)=>{const r=t.length,n=e.length,i=[],o=s?Math.max(r,n):r+n-1;for(let s=0;s<o;s++){let o=0;for(let i=0;i<n;i++){const a=s+i-Math.floor(n/2);o+=(a>=0&&a<r?t[a]:0)*e[i]}i.push(o)}return i},nn=(t,e,s=!0)=>{t instanceof wr||(t=xr(t)),e instanceof wr||(e=xr(e));const r=t.rows,n=t.cols,i=s?Math.max(t.rows,e.rows):t.rows+e.rows-1,o=s?Math.max(t.cols,e.cols):t.cols+e.cols-1,a=e.rows,h=[];for(let s=0;s<i;s++){const i=[];for(let h=0;h<o;h++){let o=0;for(let i=0;i<a;i++)for(let l=0;l<a;l++){const c=s+i-Math.floor(a/2),u=h+l-Math.floor(a/2);o+=(c>=0&&c<r&&u>=0&&u<n?t[c][u]:0)*e[i][l]}i.push(o)}h.push(i)}return h},on=(t,e,s)=>t instanceof wr||t instanceof Array&&t[0][0]?nn(t,e,s):rn(t,e,s);class an{constructor(t){this.input=t,this.input_fft=en(this.input),this.output_fft=[]}lowPass(t){return this.input_fft.output.forEach(((e,s)=>{e=e.z<t?this.output_fft[s]=this.input_fft.output[s]:this.output_fft[s]=a(0,0)})),sn(this.output_fft).re}highPass(t){return this.input_fft.output.forEach(((e,s)=>{e=e.z>t?this.output_fft[s]=this.input_fft.output[s]:this.output_fft[s]=a(0,0)})),sn(this.output_fft).re}bandePass(){}bandeCoupe(){}}const hn={zeros:jr,ones:Rr,nums:Pr,arange:Ur,linspace:Hr,logspace:Zr,geomspace:qr,map:Vr,norm:Nr,lerp:zr,clamp:$r,noise:(t,e=0,s=1)=>it.floats(t,e,s),echelon(t,e=0,s=1){t instanceof Array||(t=[t]);const r=Er((t=>t>=e?1:0),...t);return r instanceof Array?r.map((t=>t*s)):r*s},rampe(t,e=0,s=1){t instanceof Array||(t=[t]);const r=Er((t=>t>=e?t-e:0),...t);return r instanceof Array?r.map((t=>t*s)):r*s},sign(t,e=0,s=1){t instanceof Array||(t=[t]);const r=Er((t=>Math.sign(t-e)),...t);return r instanceof Array?r.map((t=>t*s)):r*s},rect(t,e,s=0,r=1){t instanceof Array||(t=[t]);const n=Er((t=>s-e/2<t&&s+e/2>t?1-2*w(t/e):0),...t);return n instanceof Array?n.map((t=>t*r)):n*r},tri(t,e,s=0,r=1){t instanceof Array||(t=[t]);const n=Er((t=>s-e/2<t&&s+e/2>t?1-2*w(t/e):0),...t);return n instanceof Array?n.map((t=>t*r)):n*r},dirac:(t,e)=>Er((t=>t===e?1/0:0),...t),lorentz(t,e=0,s=1){t instanceof Array||(t=[t]);const r=Er((t=>1/(1+(t-e)**2)),...t);return r instanceof Array?r.map((t=>t*s)):r*s},sinc(t,e,s=1){t instanceof Array||(t=[t]);const r=Er((t=>_(t-e)),...t);return r instanceof Array?r.map((t=>t*s)):r*s},square(t,e=1,s=1){t instanceof Array||(t=[t]);const r=Er((t=>Y(A(2*t*Math.PI/e))),...t);return r instanceof Array?r.map((t=>t*s)):r*s},sawtooth(){},conv:on,conv1d:rn,conv2d:nn,circularConv:(t,e)=>on(t,e,!0),linearConv:(t,e)=>on(t,e,!1),circularConv1d:(t,e)=>rn(t,e,!0),linearConv1d:(t,e)=>rn(t,e,!1),circularConv2d:(t,e)=>nn(t,e,!0),linearConv2d:(t,e)=>nn(t,e,!1),fft:en,ifft:sn,filter:t=>new an(t)},ln={PI:s,E:r,EPSILON:n,Random:it,complex:a,Complex:o,Matrix:wr,LinearSystem:kr,matrix:xr,matrix2:vr,matrix3:Cr,matrix4:Fr,cos:E,sin:A,tan:D,sinc:_,sec:B,csc:T,cot:I,abs:w,sqrt:x,pow:v,sqrtn:C,e:F,ln:k,acos:M,asin:S,atan:L,acot:O,cosh:j,sinh:R,tanh:P,coth:N,acosh:V,asinh:$,atanh:U,min:u,max:p,sign:Y,floor:Z,ceil:H,round:q,fact:X,hypot:Q,sig:G,atan2:W,Utils:tn,mapfun:Er,nums:Pr,zeros:jr,ones:Rr,sum:h,prod:l,add:Ir,mul:Sr,div:Lr,sub:Mr,modulo:Or,rad2deg:Xr,deg2rad:Wr,arange:Ur,linspace:Hr,logspace:Zr,geomspace:qr,norm:Nr,lerp:zr,map:Vr,clamp:$r,pgcd:Kr,ppcm:Jr,isApproximatlyEqual:Gr,inRange:Yr,cartesianProduct:Qr,Discret:nt,Logic:et,Base:tt,Permutation:st,Combinaison:rt,powerSet:K,subSet:J,Signal:hn,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class cn extends Gs{constructor(t,e=""){super(t,e),this.items=[]}maintain(){for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this.length=this.items.length,this}at(t){return this.items.at(t)}append(...t){if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let e=0;e<t.length;e++)["number","string"].includes(typeof t[e])&&(t[e]=wn(t[e])),t[e]instanceof Gs?(t[e].cache.parent=this,this.element.appendChild(t[e].element),t[e].target=this.element,this.items.push(t[e])):t[e]instanceof Object&&(t[e]?.style&&this.style(t[e]?.style),t[e]?.attr&&Object.entries(t[e].attr).forEach((t=>this.setAttr(""+t[0],t[1]))));return this.maintain(),this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++)["number","string"].includes(typeof e[s])&&(e[s]=wn(e[s])),this.element.insertBefore(e[s].element,this.items[t].element),this.items.splice(t,0,e[s]);return this}remove(...t){const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof Gs&&this.element.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this}forEach(t){return this.items.forEach(t),this}map(t){return this.items.map(t)}find(t){return this.items.filter(t)}filter(t,e=(()=>{}),s=(()=>{})){const r=this.items.filter(t);return r.forEach(e),this.items.filter((t=>!r.includes(t))).forEach(s),this}filterByTextContent(t,e=!1){this.items.forEach((t=>t.render())),this.filter((s=>!(e?s.text===t:s.text.includes(t))),(t=>t.unrender()))}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.classes.includes(t))).map((t=>t.unrender())),this}sortByTextContent(t,e){let s=this.children;return s.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),s.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,s)=>t.style.display=e[s])),s.filter((t=>"none"!=t.style.display)),this}}class un extends cn{constructor(t,e,s,...r){super(t,e),this.addValue(...r),this.style({margin:0,padding:0}),Object.assign(this.cache,{lineBreak:s})}get isText(){return!0}get value(){return this.element.textContent}clear(){return this.element.childNodes.forEach((t=>t.remove())),this.element.textContent="",this}addValue(...t){return t.forEach(((t,e)=>{"string"==typeof t||"number"==typeof t?this.element?.appendChild(globalThis?.document.createTextNode(t)):t instanceof Gs?this.element?.appendChild(t.element):t instanceof o||t instanceof wr?this.element?.appendChild(new Text(t.toString())):t instanceof Array?this.element?.appendChild(new Text(pr(t))):t instanceof Object&&this.element?.appendChild(new Text(cr(t))),this.cache.lineBreak&&this.element?.appendChild(globalThis.document?.createElement("br"))})),this.element?.innerHTML&&(this.element.innerHTML=this.element.innerHTML.replace(/\n/g,"<br>").replace(/(?<!<[^>]+) /g,"&nbsp;")),this}setValue(...t){return this.clear(),this.addValue(...t),this}}class pn extends un{constructor(...t){super("span","text",!1,...t)}}class dn extends un{constructor(...t){super("q","quote",!1,...t),this.style({fontStyle:"italic"})}get isQuote(){return!0}}class mn extends un{constructor(...t){super("dfn","dfnText",!1,...t)}get isDfnText(){return!0}}class gn extends un{constructor(t){super("sup","supText",!1,t)}get isSupText(){return!0}}class fn extends un{constructor(...t){super("sub","subText",!1,...t)}get isSubText(){return!0}}class bn extends un{constructor(...t){super("code","codeText",!1,...t)}get isCodeText(){return!0}}class yn extends un{constructor(t,e){super("abbr","abbrText",!1,t),this.setAttr("title",e)}get isAbbrText(){return!0}}const wn=(...t)=>new pn(...t),xn=(...t)=>new dn(...t),vn=(...t)=>new mn(...t),Cn=(...t)=>new gn(...t),Fn=(...t)=>new fn(...t),kn=(...t)=>new bn(...t),En=(t,e)=>new yn(t,e);class An extends un{constructor(...t){super("p","p",!0,...t)}get isPara(){return!0}}class Dn extends un{constructor(t,e){super("blockquote","blockquote",!0,e),this.setAttr("cite",t)}get isBlockQuote(){return!0}}const Bn=(...t)=>new An(...t),_n=(t,e)=>new Dn(t,e);class Tn extends Gs{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element.textContent=e}get isHeading(){return!0}get value(){return this.element.innerText}setValue(t=""){this.element.innerText=t}addValue(t=""){return this.element.innerText+=t,this}}const In=(t="")=>new Tn(1,t),Mn=(t="")=>new Tn(2,t),Sn=(t="")=>new Tn(3,t),Ln=(t="")=>new Tn(4,t),On=(t="")=>new Tn(5,t),jn=(t="")=>new Tn(6,t);class Rn extends cn{constructor(t){super(t,"html")}}class Pn extends Gs{constructor(t="button"){super("button","btn"),this.element=document?.createElement("button"),this.setValue(t),this.st.cursor("pointer"),globalThis.__Ziko__.__Config__.default.render&&this.render()}get isBtn(){return!0}setValue(t){return t instanceof Gs?t.setTarget(this.element):(this.element.appendChild(document.createTextNode("")),this.element.childNodes[0].data=t),this}get value(){return this.element.innerText}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}class Nn extends Gs{constructor(){super("br","br")}get isBr(){return!0}}class zn extends Gs{constructor(){super("hr","hr")}get isHr(){return!0}}class Vn extends cn{constructor(t){super("a","link"),Object.assign(this.cache,{defaultStyle:{color:"#0275d8",textDecoration:"none"},hoverStyle:{color:"#01447e",textDecoration:"underline"}}),this.setHref(t),this.style(this.cache.defaultStyle),this.onPtrEnter((()=>this.style(this.cache.hoverStyle))),this.onPtrLeave((()=>this.style(this.cache.defaultStyle)))}setHref(t){this.element.href=t}get isLink(){return!0}}const $n=()=>new Nn,Un=()=>new zn,Hn=(t=1)=>new Array(t).fill(new Nn),Zn=(t=1)=>new Array(t).fill(new zn),qn=(t,...e)=>new Vn(t).append(...e),Wn=(t,...e)=>new Rn(t).append(...e),Xn=t=>new Pn(t);class Yn extends cn{constructor(t){super("li","li"),this.append(t)}get isLi(){return!0}}class Gn extends cn{constructor(t,e){super(t,e),delete this.append,this.style({listStylePosition:"inside"})}get isList(){return!0}append(...t){for(let e=0;e<t.length;e++){let s=null;["string","number"].includes(typeof t[e])&&(t[e]=wn(t[e])),t[e]instanceof Gs&&(s=new Yn(t[e])),s.setTarget(this.element),this.items.push(s[0]),this.maintain()}}remove(...t){if(0==t.length)this.target.children.length&&this.target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof Gs&&this.element.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let s=0;s<e.length;s++){let r=null;["number","string"].includes(typeof e[s])&&(e[s]=wn(e[s])),e[s]instanceof Gs&&(r=new Yn(e[s])),this.element.insertBefore(r.element,this.items[t].parent.element),this.items.splice(t,0,e[s][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((s=>{const r=s.element.textContent;return!(e?r===t:r.includes(t))})).map((t=>t.parent.render(!1))),this}sortByTextContent(t=1){return this.items.map((t=>t.parent.render(!1))),this.sortedItems=this.items.sort(((e,s)=>t*e.element.textContent.localeCompare(s.element.textContent))),this.append(...this.sortedItems),this}filterByClass(t){return this.items.map((t=>t.parent.render(!0))),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.parent.render(!1))),this}delete(t){return[...this.element.children].indexOf(t)}push(){}pop(){}unshift(){}shift(){}sort(){}filter(){}slice(){}}class Qn extends Gn{constructor(...t){super("ol","ol"),this.append(...t)}get isOl(){return!0}type(t=1){return this.element.setAttribute("type",t),this}start(t=1){return this.element.setAttribute("start",t),this}}class Kn extends Gn{constructor(...t){super("ul","ul"),this.append(...t)}get isUl(){return!0}}const Jn=(...t)=>new Qn(...t),ti=(...t)=>new Kn(...t);class ei extends Gs{constructor(t,e,s="",r){super("input","input"),Object.assign(this.events,{input:null}),this.setValue(s),this.setAttr("type",t),this.setAttr("name",e),r&&this.linkDatalist(r)}get isInput(){return!0}setName(t){return this.setAttr("name",t),this}onInput(...t){return this.events.input||(this.events.input=ss(this)),this.events.input.onInput(...t),this}onChange(...t){return this.events.input||(this.events.input=ss(this)),this.events.input.onChange(...t),this}linkDatalist(t){let e;if(t instanceof ZikoUIInputDatalist)e=t.Id;else if(t instanceof Array){const s=new ZikoUIInputDatalist(...t);e=s.Id,console.log(s)}else e=t;return this.element.setAttribute("list",e),this}get value(){return this.element.value}setValue(t=""){return this.element.value=t,this}useState(t){return this.setValue(t),[{value:this.value},t=>this.setValue(t)]}setPlaceholder(t){return t&&(this.element.placeholder=t),this}get isValide(){return this.element.checkValidity()}setRequired(t=!0){return this.element.required=t,this}select(){return this.element.select(),this}copy(){return this.element.select(),document.execCommand("copy"),this}cut(){return this.element.select(),document.execCommand("cut"),this}accept(t){return this.element.accept=t,this}}const si=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:s}=t;return t=t.value??"",new ei("text","input",t,e).setPlaceholder(s)}return new ei("text","input",t,e)};class ri extends ei{constructor(t,e,s=1){super("number","inpuNumber"),this.setMin(t).setMax(e).setStep(s)}get isInputNumber(){return!0}get value(){return+this.element.value}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}}const ni=(t,e,s)=>{if(t instanceof Object){const{value:e,max:s=10,step:r=1,placeholder:n=""}=t;return t=t?.min??0,new ZikoUIInputSlider(t,s,r).setValue(e).setPlaceholder(n)}return new ri(t,e,s)};let ii=class extends ei{constructor(t=0,e=0,s=10,r=1){super("range","inputSlider"),this.setMin(e).setMax(s).setValue(t).setStep(r)}get isInputSlider(){return!0}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}};const oi=(t,e,s,r)=>{if(t instanceof Object){const{min:e=0,max:s=10,step:r=1}=t;return new ii(t=t?.value??5,e,s,r)}return new ii(t,e,s,r)};class ai extends ei{constructor(){super("color","inputColor"),this.background(this.value),this.onInput((()=>this.background(this.value)))}get isInputColor(){return!0}}const hi=()=>new ai;class li extends ei{constructor(){super("search","inputSearch"),this.Length=0}get isInputSearch(){return!0}onsearch(t){return this.element.addEventListener("search",(()=>t())),this}connect(...t){return this}displayLength(t){return this.element.addEventListener("keyup",(()=>t.setValue(this.Length))),this}}const ci=(...t)=>(new li).connect(...t);class ui extends ei{constructor(){super("checkbox","inputCheckbox"),this.cursor("pointer")}get isInputCheckbox(){return!0}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}const pi=()=>new ui;class di extends ei{constructor(){super("radio","inputRadio"),this.cursor("pointer")}get isInputRadio(){return!0}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}const mi=()=>new di;class gi extends ei{constructor(){super("email","inputEmail")}get isInputEmail(){return!0}}const fi=()=>new gi;class bi extends ei{constructor(){super("password","inputPassword")}get isInputPassword(){return!0}}const yi=()=>new bi;class wi extends ei{constructor(){super("date","inputDate")}get isInputDate(){return!0}}const xi=()=>new wi;class vi extends ei{constructor(){super("time","inputTime")}get isInputTime(){return!0}}const Ci=()=>new vi;class Fi extends ei{constructor(){super("datetime-local","inputDateTime")}get isInputDateTime(){return!0}}const ki=()=>new Fi;class Ei extends Gs{constructor(t="File"){super("inputImage"),this._aux_element=Xn(t).setTarget(this.target),this.element=document?.createElement("input"),this.element.setAttribute("type","file"),this.element.setAttribute("accept","image"),this._aux_element.onClick((()=>this.element.click())),this.element.onChange=this.handleImage.bind(this)}get isInputImage(){return!0}handleImage(t){const e=new FileReader,s=new Image;e.onload=function(t){s.src=t.target.result,console.log(s.src)},e.readAsDataURL(t.target.files[0]),this.img=s}get value(){return this.img}render(t=!0){return t?this.target.appendChild(this._aux_element.element):this.remove(),this}remove(){return this.target.children.length&&this.target.removeChild(this._aux_element.element),this}}const Ai=t=>new Ei(t);class Di extends sr{constructor(){super(),this.element.setAttribute("src",""),this.constraints={audio:!0,video:{width:1280,height:720}}}get isInputCamera(){return!0}start(){return navigator.mediaDevices.getUserMedia(this.constraints).then((t=>{this.element.srcObject=t,this.element.onloadedmetadata=()=>{this.element.play()}})).catch((function(t){console.log(t.name+": "+t.message)})),this}}const Bi=()=>new Di;class _i extends Gs{constructor(t=""){super(),this.element=document?.createElement("option"),t instanceof Object&&"value"in t?(this.setValue(t.value),this.setText(t?.text??t.value)):this.setValue(t)}setValue(t=""){return this.element.value=t,this}setText(t=""){return t&&(this.element.textContent=t),this}}let Ti=class extends Gs{constructor(...t){super(),this.element=document?.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+it.string(10))}get isDatalist(){return!0}addOptions(...t){return t.map((t=>this.append(new _i(t)))),this}};const Ii=(...t)=>new Ti(...t);class Mi extends Gs{constructor(){super(),this.element=document?.createElement("select")}addOptions(...t){return t.map((t=>this.append(new _i(t)))),this}get isSelect(){return!0}}const Si=()=>new Mi;class Li extends Gs{constructor(){super(),this.element=document?.createElement("textarea")}get value(){return this.element.textContent}get isTextArea(){return!0}}const Oi=()=>new Li;class ji extends cn{constructor(t="div",e="100%",s="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({width:e,height:s}),this.style({display:"flex"})}get isFlex(){return!0}resp(t,e=!0){return this.wrap(e),this.element.clientWidth<t?this.vertical():this.horizontal(),this}setSpaceAround(){return this.style({justifyContent:"space-around"}),this}setSpaceBetween(){return this.style({justifyContent:"space-between"}),this}setBaseline(){return this.style({alignItems:"baseline"}),this}gap(t){return"row"===this.direction?this.style({columnGap:t}):"column"===this.direction&&this.style({rowGap:t}),this}wrap(t="wrap"){return this.style({flexWrap:"string"==typeof t?t:["no-wrap","wrap","wrap-reverse"][+t]}),this}_justifyContent(t="center"){return this.style({justifyContent:t}),this}vertical(t,e,s=1){return Pi.call(this,s),this.style({alignItems:"number"==typeof t?zi.call(this,t):t,justifyContent:"number"==typeof e?Vi.call(this,e):e}),this}horizontal(t,e,s=1){return Ni.call(this,s),this.style({alignItems:"number"==typeof e?Vi.call(this,e):e,justifyContent:"number"==typeof t?zi.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const Ri=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new ji(e).append(...t)};function Pi(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function Ni(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function zi(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function Vi(t){return zi(-t)}class $i extends ji{constructor(...t){super("form","Form"),this.append(...t),this.setMethod("POST"),this.setAction("/")}setAction(t="/"){return this.setAttr("action",t),this}setMethod(t="post"){return this.setAttr("method",t),this}get data(){let t=new FormData(this.element);return this.items.forEach((e=>{(e.isInput||e.isSelect||e.isTextarea)&&t.append(e.element.name,e.value)})),t}sendFormData(){return fetch(this.element.action,{method:this.element.method,body:this.data}).then((t=>t.json())).then((t=>console.log(t))).catch((t=>console.error("Error:",t))),this}getByName(t){return this.data.get(t)}}const Ui=(...t)=>new $i(...t);class Hi extends cn{constructor(t="div",e="50vw",s="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof s&&(s+="%"),this.style({border:"1px solid black",width:e,height:s}),this.style({display:"grid"})}get isGird(){return!0}columns(t){let e="";for(let s=0;s<t;s++)e=e.concat(" auto");return this.#m(e),this}#m(t="auto auto"){return this.style({gridTemplateColumns:t}),this}gap(t=10,e=t){return"number"==typeof t&&(t+="px"),"number"==typeof e&&(e+="px"),this.style({gridColumnGap:t,gridRowGap:e}),this}}const Zi=(...t)=>new Hi("div").append(...t);class qi extends Gs{constructor(t,e,s="😁",r=s){super("details","Collapsible"),Object.assign(this.cache,{icons:{open:s,close:r}}),this.summary=Wn("summary",t).style({fontSize:"1.1em",padding:"0.625rem",fontWeight:"bold",listStyleType:`"${s}"`,cursor:"pointer"}),this.summary[0].style({marginLeft:"0.5em"}),this.content=e.style({margin:"0.7em"}),this.element.append(this.summary.element,this.content.element),this.style({marginBottom:"0.7em"}),ys(this,(t=>{t.target.isOpen?(t.target.emit("open"),this.parent.isAccordion&&this.parent.cache.autoClose&&this.parent.closeExcept(this),this.summary.style({listStyleType:`"${this.cache.icons.close}"`})):(t.target.emit("close"),this.summary.style({listStyleType:`"${this.cache.icons.open}"`}))}))}get isCollapsible(){return!0}get isOpen(){return this.element.open}open(t=this){return this.element.open=!0,this.emit("open",t),this}close(){return this.element.open=!1,this}onOpen(t){return this.on("open",t),this}onClose(t){return this.on("close",t),this}toggle(){return this.element.open=!this.element.open,this}}const Wi=(t,e,s,r)=>new qi(t,e,s,r);class Xi extends cn{constructor(...t){super("div","Accordion"),this.append(...t),Object.assign(this.cache,{autoClose:!0})}get isAccordion(){return!0}closeAll(){return this.items.forEach((t=>t.close())),this}closeExcept(...t){return this.items.filter((e=>!t.includes(e))).forEach((t=>t.close())),this}open(t){return t.isCollapsible?t.open():this.items[t].open(),this.closeExcept(t.isCollapsible?t:this.items[t]),this}enableAutoClose(){return this.cache.autoClose=!0,this}disableAutoClose(){return this.cache.autoClose=!1,this}toggleAutoClose(){this.cache.autoClose=!this.cache.autoClose}}const Yi=(...t)=>new Xi(...t);class Gi extends ji{constructor(...t){super(),this.style({position:"relative",overflow:"hidden",touchAction:"none",userSelect:"none"}),this.horizontal("space-around",0),this.track=Section(...t).style({display:"inline-flex"}),this.track.size(100*this.track.children.length+"vw"),this.track.setTarget(this),this.track.items.map((t=>t.style({pointerEvents:"none",margin:"auto 10px"}))),this.x0=null,this.tx=0,this.onPtrMove((t=>{if(t.isDown){let e=t.event.pageX-this.x0;this.track.st.translateX(this.tx+e,0)}})),this.onPtrDown((t=>{console.log(t.event),this.x0=t.event.pageX;const e=window.getComputedStyle(this.track.element).getPropertyValue("transform");"none"!==e&&(this.tx=+e.split(",")[4])})),this.onPtrUp((t=>console.log(t.isDown))),this.onPtrLeave((t=>{}))}get isCarousel(){return!0}}const Qi=(...t)=>new Gi(...t);class Ki extends ji{constructor(){super("section"),Object.assign(this.cache,{order:0,currentNote:null,currentNoteIndex:null}),this.vertical(0,0)}get isCodeNote(){return!0}setCurrentNote(t){return this.cache.currentNote=t,this.cache.currentNoteIndex=this.items.findIndex((e=>e===t)),t.focus(),this.items.forEach((t=>t.Input.style({border:"1px solid #ccc"}))),t.Input.style({border:"2px lightgreen solid"}),this}addNote(t=""){return this.append(so(t)),this}execute(){return this.cache.currentNote.execute(),this.incrementOrder(),this}incrementOrder(){return this.cache.order++,this.cache.currentNote.setOrder(this.cache.order),this}next(){return this.cache.currentNote===this.items.at(-1)?(this.addNote(),this.setCurrentNote(this.items.at(-1))):this.setCurrentNote(this.items[this.cache.currentNoteIndex+1]),this}previous(){return this.cache.currentNote!==this.items[0]&&this.setCurrentNote(this.items[this.cache.currentNoteIndex-1]),this}data(){return this.items.map((t=>t.cellData()))}serialize(){return JSON.stringify(this.data())}import(t=[]){return t.forEach(((e,s)=>this.addNote(t[s].input))),this}}const Ji=()=>new Ki,to={background:"none",width:"25px",height:"25px",fontSize:"1.2rem",cursor:"pointer"};class eo extends ji{constructor(t="",{type:e="js",order:s=null}={}){var r;super("section"),Object.assign(this.cache,{state:null,order:s,type:e,metadata:{created:Date.now(),updated:null}}),this.Input=((t="")=>Wn("code",t).style({width:"100%",height:"auto",padding:"10px",boxSizing:"border-box",border:"1px solid #ccc",outline:"none",fontSize:"1rem",fontFamily:"Lucida Console, Courier New, monospace",padding:"1rem 0.5rem",wordBreak:"break-all",background:"#f6f8fa",color:"#0062C3"}).setAttr("contenteditable",!0).setAttr("spellcheck",!1))(t),this.Output=Wn("output").style({width:"100%",height:"auto",padding:"5px 0"}),this.InOut=Ri(this.Input,this.Output).vertical().style({width:"100%",margin:"10px auto"}),this.RightControl=(r=this,Ri(wn("â–ļī¸").style(to).onClick((t=>{r.parent instanceof Ki&&r.parent.setCurrentNote(r),r.execute(),globalThis.__Ziko__.__Config__.default.target=t.target.parent.parent[1][1]})),wn("📋").style(to).onClick((()=>{navigator.clipboard.writeText(r.codeText)})),wn("âœ–ī¸").style(to).onClick((()=>r.remove())),wn("âœ–ī¸").style(to).onClick((()=>r.remove()))).style({width:"70px",height:"50px",margin:"10px 0"}).horizontal(0,0).wrap(!0)),this.LeftControl=Ri(wn("[ ]")).style({width:"50px",height:"50px",margin:"10px 4px",padding:"5px",color:"darkblue",borderBottom:"4px solid gold"}).horizontal(0,0),this.append(this.LeftControl,this.InOut,this.RightControl),this.horizontal(-1,1).style({width:"95vw",margin:"0 auto",border:"1px darkblue dotted"});let n=this.Input.element.getElementsByClassName("cm-content")[0];n?n.addEventListener("keydown",(t=>{"Enter"===t.key&&t.shiftKey&&(t.preventDefault(),this.execute(this.cache.order))})):(this.Input.onKeyDown((t=>{"Enter"===t.kd&&t.event.shiftKey&&(t.event.preventDefault(),this.execute(this.cache.order)),this.cache.parent instanceof Ki&&("ArrowDown"===t.kd&&t.event.shiftKey&&this.cache.parent.next(),"ArrowUp"===t.kd&&t.event.shiftKey&&this.cache.parent.previous())})),this.Input.onFocus((()=>{this.cache.parent instanceof Ki&&(this.cache.parent.cache.currentNote=this,this.cache.parent.setCurrentNote(this))})),this.Input.onPaste((t=>{})))}get isCodeCell(){return!0}get codeText(){return this.Input.element.getElementsByClassName("cm-content")[0]?this.Input.element.getElementsByClassName("cm-content")[0].innerText.trim():this.Input.element.innerText.trim()}get codeHTML(){return this.Input.element.innerHTML}get outputHTML(){return this.Output.element.innerHTML}setValue(t){return this.Input[0].setValue(t),this}cellData(){return{input:this.codeText,output:this.outputHTML,order:this.cache.order,type:this.cache.type}}execute(t){return this.clearOutput(),this.evaluate(t),this.cache.metadata.updated=Date.now(),this}#g(t){try{this.LeftControl[0].setValue("pending"),this.cache.state="pending",globalThis.eval(this.codeText)}catch(t){console.log(t),text(`Error : ${t.message}`).style({color:"red",background:"gold",border:"2px red solid",padding:"10px",margin:"10px 0",display:"flex",justifyContent:"center"}),this.LeftControl[0].setValue("Err"),this.cache.state="Error"}finally{"pending"===this.cache.state&&(this.cache.state="success",this.setOrder(t),this.cache.parent instanceof Ki&&(this.cache.parent.incrementOrder(),this.cache.parent.next()))}}#f(){}#b(){}evaluate(t){if(globalThis.__Ziko__.__Config__.default.target=this.Output.element,"js"===this.cache.type)this.#g(t);return this}clearInput(){return this.Output.element.innerText="",this}clearOutput(){return this.Output.element.innerText="",this}setOrder(t,e=!0){return this.cache.order=t,e&&("number"==typeof t?this.LeftControl[0].setValue(`[${t}]`):this.LeftControl[0].setValue("[-]")),this}focus(){return this.Input.element.focus(),this}}const so=(t,{type:e,order:s}={})=>new eo(t,{type:e,order:s});class ro extends ji{#y=0;constructor(t,e){super("div","Tabs"),this.style({boxSizing:"border-box",backgroundColor:"blanchedalmond",border:"1px red solid",margin:"30px"}),this.append(Ri().size("auto","auto").style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",minWidth:"50px",minHeight:"50px",backgroundColor:"darkblue",border:"1px darkblue solid"}),Ri().style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",width:"100%",height:"100%",backgroundColor:"darkslategrey"})),this.Controller=this.items[0].setAttr("role","tablist"),this.Content=this.items[1],t.length!==e.length?console.error(""):(this.Controller.append(...t),this.Content.append(...e)),this.init(),this.display(0)}get isTabs(){return!0}init(){for(let t=0;t<this.Controller.length;t++)this.Controller[t].setAttr("role","tab").setAttr("aria-controls",`tab${t}`),this.Content[t].setAttr("role","tabpanel").setAttr("aria-labelledby",`tab${t}`).setAttr("tabindex",-1);return this.Controller.forEach((t=>t.onClick((t=>{const e=t.target.element.getAttribute("aria-controls"),s=+e.slice(3);this.Content.filter((t=>t.element.getAttribute("aria-labelledby")===e),(()=>{this.#y!==s&&this.display(s)}))})))),this}addPairs(t,e){this.Controller.append(t),this.Content.append(e);const s=this.Controller.length;return this.Controller.at(-1).setAttr("role","tab").setAttr("aria-controls","tab"+(s-1)),this.Content.at(-1).setAttr("role","tabpanel").setAttr("aria-labelledby","tab"+(s-1)).setAttr("tabindex",-1),this}removePairs(t){}display(t){return this.#y=t%this.Content.length,this.Controller.forEach((t=>t.setAttr("tabindex",-1).setAttr("aria-selected",!1))),this.Controller.at(this.#y).setAttr("tabindex",0).setAttr("aria-selected",!0),(async()=>{await this.Content.forEach((t=>t.st.hide())),await this.Content.at(this.#y).setAttr("tabindex",0).st.show()})(),this}next(t=1){return this.display(this.#y+t),this}previous(t=1){return this.display(this.#y-t),this}useHorizontalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_x)))),this}useVerticalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_y)))),this}}const no=(t,e)=>new ro(t,e),io={success:{titleColor:"green",contentColor:"#35495e",bgColor:"#d4edda",bgColor:"linear-gradient(-225deg, #DFFFCD 0%, #90F9C4 48%, #39F3BB 100%)",borderColor:"#28a745",icon:"✅"},info:{titleColor:"blue",contentColor:"#00204a",bgColor:"#93deff",bgColor:"radial-gradient(circle at 10% 20%, rgb(147, 230, 241) 0%, rgb(145, 192, 241) 45.5%)",borderColor:"#005689",icon:"â„šī¸"},warning:{titleColor:"#e4663a",contentColor:"#45171d",bgColor:"#fdffcd",bgColor:"radial-gradient(907px at 3.4% 19.8%, rgb(255, 243, 122) 0%, rgb(255, 102, 145) 97.4%)",borderColor:"#efd510",icon:"âš ī¸"},danger:{titleColor:"red",contentColor:"#721c24",bgColor:"#f8d7da",bgColor:"linear-gradient(90deg, rgb(255, 157, 129) 24.3%, rgb(255, 138, 138) 78.3%)",borderColor:"#c50000",icon:"❌"},tips:{titleColor:null,contentColor:null,bgColor:null,borderColor:null,icon:"💡"},important:{titleColor:null,contentColor:null,bgColor:null,borderColor:null,icon:"📌"}};class oo extends ji{constructor(t,e,s){super(),this.title=Sn(e),this.icon=wn(io[t].icon).style({display:"flex",justifyContent:"center",borderRadius:"50%",minWidth:"30px",minHeight:"30px"}),this.content=s,this.vertical().size("200px","auto").style({borderRadius:"10px",padding:"10px"}),this.append(Ri(this.title,this.icon).size("100%","40px").style({}).horizontal("space-between",0),this.content),this.useType(t)}get isAlert(){return!0}useType(t){return this.style({color:io[t].color,background:io[t].bgColor,border:"1px darkblue solid",borderLeft:`15px ${io[t].borderColor} solid`}),this.title.style({color:io[t].titleColor}),this.content.st.color(io[t].titleColor),this.icon.setValue(io[t].icon).style({border:`2px ${io[t].borderColor} solid`,alignItems:"warning"===t?"flex-start":"center"}),this}useSuccess(){return this.useType("success"),this}useInfo(){return this.useType("info"),this}useWarning(){return this.useType("warning"),this}useDanger(){return this.useType("danger"),this}}const ao=(t,e)=>new oo("success",t,e),ho=(t,e)=>new oo("info",t,e),lo=(t,e)=>new oo("warning",t,e),co=(t,e)=>new oo("danger",t,e);class uo extends Gs{constructor(t,e,s){super("div","Splitter"),Object.assign(this.cache,{isResizing:!1,flexDirection:t,resizerCursor:e,resizerProp:s}),this.style({display:"flex",flexDirection:this.cache.flexDirection,border:"2px solid #333",overflow:"hidden"}),this.resizer=new Gs("div","resizer").style({[this.cache.resizerProp]:"5px",backgroundColor:"gold",cursor:this.cache.resizerCursor,touchAction:"none"}),this.onPtrDown((t=>{this.cache.isResizing=!0,this.style({cursor:this.cache.resizerCursor}),this.resizer.element.setPointerCapture(t.event.pointerId)})),this.onPtrUp((t=>{this.cache.isResizing=!1,this.style({cursor:"default"}),this.resizer.element.releasePointerCapture(t.event.pointerId)})),this.onPtrCancel((()=>{this.cache.isResizing=!1,this.style({cursor:"default"})})),this.onPtrOut((()=>{this.cache.isResizing&&(this.cache.isResizing=!1,this.style({cursor:"default"}))}))}get isSplitter(){return!0}styleResizer(t={}){return this.resizer.style(t),this}}class po extends uo{constructor(t,e){super("row","ew-resize","width"),this.leftPane=t.style({width:"50%",flexGrow:1,overflow:"hidden"}),this.rightPane=e.style({width:"50%",flexGrow:1,overflow:"hidden"}),this.element.append(this.leftPane.element,this.resizer.element,this.rightPane.element),this.onPtrMove((t=>{if(!this.cache.isResizing)return;const e=this.element.getBoundingClientRect().width;let s=(t.event.clientX-this.element.getBoundingClientRect().x)/e*100,r=100-s;s<0&&(s=0),r<0&&(r=0),this.leftPane.element.style.width=`${s}%`,this.rightPane.element.style.width=`${r}%`}))}get isHorizontalSplitter(){return!0}}const mo=(t,e)=>new po(t,e);class go extends uo{constructor(t,e){super("column","ns-resize","height"),this.topPane=t.style({height:"50%",flexGrow:1,overflow:"hidden"}),this.bottomPane=e.style({height:"50%",flexGrow:1,overflow:"hidden"}),this.element.append(this.topPane.element,this.resizer.element,this.bottomPane.element),this.onPtrMove((t=>{if(!this.cache.isResizing)return;const e=this.element.getBoundingClientRect().height;let s=(t.event.clientY-this.element.getBoundingClientRect().y)/e*100,r=100-s;s<0&&(s=0),r<0&&(r=0),this.topPane.element.style.height=`${s}%`,this.bottomPane.element.style.height=`${r}%`}))}get isHorizontalSplitter(){return!0}}const fo=(t,e)=>new go(t,e);class bo extends Gs{constructor(...t){super("ul","Breadcrumbs"),Object.assign(this.cache,{separatorTextContent:"/"}),this.style({listStyle:"none",display:"flex",flexWrap:"wrap"}),this.list=Wn("li").style({display:"flex",flexWrap:"wrap"}),this.append(...t)}#w(t){["string","number","boolean"].includes(typeof t)&&(t=wn(t));const e=Wn("li",t).style({display:"flex",alignItems:"center"});if(this.element.children.length>0){const t=wn(this.cache.separatorTextContent).style({padding:"0 4px"});this.element.append(t.element)}this.element.append(e.element)}append(...t){return t.forEach((t=>this.#w(t))),this}configSeparator(t=this.cache.separator,e={}){this.cache.separatorTextContent=t;return[...this.element.children].filter((t=>"SPAN"===t.tagName)).forEach((s=>{s.textContent=t,Object.assign(s.style,e)})),this}}const yo=(...t)=>new bo(...t);class wo extends cn{constructor(){super("main","Main")}get isMain(){return!0}}class xo extends cn{constructor(){super("header","Header")}get isHeader(){return!0}}class vo extends cn{constructor(){super("nav","Nav")}get isNav(){return!0}}class Co extends cn{constructor(){super("section","Section"),this.style({position:"relative"})}get isSection(){return!0}}class Fo extends cn{constructor(){super("article","Article")}get isArticle(){return!0}}class ko extends cn{constructor(){super("aside","Aside")}get isAside(){return!0}}class Eo extends cn{constructor(){super("footer","Footer"),this.element=document?.createElement("footer")}get isFooter(){return!0}}const Ao=(...t)=>(new Co).append(...t),Do=(...t)=>(new Fo).append(...t),Bo=(...t)=>(new wo).append(...t),_o=(...t)=>(new xo).append(...t),To=(...t)=>(new Eo).append(...t),Io=(...t)=>(new vo).append(...t),Mo=(...t)=>(new ko).append(...t);class So extends Gs{constructor(...t){super(),this.element=document?.createElement("Tr"),this.append(...t)}}class Lo extends Gs{constructor(...t){super(),this.element=document?.createElement("Td"),this.append(...t)}}class Oo extends Gs{constructor(...t){super(),this.element=document?.createElement("Thead"),this.append(...t)}}class jo extends Gs{constructor(...t){super(),this.element=document?.createElement("Tbody"),this.append(...t)}}class Ro extends Gs{constructor(t){super(),this.element=document?.createElement("Caption"),this.append(t)}}const Po=(...t)=>(t=t.map((t=>(t instanceof Gs||(t=wn(t)),t))),new Lo(...t)),No=t=>new Ro(t),zo=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new So(...t))())),s=t.arr.map((t=>t.map((()=>null))));for(let r=0;r<s.length;r++)for(let n=0;n<s[0].length;n++)s[r][n]=Po(t.arr[r][n]),e[r].append(s[r][n]);return e};class Vo extends Gs{constructor(t,{caption:e=null,head:s=null,foot:r=null}={}){super("table","Table"),this.structure={caption:e,head:s,body:null,foot:r},t&&this.fromMatrix(t),e&&this.setCaption(e)}get isTable(){return!0}get caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=No(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Ro))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof Gs||(t=Po(t)),t))),new Oo(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Ro))),this}setFooter(t){return this.structure.caption=No(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Ro))),this}fromMatrix(t){return this.bodyMatrix=t instanceof Array?xr(t):t,this.structure.body&&this.remove(this.structure.body),this.structure.body=((...t)=>new jo(...t))(),this.append(this.structure.body),this.structure.body.append(...zo(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Vo&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Vo&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,s=this.bodyMatrix.rows-1,r=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,s,r)),this}sortByCols(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.clone.sortTable(t,e)),this}sortByRows(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.T.clone.sortTable(t,e).T),this}filterByRows(t){return this.fromMatrix(this.bodyMatrix.clone.filterByRows(t)),this}filterByCols(t){return this.fromMatrix(this.bodyMatrix.clone.filterByCols(t)),this}forEachRow(t){return this.structure.body.forEach(t),this}forEachItem(t){return this.structure.body.forEach((e=>e.forEach(t))),this}}const $o=(t,e)=>new Vo(t,e),Uo={html:Wn,text:wn,quote:xn,dfnText:vn,supText:Cn,subText:Fn,codeText:kn,abbrText:En,p:Bn,blockQuote:_n,h1:In,h2:Mn,h3:Sn,h4:Ln,h5:On,h6:jn,btn:Xn,br:$n,hr:Un,brs:Hn,hrs:Zn,link:qn,ol:Jn,ul:ti,Form:Ui,input:si,search:ci,slider:oi,checkbox:pi,radio:mi,datalist:Ii,inputNumber:ni,inputColor:hi,inputDate:xi,inputDateTime:ki,inputEmail:fi,inputImage:Ai,inputPassword:yi,inputTime:Ci,select:Si,textarea:Oi,inputCamera:Bi,image:Ks,video:rr,audio:ir,figure:tr,Flex:Ri,Carousel:Qi,Grid:Zi,Header:_o,Main:Bo,Section:Ao,Article:Do,Aside:Mo,Nav:Io,Footer:To,Table:$o,CodeCell:so,CodeNote:Ji,Tabs:no,Collapsible:Wi,Accordion:Yi,hSplitter:mo,vSplitter:fo,Breadcrumbs:yo,successAlert:ao,infoAlert:ho,warningAlert:lo,dangerAlert:co,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class Ho extends Gs{constructor(t=360,e=300){super("svg","svg"),this.setAttr("width",t),this.setAttr("height",e),this.style({border:"1px black solid"}),this.view(-10,-10,10,10)}view(t,e,s,r){let n=Math.abs(s-t),i=Math.abs(r-e);return this.setAttr("viewBox",[t,e,n,i].join(" ")),this.st.scaleY(-1),this}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return this.maintain(),this}remove(...t){for(let e=0;e<t.length;e++)this.element.removeChild(t[e].element),this.items=this.items.filter((e=>!t));return this.maintain(),this}mask(){}toString(){return(new XMLSerializer).serializeToString(this.element)}btoa(){return btoa(this.toString())}toImg(){return"data:image/svg+xml;base64,"+this.btoa()}toImg2(){return"data:image/svg+xml;charset=utf8,"+this.toString().replaceAll("<","%3C").replaceAll(">","%3E").replaceAll("#","%23").replaceAll('"',"'")}}const Zo=(t,e)=>new Ho(t,e);class qo{constructor(t){this.cache={type:t}}pos(t,e){return this.posX(t).posY(e)}posX(t){return["circle","ellipse"].includes(this.cache.type)?this.element.cx.baseVal.value=t:this.element.x.baseVal.value=t,this}posY(t){return["circle","ellipse"].includes(this.cache.type)?this.element.cy.baseVal.value=t:this.element.y.baseVal.value=t,this}translate(t,e){return this}color({stroke:t,fill:e}){return this.element.setAttribute("stroke",t),this.element.setAttribute("fill",e),this}fill(t="none"){return this.element.setAttribute("fill",t),this}stroke(t="none",e){return this.element.setAttribute("stroke",t),e&&this.strokeWidth(e),this}strokeWidth(t=1){return this.element.setAttribute("stroke-width",t),this}opacity(t=1){return this.element.setAttribute("opacity",t),this}}class Wo extends qo{constructor(t,e,s,r,n=!0){super(),this.element=document?.createElementNS("http://www.w3.org/2000/svg","rect"),this.setX(t).setY(e).width(s).height(r),this.rx=this.x+this.w/2,this.ty=this.y+this.h/2}setX(t){return this.element.x.baseVal.value=t,this.x=t,this}setY(t){return this.element.y.baseVal.value=t,this.y=t,this}r(t,e){return this.rx=t,this.ry=e,this.setX(this.rx-this.w/2),this.setY(this.ry-this.h/2),this}width(t){return this.element.width.baseVal.value=t,this.w=t,this}height(t){return this.element.height.baseVal.value=t,this.h=t,this}}const Xo=(t,e,s,r,n)=>new Wo(t,e,s,r,n);class Yo extends qo{constructor(t,e,s){super("circle"),this.element=document?.createElementttNS("http://www.w3.org/2000/svg","circle"),this.pos(t,e).setR(s)}setR(t){return this.element.r.baseVal.value=t,this}get r(){return this.element.r.baseVal.value}get cx(){return this.element.cx.baseVal.value}get cy(){return this.element.cy.baseVal.value}}const Go=(t,e,s)=>new Yo(t,e,s);class Qo extends qo{constructor(t,e,s,r){super("ellipse"),this.element=document?.createElementNS("http://www.w3.org/2000/svg","ellipse"),this.pos(t,e).setRx(s).setRy(r)}setRx(t){return this.element.rx.baseVal.value=t,this}setRy(t){return this.element.ry.baseVal.value=t,this}}const Ko=(t,e,s,r)=>new Qo(t,e,s,r);class Jo extends qo{constructor(t,e,s,r){super(),this.element=document?.createElementtNS("http://www.w3.org/2000/svg","line"),this.x1(t).y1(e).x2(s).y2(r).stroke("black")}x1(t){return this.element.x1.baseVal.value=t,this}y1(t){return this.element.y1.baseVal.value=t,this}x2(t){return this.element.x2.baseVal.value=t,this}y2(t){return this.element.y2.baseVal.value=t,this}}const ta=(t,e,s,r)=>new Jo(t,e,s,r);class ea extends qo{}class sa extends qo{constructor(){super(),this.element=document?.createElementNS("http://www.w3.org/2000/svg","path"),this.path=""}setPath(){return this.element.setAttribute("d",this.path),this}clear(){return this.path="",this.setPath(),this}moveTo(t,e){return this.path+=`M${t} ${e} `,this.setPath(),this}lineTo(t,e){return this.path+=`L${t} ${e} `,this.setPath(),this}hr(t){return this.path+=`H${t} `,this.setPath(),this}vr(t){return this.path+=`V${t} `,this.setPath(),this}bezier(t,e,s,r,n,i){return this.path+=`C ${t} ${e},${s} ${r},${n} ${i} `,this.setPath(),this}quadratic(t,e,s,r){return this.path+=`Q ${t} ${e} ${s} ${r} `,this.setPath(),this}close(){return this.path+="Z",this.setPath(),this}}const ra=()=>new sa;class na extends qo{constructor(t=[],e=[]){super(),this.X=t,this.Y=e,this.element=document?.createElementtNS("http://www.w3.org/2000/svg","polygon"),this.element.setAttribute("points",""),this.addPoints(t,e)}addPoint(t,e){let s=this.element.parentElement.createSVGPoint();return s.x=t,s.y=e,this.element.points.appendItem(s),this}addPoints(t,e){for(let s=0;s<t.length;s++){let r=this.element.parentElement.createSVGPoint();r.x=t[s],r.y=e[s],this.element.points.appendItem(r)}return this}}const ia=(t,e)=>new na(t,e);class oa extends qo{constructor(t,e,s){super(),this.element=document?.createElementNS("http://www.w3.org/2000/svg","text"),this.setText(t),this.x(e).y(s)}x(t){return this.element.setAttribute("x",t),this}y(t){return this.element.setAttribute("y",t),this}setText(t=""){return this.element.textContent=t,this}}const aa=(t,e,s)=>new oa(t,e,s);class ha extends qo{constructor(t="",e="100%",s="100%",r=0,n=0){super(),this.element=document?.createElementNS("http://www.w3.org/2000/svg","image"),this.setSrc(t).width(e).height(s).x(r).y(n)}x(t){return this.element.x.baseVal.value=t,this}y(t){return this.element.y.baseVal.value=t,this}width(t){return this.element.setAttribute("width",t),this}height(t){return this.element.setAttribute("height",t),this}setSrc(t=""){return this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),this}}const la=(t,e,s,r,n)=>new ha(t,e,s,r,n);class ca extends qo{constructor(t=0,e=0,s="100%",r="100%",...n){super("foreignObject"),this.items=[],this.element=document?.createElementtNS("http://www.w3.org/2000/svg","foreignObject"),this.container=Ri().setTarget(this.element).vertical(0,0).size("auto","auto"),this.container.st.scaleY(-1),this.posX(t).posY(e).width(s).height(r)}width(t){return this.element.setAttribute("width",t),this}height(t){return this.element.setAttribute("height",t),this}add(...t){return this.container.append(...t),this}remove(...t){return this.container.append(...t),this}}const ua=(t,e,s)=>new ca(t,e,s);class pa extends qo{constructor(...t){super(),this.items=[],this.element=document?.createElementNS("http://www.w3.org/2000/svg","g"),this.add(...t)}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return 1===t.length?t[0]:t}remove(...t){for(let e=0;e<t.length;e++)this.element.removeChild(t[e].element),this.items=this.items.filter((e=>e!=t));return this}}const da=(...t)=>new pa(...t);class ma extends qo{constructor(t,...e){super(),this.items=[],this.element=document?.createElementNS("http://www.w3.org/2000/svg","a"),this.element.setAttribute("href",t),this.add(...e)}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return 1===t.length?t[0]:t}remove(...t){for(let e=0;e<t.length;e++)this.element.removeChild(t[e].element),this.items=this.items.filter((e=>e!=t));return this}}const ga=(t,...e)=>new ma(t,...e),fa=(t,e,s=10,r=10)=>{let n=ra().fill("none").stroke("coral").strokeWidth(.6);console.log({x:t/s,y:e/r});for(let e=0;e<t;e++)n.moveTo(0,e*t/s).hr(t);for(let t=0;t<e;t++)n.moveTo(t*e/r,0).vr(e);return n};class ba extends cn{constructor(t,e){super("canvas","canvas"),this.ctx=this.element.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new wr([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new wr([[-10,-10],[10,10]]),setTimeout((()=>this.resize(t,e)),0),this.on("sizeupdated",(()=>this.adjust()))}get Width(){return this.element.width}get Height(){return this.element.height}get Xmin(){return this.axisMatrix[0][0]}get Ymin(){return this.axisMatrix[0][1]}get Xmax(){return this.axisMatrix[1][0]}get Ymax(){return this.axisMatrix[1][1]}get ImageData(){return this.ctx.getImageData(0,0,c.Width,c.Height)}draw(t=!0){return t?(this.clear(),this.items.forEach((t=>{t.parent=this,t.draw(this.ctx)}))):(this.items.at(-1).parent=this,this.items.at(-1).draw(this.ctx)),this.maintain(),this}applyTransformMatrix(){return this.ctx.setTransform(this.transformMatrix[0][0],this.transformMatrix[1][0],this.transformMatrix[0][1],this.transformMatrix[1][1],this.transformMatrix[0][2],this.transformMatrix[1][2]),this}resize(t,e){return this.size(t,e),this.lineWidth(),this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this.emit("sizeupdated"),this}adjust(){return this.element.width=this.element.getBoundingClientRect().width,this.element.height=this.element.getBoundingClientRect().height,this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this}view(t,e,s,r){return this.transformMatrix[0][0]=this.Width/(s-t),this.transformMatrix[1][1]=-this.Height/(r-e),this.transformMatrix[0][2]=this.Width/2,this.transformMatrix[1][2]=this.Height/2,this.axisMatrix=new wr([[t,e],[s,r]]),this.applyTransformMatrix(),this.clear(),this.lineWidth(1),this.draw(),this}reset(){return this.ctx.setTransform(1,0,0,0,0,0),this}append(t){return this.items.push(t),this.draw(!1),this}background(t){this.ctx.fillStyle=t,this.ctx.setTransform(1,0,0,1,0,0),this.ctx.fillRect(0,0,this.Width,this.Height),this.applyTransformMatrix(),this.draw()}lineWidth(t){return this.ctx.lineWidth=t/this.transformMatrix[0][0],this}ImageData(t=0,e=0,s=this.Width,r=this.Height){return this.ctx.getImageData(t,e,s,r)}clear(){return this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.Width,this.Height),this.applyTransformMatrix(),this}clone(){console.log(this.Width);const t=new ba;return t.items=this.items,t.transformMatrix=this.transformMatrix,t.axisMatrix=this.axisMatrix,Object.assign(t.cache,{...this.cache}),this.size(element.style.width,element.style.width),this.applyTransformMatrix(),this.draw(),this.adjust(),t}toImage(){return this.img=document?.createElement("img"),this.img.src=this.element.toDataURL("image/png"),this}toBlob(){this.element.toBlob((function(t){var e=document?.createElement("img"),s=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(s)},e.src=s,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const ya=(t,e)=>new ba(t,e);class wa{constructor(t,e){this.parent=null,this.position={x:t,y:e},this.cache={interact:null,config:{draggable:!1,selected:!1,highlighted:!1,rendered:!1},style:{normal:{strokeEnabled:!0,fillEnabled:!1,strokeColor:"#111111",fillColor:"#777777"},highlighted:{strokeEnabled:!0,fillEnabled:!1,strokeColor:null,fillColor:null}}},this.history={position:[],styles:[]},this.render()}get px(){return(this.position.x??0)+(this.parent?.position?.x??0)}get py(){return(this.position.y??0)+(this.parent?.position?.y??0)}isIntersectedWith(){}isInStroke(t,e){let s;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),s=this.parent.ctx.isPointInStroke(this.path,t,e),this.parent.applyTransformMatrix()),s}isInPath(t,e){let s;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),s=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),s}posX(t){return this.position.x=t,this.parent&&this.parent.draw(),this}posY(t){return this.position.y=t,this.parent&&this.parent.draw(),this}color({stroke:t=this.cache.style.normal.strokeColor,fill:e=this.cache.style.normal.fillColor}={stroke:t,fill:e}){return this.cache.style.normal.strokeColor=t,this.cache.style.normal.fillColor=e,this.parent&&this.parent.draw(),this}translate(t=0,e=0){this.position.x+=t,this.position.y+=e,this.parent&&this.parent.draw()}applyNormalStyle(t){return t.strokeStyle=this.cache.style.normal.strokeColor,t.fillStyle=this.cache.style.normal.fillColor,this}applyHighlightedStyle(t){return t.strokeStyle=this.cache.style.highlighted.strokeColor,t.fillStyle=this.cache.style.highlighted.fillColor,this}stroke(t=this.cache.style.normal.strokeColor,e=!0){return this.cache.style.normal.strokeEnabled=e,this.cache.style.normal.strokeColor=t,this.parent&&this.parent.draw(),this}fill(t=this.cache.style.normal.fillColor,e=!0){return this.cache.style.normal.fillEnabled=e,this.cache.style.normal.filleColor=t,this.parent&&this.parent.draw(),this}render(t=!0){return this.cache.config.rendered=t,this}}class xa extends wa{constructor(t,e,s,r){super(t,e),this.r=s,this.angle=r,this.path=null}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path=new Path2D,this.path.arc(this.px,this.py,this.r,0,this.angle);const{strokeEnabled:e,fillEnabled:s}=this.cache.style.normal;e&&t.stroke(this.path),s&&t.fill(this.path),t.closePath(),t.restore()}return this}radius(t){return this.r=t,this.parent&&this.parent.draw(),this}}const va=(t,e,s,r)=>new xa(t,e,s,r),Ca=(t,e,s)=>new xa(t,e,s,2*Math.PI);class Fa extends wa{constructor(t,e){super(),this.pointsMatrix=null,this.path=new Path2D,this.fromXY(t,e)}get points(){return this.pointsMatrix.T.arr}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.moveTo(this.points[1][0]+this._x,this.points[1][1]+this._y);for(let t=1;t<this.points.length;t++)this.path.lineTo(this.points[t][0]+this._x,this.points[t][1]+this._y);t.stroke(this.path),t.restore()}return this}fromXY(t,e){return this.pointsMatrix=xr([t,e]),this}push(t,e){return this.pointsMatrix.hstack(xr([t,e])),this.parent&&this.parent.draw(),this}isIn(t,e){let s;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),s=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),s}}const ka=(t=[],e=[])=>new Fa(t,e);class Ea extends wa{constructor(t,e,s,r){super(),this.x0=t,this.x1=s,this.y0=e,this.y1=r,delete this.fill}draw(t){return this.cache.config.rendered&&(t.save(),this.applyNormalStyle(t),t.beginPath(),t.moveTo(this.x0+this._x,this.y0+this._y_),t.lineTo(this.x1+this._x,this.y1+this._y),t.stroke(),this.cache.style.normal.strokeEnabled&&t.stroke(),t.restore()),this}}const Aa=(t,e,s,r)=>new Ea(t,e,s,r);class Da extends wa{constructor(t,e,s,r){super(t,e),this.w=s,this.h=r,this.path=new Path2D}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.rect(this.px,this.py,this.w,this.h);const{strokeEnabled:e,fillEnabled:s}=this.cache.style.normal;e&&t.stroke(this.path),s&&t.fill(this.path),t.closePath(),t.restore()}return this}width(t){return this.w=t,this.parent&&this.parent.draw(),this}height(t){return this.h=t,this.parent&&this.parent.draw(),this}}const Ba=(t,e,s,r)=>new Da(t,e,s,r),_a={Svg:Zo,ZikoUISvg:Ho,svgCircle:Go,svgEllipse:Ko,svgImage:la,svgLine:ta,svgPolygon:ia,svgRect:Xo,svgText:aa,svgGroupe:da,svgLink:ga,svgGrid:fa,svgObject:ua,svgPath:ra,Canvas:ya,canvasArc:va,canvasCircle:Ca,canvasPoints:ka,canvasLine:Aa,canvasRect:Ba,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"ExtractAll"!==s&&"RemoveAll"!==s&&(globalThis[s]=this[s])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const s=t[e];"RemoveAll"!==s&&delete globalThis[s]}return this}};class Ta{constructor(t,e){this.root_UI=t,this.routes=new Map([[404,wn("Error 404")],...Object.entries(e)]),this.patterns=new Map,this.maintain(),window.onpopstate=this.render(location.pathname)}get(t,e){if("string"==typeof t&&t.includes(":")){const s=new RegExp(`^${t.replace(/:([^/]+)/g,((t,e)=>"(.+)"))}$`);this.patterns.set(s,(t=>{const r=s.exec(t).slice(1);e(...r)}))}else t instanceof RegExp?this.patterns.set(t,e):this.routes.set(t,e);return this.maintain(),this}maintain(){return this.root_UI.append(...this.routes.values()),[...this.routes.values()].map((t=>t.render(!1))),this.render(location.pathname),this}render(t){if(this.routes.get(t))this.routes.get(t).render(!0);else{const e=[...this.patterns.keys()].find((e=>e.test(t)));e?this.patterns.get(e)(t):this.routes.get(404).render(!0)}return window.history.pushState({},"",t),this}}const Ia=(t,e,s)=>new Ta(t,e,s),Ma={},Sa={default:{target:null,render:!0,math:{mode:"deg"}},setDefault:function(t){const e=Object.keys(t),s=Object.values(t);for(let t=0;t<e.length;t++)this.default[e[t]]=s[t]},init:()=>document.documentElement.setAttribute("data-engine","zikojs")};class La{constructor(t){this.app=t,this.meta={},this.#x("generator","zikojs")}#x(t,e){const s=document.querySelector(`meta[name=${t}]`);return this.meta=s||document?.createElement("meta"),this.meta.setAttribute("name",t),this.meta.setAttribute("content",e),s||this.app.head.append(this.meta),this}charset(t="utf-8"){const e=document.querySelector("meta[charset]");return this.meta=e||document?.createElementt("meta"),this.meta.setAttribute("charset",t),e||this.app.head.append(this.meta),this}description(t){return this.#x("description",t),this}viewport(t="width=device-width, initial-scale=1.0"){return this.#x("viewport",t),this}keywords(...t){return t.push("zikojs"),t=[...new Set(t)].join(", "),this.#x("keywords",t),this}author(t="",e=""){const s=[t,e].join(", ");return this.#x("author",s),this}}class Oa extends ji{constructor(){super("main"),this.root=document.documentElement,this.head=null,this.#n(),this.seo=new La(this),Object.assign(this.events,{hash:null}),Object.assign(this.cache,{theme:null,isRoot:!0})}#n(){this.root.setAttribute("data-engine","zikojs");const t=this.root.getElementsByTagName("head")[0];this.head=t||(this.head=document?.createElementtt("head")),t||this.root.insertBefore(this.head,document?.body);const e=this.head.getElementsByTagName("title")[0];this.Title=e||document?.createElementt("title"),e||this.head.append(this.Title)}title(t=this.title.textContent){return this.Title.textContent=t,this}prefetch(){}description(){}onHashChange(...t){return this.events.hash||(this.events.hash=is(this)),this.events.hash.onChange(...t),this}}const ja=(...t)=>(new Oa).append(...t),Ra={App:ja,Math:ln,UI:Uo,Time:Hs,Graphics:_a,Reactivity:Ys,Data:yr,SPA:Ia};function Pa(){return Uo.ExtractAll(),ln.ExtractAll(),Hs.ExtractAll(),Ys.ExtractAll(),_a.ExtractAll(),yr.ExtractAll(),this}function Na(){Uo.RemoveAll(),ln.RemoveAll(),Hs.RemoveAll(),Ys.RemoveAll(),_a.RemoveAll(),yr.RemoveAll()}globalThis.__Ziko__?console.warn("WARNING: Multiple instances of Ziko.js being imported."):globalThis.__Ziko__={...Ra,__UI__:Ma,__Config__:Sa,ExtractAll:Pa,RemoveAll:Na},globalThis.document&&document.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),e.Accordion=Yi,e.App=ja,e.Article=Do,e.Aside=Mo,e.Base=tt,e.Breadcrumbs=yo,e.Canvas=ya,e.Carousel=Qi,e.CodeCell=so,e.CodeNote=Ji,e.Collapsible=Wi,e.Combinaison=rt,e.Complex=o,e.DarkThemes=Zt,e.Data=yr,e.E=r,e.EPSILON=n,e.Ease=Ls,e.ExtractAll=Pa,e.Fixed=y,e.Flex=Ri,e.Footer=To,e.Form=Ui,e.Graphics=_a,e.Grid=Zi,e.Header=_o,e.LightThemes=Ht,e.LinearSystem=kr,e.Logic=et,e.Main=Bo,e.Math=ln,e.Matrix=wr,e.Nav=Io,e.PI=s,e.Permutation=st,e.Random=it,e.Reactivity=Ys,e.RemoveAll=Na,e.SPA=Ia,e.Section=Ao,e.Signal=hn,e.Str=fr,e.Svg=Zo,e.Table=$o,e.Tabs=no,e.Themes=qt,e.Time=Hs,e.UI=Uo,e.Utils=tn,e.ZikoUIAbbrText=yn,e.ZikoUIAccordion=Xi,e.ZikoUIArticle=Fo,e.ZikoUIAside=ko,e.ZikoUIAudio=nr,e.ZikoUIBlockQuote=Dn,e.ZikoUIBr=Nn,e.ZikoUIBreadcrumbs=bo,e.ZikoUICanvas=ba,e.ZikoUICodeNote=Ki,e.ZikoUICodeText=bn,e.ZikoUIDefintion=mn,e.ZikoUIElement=Gs,e.ZikoUIFigure=Js,e.ZikoUIFooter=Eo,e.ZikoUIForm=$i,e.ZikoUIHeader=xo,e.ZikoUIHeading=Tn,e.ZikoUIHorizontalSplitter=po,e.ZikoUIHr=zn,e.ZikoUIHtmlTag=Rn,e.ZikoUIImage=Qs,e.ZikoUIInput=ei,e.ZikoUIInputCheckbox=ui,e.ZikoUIInputColor=ai,e.ZikoUIInputDatalist=Ti,e.ZikoUIInputDate=wi,e.ZikoUIInputDateTime=Fi,e.ZikoUIInputEmail=gi,e.ZikoUIInputImage=Ei,e.ZikoUIInputNumber=ri,e.ZikoUIInputOption=_i,e.ZikoUIInputPassword=bi,e.ZikoUIInputRadio=di,e.ZikoUIInputSearch=li,e.ZikoUIInputSlider=ii,e.ZikoUIInputTime=vi,e.ZikoUILabel=class extends Gs{constructor(){super(),this.element=document?.createElement("label")}get isLabel(){return!0}},e.ZikoUILink=Vn,e.ZikoUIMain=wo,e.ZikoUINav=vo,e.ZikoUIParagraphe=An,e.ZikoUIQuote=dn,e.ZikoUISection=Co,e.ZikoUISelect=Mi,e.ZikoUISubText=fn,e.ZikoUISupText=gn,e.ZikoUISvg=Ho,e.ZikoUIText=pn,e.ZikoUITextArea=Li,e.ZikoUIVerticalSplitter=go,e.ZikoUIVideo=sr,e.__Config__=Sa,e.abbrText=En,e.abs=w,e.accum=m,e.acos=M,e.acosh=V,e.acot=O,e.add=Ir,e.adoc2html=Ft,e.arange=Ur,e.arr2str=pr,e.asin=S,e.asinh=$,e.atan=L,e.atan2=W,e.atanh=U,e.audio=ir,e.bessel=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return f(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return Er((t=>f(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Er((e=>f(t[r],e)),...e));return s}}},e.beta=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return b(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return Er((t=>b(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Er((e=>b(t[r],e)),...e));return s}}},e.blockQuote=_n,e.br=$n,e.brs=Hn,e.btn=Xn,e.canvasArc=va,e.canvasCircle=Ca,e.canvasLine=Aa,e.canvasPoints=ka,e.canvasRect=Ba,e.cartesianProduct=Qr,e.ceil=H,e.checkbox=pi,e.choleskyDecomposition=ut,e.clamp=$r,e.codeText=kn,e.complex=a,e.cos=E,e.cosh=j,e.cot=I,e.coth=N,e.count=(t,e)=>t.split("").filter((t=>t==e)).length,e.countWords=(t,e)=>t.split(" ").filter((t=>t==e)).length,e.csc=T,e.csv2arr=kt,e.csv2json=Dt,e.csv2matrix=Et,e.csv2object=At,e.csv2sql=Bt,e.dangerAlert=co,e.datalist=Ii,e.default=Ra,e.deg2rad=Wr,e.dfnText=vn,e.div=Lr,e.e=F,e.fact=X,e.figure=tr,e.floor=Z,e.gamma=(...t)=>Er(g,...t),e.geomspace=qr,e.h1=In,e.h2=Mn,e.h3=Sn,e.h4=Ln,e.h5=On,e.h6=jn,e.hSplitter=mo,e.hr=Un,e.hrs=Zn,e.html=Wn,e.hypot=Q,e.image=Ks,e.inRange=Yr,e.infoAlert=ho,e.input=si,e.inputCamera=Bi,e.inputColor=hi,e.inputDate=xi,e.inputDateTime=ki,e.inputEmail=fi,e.inputImage=Ai,e.inputNumber=ni,e.inputPassword=yi,e.inputTime=Ci,e.isApproximatlyEqual=Gr,e.json2arr=It,e.json2csv=Mt,e.json2csvFile=St,e.json2xml=Pt,e.json2xmlFile=Nt,e.json2yml=jt,e.json2ymlFile=Rt,e.lerp=zr,e.li=t=>new Yn(t),e.link=qn,e.linspace=Hr,e.ln=k,e.logspace=Zr,e.luDecomposition=ot,e.map=Vr,e.mapfun=Er,e.markdown2html=ft,e.matrix=xr,e.matrix2=vr,e.matrix3=Cr,e.matrix4=Fr,e.max=p,e.min=u,e.modulo=Or,e.mul=Sr,e.norm=Nr,e.nums=Pr,e.obj2str=cr,e.ol=Jn,e.ones=Rr,e.p=Bn,e.pgcd=Kr,e.pow=v,e.powerSet=K,e.ppcm=Jr,e.prod=l,e.qrDecomposition=ct,e.quote=xn,e.rad2deg=Xr,e.radio=mi,e.removeExtraSpace=t=>t.replace(/\s+/g," "),e.round=q,e.search=ci,e.sec=B,e.select=Si,e.sig=G,e.sign=Y,e.sin=A,e.sinc=_,e.sinh=R,e.slider=oi,e.sqrt=x,e.sqrtn=C,e.str=br,e.sub=Mr,e.subSet=J,e.subText=Fn,e.successAlert=ao,e.sum=h,e.supText=Cn,e.svg2ascii=ar,e.svg2img=lr,e.svg2imgUrl=hr,e.svg2str=or,e.svgCircle=Go,e.svgEllipse=Ko,e.svgGrid=fa,e.svgGroupe=da,e.svgImage=la,e.svgLine=ta,e.svgLink=ga,e.svgObject=ua,e.svgPath=ra,e.svgPolyLine=(t,e)=>new ea(t,e),e.svgPolygon=ia,e.svgRect=Xo,e.svgText=aa,e.tan=D,e.tanh=P,e.text=wn,e.textarea=Oi,e.timeTaken=Vs,e.time_memory_Taken=Rs,e.ul=ti,e.useAnimation=Us,e.useBattery=_s,e.useBluetooth=Ds,e.useChannel=Fs,e.useClickEvent=$e,e.useClipboardEvent=Xe,e.useCustomEvent=hs,e.useDebounce=Os,e.useDragEvent=Re,e.useDropEvent=Pe,e.useEventEmitter=Gt,e.useFavIcon=te,e.useFocusEvent=Ke,e.useGeolocation=Is,e.useHashEvent=is,e.useInputEvent=ss,e.useKeyEvent=Te,e.useLocaleStorage=qs,e.useMediaQuery=se,e.useMouseEvent=Ce,e.usePointerEvent=de,e.useSessionStorage=Ws,e.useStyle=Ut,e.useSuccesifKeys=Xs,e.useTheme=Xt,e.useThread=Es,e.useThrottle=js,e.useTimeLoop=Ss,e.useTitle=Kt,e.useWheelEvent=Ee,e.vSplitter=fo,e.video=rr,e.wait=zs,e.waitForUIElm=Ps,e.waitForUIElmSync=Ns,e.warningAlert=lo,e.watchAttr=ys,e.watchChildren=xs,e.watchIntersection=us,e.watchScreen=fs,e.watchSize=ms,e.zeros=jr,Object.defineProperty(e,"__esModule",{value:!0})}));