ziko 0.0.10 → 0.0.11
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.cjs +7533 -7170
- package/dist/ziko.js +7533 -7170
- package/dist/ziko.min.js +2 -2
- package/dist/ziko.mjs +7511 -7167
- package/package.json +1 -1
package/dist/ziko.min.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
2
|
Project: ziko.js
|
|
3
3
|
Author: Zakaria Elalaoui
|
|
4
|
-
Date :
|
|
4
|
+
Date : Sun Sep 01 2024 15:17:03 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=v(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=v(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*k(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/(x(this.a,2)+x(this.b,2)),-this.b/(x(this.a,2)+x(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*k(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*k(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*k(s).toFixed(15)).toFixed(15),this.b=+(e*A(s).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new o(+(t*k(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*k(this.b*E(t)),t**this.a*A(this.b*E(t)))}sqrtn(t=2){return a(F(this.z,t)*k(this.phi/t),F(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(k(this.a)*j(this.b),A(this.a)*R(this.b))}get sin(){return a(A(this.a)*j(this.b),k(this.a)*R(this.b))}get tan(){const t=k(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 vr&&e instanceof vr){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 vr(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)=>Ar(Math.abs,...t),v=(...t)=>Ar(Math.sqrt,...t),x=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof o?o.fromExpo(t**e.a,e.b*E(t)):Ar((e=>x(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*C(-t.phi*e.b),E(t.z)*e.b+e.a*t.phi):Ar((e=>x(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return Ar((t=>x(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Ar((e=>x(t[r],e)),...e));return s}}},F=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,1/e):Ar((e=>F(t,e)),...e);if(t instanceof o)return"number"==typeof e?o.fromExpo(F(t.z,e),t.phi/e):Ar((e=>F(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return Ar((t=>F(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Ar((e=>F(t[r],e)),...e));return s}}},C=(...t)=>Ar(Math.exp,...t),E=(...t)=>Ar(Math.log,...t),k=(...t)=>Ar(y.cos,...t),A=(...t)=>Ar(y.sin,...t),D=(...t)=>Ar(y.tan,...t),B=(...t)=>Ar(y.sec,...t),_=(...t)=>Ar(y.sinc,...t),T=(...t)=>Ar(y.csc,...t),M=(...t)=>Ar(y.cot,...t),I=(...t)=>Ar(y.acos,...t),S=(...t)=>Ar(y.asin,...t),L=(...t)=>Ar(y.atan,...t),O=(...t)=>Ar(y.acot,...t),j=(...t)=>Ar(y.cosh,...t),R=(...t)=>Ar(y.sinh,...t),P=(...t)=>Ar(y.tanh,...t),V=(...t)=>Ar(y.coth,...t),N=(...t)=>Ar(y.acosh,...t),$=(...t)=>Ar(y.asinh,...t),U=(...t)=>Ar(y.atanh,...t),H=(...t)=>Ar(Math.ceil,...t),Z=(...t)=>Ar(Math.floor,...t),q=(...t)=>Ar(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:Ar((e=>W(t,e,s)),...e);if(t instanceof Array){if("number"==typeof e)return Ar((t=>W(t,e,s)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Ar((e=>x(t[r],e)),...e));return s}}},X=(...t)=>Ar((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)=>Ar(Math.sign,...t),K=(...t)=>Ar((t=>1/(1+C(-t))),...t),Q=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?Ar(Math.hypot,...t):void 0,G=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 vr?new vr(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 vr?new vr(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:G,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=en.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 vr&&(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 vr(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 vr&&(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 vr(t)))},ut=t=>{t instanceof vr&&(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 vr(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>"),mt=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${pt(t)}</td>`)).join("")}</tr>\n`,dt=(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+=mt(a);else if(r&&(r=!1,s+="</table>\n"),a.startsWith("```"))n?(n=!1,s+=dt(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`},vt=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`},xt=t=>`<blockquote>${bt(t.slice(2))}</blockquote>\n`,Ft=t=>{const e=t.match(/\[(.*?)\]/);return e?e[1].split(",").map((t=>`[${t.trim()}]`)).join(""):""},Ct=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+=vt(a):a.startsWith("> ")?s+=xt(a):"---"!==a.trim()?a.startsWith("[")?s+=Ft(a):""!==a.trim()&&(s+=`<p>${bt(a)}</p>\n`):s+="<hr>\n"}return s},Et=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),kt=(t,e=",")=>new vr(Et(t,e)),At=(t,e=",")=>{const[s,...r]=Et(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"),Mt=t=>_t(t instanceof Object?t:JSON.parse(t)),It=(t,e=",")=>Tt(t instanceof Object?t:JSON.parse(t),e),St=(t,e)=>{const s=It(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()},Vt=(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)}},Nt=(t,e="px")=>("number"==typeof t&&(t+=e),t instanceof Array&&(t=t.map((t=>"number"==typeof t?t+=e:t)).join(" ")),t);class $t{constructor(t={}){this.target=null,this.styles=new Map([["default",t]]),this.cache={isHidden:!1,isFaddedOut:!1,transformation:{Flip:[0,0,0],matrix:new vr([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])}}}style(t){return 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=Nt(r,"px"),n=Nt(n,"px"),this.style({minWidth:r,maxWidth:n},{target:e,maskVector:s})}}else t=Nt(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=Nt(r,"px"),n=Nt(n,"px"),this.style({minHeight:r,maxHeight:n},{target:e,maskVector:s})}}else t=Nt(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=Nt(t,"px"),this.style({borderRadius:t},{target:e,maskVector:s}),this}margin(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({margin:t},{target:e,maskVector:s}),this}marginTop(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({marginTop:t},{target:e,maskVector:s}),this}marginRight(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({marginRight:t},{target:e,maskVector:s}),this}marginBootom(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({marginBootom:t},{target:e,maskVector:s}),this}marginLeft(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({marginLeft:t},{target:e,maskVector:s}),this}padding(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({padding:t},{target:e,maskVector:s}),this}paddingTop(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({paddingTop:t},{target:e,maskVector:s}),this}paddingRight(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({paddingRight:t},{target:e,maskVector:s}),this}paddingBootom(t,{target:e,maskVector:s}={}){return t=Nt(t,"px"),this.style({paddingBootom:t},{target:e,maskVector:s}),this}paddingLeft(t,{target:e,maskVector:s}={}){return t=Nt(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,k(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,k(t)),this.#t(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,k(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,k(t)),this.#t(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,k(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,k(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 zt{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 zt(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=0)=>(e=0)=>new Wt(e,t);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 Kt=()=>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=Kt(),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 Gt=(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=Kt(),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)}class ue 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},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:ie.bind(this),move:oe.bind(this),up:ae.bind(this),enter:he.bind(this),out:ce.bind(this),leave:le.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 pe=t=>new ue(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:de.bind(this),move:ge.bind(this),up:fe.bind(this),enter:be.bind(this),out:we.bind(this),leave:ye.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 de(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 ge(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 fe(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 be(t){re.call(this,t,"enter",null,null)}function ye(t){re.call(this,t,"leave",null,null)}function we(t){re.call(this,t,"out",null,null)}function ve(t){re.call(this,t,"out",null,null)}const xe=t=>new me(t);function Fe(t){re.call(this,t,"wheel",null,null)}class Ce 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 Ce(t);function ke(t){re.call(this,t,"down",(()=>this.kd=t.key),{key:t.key,t:10})}function Ae(t){re.call(this,t,"press",(()=>this.kp=t.key),{key:t.key,t:10})}function De(t){re.call(this,t,"up",(()=>this.ku=t.key),{key:t.key,t:10})}class Be 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:ke.bind(this),press:Ae.bind(this),up:De.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 _e=t=>new Be(t);function Te(t){re(this,t,"start",null)}function Me(t){re.call(this,t,"drag",null,null)}function Ie(t){re.call(this,t,"end",null,null)}function Se(t){re.call(this,t,"drop",null,null)}class Le 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:Te.bind(this),drag:Me.bind(this),end:Ie.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 Oe 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:Se.bind(this)}}onDrop(...t){return this.__onEvent("drop",{},...t),this}}const je=t=>new Le(t),Re=t=>new Oe(t);function Pe(t){re.call(this,t,"click",null,null)}function Ve(t){re.call(this,t,"dbclick",null,null)}class Ne 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:Pe.bind(this),dbclick:Ve.bind(this)}}onClick(...t){return this.__onEvent("click",{},...t),this}onDbClick(...t){return this.__onEvent("dbclick",{},...t),this}}const $e=t=>new Ne(t);function ze(t){re.call(this,t,"copy",null,null)}function Ue(t){re.call(this,t,"cut",null,null)}function He(t){re.call(this,t,"paste",null,null)}function Ze(t){re.call(this,t,"select",null,null)}class qe 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:ze.bind(this),cut:Ue.bind(this),paste:He.bind(this),select:Ze.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 We=t=>new qe(t);function Xe(t){re.call(this,t,"focus",null,null)}function Ye(t){re.call(this,t,"blur",null,null)}class Ke 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:Xe.bind(this),blur:Ye.bind(this)}}onFocus(...t){return this.__onEvent("focus",{},...t),this}onBlur(...t){return this.__onEvent("blur",{},...t),this}}const Qe=t=>new Ke(t);function Ge(t){re.call(this,t,"input",null,null)}function Je(t){re.call(this,t,"change",null,null)}class ts 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:Ge.bind(this),change:Je.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 es=t=>new ts(t);function ss(t){re.call(this,t,"hashchange",null,null)}class rs 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:ss.bind(this)}}onChange(...t){return this.__onEvent("hashchange",{},...t),this}}const ns=t=>new rs(t),is=t=>function(e){re.call(this,e,t,null,null)};class os 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]=is(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 as=t=>new os(t),hs={usePointerEvent:pe,useMouseEvent:xe,useWheelEvent:Ee,useKeyEvent:_e,useDragEvent:je,useDropEvent:Re,useClickEvent:$e,useClipboardEvent:We,useFocusEvent:Qe,useInputEvent:es,useHashEvent:ns,useCustomEvent:as,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 ls{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 cs=(t,e,s)=>new ls(t,e,s);class us{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 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 ms=(t,e)=>new ps(t,e);class ds{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 zr(globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get y0(){return-zr(globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}get x1(){return zr(globalThis?.screenX+globalThis?.outerWidth,0,globalThis.screen.availWidth,-1,1)}get y1(){return-zr(globalThis?.screenY+globalThis?.outerHeight,0,globalThis.screen.availHeight,-1,1)}get cx(){return zr(globalThis?.outerWidth/2+globalThis?.screenX,0,globalThis.screen.availWidth,-1,1)}get cy(){return-zr(globalThis?.outerHeight/2+globalThis?.screenY,0,globalThis.screen.availHeight,-1,1)}}const gs=t=>new ds(t);class fs extends us{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 bs=(t,e)=>new fs(t,e);class ys extends us{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 ws=(t,e)=>new ys(t,e),vs={watch:(t,e={},s=null)=>{const r=new us(t,e);return s&&r.observe(s),r},watchAttr:bs,watchChildren:ws,watchIntersection:cs,watchSize:ms,watchScreen:gs,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 xs{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 xs(t);class Cs{#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 Cs;return t&&r.call(t,e,s),r};class ks{constructor(t={acceptAllDevices:!0}){this.options=t,this.__Emitter__=Kt(),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 As=t=>new ks(t);class Ds{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 Bs=()=>new Ds;class _s{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 Ts=()=>new _s;function Ms(t,...e){const s=t.toString().match(/\(([^)]*)\)/)[1].split(",").map((t=>t.trim()));return function(...r){const n=e[e.length-1];for(let t=0;t<r.length;t++){const i=t>=e.length,o=i?n:e[t],a=r[t];i?(s[s.length-1],e.length):s[t];let h=!1;if("object"==typeof o){if(o.or)for(const t of o.types)if(Is(t,a)){h=!0;break}if(o.nor)for(const t of o.types){if(Is(t,a)){h=!1;break}h=!0}else o.not&&(h=!Is(o.type,a))}else h=Is(o,a);if(!h)throw new TypeError("jjj")}return t(...r)}}const Is=(t,e)=>"string"==typeof t?typeof e===t:t instanceof Function?e instanceof t:Array.isArray(t)?!(!Array.isArray(e)||e.length!==t.length)&&e.every(((e,s)=>Is(t[s],e))):"object"==typeof t&&!Array.isArray(t)&&("object"==typeof e&&null!==e&&Object.keys(t).every((s=>s in e&&Is(t[s],e[s]))));function Ss(t,e=0){return t+e}globalThis.useType=Ms,globalThis.useNot=function(t){return{not:!0,type:t}},globalThis.useOr=function(...t){return{or:!0,types:t}},Ss=Ms(Ss,"number",function(...t){return{nor:!0,types:t}}("string","number")),console.log(Ss(1));class Ls{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 Os=(t,e,s,r,n)=>new Ls(t,e,s,r,n),js={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-js.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-js.OutBounce(1-2*t))/2:(1+js.OutBounce(2*t-1))/2},Rs=(t,e=1e3)=>(...s)=>setTimeout((()=>t(...s)),e),Ps=(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}},Ns=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})})),$s=(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))),Us=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};class Hs{constructor(t,e=js.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=zr(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 Zs=(t,e=js.Linear,s=50,r)=>new Hs(t,js.Linear,50,r),qs={wait:zs,timeTaken:Us,useThrottle:Ps,useDebounce:Rs,Ease:js,time_memory_Taken:Vs,useTimeLoop:Os,useAnimation:Zs,waitForUIElm:Ns,waitForUIElmSync:$s,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 Ws{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 Xs=(t,e)=>new Ws(localStorage,t,e),Ys=(t,e)=>new Ws(sessionStorage,t,e),Ks=(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))},Qs={Events:hs,Observer:vs,Hooks:{useStyle:Ut,useTheme:Xt,useMediaQuery:se,useBattery:Bs,useGeolocation:Ts,useEventEmitter:Kt,useChannel:Fs,useThread:Es,useBluetooth:As,useTitle:Gt,useFavIcon:te,useThrottle:Ps,useDebounce:Rs,useLocaleStorage:Xs,useSessionStorage:Ys,useSuccesifKeys:Ks,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?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 $t(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 zt?this.st.style(t.current):this.st.style(t),this}size(t,e){return this.st.size(t,e),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=pe(this)),this.events.ptr.onMove(...t),this}onPtrDown(...t){return this.events.ptr||(this.events.ptr=pe(this)),this.events.ptr.onDown(...t),this}onPtrUp(...t){return this.events.ptr||(this.events.ptr=pe(this)),this.events.ptr.onUp(...t),this}onPtrEnter(...t){return this.events.ptr||(this.events.ptr=pe(this)),this.events.ptr.onEnter(...t),this}onPtrLeave(...t){return this.events.ptr||(this.events.ptr=pe(this)),this.events.ptr.onLeave(...t),this}onPtrOut(...t){return this.events.ptr||(this.events.ptr=pe(this)),this.events.ptr.onOut(...t),this}onMouseMove(...t){return this.events.mouse||(this.events.mouse=xe(this)),this.events.mouse.onMove(...t),this}onMouseDown(...t){return this.events.mouse||(this.events.mouse=xe(this)),this.events.mouse.onDown(...t),this}onMouseUp(...t){return this.events.mouse||(this.events.mouse=xe(this)),this.events.mouse.onUp(...t),this}onMouseEnter(...t){return this.events.mouse||(this.events.mouse=xe(this)),this.events.mouse.onEnter(...t),this}onMouseLeave(...t){return this.events.mouse||(this.events.mouse=xe(this)),this.events.mouse.onLeave(...t),this}onMouseOut(...t){return this.events.mouse||(this.events.mouse=xe(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=_e(this)),this.events.key.onDown(...t),this}onKeyPress(...t){return this.events.key||(this.events.key=_e(this)),this.events.key.onPress(...t),this}onKeyUp(...t){return this.events.key||(this.events.key=_e(this)),this.events.key.onUp(...t),this}onKeysDown({keys:t=[],callback:e}={}){return this.events.key||(this.events.key=_e(this)),this.events.key.handleSuccessifKeys({keys:t,callback:e}),this}onDragStart(...t){return this.events.drag||(this.events.drag=je(this)),this.events.drag.onStart(...t),this}onDrag(...t){return this.events.drag||(this.events.drag=je(this)),this.events.drag.onDrag(...t),this}onDragEnd(...t){return this.events.drag||(this.events.drag=je(this)),this.events.drag.onEnd(...t),this}onDrop(...t){return this.events.drop||(this.events.drop=Re(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=We(this)),this.events.clipboard.onCopy(...t),this}onCut(...t){return this.events.clipboard||(this.events.clipboard=We(this)),this.events.clipboard.onCut(...t),this}onPaste(...t){return this.events.clipboard||(this.events.clipboard=We(this)),this.events.clipboard.onPaste(...t),this}onSelect(...t){return this.events.clipboard||(this.events.clipboard=We(this)),this.events.clipboard.onSelect(...t),this}onFocus(...t){return this.events.focus||(this.events.focus=Qe(this)),this.events.focus.onFocus(...t),this}onBlur(...t){return this.events.focus||(this.events.focus=Qe(this)),this.events.focus.onFocus(...t),this}on(t,...e){return this.events.custom||(this.events.custom=as(this)),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=as(this)),this.events.custom.emit(t,e),this}watchAttr(t){return this.observer.attr||(this.observer.attr=bs(this,t)),this}watchChildren(t){return this.observer.children||(this.observer.children=ws(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=cs(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 Js 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})}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 tr=(t,e,s)=>new Js(t,e,s);class er extends Gs{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 sr=(t,e)=>new er(t,e);class rr extends Gs{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 nr=(t,e,s)=>new rr(t,e,s);class ir extends Gs{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 or=t=>new ir(t),ar=t=>(new XMLSerializer).serializeToString(t),hr=t=>btoa(ar(t)),lr=t=>"data:image/svg+xml;base64,"+hr(t),cr=(t,e=!0)=>tr(lr(t)).render(e),ur=t=>JSON.stringify(Ar((t=>["number","string","boolean","bigint"].includes(typeof t)?String(t):t instanceof o||t instanceof vr?t.toString():t instanceof Array?mr(t):void 0),t),null," ").replace(/"([^"]+)":/g,"$1:").replace(/: "([^"]+)"/g,": $1"),pr=t=>{if(!Array.isArray(t))return 0;let e=1;for(const s of t)if(Array.isArray(s)){const t=pr(s);t+1>e&&(e=t+1)}return e},mr=t=>{let e=0;return function t(s){let r=pr(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?ur(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 gr=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=gr(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};const fr={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 br{constructor(t){this.string=t}isDigit(){return fr.isDigit.test(this.string)}static isDigit(t){return new br(t).isDigit()}isNumber(){return!isNaN(this.string)}static isNumber(t){return new br(t).isNumber()}isUrl(){return fr.isURL.test(this.string)}static isUrl(t){return new br(t).isUrl()}isHexColor(){return fr.isHexColor.test(this.string)}static isHexColor(t){return new br(t).isHexColor()}isIPv4(){return fr.isIPv4.test(this.string)}static isIPv4(t){return new br(t).isIPv4()}isDate(){return fr.isDate.test(this.string)}static isDate(t){return new br(t).isDate()}isMACAddress(){return fr.isMACAddress.test(this.string)}static isMACAddress(t){return new br(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 br(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 br(t).isCamelCase()}isHyphenCase(){return this.string.split("-").length>1}static isHyphenCase(t){return new br(t).isHyphenCase()}isSnakeCase(){return this.string.split("_").length>1}static isSnakeCase(t){return new br(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 br(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 br(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 yr=t=>new br(t),wr={str:yr,Str:br,parseXML:function(t){return dr((new DOMParser).parseFromString(t,"text/xml").documentElement)},preload:gr,obj2str:ur,arr2str:mr,markdown2html:ft,adoc2html:Ct,csv2arr:Et,csv2matrix:kt,csv2object:At,csv2json:Dt,csv2sql:Bt,json2arr:Mt,json2csv:It,json2csvFile:St,json2yml:jt,json2ymlFile:Rt,json2xml:Pt,json2xmlFile:Vt,svg2str:ar,svg2ascii:hr,svg2imgUrl:lr,svg2img:cr,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 vr extends i{constructor(t,e,s=[]){if(super(),t instanceof vr)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 mr(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 vr(t,e,this.arr.flat(1));console.error("Err")}static eye(t){let e=new vr(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 vr(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 vr(this.cols,this.rows,this.arr.flat(1).reel)}get imag(){return new vr(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==vr.sub(e,t).max&&0==vr.sub(e,t).min}get isAntiSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==vr.add(e,t).max&&0==vr.add(e,t).min}get isDiag(){if(!this.isSquare)return!1;const t=this.T,e=this.clone,s=vr.mul(e,t),r=vr.dot(t,e);return 0==vr.sub(s,r).max&&0==vr.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=vr.dot(t,t);return 0==vr.sub(e,t).max&&0==vr.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 vr(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 vr))?void console.warn("Tensors are not completely supported yet ..."):en.sub(en.mul(s[0][0],s[1][1]),en.mul(s[0][1],s[1][0]));for(var r=0,n=0;n<s.length;n++){const i=en.add(en.mul(x(-1,n),en.mul(s[0][n],e(t(s,n)))));r=en.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 vr(this.rows,this.cols,t.flat(1))}static zeros(t,e){let s=new vr(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 vr(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 vr(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 vr(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 vr(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 vr(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 vr(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 vr(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 en.map(this,t,e,s,r)}lerp(t,e){return en.lerp(this,t,e)}norm(t,e){return en.norm(this,t,e)}clamp(t,e){return en.clamp(this,t,e)}static map(t,e,s,r,n){return en.map(t,e,s,r,n)}static lerp(t,e,s){return en.lerp(t,e,s)}static norm(t,e,s){return en.norm(t,e,s)}static clamp(t,e,s){return en.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 vr(this.rows,this.cols,t)}get toOct(){let t=this.arr.flat(1).toOct;return new vr(this.rows,this.cols,t)}get toHex(){let t=this.arr.flat(1).toHex;return new vr(this.rows,this.cols,t)}max2min(){let t=this.arr.flat(1).max2min;return new vr(this.rows,this.cols,t)}min2max(){let t=this.arr.flat(1).min2max;return new vr(this.rows,this.cols,t)}sortRows(t=void 0){let e=this.arr.map((e=>e.sort(t))).flat(1);return new vr(this.rows,this.cols,e)}sortCols(t=void 0){let e=this.T.arr.map((e=>e.sort(t))).flat(1);return new vr(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 vr(s)}filterByCols(t){return new vr(this.T.arr.filter((e=>e.includes(t))))}sortAll(t=void 0){let e=this.arr.flat(1).sort(t);return new vr(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 vr(this.rows,this.cols,e)}#u(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 vr(this.rows,this.cols,e.flat(1))}hstack(...t){const e=[this,...t].reduce(((t,e)=>t.#u(e)));return Object.assign(this,e),this}static hstack(t,...e){return t.clone.hstack(...e)}#p(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 vr(this.rows,this.cols,e.flat(1))}vstack(...t){const e=[this,...t].reduce(((t,e)=>t.#p(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.#u(e)));return Object.assign(this,e),this}vqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#p(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 vr(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]=vr.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]=en.add(this.arr[r][e],t[s].arr[r][e])}return new vr(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=vr.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]=en.sub(this.arr[r][e],t[s].arr[r][e])}return new vr(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]=vr.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]=en.mul(this.arr[e][s],t[r].arr[e][s])}return new vr(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=vr.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]=en.div(this.arr[r][e],t[s].arr[r][e])}return new vr(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]=vr.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]=en.modulo(this.arr[r][e],t[s].arr[r][e])}return new vr(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]=en.add(e[s][r],en.mul(this.arr[s][n],t.arr[n][r]))}}return new vr(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 vr(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 vr(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)=>vr.LU(...t),QR:(...t)=>vr.QR(...t),CHOLESKY:(...t)=>vr.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 vr(i).T}}const xr=(t,e,s)=>new vr(t,e,s),Fr=(...t)=>new vr(2,2,t),Cr=(...t)=>new vr(3,3,t),Er=(...t)=>new vr(4,4,t);class kr{static resolve(t,e){return t.inv.dot(vr.fromVector(e)).arr.flat(1).map((t=>+t.toFixed(10)))}}const Ar=(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=>Ar(t,e)));if(ArrayBuffer.isView(e))return e.map((e=>t(e)));if(e instanceof Set)return new Set(Ar(t,...e));if(e instanceof Map)return new Map([...e].map((e=>[e[0],Ar(t,e[1])])));if(e instanceof vr)return new vr(e.rows,e.cols,Ar(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(E(n),i);case Math.exp:return a(C(s)*k(r),C(s)*A(r));case Math.abs:return n;case Math.sqrt:return a(v(n)*k(i/2),v(n)*A(i/2));case y.cos:return a(k(s)*j(r),-A(s)*R(r));case y.sin:return a(A(s)*j(r),k(s)*R(r));case y.tan:{const t=k(2*s)+j(2*r);return a(A(2*s)/t,R(2*r)/t)}case y.cosh:return a(j(s)*k(r),R(s)*A(r));case y.sinh:return a(R(s)*k(r),j(s)*A(r));case y.tanh:{const t=j(2*s)+k(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],Ar(t,e[1])])))}));return 1==s.length?s[0]: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 vr)return vr.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 vr)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])))}}},Br=(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 vr)return vr.nums(e.rows,e.cols,t).sub(e);if(e instanceof Array)return e.map((e=>Sr(e,t)))}else{if(t instanceof o||t instanceof vr)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=>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 vr)return vr.nums(e.rows,e.cols,t).mul(e);if(e instanceof Array)return e.map((e=>Lr(t,e)))}else{if(t instanceof o||t instanceof vr)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=>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 vr)return vr.nums(e.rows,e.cols,t).div(e);if(e instanceof Array)return e.map((e=>Or(t,e)))}else{if(t instanceof o||t instanceof vr)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=>Or(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,s)=>Or(t,e[s])))}}},Mr=(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 vr)return vr.nums(e.rows,e.cols,t).modulo(e);if(e instanceof Array)return e.map((e=>Or(t,e)))}else{if(t instanceof o||t instanceof vr)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=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,...e)=>{var s=t;for(let t=0;t<e.length;t++)s=Mr(s,e[t]);return s},Rr=t=>new Array(t).fill(0),Pr=t=>new Array(t).fill(1),Vr=(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 vr)return new vr(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])}}},$r=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof vr)return new vr(t.rows,t.cols,$r(t.arr.flat(1),e,s));if(t instanceof o)return new o($r(t.a,e,s),$r(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>$r(t,e,s)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=$r(t[s])}}},zr=(t,e,s,r,n)=>{if("number"==typeof t)return $r(Nr(t,e,s),r,n);if(t instanceof vr)return new vr(t.rows,t.cols,zr(t.arr.flat(1),e,s,r,n));if(t instanceof o)return new o(zr(t.a,s,r,n),zr(t.b,e,s,r,n));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>zr(t,e,s,r,n)));{let i=new Array(t.length);for(let o=0;o<t.length;o++)i[o]=zr(t[o],e,s,r,n)}}},Ur=(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 vr)return new vr(t.rows,t.cols,Ur(t.arr.flat(1),r,n));if(t instanceof o)return new o(Ur(t.a,r,n),Ur(t.b,r,n));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Ur(t,r,n)));{let e=new Array(t.length);for(let s=0;s<t.length;s++)e[s]=Ur(t[s],r,n)}}},Hr=(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},Zr=(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=Zr(n.a,i.a,s,r),h=Zr(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}}},qr=(t,e,s=e-t+1,n=r,i=!0)=>Zr(t,e,s,i).map((t=>x(n,t))),Wr=(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=F(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=F(i.div(n),r?s-1:s);const h=[n];for(let t=1;t<s;t++)h.push(Lr(h[t-1],o));return h}}},Xr=(...t)=>mapfun((t=>t*Math.PI/180),...t),Yr=(...t)=>mapfun((t=>t/Math.PI*180),...t),Kr=(t,e,s)=>{const[r,n]=[Math.min(e,s),Math.max(e,s)];return t>=r&&t<=n},Qr=(t,e,s=1e-4)=>Math.abs(t-e)<=s,Gr=(t,e)=>t.reduce(((t,s)=>[...t,...e.map((t=>[s,t]))]),[]),Jr=(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")},tn=(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")},en={add:Ir,sub:Sr,mul:Lr,div:Or,modulo:jr,zeros:Rr,ones:Pr,nums:Vr,norm:Nr,lerp:$r,map:zr,clamp:Ur,arange:Hr,linspace:Zr,logspace:qr,geomspace:Wr,sum:h,prod:l,accum:m,cartesianProduct:Gr,ppcm:tn,pgcd:Jr,deg2rad:Xr,rad2deg:Yr,inRange:Kr,isApproximatlyEqual:Qr},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*k(a)+t[e].b*A(a),o+=-t[e].a*A(a)+t[e].b*k(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=>{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*k(a)+t[e].b*A(a),o+=t[e].a*A(a)+t[e].b*k(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))}},nn=(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},on=(t,e,s=!0)=>{t instanceof vr||(t=xr(t)),e instanceof vr||(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},an=(t,e,s)=>t instanceof vr||t instanceof Array&&t[0][0]?on(t,e,s):nn(t,e,s);class hn{constructor(t){this.input=t,this.input_fft=sn(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)})),rn(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)})),rn(this.output_fft).re}bandePass(){}bandeCoupe(){}}const ln={zeros:Rr,ones:Pr,nums:Vr,arange:Hr,linspace:Zr,logspace:qr,geomspace:Wr,map:zr,norm:Nr,lerp:$r,clamp:Ur,noise:(t,e=0,s=1)=>it.floats(t,e,s),echelon(t,e=0,s=1){t instanceof Array||(t=[t]);const r=Ar((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=Ar((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=Ar((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=Ar((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=Ar((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)=>Ar((t=>t===e?1/0:0),...t),lorentz(t,e=0,s=1){t instanceof Array||(t=[t]);const r=Ar((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=Ar((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=Ar((t=>Y(A(2*t*Math.PI/e))),...t);return r instanceof Array?r.map((t=>t*s)):r*s},sawtooth(){},conv:an,conv1d:nn,conv2d:on,circularConv:(t,e)=>an(t,e,!0),linearConv:(t,e)=>an(t,e,!1),circularConv1d:(t,e)=>nn(t,e,!0),linearConv1d:(t,e)=>nn(t,e,!1),circularConv2d:(t,e)=>on(t,e,!0),linearConv2d:(t,e)=>on(t,e,!1),fft:sn,ifft:rn,filter:t=>new hn(t)},cn={PI:s,E:r,EPSILON:n,Random:it,complex:a,Complex:o,Matrix:vr,LinearSystem:kr,matrix:xr,matrix2:Fr,matrix3:Cr,matrix4:Er,cos:k,sin:A,tan:D,sinc:_,sec:B,csc:T,cot:M,abs:w,sqrt:v,pow:x,sqrtn:F,e:C,ln:E,acos:I,asin:S,atan:L,acot:O,cosh:j,sinh:R,tanh:P,coth:V,acosh:N,asinh:$,atanh:U,min:u,max:p,sign:Y,floor:Z,ceil:H,round:q,fact:X,hypot:Q,sig:K,atan2:W,Utils:en,mapfun:Ar,nums:Vr,zeros:Rr,ones:Pr,sum:h,prod:l,add:Ir,mul:Lr,div:Or,sub:Sr,modulo:jr,rad2deg:Yr,deg2rad:Xr,arange:Hr,linspace:Zr,logspace:qr,geomspace:Wr,norm:Nr,lerp:$r,map:zr,clamp:Ur,pgcd:Jr,ppcm:tn,isApproximatlyEqual:Qr,inRange:Kr,cartesianProduct:Gr,Discret:nt,Logic:et,Base:tt,Permutation:st,Combinaison:rt,powerSet:G,subSet:J,Signal:ln,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 un 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]=vn(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]=vn(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 pn extends un{constructor(t,e,s,...r){super(t,e),this.addValue(...r),this.style({margin:0,padding:0}),Object.assign(this.cache,{lineBreak:s})}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(document.createTextNode(t)):t instanceof Gs?this.element.appendChild(t.element):t instanceof o||t instanceof vr?this.element.appendChild(new Text(t.toString())):t instanceof Array?this.element.appendChild(new Text(mr(t))):t instanceof Object&&this.element.appendChild(new Text(ur(t))),this.cache.lineBreak&&this.element.appendChild(document.createElement("br"))})),this.element.innerHTML=this.element.innerHTML.replace(/\n/g,"<br>").replace(/(?<!<[^>]+) /g," "),this}setValue(...t){return this.clear(),this.addValue(...t),this}}class mn extends pn{constructor(...t){super("span","text",!1,...t)}}class dn extends pn{constructor(...t){super("q","quote",!1,...t),this.style({fontStyle:"italic"})}}class gn extends pn{constructor(...t){super("dfn","dfnText",!1,...t)}}class fn extends pn{constructor(t){super("sup","supText",!1,t)}}class bn extends pn{constructor(...t){super("sub","subText",!1,...t)}}class yn extends pn{constructor(...t){super("code","codeText",!1,...t)}}class wn extends pn{constructor(t,e){super("abbr","abbrText",!1,t),this.setAttr("title",e)}}const vn=(...t)=>new mn(...t),xn=(...t)=>new dn(...t),Fn=(...t)=>new gn(...t),Cn=(...t)=>new fn(...t),En=(...t)=>new bn(...t),kn=(...t)=>new yn(...t),An=(t,e)=>new wn(t,e);class Dn extends pn{constructor(...t){super("p","p",!0,...t)}}class Bn extends pn{constructor(t,e){super("blockquote","blockquote",!0,e),this.setAttr("cite",t)}}const _n=(...t)=>new Dn(...t),Tn=(t,e)=>new Bn(t,e);class Mn extends Gs{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 In=(t="")=>new Mn(1,t),Sn=(t="")=>new Mn(2,t),Ln=(t="")=>new Mn(3,t),On=(t="")=>new Mn(4,t),jn=(t="")=>new Mn(5,t),Rn=(t="")=>new Mn(6,t);class Pn extends un{constructor(t){super(t,"html")}}class Vn 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()}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")}}class $n extends Gs{constructor(){super("hr","hr")}}class zn extends un{constructor(t){super("a","link"),this.setHref(t)}setHref(t){this.element.href=t}}const Un=()=>new Nn,Hn=()=>new $n,Zn=(t=1)=>new Array(t).fill(new Nn),qn=(t=1)=>new Array(t).fill(new $n),Wn=(t,...e)=>new zn(t).append(...e),Xn=(t,...e)=>new Pn(t).append(...e),Yn=t=>new Vn(t);class Kn extends un{constructor(t){super("li","li"),this.append(t)}}class Qn extends un{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]=vn(t[e])),t[e]instanceof Gs&&(s=new Kn(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]=vn(e[s])),e[s]instanceof Gs&&(r=new Kn(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 Gn extends Qn{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 Jn extends Qn{constructor(...t){super("ul","ul"),this.append(...t)}}const ti=(...t)=>new Gn(...t),ei=(...t)=>new Jn(...t);class si 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}}class ri extends Gs{constructor(){super(),this.element=document.createElement("textarea")}get value(){return this.element.textContent}}const ni=()=>new ri;class ii extends Gs{constructor(t,e="",s){super("input",t),Object.assign(this.events,{input:null}),this.setValue(e),s&&this.linkDatalist(s)}onInput(...t){return this.events.input||(this.events.input=es(this)),this.events.input.onInput(...t),this}onChange(...t){return this.events.input||(this.events.input=es(this)),this.events.input.onChange(...t),this}linkDatalist(t){let e;if(t instanceof yi)e=t.Id;else if(t instanceof Array){const s=new yi(...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 oi extends ii{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 ai extends ii{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 hi extends ai{constructor(t=0,e=0,s=10,r=1){super("inputSlider"),this._setType("range"),this.setMin(e).setMax(s).setValue(t).setStep(r)}}class li extends ii{constructor(){super("inputColor"),this._setType("color"),this.background(this.value),this.onInput((()=>this.background(this.value)))}}class ci extends ii{constructor(){super("inputPassword"),this._setType("password")}}class ui extends ii{constructor(){super("inputEmail"),this._setType("email")}}class pi extends ii{constructor(){super("inputTime"),this._setType("time")}}class mi extends ii{constructor(){super("inputDate"),this._setType("date")}}class di extends ii{constructor(){super("inputDateTime"),this._setType("datetime-local")}}class gi extends ii{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 fi extends ii{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 bi extends Gs{constructor(t="File"){super("inputImage"),this._aux_element=Yn(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 yi extends Gs{constructor(...t){super(),this.element=document.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+it.string(10))}addOptions(...t){return t.map((t=>this.append(new si(t)))),this}}const wi=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:s}=t;return t=t.value??"",new ii(t,e).setPlaceholder(s)}return new ii(t,e)},vi=(...t)=>new yi(...t),xi=(t,e,s,r)=>{if(t instanceof Object){const{min:e=0,max:s=10,step:r=1}=t;return new hi(t=t?.value??5,e,s,r)}return new hi(t,e,s,r)},Fi=(t,e,s)=>{if(t instanceof Object){const{value:e,max:s=10,step:r=1,placeholder:n=""}=t;return new hi(t=t?.min??0,s,r).setValue(e).setPlaceholder(n)}return new ai(t,e,s)},Ci=(...t)=>(new oi).connect(...t),Ei=t=>new bi(t),ki=()=>new ci,Ai=()=>new ui,Di=()=>new li,Bi=()=>new pi,_i=()=>new mi,Ti=()=>new di,Mi=()=>new gi,Ii=()=>new fi;class Si extends Gs{constructor(){super(),this.element=document.createElement("select")}addOptions(...t){return t.map((t=>this.append(new si(t)))),this}}const Li=()=>new Si;class Oi extends rr{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 ji=()=>new Oi;class Ri extends un{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"})}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 Vi.call(this,s),this.style({alignItems:"number"==typeof t?$i.call(this,t):t,justifyContent:"number"==typeof e?zi.call(this,e):e}),this}horizontal(t,e,s=1){return Ni.call(this,s),this.style({alignItems:"number"==typeof e?zi.call(this,e):e,justifyContent:"number"==typeof t?$i.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const Pi=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new Ri(e).append(...t)};function Vi(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 $i(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function zi(t){return $i(-t)}class Ui extends un{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"})}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 Hi=(...t)=>new Ui("div").append(...t);class Zi extends Gs{constructor(t,e,s="😁",r=s){super("details","Collapsible"),Object.assign(this.cache,{icons:{open:s,close:r}}),this.summary=Xn("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"}),bs(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 qi=(t,e,s,r)=>new Zi(t,e,s,r);class Wi extends un{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 Xi=(...t)=>new Wi(...t);class Yi extends Ri{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 Ki=(...t)=>new Yi(...t);class Qi extends Ri{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(eo(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 Gi=()=>new Qi,Ji={background:"none",width:"25px",height:"25px",fontSize:"1.2rem",cursor:"pointer"};class to extends Ri{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="")=>Xn("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=Xn("output").style({width:"100%",height:"auto",padding:"5px 0"}),this.InOut=Pi(this.Input,this.Output).vertical().style({width:"100%",margin:"10px auto"}),this.RightControl=(r=this,Pi(vn("▶️").style(Ji).onClick((t=>{r.parent instanceof Qi&&r.parent.setCurrentNote(r),r.execute(),globalThis.__Ziko__.__Config__.default.target=t.target.parent.parent[1][1]})),vn("📋").style(Ji).onClick((()=>{navigator.clipboard.writeText(r.codeText)})),vn("✖️").style(Ji).onClick((()=>r.remove())),vn("✖️").style(Ji).onClick((()=>r.remove()))).style({width:"70px",height:"50px",margin:"10px 0"}).horizontal(0,0).wrap(!0)),this.LeftControl=Pi(vn("[ ]")).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 Qi&&("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 Qi&&(this.cache.parent.cache.currentNote=this,this.cache.parent.setCurrentNote(this))})),this.Input.onPaste((t=>{})))}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}#d(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 Qi&&(this.cache.parent.incrementOrder(),this.cache.parent.next()))}}#g(){}#f(){}evaluate(t){if(globalThis.__Ziko__.__Config__.default.target=this.Output.element,"js"===this.cache.type)this.#d(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 eo=(t,{type:e,order:s}={})=>new to(t,{type:e,order:s});class so extends Ri{#b=0;constructor(t,e){super("div","Tabs"),this.style({boxSizing:"border-box",backgroundColor:"blanchedalmond",border:"1px red solid",margin:"30px"}),this.append(Pi().size("auto","auto").style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",minWidth:"50px",minHeight:"50px",backgroundColor:"darkblue",border:"1px darkblue solid"}),Pi().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.#b!==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.#b=t%this.Content.length,this.Controller.forEach((t=>t.setAttr("tabindex",-1).setAttr("aria-selected",!1))),this.Controller.at(this.#b).setAttr("tabindex",0).setAttr("aria-selected",!0),(async()=>{await this.Content.forEach((t=>t.st.hide())),await this.Content.at(this.#b).setAttr("tabindex",0).st.show()})(),this}next(t=1){return this.display(this.#b+t),this}previous(t=1){return this.display(this.#b-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 ro=(t,e)=>new so(t,e);class no extends un{constructor(){super("main","Main")}}class io extends un{constructor(){super("header","Header")}}class oo extends un{constructor(){super("nav","Nav")}}class ao extends un{constructor(){super("section","Section"),this.style({position:"relative"})}}class ho extends un{constructor(){super("article","Article")}}class lo extends un{constructor(){super("aside","Aside")}}class co extends un{constructor(){super("footer","Footer"),this.element=document.createElement("footer")}}const uo=(...t)=>(new ao).append(...t),po=(...t)=>(new ho).append(...t),mo=(...t)=>(new no).append(...t),go=(...t)=>(new io).append(...t),fo=(...t)=>(new co).append(...t),bo=(...t)=>(new oo).append(...t),yo=(...t)=>(new lo).append(...t);class wo extends Gs{constructor(...t){super(),this.element=document.createElement("Tr"),this.append(...t)}}class vo extends Gs{constructor(...t){super(),this.element=document.createElement("Td"),this.append(...t)}}class xo extends Gs{constructor(...t){super(),this.element=document.createElement("Thead"),this.append(...t)}}class Fo extends Gs{constructor(...t){super(),this.element=document.createElement("Tbody"),this.append(...t)}}class Co extends Gs{constructor(t){super(),this.element=document.createElement("Caption"),this.append(t)}}const Eo=(...t)=>(t=t.map((t=>(t instanceof Gs||(t=vn(t)),t))),new vo(...t)),ko=t=>new Co(t),Ao=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new wo(...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]=Eo(t.arr[r][n]),e[r].append(s[r][n]);return e};class Do 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 caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=ko(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Co))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof Gs||(t=Eo(t)),t))),new xo(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Co))),this}setFooter(t){return this.structure.caption=ko(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Co))),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 Fo(...t))(),this.append(this.structure.body),this.structure.body.append(...Ao(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Do&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Do&&(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 Bo=(t,e)=>new Do(t,e),_o={html:Xn,text:vn,quote:xn,dfnText:Fn,supText:Cn,subText:En,codeText:kn,abbrText:An,p:_n,blockQuote:Tn,h1:In,h2:Sn,h3:Ln,h4:On,h5:jn,h6:Rn,btn:Yn,br:Un,hr:Hn,brs:Zn,hrs:qn,link:Wn,ol:ti,ul:ei,input:wi,search:Ci,slider:xi,checkbox:Mi,radio:Ii,datalist:vi,inputNumber:Fi,inputColor:Di,inputDate:_i,inputDateTime:Ti,inputEmail:Ai,inputImage:Ei,inputPassword:ki,inputTime:Bi,select:Li,textarea:ni,inputCamera:ji,image:tr,video:nr,audio:or,figure:sr,Flex:Pi,Carousel:Ki,Grid:Hi,Header:go,Main:mo,Section:uo,Article:po,Aside:yo,Nav:bo,Footer:fo,Table:Bo,CodeCell:eo,CodeNote:Gi,Tabs:ro,Collapsible:qi,Accordion: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 To 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 Mo=(t,e)=>new To(t,e);class Io{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 So extends Io{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 Lo=(t,e,s,r,n)=>new So(t,e,s,r,n);class Oo extends Io{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 jo=(t,e,s)=>new Oo(t,e,s);class Ro extends Io{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 Po=(t,e,s,r)=>new Ro(t,e,s,r);class Vo extends Io{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 No=(t,e,s,r)=>new Vo(t,e,s,r);class $o extends Io{}class zo extends Io{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 Uo=()=>new zo;class Ho extends Io{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 Zo=(t,e)=>new Ho(t,e);class qo extends Io{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 qo(t,e,s);class Xo extends Io{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 Yo=(t,e,s,r,n)=>new Xo(t,e,s,r,n);class Ko extends Io{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=Pi().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 Qo=(t,e,s)=>new Ko(t,e,s);class Go extends Io{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 Jo=(...t)=>new Go(...t);class ta extends Io{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 ea=(t,...e)=>new ta(t,...e),sa=(t,e,s=10,r=10)=>{let n=Uo().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 ra extends un{constructor(t,e){super("canvas","canvas"),this.ctx=this.element.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new vr([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new vr([[-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 vr([[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 ra;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 na=(t,e)=>new ra(t,e);class ia{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 oa extends ia{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 aa=(t,e,s,r)=>new oa(t,e,s,r),ha=(t,e,s)=>new oa(t,e,s,2*Math.PI);class la extends ia{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 ca=(t=[],e=[])=>new la(t,e);class ua extends ia{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 pa=(t,e,s,r)=>new ua(t,e,s,r);class ma extends ia{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 da=(t,e,s,r)=>new ma(t,e,s,r),ga={Svg:Mo,ZikoUISvg:To,svgCircle:jo,svgEllipse:Po,svgImage:Yo,svgLine:No,svgPolygon:Zo,svgRect:Lo,svgText:Wo,svgGroupe:Jo,svgLink:ea,svgGrid:sa,svgObject:Qo,svgPath:Uo,Canvas:na,canvasArc:aa,canvasCircle:ha,canvasPoints:ca,canvasLine:pa,canvasRect:da,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 fa{constructor(t,e){this.root_UI=t,this.routes=new Map([[404,vn("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 ba=(t,e,s)=>new fa(t,e,s),ya={},wa={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")};if(globalThis?.document){class t 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.customElements.define("ziko-ui",t)}else e.ZikoUIComponent=null;class va{constructor(t){this.app=t,this.meta={},this.#y("generator","zikojs")}#y(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.#y("description",t),this}viewport(t="width=device-width, initial-scale=1.0"){return this.#y("viewport",t),this}keywords(...t){return t.push("zikojs"),t=[...new Set(t)].join(", "),this.#y("keywords",t),this}author(t="",e=""){const s=[t,e].join(", ");return this.#y("author",s),this}}class xa extends Ri{constructor(){super("main"),this.root=document.documentElement,this.head=null,this.#n(),this.seo=new va(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.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=ns(this)),this.events.hash.onChange(...t),this}}const Fa=(...t)=>(new xa).append(...t),Ca={App:Fa,Math:cn,UI:_o,Time:qs,Graphics:ga,Reactivity:Qs,Data:wr,SPA:ba};function Ea(){return _o.ExtractAll(),cn.ExtractAll(),qs.ExtractAll(),Qs.ExtractAll(),ga.ExtractAll(),wr.ExtractAll(),this}function ka(){_o.RemoveAll(),cn.RemoveAll(),qs.RemoveAll(),Qs.RemoveAll(),ga.RemoveAll(),wr.RemoveAll()}globalThis.__Ziko__?console.warn("WARNING: Multiple instances of Ziko.js being imported."):globalThis.__Ziko__={...Ca,__UI__:ya,__Config__:wa,ExtractAll:Ea,RemoveAll:ka},globalThis.document&&document.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),e.Accordion=Xi,e.App=Fa,e.Article=po,e.Aside=yo,e.Base=tt,e.Canvas=na,e.Carousel=Ki,e.CodeCell=eo,e.CodeNote=Gi,e.Collapsible=qi,e.Combinaison=rt,e.Complex=o,e.DarkThemes=Zt,e.Data=wr,e.E=r,e.EPSILON=n,e.Ease=js,e.ExtractAll=Ea,e.Fixed=y,e.Flex=Pi,e.Footer=fo,e.Graphics=ga,e.Grid=Hi,e.Header=go,e.LightThemes=Ht,e.LinearSystem=kr,e.Logic=et,e.Main=mo,e.Math=cn,e.Matrix=vr,e.Nav=bo,e.PI=s,e.Permutation=st,e.Random=it,e.Reactivity=Qs,e.RemoveAll=ka,e.SPA=ba,e.Section=uo,e.Signal=ln,e.Str=br,e.Svg=Mo,e.Table=Bo,e.Tabs=ro,e.Themes=qt,e.Time=qs,e.UI=_o,e.Utils=en,e.ZikoUIAbbrText=wn,e.ZikoUIAccordion=Wi,e.ZikoUIArticle=ho,e.ZikoUIAside=lo,e.ZikoUIAudio=ir,e.ZikoUIBlockQuote=Bn,e.ZikoUIBr=Nn,e.ZikoUICanvas=ra,e.ZikoUICodeNote=Qi,e.ZikoUICodeText=yn,e.ZikoUIDefintion=gn,e.ZikoUIElement=Gs,e.ZikoUIFigure=er,e.ZikoUIFooter=co,e.ZikoUIHeader=io,e.ZikoUIHeading=Mn,e.ZikoUIHr=$n,e.ZikoUIHtmlTag=Pn,e.ZikoUIImage=Js,e.ZikoUILink=zn,e.ZikoUIMain=no,e.ZikoUINav=oo,e.ZikoUIParagraphe=Dn,e.ZikoUIQuote=dn,e.ZikoUISection=ao,e.ZikoUISubText=bn,e.ZikoUISupText=fn,e.ZikoUISvg=To,e.ZikoUIText=mn,e.ZikoUIVideo=rr,e.__Config__=wa,e.abbrText=An,e.abs=w,e.accum=m,e.acos=I,e.acosh=N,e.acot=O,e.add=Ir,e.adoc2html=Ct,e.arange=Hr,e.arr2str=mr,e.asin=S,e.asinh=$,e.atan=L,e.atan2=W,e.atanh=U,e.audio=or,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 Ar((t=>f(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Ar((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 Ar((t=>b(t,e)),...t);if(e instanceof Array){const s=[];for(let r=0;r<t.length;r++)s.push(Ar((e=>b(t[r],e)),...e));return s}}},e.blockQuote=Tn,e.br=Un,e.brs=Zn,e.btn=Yn,e.canvasArc=aa,e.canvasCircle=ha,e.canvasLine=pa,e.canvasPoints=ca,e.canvasRect=da,e.cartesianProduct=Gr,e.ceil=H,e.checkbox=Mi,e.choleskyDecomposition=ut,e.clamp=Ur,e.codeText=kn,e.complex=a,e.cos=k,e.cosh=j,e.cot=M,e.coth=V,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=Et,e.csv2json=Dt,e.csv2matrix=kt,e.csv2object=At,e.csv2sql=Bt,e.datalist=vi,e.default=Ca,e.deg2rad=Xr,e.dfnText=Fn,e.div=Or,e.e=C,e.fact=X,e.figure=sr,e.floor=Z,e.gamma=(...t)=>Ar(g,...t),e.geomspace=Wr,e.h1=In,e.h2=Sn,e.h3=Ln,e.h4=On,e.h5=jn,e.h6=Rn,e.hr=Hn,e.hrs=qn,e.html=Xn,e.hypot=Q,e.image=tr,e.inRange=Kr,e.input=wi,e.inputCamera=ji,e.inputColor=Di,e.inputDate=_i,e.inputDateTime=Ti,e.inputEmail=Ai,e.inputImage=Ei,e.inputNumber=Fi,e.inputPassword=ki,e.inputTime=Bi,e.isApproximatlyEqual=Qr,e.json2arr=Mt,e.json2csv=It,e.json2csvFile=St,e.json2xml=Pt,e.json2xmlFile=Vt,e.json2yml=jt,e.json2ymlFile=Rt,e.lerp=$r,e.li=t=>new Kn(t),e.link=Wn,e.linspace=Zr,e.ln=E,e.logspace=qr,e.luDecomposition=ot,e.map=zr,e.mapfun=Ar,e.markdown2html=ft,e.matrix=xr,e.matrix2=Fr,e.matrix3=Cr,e.matrix4=Er,e.max=p,e.min=u,e.modulo=jr,e.mul=Lr,e.norm=Nr,e.nums=Vr,e.obj2str=ur,e.ol=ti,e.ones=Pr,e.p=_n,e.pgcd=Jr,e.pow=x,e.powerSet=G,e.ppcm=tn,e.prod=l,e.qrDecomposition=ct,e.quote=xn,e.rad2deg=Yr,e.radio=Ii,e.removeExtraSpace=t=>t.replace(/\s+/g," "),e.round=q,e.search=Ci,e.sec=B,e.select=Li,e.sig=K,e.sign=Y,e.sin=A,e.sinc=_,e.sinh=R,e.slider=xi,e.sqrt=v,e.sqrtn=F,e.str=yr,e.sub=Sr,e.subSet=J,e.subText=En,e.sum=h,e.supText=Cn,e.svg2ascii=hr,e.svg2img=cr,e.svg2imgUrl=lr,e.svg2str=ar,e.svgCircle=jo,e.svgEllipse=Po,e.svgGrid=sa,e.svgGroupe=Jo,e.svgImage=Yo,e.svgLine=No,e.svgLink=ea,e.svgObject=Qo,e.svgPath=Uo,e.svgPolyLine=(t,e)=>new $o(t,e),e.svgPolygon=Zo,e.svgRect=Lo,e.svgText=Wo,e.tan=D,e.tanh=P,e.text=vn,e.textarea=ni,e.timeTaken=Us,e.time_memory_Taken=Vs,e.ul=ei,e.useAnimation=Zs,e.useBattery=Bs,e.useBluetooth=As,e.useChannel=Fs,e.useClickEvent=$e,e.useClipboardEvent=We,e.useCustomEvent=as,e.useDebounce=Rs,e.useDragEvent=je,e.useDropEvent=Re,e.useEventEmitter=Kt,e.useFavIcon=te,e.useFocusEvent=Qe,e.useGeolocation=Ts,e.useHashEvent=ns,e.useInputEvent=es,e.useKeyEvent=_e,e.useLocaleStorage=Xs,e.useMediaQuery=se,e.useMouseEvent=xe,e.usePointerEvent=pe,e.useSessionStorage=Ys,e.useStyle=Ut,e.useSuccesifKeys=Ks,e.useTheme=Xt,e.useThread=Es,e.useThrottle=Ps,e.useTimeLoop=Os,e.useTitle=Gt,e.useWheelEvent=Ee,e.video=nr,e.wait=zs,e.waitForUIElm=Ns,e.waitForUIElmSync=$s,e.watchAttr=bs,e.watchChildren=ws,e.watchIntersection=cs,e.watchScreen=gs,e.watchSize=ms,e.zeros=Rr,Object.defineProperty(e,"__esModule",{value:!0})}));
|