ziko 0.0.4 → 0.0.5

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.
Files changed (233) hide show
  1. package/core/App/Globals/index.js +18 -0
  2. package/{src → core}/App/app.js +1 -1
  3. package/{src → core}/App/index.js +1 -0
  4. package/{src → core}/Graphics/Canvas/canvas.js +1 -1
  5. package/{src → core}/Reactivity/Events/index.js +1 -1
  6. package/{src → core}/UI/CustomElement/Elements/Accordion/index.js +2 -2
  7. package/{src → core}/UI/CustomElement/Elements/CodeNote/CodeCell.js +1 -1
  8. package/{src → core}/UI/CustomElement/Elements/CodeNote/SubElements.js +4 -4
  9. package/{src → core}/UI/Inputs/Primitives/btn.js +1 -2
  10. package/{src → core}/UI/Inputs/Primitives/inputs.js +0 -10
  11. package/{src → core}/UI/Inputs/Primitives/select.js +0 -1
  12. package/{src → core}/UI/Inputs/Primitives/textarea.js +0 -1
  13. package/{src → core}/UI/List/index.js +0 -3
  14. package/{src → core}/UI/Media/Audio/index.js +0 -1
  15. package/{src → core}/UI/Media/Image/figure.js +0 -1
  16. package/{src → core}/UI/Media/Image/image.js +0 -1
  17. package/{src → core}/UI/Media/Video/index.js +0 -1
  18. package/{src → core}/UI/Misc/index.js +5 -9
  19. package/{src → core}/UI/Semantic/index.js +0 -7
  20. package/{src → core}/UI/Table/table.js +0 -1
  21. package/{src → core}/UI/Text/heading.js +0 -1
  22. package/{src → core}/UI/Text/p.js +0 -1
  23. package/{src → core}/UI/Text/text.js +0 -1
  24. package/{src → core}/UI/ZikoUIElement.js +3 -1
  25. package/{src → core}/UI/index.js +3 -3
  26. package/{src → core}/index.js +3 -1
  27. package/dist/ziko.cjs +33 -53
  28. package/dist/ziko.js +33 -53
  29. package/dist/ziko.min.js +2 -2
  30. package/dist/ziko.mjs +32 -53
  31. package/package.json +5 -3
  32. package/wrapper/react/index.jsx +16 -0
  33. package/wrapper/react/readme.md +19 -0
  34. package/wrapper/vue/ZikoUI.vue +17 -0
  35. package/src/App/Globals/index.js +0 -3
  36. /package/{src → core}/App/Accessibility/index.js +0 -0
  37. /package/{src → core}/App/Globals/__Target__.js +0 -0
  38. /package/{src → core}/App/Globals/__UI__.js +0 -0
  39. /package/{src → core}/App/Globals/__init__.js +0 -0
  40. /package/{src → core}/App/Router/index.js +0 -0
  41. /package/{src → core}/App/Seo/index.js +0 -0
  42. /package/{src → core}/App/Themes/dark.js +0 -0
  43. /package/{src → core}/App/Themes/index.js +0 -0
  44. /package/{src → core}/App/Themes/light.js +0 -0
  45. /package/{src → core}/Data/Api/fetchdom.js +0 -0
  46. /package/{src → core}/Data/Api/index.js +0 -0
  47. /package/{src → core}/Data/Api/preload.js +0 -0
  48. /package/{src → core}/Data/Converter/canvas.js +0 -0
  49. /package/{src → core}/Data/Converter/csv.js +0 -0
  50. /package/{src → core}/Data/Converter/index.js +0 -0
  51. /package/{src → core}/Data/Converter/json.js +0 -0
  52. /package/{src → core}/Data/Converter/markdown.js +0 -0
  53. /package/{src → core}/Data/Converter/svg.js +0 -0
  54. /package/{src → core}/Data/Parser/markdown.js +0 -0
  55. /package/{src → core}/Data/Parser/xml.js +0 -0
  56. /package/{src → core}/Data/Strings/index.js +0 -0
  57. /package/{src → core}/Data/decorators.js +0 -0
  58. /package/{src → core}/Data/index.js +0 -0
  59. /package/{src → core}/Graphics/Canvas/Elements/Basic/arc.js +0 -0
  60. /package/{src → core}/Graphics/Canvas/Elements/Basic/image.js +0 -0
  61. /package/{src → core}/Graphics/Canvas/Elements/Basic/line.js +0 -0
  62. /package/{src → core}/Graphics/Canvas/Elements/Basic/path.js +0 -0
  63. /package/{src → core}/Graphics/Canvas/Elements/Basic/points.js +0 -0
  64. /package/{src → core}/Graphics/Canvas/Elements/Basic/polygon.js +0 -0
  65. /package/{src → core}/Graphics/Canvas/Elements/Basic/polyline.js +0 -0
  66. /package/{src → core}/Graphics/Canvas/Elements/Basic/rect.js +0 -0
  67. /package/{src → core}/Graphics/Canvas/Elements/Basic/text.js +0 -0
  68. /package/{src → core}/Graphics/Canvas/Elements/Chart/histogram.js +0 -0
  69. /package/{src → core}/Graphics/Canvas/Elements/Chart/plot.js +0 -0
  70. /package/{src → core}/Graphics/Canvas/Elements/Chart/scatter.js +0 -0
  71. /package/{src → core}/Graphics/Canvas/Elements/Chart/stem.js +0 -0
  72. /package/{src → core}/Graphics/Canvas/Elements/Element.js +0 -0
  73. /package/{src → core}/Graphics/Canvas/Elements/Groupe.js +0 -0
  74. /package/{src → core}/Graphics/Canvas/Elements/grid.js +0 -0
  75. /package/{src → core}/Graphics/Canvas/Elements/index.js +0 -0
  76. /package/{src → core}/Graphics/Canvas/Filter/index.js +0 -0
  77. /package/{src → core}/Graphics/Canvas/Paint/index.js +0 -0
  78. /package/{src → core}/Graphics/Canvas/Utils/color.js +0 -0
  79. /package/{src → core}/Graphics/Canvas/Utils/floodFill.js +0 -0
  80. /package/{src → core}/Graphics/Canvas/_canvas_offscreen +0 -0
  81. /package/{src → core}/Graphics/Canvas/index.js +0 -0
  82. /package/{src → core}/Graphics/Svg/Elements/ZikoSvgElement.js +0 -0
  83. /package/{src → core}/Graphics/Svg/Elements/circle.js +0 -0
  84. /package/{src → core}/Graphics/Svg/Elements/ellipse.js +0 -0
  85. /package/{src → core}/Graphics/Svg/Elements/foreignObject.js +0 -0
  86. /package/{src → core}/Graphics/Svg/Elements/grid.js +0 -0
  87. /package/{src → core}/Graphics/Svg/Elements/groupe.js +0 -0
  88. /package/{src → core}/Graphics/Svg/Elements/image.js +0 -0
  89. /package/{src → core}/Graphics/Svg/Elements/line.js +0 -0
  90. /package/{src → core}/Graphics/Svg/Elements/path.js +0 -0
  91. /package/{src → core}/Graphics/Svg/Elements/polygon.js +0 -0
  92. /package/{src → core}/Graphics/Svg/Elements/polyline.js +0 -0
  93. /package/{src → core}/Graphics/Svg/Elements/rect.js +0 -0
  94. /package/{src → core}/Graphics/Svg/Elements/text.js +0 -0
  95. /package/{src → core}/Graphics/Svg/index.js +0 -0
  96. /package/{src → core}/Graphics/Svg/svg.js +0 -0
  97. /package/{src → core}/Graphics/index.js +0 -0
  98. /package/{src → core}/Math/Calculus/Special Functions/bessel.js +0 -0
  99. /package/{src → core}/Math/Calculus/Special Functions/beta.js +0 -0
  100. /package/{src → core}/Math/Calculus/Special Functions/gamma.js +0 -0
  101. /package/{src → core}/Math/Calculus/Special Functions/index.js +0 -0
  102. /package/{src → core}/Math/Calculus/index.js +0 -0
  103. /package/{src → core}/Math/Complex/Fractals/julia.js +0 -0
  104. /package/{src → core}/Math/Complex/index.js +0 -0
  105. /package/{src → core}/Math/Discret/Combinaison/index.js +0 -0
  106. /package/{src → core}/Math/Discret/Conversion/index.js +0 -0
  107. /package/{src → core}/Math/Discret/Logic/index.js +0 -0
  108. /package/{src → core}/Math/Discret/Permutation/index.js +0 -0
  109. /package/{src → core}/Math/Discret/Set/index.js +0 -0
  110. /package/{src → core}/Math/Discret/Set/powerSet.js +0 -0
  111. /package/{src → core}/Math/Discret/Set/subSet.js +0 -0
  112. /package/{src → core}/Math/Discret/index.js +0 -0
  113. /package/{src → core}/Math/Functions/index.js +0 -0
  114. /package/{src → core}/Math/Matrix/Decomposition.js +0 -0
  115. /package/{src → core}/Math/Matrix/LinearSystem.js +0 -0
  116. /package/{src → core}/Math/Matrix/Matrix.js +0 -0
  117. /package/{src → core}/Math/Matrix/index.js +0 -0
  118. /package/{src → core}/Math/Numeric/index.js +0 -0
  119. /package/{src → core}/Math/Random/index.js +0 -0
  120. /package/{src → core}/Math/Signal/__np.py.txt +0 -0
  121. /package/{src → core}/Math/Signal/conv.js +0 -0
  122. /package/{src → core}/Math/Signal/fft.js +0 -0
  123. /package/{src → core}/Math/Signal/filter.js +0 -0
  124. /package/{src → core}/Math/Signal/functions.js +0 -0
  125. /package/{src → core}/Math/Signal/index.js +0 -0
  126. /package/{src → core}/Math/Statistics/Functions/index.js +0 -0
  127. /package/{src → core}/Math/Statistics/index.js +0 -0
  128. /package/{src → core}/Math/Utils/arithmetic.js +0 -0
  129. /package/{src → core}/Math/Utils/checkers.js +0 -0
  130. /package/{src → core}/Math/Utils/comparaison.js +0 -0
  131. /package/{src → core}/Math/Utils/conversions.js +0 -0
  132. /package/{src → core}/Math/Utils/discret.js +0 -0
  133. /package/{src → core}/Math/Utils/index.js +0 -0
  134. /package/{src → core}/Math/Utils/mapfun.js +0 -0
  135. /package/{src → core}/Math/absract.js +0 -0
  136. /package/{src → core}/Math/const.js +0 -0
  137. /package/{src → core}/Math/index.js +0 -0
  138. /package/{src → core}/Reactivity/Events/Global/Click.js +0 -0
  139. /package/{src → core}/Reactivity/Events/Global/Clipboard.js +0 -0
  140. /package/{src → core}/Reactivity/Events/Global/CustomEvent.js +0 -0
  141. /package/{src → core}/Reactivity/Events/Global/Drag.js +0 -0
  142. /package/{src → core}/Reactivity/Events/Global/Focus.js +0 -0
  143. /package/{src → core}/Reactivity/Events/Global/Key.js +0 -0
  144. /package/{src → core}/Reactivity/Events/Global/Mouse.js +0 -0
  145. /package/{src → core}/Reactivity/Events/Global/Pointer.js +0 -0
  146. /package/{src → core}/Reactivity/Events/Global/Touch.js +0 -0
  147. /package/{src → core}/Reactivity/Events/Global/Wheel.js +0 -0
  148. /package/{src → core}/Reactivity/Events/Partiel/Hash.js +0 -0
  149. /package/{src → core}/Reactivity/Events/Partiel/Input.js +0 -0
  150. /package/{src → core}/Reactivity/Events/Partiel/MediaEvent.js +0 -0
  151. /package/{src → core}/Reactivity/Events/ZikoEvent.js +0 -0
  152. /package/{src → core}/Reactivity/Observer/index.js +0 -0
  153. /package/{src → core}/Reactivity/Observer/intersection.js +0 -0
  154. /package/{src → core}/Reactivity/Observer/mutation.js +0 -0
  155. /package/{src → core}/Reactivity/Observer/resize.js +0 -0
  156. /package/{src → core}/Reactivity/Use/Contexte/index.js +0 -0
  157. /package/{src → core}/Reactivity/Use/Contexte/useSuccesifKeys.js +0 -0
  158. /package/{src → core}/Reactivity/Use/Decorators/index.js +0 -0
  159. /package/{src → core}/Reactivity/Use/Interactions/index.js +0 -0
  160. /package/{src → core}/Reactivity/Use/Interactions/useBluetooth.js +0 -0
  161. /package/{src → core}/Reactivity/Use/Interactions/useChannel.js +0 -0
  162. /package/{src → core}/Reactivity/Use/Interactions/useEventEmmiter.js +0 -0
  163. /package/{src → core}/Reactivity/Use/Interactions/useSerial.js +0 -0
  164. /package/{src → core}/Reactivity/Use/Interactions/useThread.js +0 -0
  165. /package/{src → core}/Reactivity/Use/Interactions/useUsb.js +0 -0
  166. /package/{src → core}/Reactivity/Use/Sensors/index.js +0 -0
  167. /package/{src → core}/Reactivity/Use/Sensors/useBattery.js +0 -0
  168. /package/{src → core}/Reactivity/Use/Sensors/useCamera.js +0 -0
  169. /package/{src → core}/Reactivity/Use/Sensors/useGeolocation.js +0 -0
  170. /package/{src → core}/Reactivity/Use/Sensors/useMicro.js +0 -0
  171. /package/{src → core}/Reactivity/Use/Sensors/useOrientation.js +0 -0
  172. /package/{src → core}/Reactivity/Use/Storage/index.js +0 -0
  173. /package/{src → core}/Reactivity/Use/Storage/useCookie.js +0 -0
  174. /package/{src → core}/Reactivity/Use/Storage/useIndexedDb.js +0 -0
  175. /package/{src → core}/Reactivity/Use/Storage/useStorage.js +0 -0
  176. /package/{src → core}/Reactivity/Use/UI/index.js +0 -0
  177. /package/{src → core}/Reactivity/Use/UI/useCssLink.js +0 -0
  178. /package/{src → core}/Reactivity/Use/UI/useCssText.js +0 -0
  179. /package/{src → core}/Reactivity/Use/UI/useFavIcon.js +0 -0
  180. /package/{src → core}/Reactivity/Use/UI/useLinearGradient.js +0 -0
  181. /package/{src → core}/Reactivity/Use/UI/useMediaQuery.js +0 -0
  182. /package/{src → core}/Reactivity/Use/UI/useRadialGradient.js +0 -0
  183. /package/{src → core}/Reactivity/Use/UI/useStyle.js +0 -0
  184. /package/{src → core}/Reactivity/Use/UI/useTheme.js +0 -0
  185. /package/{src → core}/Reactivity/Use/UI/useTitle.js +0 -0
  186. /package/{src → core}/Reactivity/Use/index.js +0 -0
  187. /package/{src → core}/Reactivity/Use/todo.md +0 -0
  188. /package/{src → core}/Reactivity/index.js +0 -0
  189. /package/{src → core}/Time/animation.js +0 -0
  190. /package/{src → core}/Time/index.js +0 -0
  191. /package/{src → core}/Time/loop.js +0 -0
  192. /package/{src → core}/Time/utils/decorators.js +0 -0
  193. /package/{src → core}/Time/utils/ease.js +0 -0
  194. /package/{src → core}/Time/utils/index.js +0 -0
  195. /package/{src → core}/Time/utils/performance.js +0 -0
  196. /package/{src → core}/Time/utils/ui.js +0 -0
  197. /package/{src → core}/UI/CustomElement/Elements/Carousel/index.js +0 -0
  198. /package/{src → core}/UI/CustomElement/Elements/CodeNote/CodeNote.js +0 -0
  199. /package/{src → core}/UI/CustomElement/Elements/CodeNote/index.js +0 -0
  200. /package/{src → core}/UI/CustomElement/Elements/Columns.js +0 -0
  201. /package/{src → core}/UI/CustomElement/Elements/FAB.js +0 -0
  202. /package/{src → core}/UI/CustomElement/Elements/Menu.js +0 -0
  203. /package/{src → core}/UI/CustomElement/Elements/Notification.js +0 -0
  204. /package/{src → core}/UI/CustomElement/Elements/Popover.js +0 -0
  205. /package/{src → core}/UI/CustomElement/Elements/Popup.js +0 -0
  206. /package/{src → core}/UI/CustomElement/Elements/Swipper.js +0 -0
  207. /package/{src → core}/UI/CustomElement/Elements/Tabs/index.js +0 -0
  208. /package/{src → core}/UI/CustomElement/Elements/Timeline.js +0 -0
  209. /package/{src → core}/UI/CustomElement/Elements/Toast.js +0 -0
  210. /package/{src → core}/UI/CustomElement/Elements/Treeview.js +0 -0
  211. /package/{src → core}/UI/CustomElement/Elements/index.js +0 -0
  212. /package/{src → core}/UI/CustomElement/Flex.js +0 -0
  213. /package/{src → core}/UI/CustomElement/Grid.js +0 -0
  214. /package/{src → core}/UI/CustomElement/index.js +0 -0
  215. /package/{src → core}/UI/Embaded/index.js +0 -0
  216. /package/{src → core}/UI/Inputs/Primitives/elements.js +0 -0
  217. /package/{src → core}/UI/Inputs/camera.js +0 -0
  218. /package/{src → core}/UI/Inputs/index.js +0 -0
  219. /package/{src → core}/UI/List/elements.js +0 -0
  220. /package/{src → core}/UI/Media/Image/index.js +0 -0
  221. /package/{src → core}/UI/Media/index.js +0 -0
  222. /package/{src → core}/UI/Style/index.js +0 -0
  223. /package/{src → core}/UI/Table/elements.js +0 -0
  224. /package/{src → core}/UI/Table/index.js +0 -0
  225. /package/{src → core}/UI/Table/utils.js +0 -0
  226. /package/{src → core}/UI/Text/index.js +0 -0
  227. /package/{src → core}/UI/Text/pre.js +0 -0
  228. /package/{src → core}/UI/Utils/index.js +0 -0
  229. /package/{src → core}/__proto__/Array.js +0 -0
  230. /package/{src → core}/__proto__/Function.js +0 -0
  231. /package/{src → core}/__proto__/Number.js +0 -0
  232. /package/{src → core}/__proto__/Object.js +0 -0
  233. /package/{src → core}/__proto__/String.js +0 -0
package/dist/ziko.min.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  Project: ziko.js
3
3
  Author: Zakaria Elalaoui
4
- Date : Mon Mar 18 2024 11:29:55 GMT+0000 (UTC)
4
+ Date : Thu Mar 21 2024 19:27:32 GMT+0000 (UTC)
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 r extends e{constructor(t=0,e=0){super(),t instanceof r?(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=f(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*v(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=f(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/v(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*x(t.phi),this.a=t.z*F(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}get clone(){return new r(this.a,this.b)}get z(){return q(this.a,this.b)}get phi(){return z(this.b,this.a)}static Zero(){return new r(0,0)}get conj(){return new r(this.a,-this.b)}get inv(){return new r(this.a/(g(this.a,2)+g(this.b,2)),-this.b/(g(this.a,2)+g(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a+=+n(...e).toFixed(15),this.b+=+n(...s).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a-=+n(...e).toFixed(15),this.b-=+n(...s).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+i(this.z,...t.map((t=>t.z))).toFixed(15),s=+n(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*x(s).toFixed(15)).toFixed(14),this.b=+(e*F(s).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+(this.z/i(...t.map((t=>t.z)))).toFixed(15),s=+(this.phi-n(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*x(s).toFixed(15)).toFixed(15),this.b=+(e*F(s).toFixed(15)).toFixed(15),this}pow(t){if(N(t)===t&&t>0){let e=+(this.z**t).toFixed(15),r=+(this.phi*t).toFixed(15);this.a=+(e*x(r).toFixed(15)).toFixed(15),this.b=+(e*F(r).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new r(+(t*x(e)).toFixed(13),+(t*F(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 s(t**this.a*x(this.b*w(t)),t**this.a*F(this.b*w(t)))}sqrtn(t=2){return s(y(this.z,t)*x(this.phi/t),y(this.z,t)*F(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return s(this.z,this.phi)}get cos(){return s(x(this.a)*T(this.b),F(this.a)*I(this.b))}get sin(){return s(F(this.a)*T(this.b),x(this.a)*I(this.b))}get tan(){const t=x(2*this.a)+T(2*this.b);return s(F(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 s=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((r,n)=>s(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 r=t.arr.map(((r,n)=>s(t.arr[n],e.arr[n])));return new ot(t.rows,t.cols,...r)}return new r(t,e)},n=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e+=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(n(...t[r])):t[r]instanceof Object&&e.push(n(...Object.values(t[r])));return 1===e.length?e[0]:e},i=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e*=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(i(...t[r])):t[r]instanceof Object&&e.push(i(...Object.values(t[r])));return 1===e.length?e[0]:e},o=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).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 r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).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 r=0;r<t.length;r++)t[r]instanceof Array?e.push(h(...t[r])):t[r]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 r=e[0];for(let s=1;s<9;s++)r+=e[s]/(t+s);const s=t+7+.5;return+(Math.sqrt(2*Math.PI)*Math.pow(s,t+.5)*Math.exp(-s)*r).toFixed(10)},u=(t,e)=>{let r=0;for(let s=0;s<100;s++){r+=Math.pow(-1,s)*Math.pow(e/2,t+2*s)/($(s)*$(t+s))}return r},m=(t,e)=>{let r=0;const s=r=>Math.pow(r,t-1)*Math.pow(1-r,e-1);r+=.5*(s(0)+s(1));for(let t=1;t<1e3;t++){r+=s(0+.001*t)}return.001*r},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),f=(...t)=>mt(Math.sqrt,...t),g=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof r?r.fromExpo(t**e.a,e.b*w(t)):mt((e=>g(t,e)),...e);if(t instanceof r)return"number"==typeof e?r.fromExpo(t.z**e,t.phi*e):e instanceof r?r.fromExpo(t.z**e.a*b(-t.phi*e.b),w(t.z)*e.b+e.a*t.phi):mt((e=>g(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>g(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},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 r)return"number"==typeof e?r.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 r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>y(t[s],e)),...e));return r}}},b=(...t)=>mt(Math.exp,...t),w=(...t)=>mt(Math.log,...t),x=(...t)=>mt(p.cos,...t),F=(...t)=>mt(p.sin,...t),v=(...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),B=(...t)=>mt(p.asin,...t),_=(...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),V=(...t)=>mt(p.asinh,...t),j=(...t)=>mt(p.atanh,...t),R=(...t)=>mt(Math.ceil,...t),N=(...t)=>mt(Math.floor,...t),P=(...t)=>mt(Math.round,...t),z=(t,e,r=!0)=>{if("number"==typeof t)return"number"==typeof e?r?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:mt((e=>z(t,e,r)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>z(t,e,r)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},$=(...t)=>mt((t=>{let e,r=1;if(0==t)r=1;else if(t>0)for(e=1;e<=t;e++)r*=e;else r=NaN;return r}),...t),H=(...t)=>mt(Math.sign,...t),U=(...t)=>mt((t=>1/(1+b(-t))),...t),q=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?mt(Math.hypot,...t):void 0,W=t=>{const e=[],r=2**t.length;for(let s=0;s<r;s+=1){const r=[];for(let e=0;e<t.length;e+=1)s&1<<e&&r.push(t[e]);e.push(r)}return e},Z=null,X={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(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"),r=e[0],s=2**(+("0b"+e.slice(1,9))-127);return(-1)**r*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),r=e[0],s=2**(+("0b"+e.slice(1,12))-1023);return(-1)**r*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s}},K={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(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)?K._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?K._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?K._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 r=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===r.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return K.not(K.xor(t,e))}};class Y{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const r=[];let s;return s=this.withDiscount(t,e-1),t.forEach((t=>{s.forEach((e=>{r.push([t].concat(e))}))})),r}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],r=this.withoutDiscount(t.slice(1)),s=t[0];for(let t=0;t<r.length;t++){const n=r[t];for(let t=0;t<=n.length;t++){const r=n.slice(0,t),i=n.slice(t);e.push(r.concat([s],i))}}return e}}class G{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withDiscount(t.slice(n),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withoutDiscount(t.slice(n+1),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}}const Q={Logic:K,Base:X,Permutation:Y,Combinaison:G,combinaison:(t,e,r=!1)=>G[r?"withDiscount":"withoutDiscount"](t,e),powerSet:W,subSet:Z};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 r=new Array(100);e=Ut.accum(...e).map((t=>100*t)),r.fill(t[0],0,e[0]);for(let s=1;s<t.length;s++)r.fill(t[s],e[s-1],e[s]);return r[this.int(r.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:r,arr:s}=t;return at(e,r,s.flat().sort((()=>.5-Math.random())))}static floats(t,e,r){return new Array(t).fill(0).map((()=>this.float(e,r)))}static ints(t,e,r){return new Array(t).fill(0).map((()=>this.int(e,r)))}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,r){return new Array(t).fill(0).map((()=>this.choice(e,r)))}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 r(this.float(t[0],t[1]),this.float(e[0],e[1])):new r(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new r(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new r(...this.bins(2))}static complexOct(){return new r(...this.octs(2))}static complexDec(){return new r(...this.decs(10))}static complexHex(){return new r(...this.octs(2))}static complexes(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complex(e,r)))}static complexesInt(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complexInt(e,r)))}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,r,s){return at(t,e,this.floats(t*e,r,s))}static matrixInt(t,e,r,s){return at(t,e,this.ints(t*e,r,s))}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,r,s){return at(t,e,this.complexes(t*e,r,s))}static matrixComplexInt(t,e,r,s){return at(t,e,this.complexesInt(t*e,r,s))}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,r=new Array(e).fill(0).map((()=>new Array(e).fill(0))),s=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+=r[n][t]*s[t][i];s[n][i]=t[n][i]-e}for(let i=n;i<e;i++)if(n==i)r[n][n]=1;else{let e=0;for(let t=0;t<n;t++)e+=r[i][t]*s[t][n];r[i][n]=(t[i][n]-e)/s[n][n]}}return[r,s].map((t=>new ot(t)))},et=(t,e)=>t.reduce(((t,r,s)=>t+r*e[s]),0),rt=t=>Math.sqrt(t.reduce(((t,e)=>t+e*e),0)),st=t=>t.map((e=>e/rt(t))),nt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=t[0].length,s=[],n=[];for(let t=0;t<e;t++)n.push(new Array(r).fill(0));for(let i=0;i<r;i++){let r=t.map((t=>t[i]));for(let o=0;o<i;o++){const a=s[o],h=et(a,t.map((t=>t[i])));for(let t=0;t<e;t++)r[t]-=h*a[t];n[o][i]=h}const o=rt(r);s.push(st(r)),n[i][i]=o}return[s,n].map((t=>new ot(t)))},it=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let s=0;s<e;s++)for(let e=0;e<=s;e++){let n=0;for(let t=0;t<e;t++)n+=r[s][t]*r[e][t];r[s][e]=s===e?Math.sqrt(t[s][s]-n):1/r[e][e]*(t[s][e]-n)}return new ot(r)};class ot extends e{constructor(t,e,r=[]){if(super(),t instanceof ot)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let s,n,i=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,i=arguments[0];else for(s=0;s<t;s++)for(i.push([]),i[s].push(new Array(e)),n=0;n<e;n++)i[s][n]=r[s*e+n],null==r[s*e+n]&&(i[s][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 r=0;r<t;r++)for(let s=0;s<t;s++)e.arr[r][s]=r===s?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,r){if(-1==e)return this.arr[t]=r;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=r[t]||0;return this.arr}return this.arr[t][e]=r}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,r=ot.mul(e,t),s=ot.dot(t,e);return 0==ot.sub(r,s).max&&0==ot.sub(r,s).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 r=0;r<this.arr.length;r++)t[e][r]=this.arr[r][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 r=[];for(let e=0;e<t.length;e++)r.push(t[e].slice(0));r.splice(0,1);for(let t=0;t<r.length;t++)r[t].splice(e,1);return r}return function e(r){if(2==r.length)return r.flat(1).some((t=>t instanceof ot))?void console.warn("Tensors are not completely supported yet ..."):Ut.sub(Ut.mul(r[0][0],r[1][1]),Ut.mul(r[0][1],r[1][0]));for(var s=0,n=0;n<r.length;n++){const i=Ut.add(Ut.mul(g(-1,n),Ut.mul(r[0][n],e(t(r,n)))));s=Ut.add(s,i)}return s}(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,r=0,s=0,n=t.length,i=0,o=[],a=[];for(e=0;e<n;e+=1)for(o[o.length]=[],a[a.length]=[],s=0;s<n;s+=1)o[e][s]=e==s?1:0,a[e][s]=t[e][s];for(e=0;e<n;e+=1){if(0==(i=a[e][e])){for(r=e+1;r<n;r+=1)if(0!=a[r][e]){for(s=0;s<n;s++)i=a[e][s],a[e][s]=a[r][s],a[r][s]=i,i=o[e][s],o[e][s]=o[r][s],o[r][s]=i;break}if(0==(i=a[e][e]))return}for(s=0;s<n;s++)a[e][s]=a[e][s]/i,o[e][s]=o[e][s]/i;for(r=0;r<n;r++)if(r!=e)for(i=a[r][e],s=0;s<n;s++)a[r][s]-=i*a[e][s],o[r][s]-=i*o[e][s]}return o}(this.arr);return new ot(this.rows,this.cols,t.flat(1))}static zeros(t,e){let r=new ot(t,e);for(let n=0;n<t;n++)for(var s=0;s<e;s++)r.arr[n][s]=0;return r}static ones(t,e){let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=1;return r}static nums(t,e,r){let s=new ot(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)s.arr[n][t]=r;return s}static get rand(){return{int:(t,e,r,s)=>{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(r,s);return n},bin:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randBin;return r},hex:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randHex;return r},choices:(t,e,r,s)=>{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(r,s);return n},permutation:(t,e,r)=>{}}}static rands(t,e,r=1,s){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(r,s);return n}map(t,e,r,s){return Ut.map(this,t,e,r,s)}lerp(t,e){return Ut.lerp(this,t,e)}norm(t,e){return Ut.norm(this,t,e)}clamp(t,e){return Ut.clamp(this,t,e)}static map(t,e,r,s,n){return Ut.map(t,e,r,s,n)}static lerp(t,e,r){return Ut.lerp(t,e,r)}static norm(t,e,r){return Ut.norm(t,e,r)}static clamp(t,e,r){return Ut.clamp(at,e,r)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let r=0;r<this.rows;r++)this.arr[e][r]=+this.arr[e][r].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))),r=this.arr.filter(((t,r)=>!0===e[r]));return 0===r.length&&r.push([]),console.log(r),new ot(r)}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 r=0;r<this.rows;r++)for(let s=this.cols;s<this.cols+t.cols;s++)e[r][s]=t.arr[r][s-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 r=this.rows;r<this.rows+t.rows;r++){e[r]=[];for(let s=0;s<this.cols;s++)e[r][s]=t.arr[r-this.rows][s]}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,r=this.rows-1,s=this.cols-1){let n=r-t,i=s-e,o=new Array(i);for(let r=0;r<n;r++){o[r]=[];for(let s=0;s<i;s++)o[r][s]=this.arr[r+t][s+e]}return new ot(n,i,o.flat(1))}static slice(t,e=0,r=0,s=this.rows-1,n=this.cols-1){return t.slice(e,r,s,n)}splice(t,e,r,...s){}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,r=e+1){return t.slice(e,0,r,t.cols)}static getCols(t,e,r=e+1){return t.slice(0,e,t.rows,r)}add(...t){for(let s=0;s<t.length;s++){("number"==typeof t[s]||t[s]instanceof r)&&(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]=Ut.add(this.arr[r][e],t[s].arr[r][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(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]=Ut.sub(this.arr[s][e],t[r].arr[s][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 s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(var e=0;e<this.rows;e++)for(var r=0;r<this.cols;r++)this.arr[e][r]=Ut.mul(this.arr[e][r],t[s].arr[e][r])}return new ot(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(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]=Ut.div(this.arr[s][e],t[r].arr[s][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 r=0;r<t.length;r++){"number"==typeof t[r]&&(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]=Ut.modulo(this.arr[s][e],t[r].arr[s][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=[],r=0;r<this.arr.length;r++){e[r]=[];for(var s=0;s<t.arr[0].length;s++){e[r][s]=0;for(var n=0;n<this.arr[0].length;n++)e[r][s]=Ut.add(e[r][s],Ut.mul(this.arr[r][n],t.arr[n][s]))}}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,r=this.clone;for(let s=0;s<t-1;s++)r=r.dot(e);return r}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.cols;r++)t+=this.arr[e][r];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof r))}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 r=0;r<this.cols;r++)t.push(this.arr[e][r]);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"))),r=this.arr.map((t=>t.map((()=>document.createElement("td")))));for(let t=0;t<r.length;t++)for(let s=0;s<r[0].length;s++)r[t][s].innerHTML=this.arr[t][s],e[t].appendChild(r[t][s]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let r=Grid();return r.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),r.Columns(this.cols),r}sortTable(t=0,{type:e="num",order:r="asc"}={}){var s=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"===r?s[t].sort(((t,e)=>t.x-e.x)):"desc"===r?s[t].sort(((t,e)=>e.x-t.x)):"toggle"===r&&(s[t][0].x>s[t][1].x?s[t].sort(((t,e)=>e.x-t.x)):s[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===r?s[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===r&&s[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),r=s[t].map((t=>t.y));for(let e=0;e<s.length;e++)e!==t&&s[e].map(((t,e)=>t.y=r[e]));for(let e=0;e<s.length;e++)e!==t&&n[e].map(((t,n)=>t.x=s[e][r[n]].x));n[t]=s[t];var i=n.map((t=>t.map((t=>t.x))));return new ot(i).T}}const at=(t,e,r)=>new ot(t,e,r),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 r){const[r,n,i,o]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return s(w(i),o);case Math.exp:return s(b(r)*x(n),b(r)*F(n));case Math.abs:return i;case Math.sqrt:return s(f(i)*x(o/2),f(i)*F(o/2));case p.cos:return s(x(r)*T(n),-F(r)*I(n));case p.sin:return s(F(r)*T(n),x(r)*I(n));case p.tan:{const t=x(2*r)+T(2*n);return s(F(2*r)/t,I(2*n)/t)}case p.cosh:return s(T(r)*x(n),I(r)*F(n));case p.sinh:return s(I(r)*x(n),T(r)*F(n));case p.tanh:{const t=T(2*r)+x(2*n);return s(I(2*r)/t,F(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 r)return s(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 r||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,r)=>bt(t,e[r])))}}},dt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof r)return s(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 r||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,r)=>wt(t,e[r])))}}},ft=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof r)return s(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=>xt(t,e)))}else{if(t instanceof r||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=>xt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>xt(t,e[r])))}}},gt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof r)return s(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=>Ft(t,e)))}else{if(t instanceof r||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=>Ft(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>Ft(t,e[r])))}}},yt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof r)return s(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=>Ft(t,e)))}else{if(t instanceof r||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 r=t;for(let t=0;t<e.length;t++)r=pt(r,e[t]);return r},wt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=dt(r,e[t]);return r},xt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=ft(r,e[t]);return r},Ft=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=gt(r,e[t]);return r},vt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=yt(r,e[t]);return r},{PI:Ct,E:Et}=Math,kt=Number.EPSILON,At=t=>new Array(t).fill(0),Dt=t=>new Array(t).fill(1),Bt=(t,e)=>new Array(e).fill(t),_t=(t,e,s)=>{if("number"==typeof t)return e!==s?(t-e)/(s-e):0;if(t instanceof ot)return new ot(t.rows,t.cols,_t(t.arr.flat(1),e,s));if(t instanceof r)return new r(_t(t.a,e,s),_t(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>_t(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=_t(t[r])}}},Mt=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof ot)return new ot(t.rows,t.cols,Mt(t.arr.flat(1),e,s));if(t instanceof r)return new r(Mt(t.a,e,s),Mt(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Mt(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=Mt(t[r])}}},Tt=(t,e,s,n,i)=>{if("number"==typeof t)return Mt(_t(t,e,s),n,i);if(t instanceof ot)return new ot(t.rows,t.cols,Tt(t.arr.flat(1),e,s,n,i));if(t instanceof r)return new r(Tt(t.a,s,n,i),Tt(t.b,e,s,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Tt(t,e,s,n,i)));{let r=new Array(t.length);for(let o=0;o<t.length;o++)r[o]=Tt(t[o],e,s,n,i)}}},It=(t,e,s)=>{const[n,i]=[o(e,s),a(e,s)];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 r)return new r(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 r=0;r<t.length;r++)e[r]=It(t[r],n,i)}}},St=(t,e,r,s=!1)=>{let n=[];if(t<e)for(let i=t;s?i<=e:i<e;i+=r)n.push(10*i/10);else for(let i=t;s?i>=e:i>e;i-=r)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[r,s]=[t,e].sort(((t,e)=>e-t));var o=[];let h;h=i?(r-s)/(n-1):(r-s)/n;for(var a=0;a<n;a++)t<e?o.push(s+h*a):o.push(r-h*a);return o}if([t,e].some((t=>t instanceof r))){const r=s(t),o=s(e);n=n||Math.abs(r.a-o.a)+1;const a=Lt(r.a,o.a,n,i),h=Lt(r.b,o.b,n,i);let l=new Array(n).fill(null);return l=l.map(((t,e)=>s(a[e],h[e]))),l}}},Ot=(t,e,r=e-t+1,s=Et,n=!0)=>Lt(t,e,r,n).map((t=>g(s,t))),Vt=(t,e,n=d(e-t)+1,i=!0)=>{if(Math.floor(n)===n){if([t,e].every((t=>"number"==typeof t))){const[r,s]=[t,e].sort(((t,e)=>e-t));let o;o=y(r/s,i?n-1:n);const a=[s];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 r))){const r=s(t),o=s(e);let a;n=n||Math.abs(r.a-o.a)+1,a=y(o.div(r),i?n-1:n);const h=[r];for(let t=1;t<n;t++)h.push(xt(h[t-1],a));return h}}},jt=(...t)=>mt((t=>t*Math.PI/180),...t),Rt=(...t)=>mt((t=>t/Math.PI*180),...t),Nt=(t,e,r)=>{const[s,n]=[Math.min(e,r),Math.max(e,r)];return t>=s&&t<=n},Pt=(t,e,r=1e-4)=>Math.abs(t-e)<=r,zt=(t,e)=>t.reduce(((t,r)=>[...t,...e.map((t=>[r,t]))]),[]),$t=(t,e)=>{let r,s=1;if(t==N(t)&&e==N(e)){for(r=2;r<=t&&r<=e;++r)t%r==0&&e%r==0&&(s=r);return s}console.log("error")},Ht=(t,e)=>{let r;if(t==N(t)&&e==N(e)){for(r=t>e?t:e;r%t!=0||r%e!=0;)++r;return r}console.log("error")},Ut={add:bt,sub:wt,mul:xt,div:Ft,modulo:vt,zeros:At,ones:Dt,nums:Bt,norm:_t,lerp:Mt,map:Tt,clamp:It,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,sum:n,prod:i,accum:h,cartesianProduct:zt,ppcm:Ht,pgcd:$t,deg2rad:jt,rad2deg:Rt,inRange:Nt,isApproximatlyEqual:Pt},qt=t=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*x(s)+t[e].b*F(s),o+=-t[e].a*F(s)+t[e].b*x(s)}i/=n,o/=n,e[r]=s(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=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*x(s)+t[e].b*F(s),o+=t[e].a*F(s)+t[e].b*x(s)}i/=n,o/=n,e[r]=s(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))}},Zt=(t,e,r=!0)=>{const s=t.length,n=e.length,i=[],o=r?Math.max(s,n):s+n-1;for(let r=0;r<o;r++){let o=0;for(let i=0;i<n;i++){const a=r+i-Math.floor(n/2);o+=(a>=0&&a<s?t[a]:0)*e[i]}i.push(o)}return i},Xt=(t,e,r=!0)=>{t instanceof ot||(t=at(t)),e instanceof ot||(e=at(e));const s=t.rows,n=t.cols,i=r?Math.max(t.rows,e.rows):t.rows+e.rows-1,o=r?Math.max(t.cols,e.cols):t.cols+e.cols-1,a=e.rows,h=[];for(let r=0;r<i;r++){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=r+i-Math.floor(a/2),u=h+l-Math.floor(a/2);o+=(c>=0&&c<s&&u>=0&&u<n?t[c][u]:0)*e[i][l]}i.push(o)}h.push(i)}return h},Kt=(t,e,r)=>t instanceof ot||t instanceof Array&&t[0][0]?Xt(t,e,r):Zt(t,e,r);class Yt{constructor(t){this.input=t,this.input_fft=qt(this.input),this.output_fft=[]}lowPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z<t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}highPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z>t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}bandePass(){}bandeCoupe(){}}const Gt={zeros:At,ones:Dt,nums:Bt,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,map:Tt,norm:_t,lerp:Mt,clamp:It,noise:(t,e=0,r=1)=>J.floats(t,e,r),echelon(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?1:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rampe(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?t-e:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sign(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>Math.sign(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rect(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},tri(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},dirac:(t,e)=>mt((t=>t===e?1/0:0),...t),lorentz(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>1/(1+(t-e)**2)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sinc(t,e,r=1){t instanceof Array||(t=[t]);const s=mt((t=>E(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},square(t,e=1,r=1){t instanceof Array||(t=[t]);const s=mt((t=>H(F(2*t*Math.PI/e))),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sawtooth(){},conv:Kt,conv1d:Zt,conv2d:Xt,circularConv:(t,e)=>Kt(t,e,!0),linearConv:(t,e)=>Kt(t,e,!1),circularConv1d:(t,e)=>Zt(t,e,!0),linearConv1d:(t,e)=>Zt(t,e,!1),circularConv2d:(t,e)=>Xt(t,e,!0),linearConv2d:(t,e)=>Xt(t,e,!1),fft:qt,ifft:Wt,filter:t=>new Yt(t)},Qt={PI:Ct,E:Et,EPSILON:kt,Random:J,complex:s,Complex:r,Matrix:ot,LinearSystem:ut,matrix:at,matrix2:ht,matrix3:lt,matrix4:ct,cos:x,sin:F,tan:v,sinc:E,sec:C,csc:k,cot:A,abs:d,sqrt:f,pow:g,sqrtn:y,e:b,ln:w,acos:D,asin:B,atan:_,acot:M,cosh:T,sinh:I,tanh:S,coth:L,acosh:O,asinh:V,atanh:j,min:o,max:a,sign:H,floor:N,ceil:R,round:P,fact:$,hypot:q,sig:U,atan2:z,Utils:Ut,mapfun:mt,nums:Bt,zeros:At,ones:Dt,sum:n,prod:i,add:bt,mul:xt,div:Ft,sub:wt,modulo:vt,rad2deg:Rt,deg2rad:jt,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,norm:_t,lerp:Mt,map:Tt,clamp:It,pgcd:$t,ppcm:Ht,isApproximatlyEqual:Pt,inRange:Nt,cartesianProduct:zt,Discret:Q,Logic:K,Base:X,Permutation:Y,Combinaison:G,powerSet:W,subSet:Z,Signal:Gt,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}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:r=null}={}){return"parent"===e||0===e?((t,e)=>{t&&Object.assign(t.style,e)})(this.target.element,t):"parent"!==e&&0!==e||(r?this.items.map(((e,s)=>1==r[s]&&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 r=this.styles.get(t);return r?this.styles.set(t,Object.assign(r,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:r,maskVector:s}={}){return this.style({width:t,height:e},{target:r,maskVector:s}),this}width(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minWidth:s,maxWidth:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({width:t},{target:e,maskVector:r});return this}height(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minHeight:s,maxHeight:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({height:t},{target:e,maskVector:r});return this}enableResize(t=!1,e=!1,{target:r,maskVector:s}={}){let n="none";return n=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:n,overflow:"hidden"},{target:r,maskVector:s}),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:r}={}){if("number"==typeof t){const s=()=>this.hide({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:r});return this}show({after:t,target:e,maskVector:r}={}){if("number"==typeof t){const s=()=>this.show({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:r});return this}color(t,{target:e,maskVector:r}={}){return this.style({color:t},{target:e,maskVector:r}),this}background(t,{target:e,maskVector:r}={}){return this.style({background:t},{target:e,maskVector:r}),this}backgroundColor(t,{target:e,maskVector:r}={}){return this.style({backgroundColor:t},{target:e,maskVector:r}),this}opacity(t,{target:e,maskVector:r}={}){return this.style({opacity:t},{target:e,maskVector:r}),this}position(t,{target:e,maskVector:r}={}){return this.style({position:t},{target:e,maskVector:r}),this}display(t,{target:e,maskVector:r}={}){return this.style({display:t},{target:e,maskVector:r}),this}zIndex(t,{target:e,maskVector:r}={}){return this.style({zIndex:t},{target:e,maskVector:r}),this}float(t,{target:e,maskVector:r}={}){return this.style({float:t},{target:e,maskVector:r}),this}border(t="1px solid red",{target:e,maskVector:r}={}){return this.style({border:t},{target:e,maskVector:r}),this}borderTop(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderTop:t},{target:e,maskVector:r}),this}borderRight(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderRight:t},{target:e,maskVector:r}),this}borderBottom(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderBottom:t},{target:e,maskVector:r}),this}borderLeft(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderLeft:t},{target:e,maskVector:r}),this}borderRadius(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({borderRadius:t},{target:e,maskVector:r}),this}margin(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({margin:t},{target:e,maskVector:r}),this}marginTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginTop:t},{target:e,maskVector:r}),this}marginRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginRight:t},{target:e,maskVector:r}),this}marginBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginBootom:t},{target:e,maskVector:r}),this}marginLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginLeft:t},{target:e,maskVector:r}),this}padding(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({padding:t},{target:e,maskVector:r}),this}paddingTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingTop:t},{target:e,maskVector:r}),this}paddingRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingRight:t},{target:e,maskVector:r}),this}paddingBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingBootom:t},{target:e,maskVector:r}),this}paddingLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingLeft:t},{target:e,maskVector:r}),this}font(t,{target:e,maskVector:r}={}){return this.style({font:t},{target:e,maskVector:r}),this}fontFamily(t="",{target:e,maskVector:r}={}){return this.style({fontFamily:t},{target:e,maskVector:r}),this}fontSize(t,{target:e,maskVector:r}={}){return this.style({fontSize:t},{target:e,maskVector:r}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e,{target:r,maskVector:s}={}){const n=["hidden","auto"];return this.style({overflowX:"number"==typeof t?n[t]:t,overflowY:"number"==typeof e?n[e]:e},{target:r,maskVector:s}),this}clip(t,{target:e,maskVector:r}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:r}),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}#r(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,r=0,s=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,r),this.#r(s),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#r(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#r(e),this}translateZ(t,e=0){const r=-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/r),this.#r(e),this}perspective(t,e=0){const r=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/t),this.cache.transformation.matrix.set(3,3,1-r/t),this.#r(e),this}scale(t,e=t,r=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.#r(r),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skew(t,e=t,r=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.#r(r),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,x(t)),this.cache.transformation.matrix.set(1,2,-F(t)),this.cache.transformation.matrix.set(2,1,F(t)),this.cache.transformation.matrix.set(1,2,x(t)),this.#r(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,x(t)),this.cache.transformation.matrix.set(0,2,F(t)),this.cache.transformation.matrix.set(2,0,-F(t)),this.cache.transformation.matrix.set(2,2,x(t)),this.#r(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,x(t)),this.cache.transformation.matrix.set(0,1,-F(t)),this.cache.transformation.matrix.set(1,0,F(t)),this.cache.transformation.matrix.set(1,1,x(t)),this.#r(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:r="auto"}={}){return this.style({transition:t+"s",width:e,height:r,visibility:"visible"}),this}slideOut({t:t=1,width:e=0,height:r=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:r});const s=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",s),this.target.element.removeEventListener("transitionend",s),this}}function ee(t,e,r,s){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),r&&r(),this.cache.stream.enabled[e]&&s&&this.cache.stream.history[e].push(s),this.cache.callbacks[e].map((t=>t(this))),this}class re{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,r){const s="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(r),this.targetElement.addEventListener(s,e),this}__onEvent(t,e,...r){if(0===r.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=r.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 se(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,r=this.dy,s=this.ux,n=this.uy,i=(s-e)/this.target.Width,o=(r-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 re{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:se.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 re{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:fe.bind(this),out:ye.bind(this),leave:ge.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,r=this.dy,s=this.ux,n=this.uy,i=(s-e)/this.target.Width,o=(r-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 fe(t){ee.call(this,t,"enter",null,null)}function ge(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 xe(t){ee.call(this,t,"wheel",null,null)}class Fe extends re{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:xe.bind(this)}}onWheel(...t){return this.__onEvent("wheel",{},...t),this}}const ve=t=>new Fe(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 re{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 Be(t){ee(this,t,"start",null)}function _e(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 re{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:Be.bind(this),drag:_e.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 re{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 Ve(t){ee.call(this,t,"click",null,null)}function je(t){ee.call(this,t,"dbclick",null,null)}class Re extends re{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:Ve.bind(this),dbclick:je.bind(this)}}onClick(...t){return this.__onEvent("click",{},...t),this}onDbClick(...t){return this.__onEvent("dbclick",{},...t),this}}const Ne=t=>new Re(t);function Pe(t){ee.call(this,t,"copy",null,null)}function ze(t){ee.call(this,t,"cut",null,null)}function $e(t){ee.call(this,t,"paste",null,null)}function He(t){ee.call(this,t,"select",null,null)}class Ue extends re{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:Pe.bind(this),cut:ze.bind(this),paste:$e.bind(this),select:He.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 qe=t=>new Ue(t);function We(t){ee.call(this,t,"focus",null,null)}function Ze(t){ee.call(this,t,"blur",null,null)}class Xe extends re{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:We.bind(this),blur:Ze.bind(this)}}onFocus(...t){return this.__onEvent("focus",{},...t),this}onBlur(...t){return this.__onEvent("blur",{},...t),this}}const Ke=t=>new Xe(t);function Ye(t){ee.call(this,t,"input",null,null)}function Ge(t){ee.call(this,t,"change",null,null)}class Qe extends re{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:Ye.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 tr(t){ee.call(this,t,"hashchange",null,null)}class er extends re{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:tr.bind(this)}}onChange(...t){return this.__onEvent("hashchange",{},...t),this}}const rr=t=>new er(t),sr=t=>new sr,nr={Pointer:ce,Mouse:we,Wheel:ve,Key:De,Drag:Le,Drop:Oe,Click:Ne,Clipboard:qe,Focus:Ke,Input:Je,HashEvent:rr,CustomEvent:CustomEvent,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class ir{constructor(t,e,{threshold:r=0,margin:s=0}={}){this.target=t,this.config={threshold:r,margin:s},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}}class or{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}}class ar{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}#s(t){const e=Object.keys(this.styles);for(let r in this.styles[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,this.styles[e[t]][r]),this.keys.add(r);return this}#n(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}#i(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.#s(t),"string"==typeof t&&this.#n(t),t instanceof Object&&this.#i(t),this}}const hr={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"}},lr={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"}},cr={...hr,...lr};class ur{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(cr);for(let r in cr[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,cr[e[t]][r]);return this}useThemeName(t){t=t.toLowerCase();const e=Object.fromEntries(Object.entries(cr).map((t=>[t[0].toLowerCase(),t[1]])));for(let r in e[t])document.documentElement.style.setProperty(`--${r}-${this.id}`,e[t][r]);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}}class mr{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 r=s=>{this.off(t,r),e(s)};this.on(t,r)}off(t,e){const r=this.events[t];if(r){const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}emit(t,e){const r=this.events[t];r&&r.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 pr=()=>new mr;class dr{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=pr(),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}}class fr{constructor(t,e=!0){this.#o(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#o(){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=pr(),this}}class gr{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.#a(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#h(),this}#h(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const r=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),s=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);r&&s&&s(r)},this}#a(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 yr=t=>new gr(t);class br{#l;constructor(){this.#l=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.#l],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,r=!0){return this.worker.postMessage({fun:t.toString(),close:r}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}class wr{constructor(t={acceptAllDevices:!0}){this.options=t,this.__Emitter__=pr(),this.isSupported&&this.#o()}async#o(){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"),r=await e.getCharacteristic("battery_level"),s=await r.readValue();t(await s.getUint8(0))}}class xr{constructor(){this.isSupported&&this.#o()}async#o(){this.__Battery__=await navigator.getBattery()}get isSupported(){return!!navigator.getBattery}get current(){const{level:t,charging:e,chargingTime:r,dischargingTime:s}=this.__Battery__;return{level:t,charging:e,chargingTime:r,dischargingTime:s}}onChargingChange(t){return this.__Battery__.addEventListener("chargingchange",t),this}onLevelChange(t){return this.__Battery__.addEventListener("levelchange",t),this}}class Fr{constructor(){this.isSupported&&this.#o()}async#o(){navigator.geolocation.getCurrentPosition((t=>this.__Geolocation__=t))}get isSupported(){return!!navigator.geolocation}get current(){return this.__Geolocation__}}class vr{constructor(t,{fps:e,step:r,t:s=[0,null],start:n=!0}={}){this.callback=t,this.cache={isRunning:!1,AnimationId:null,startTime:null,step:r,fps:e,t:s,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]&&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 Cr=(t,e)=>new vr(t,e),Er={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-Er.OutBounce(1-t),OutBounce(t){const e=7.5625,r=2.75;return t<1/r?e*t*t:t<2/r?e*(t-=1.5/r)*t+.75:t<2.5/r?e*(t-=2.25/r)*t+.9375:e*(t-=2.625/r)*t+.984375},InOutBounce:t=>t<.5?(1-Er.OutBounce(1-2*t))/2:(1+Er.OutBounce(2*t-1))/2},kr=(t,e=1e3)=>(...r)=>setTimeout((()=>t(...r)),e),Ar=(t,e)=>{let r=0;return(...s)=>{const n=(new Date).getTime();n-r<e||(r=n,t(...s))}},Dr=t=>{const e=Date.now(),r=performance.memory.usedJSHeapSize,s=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-r,result:s}},Br=t=>new Promise((e=>{if(t.element)return e(t.element);const r=new MutationObserver((()=>{t.element&&(e(t.element),r.disconnect())}));r.observe(document.body,{childList:!0,subtree:!0})})),_r=(t,e=2e3)=>{const r=Date.now();for(;Date.now()-r<e;)if(t.element)return t.element},Mr=t=>new Promise((e=>setTimeout(e,t))),Tr=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};class Ir{constructor(t,{ease:e=Er.Linear,step:r=50,t:s=[0,null],start:n=!0,duration:i=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:r,intervall:s,started:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#c(){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}#u(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#c.bind(this),this.cache.step)),this}start(){return this.#u(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#u(!1),this}stop(){return this.pause(),this.reset(!1),this}}const Sr=(t,e)=>new Ir(t,e),Lr={wait:Mr,timeTaken:Tr,useThrottle:Ar,useDebounce:kr,Ease:Er,time_memory_Taken:Dr,loop:Cr,animation:Sr,waitForUIElm:Br,waitForUIElmSync:_r,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Or{#m;constructor(t,e,r){this.#m={storage:t,globalKey:e,channel:yr(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#o(r),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]})}#o(t){this.#m.channel=yr(`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 r=0;r<t.length;r++)delete e[t[r]],delete this[t[r]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.#m.storage.removeItem(this.#m.globalKey),this.#p(),this}}const Vr={useStyle:t=>e=>new ar(e,t),useTheme:(t=0)=>(e=0)=>new ur(e,t),useBattery:()=>new xr,useGeolocation:()=>new Fr,useEventEmitter:pr,useChannel:yr,useThread:(t,e,r)=>{const s=new br;return t&&s.call(t,e,r),s},useBluetooth:t=>new wr(t),useTitle:(t,e)=>new dr(t,e),useFavIcon:(t,e)=>new fr(t,e),useThrottle:Ar,useDebounce:kr,useLocaleStorage:(t,e)=>new Or(localStorage,t,e),useSessionStorage:(t,e)=>new Or(sessionStorage,t,e),useSuccesifKeys:(t,e=[],r=(()=>{}))=>{t.cache.stream.enabled.down=!0;const s=e.length,n=t.cache.stream.history.down.slice(-s).map((t=>t.key));e.join("")===n.join("")&&(t.event.preventDefault(),r.call(t,t))},ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class jr{constructor(t,e=""){var r;this.target=globalThis.__Target__||globalThis.document.body,"string"==typeof t&&(t=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:(r={},new te(r)),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.__UI__[this.cache.name]?.push(this)}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 __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}}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:r=null}={}){return this.st.style(t,{target:e,maskVector:r}),this}size(t,e,{target:r,maskVector:s}={}){return this.st.size(t,e,{target:r,maskVector:s}),this}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}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 jr&&(t=t.element),this.remove(),this.target=t,this.render(),this}render(t=!0,e=this.target){return e instanceof jr&&(e=e.element),this.target=e,t?this.target.appendChild(this.element):this.remove(),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]=Nr(t[e])),t[e]instanceof jr?(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 jr&&this.element.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}removeAfter(t=1){return setTimeout((()=>this.remove()),t),this}removeItem(...t){const e=t=>{t instanceof jr?this.element.removeChild(t.element):"number"==typeof t&&this.element.removeChild(this.element.children[t])};for(let r=0;r<t.length;r++)e(t[r]);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 r=0;r<e.length;r++)["number","string"].includes(typeof e[r])&&(e[r]=Nr(e[r])),this.element.insertBefore(e[r].element,this.items[t].element),this.items.splice(t,0,e[r]);return this}setAttr(t,e){return this.element.setAttribute(t,e),Object.assign(this.cache.attributes,Object.fromEntries([[t,e]])),this}removeAttr(t){return this.element.removeAttribute(t),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.element.setAttribute("id",t),this}get Id(){return this.element.getAttribute("id")}forEach(t){return this.items.forEach(t),this}where(t,e,r){return this.items.filter(t).forEach(e),this}filter(t){return this.items.filter(t)}filterByTextContent(t,e=!1){return this.items.map((t=>t.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.includes(t))})).map((t=>t.render(!1))),this}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.render(!1))),this}sortByTextContent(t,e){let r=this.children;return r.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),r.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,r)=>t.style.display=e[r])),r.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=ve(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=Ne(this)),this.events.click.onClick(...t),this}onDbClick(...t){return this.events.click||(this.events.click=Ne(this)),this.events.click.onDbClick(...t),this}onCopy(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onCopy(...t),this}onCut(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onCut(...t),this}onPaste(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onPaste(...t),this}onSelect(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onSelect(...t),this}onFocus(...t){return this.events.focus||(this.events.focus=Ke(this)),this.events.focus.onFocus(...t),this}onBlur(...t){return this.events.focus||(this.events.focus=Ke(this)),this.events.focus.onFocus(...t),this}on(t,...e){return this.events.custom||(this.events.custom=sr()),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=sr()),this.events.custom.emit(t,e),this}WatchAttributes(){}WatchChildren(){}WatchSize(t){return this.observer.resize||(this.observer.resize=((t,e)=>new or(t,e))(this,t)),this.observer.resize.start(),this}WatchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=((t,e,r)=>new ir(t,e,r))(this,t,e)),this.observer.intersection.start(),this}get VisibleArea(){let t=this.element.getBoundingClientRect(),e=globalThis.document.documentElement.clientHeight,r=globalThis.document.documentElement.clientWidth,s=t.top>0&&t.top<e,n=t.bottom<e&&t.bottom>0,i=t.left>0&&t.left<r,o=t.right>0&&t.right<r;return{top:s,bottom:n,left:i,right:o,heightRatio:(t.height+t.y)/t.height,isVisible:s||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}}class Rr extends jr{constructor(...t){super("span","text"),this.element=document.createElement("span"),this.text="",this.addValue(...t),this.st.display("inline-block"),this.render()}clear(){return this.element.textContent="",this}get value(){return this.element.textContent}setValue(t="",e=!1){["string","number"].includes(typeof t)&&(this.text=""+t,this.text.includes("\n")&&(this.text=this.text.split("\n").map((t=>"<span>".concat(t,"</span></br>"))).join(""))),t instanceof r&&(this.text=""+t.UI()),e?this.element.innerHTML+=this.text:this.element.innerHTML=this.text,(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 Nr=(...t)=>new Rr(...t);class Pr extends jr{constructor(...t){super("p","p"),this.addValue(...t),this.style({margin:0,padding:0}),this.render()}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 jr?this.element.appendChild(t[e].element):t[e]instanceof r&&Nr(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 zr=(...t)=>(new Pr).append(...t);class $r extends jr{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element=document.createElement("h"+t),this.element.textContent=e,this.render()}get value(){return this.element.innerText}setValue(t=""){this.element.innerText=t}addValue(t=""){return this.element.innerText+=t,this}}const Hr=(t="")=>new $r(1,t),Ur=(t="")=>new $r(2,t),qr=(t="")=>new $r(3,t),Wr=(t="")=>new $r(4,t),Zr=(t="")=>new $r(5,t),Xr=(t="")=>new $r(6,t);class Kr extends jr{constructor(t){super(t,"ZikoHtml"),this.render()}}class Yr extends jr{constructor(){super("br","br"),this.render(),delete this.append}}class Gr extends jr{constructor(){super("hr","hr"),this.render(),delete this.append}}class Qr extends jr{constructor(t){super("a","link"),this.setHref(t),this.render()}setHref(t){this.element.href=t}}const Jr=()=>new Yr,ts=()=>new Gr,es=(t=1)=>new Array(t).fill(new Yr),rs=(t=1)=>new Array(t).fill(new Gr),ss=(t,...e)=>new Qr(t).append(...e),ns=(t,...e)=>new Kr(t).append(...e);class is extends jr{constructor(t){super(),this.element=document.createElement("li"),this.append(t),this.render()}}class os extends jr{constructor(t,e){super(t,e),delete this.append}append(...t){for(let e=0;e<t.length;e++){let r=null;["string","number"].includes(typeof t[e])&&(t[e]=Nr(t[e])),t[e]instanceof jr&&(r=new is(t[e])),r.setTarget(this.element),this.items.push(r[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 jr&&this.element.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);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 r=0;r<e.length;r++){let s=null;["number","string"].includes(typeof e[r])&&(e[r]=Nr(e[r])),e[r]instanceof jr&&(s=new is(e[r])),this.element.insertBefore(s.element,this.items[t].parent.element),this.items.splice(t,0,e[r][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.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,r)=>t*e.element.textContent.localeCompare(r.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 as extends os{constructor(...t){super("ol","ol"),this.append(...t),this.render()}type(t=1){return this.element.setAttribute("type",t),this}start(t=1){return this.element.setAttribute("start",t),this}}class hs extends os{constructor(...t){super("ul","ul"),this.append(...t),this.render()}}const ls=(...t)=>new as(...t),cs=(...t)=>new hs(...t);class us extends jr{constructor(t="button"){super(),this.element=document.createElement("button"),this.setValue(t),this.render(),this.st.cursor("pointer")}setValue(t){return t instanceof jr?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 ms=t=>new us(t);class ps extends jr{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 ds extends jr{constructor(){super(),this.element=document.createElement("textarea"),this.render()}get value(){return this.element.textContent}}const fs=()=>new ds;class gs extends jr{constructor(t="",e){super(),this.element=document.createElement("input"),Object.assign(this.events,{input:null}),this.setValue(t),e&&this.linkDatalist(e),this.render()}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 _s)e=t.Id;else if(t instanceof Array){const r=new _s(...t);e=r.Id,console.log(r)}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 ys extends gs{constructor(){super(),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 bs extends gs{constructor(t,e,r=1){super(),this._setType("number"),this.setMin(t).setMax(e).setStep(r),this.render()}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 ws extends bs{constructor(t=0,e=0,r=10,s=1){super(),this._setType("range"),this.setMin(e).setMax(r).setValue(t).setStep(s),this.render()}}class xs extends gs{constructor(){super(),this._setType("color"),this.background(this.value),this.render(),this.onInput((()=>this.background(this.value)))}}class Fs extends gs{constructor(){super(),this._setType("password"),this.render()}}class vs extends gs{constructor(){super(),this._setType("email"),this.render()}}class Cs extends gs{constructor(){super(),this._setType("time"),this.render()}}class Es extends gs{constructor(){super(),this._setType("date"),this.render()}}class ks extends gs{constructor(){super(),this._setType("datetime-local"),this.render()}}class As extends gs{constructor(){super(),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 Ds extends gs{constructor(){super(),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 Bs extends jr{constructor(t="File"){super(),this._aux_element=ms(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,r=new Image;e.onload=function(t){r.src=t.target.result,console.log(r.src)},e.readAsDataURL(t.target.files[0]),this.img=r}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 _s extends jr{constructor(...t){super(),this.element=document.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+J.string(10)),this.render()}addOptions(...t){return t.map((t=>this.append(new ps(t)))),this}}const Ms=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:r}=t;return t=t.value??"",new gs(t,e).setPlaceholder(r)}return new gs(t,e)},Ts=(...t)=>new _s(...t),Is=(t,e,r,s)=>{if(t instanceof Object){const{min:e=0,max:r=10,step:s=1}=t;return new ws(t=t?.value??5,e,r,s)}return new ws(t,e,r,s)},Ss=(t,e,r)=>{if(t instanceof Object){const{value:e,max:r=10,step:s=1,placeholder:n=""}=t;return new ws(t=t?.min??0,r,s).setValue(e).setPlaceholder(n)}return new bs(t,e,r)},Ls=(...t)=>(new ys).connect(...t),Os=t=>new Bs(t),Vs=()=>new Fs,js=()=>new vs,Rs=()=>new xs,Ns=()=>new Cs,Ps=()=>new Es,zs=()=>new ks,$s=()=>new As,Hs=()=>new Ds;class Us extends jr{constructor(){super(),this.element=document.createElement("select"),this.render()}addOptions(...t){return t.map((t=>this.append(new ps(t)))),this}}const qs=()=>new Us;class Ws extends jr{constructor(t,e,r){super("image","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r}),this.render()}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 Zs=(t,e,r)=>new Ws(t,e,r);class Xs extends jr{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),this.render()}}const Ks=(t,e)=>new Xs(t,e);class Ys extends jr{constructor(t="",e="100%",r="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r}),this.render()}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 Gs=(t,e,r)=>new Ys(t,e,r);class Qs extends jr{constructor(t){super("audio","audio"),this.element.setAttribute("src",t),this.render(),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 Js=t=>new Qs(t);class tn extends Ys{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 en=()=>new tn;class rn extends jr{constructor(t="div",e="100%",r="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r}),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,r=1){return nn.call(this,r),this.style({alignItems:"number"==typeof t?an.call(this,t):t,justifyContent:"number"==typeof e?hn.call(this,e):e}),this}horizontal(t,e,r=1){return on.call(this,r),this.style({alignItems:"number"==typeof e?hn.call(this,e):e,justifyContent:"number"==typeof t?an.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const sn=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new rn(e).append(...t)};function nn(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function on(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function an(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function hn(t){return an(-t)}class ln extends jr{constructor(t="div",e="50vw",r="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r}),this.style({display:"grid"}),this.render()}columns(t){let e="";for(let r=0;r<t;r++)e=e.concat(" auto");return this.#d(e),this}#d(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 cn=(...t)=>new ln("div").append(...t);class un extends jr{constructor(t,e,r="😁"){super("details","Accordion"),this.summary=ns("summary",t).style({fontSize:"1.1em",padding:"0.625rem",fontWeight:"bold",listStyleType:`"${r}"`,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 mn=(t,e,r)=>new un(t,e,r);class pn extends rn{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 dn=(...t)=>new pn(...t);class fn extends rn{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(wn(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,r)=>this.addNote(t[r].input))),this}}const gn=()=>new fn,yn={background:"none",width:"25px",height:"25px",fontSize:"1.2rem",cursor:"pointer"};class bn extends rn{constructor(t="",{type:e="js",order:r=null}={}){var s;super("section"),Object.assign(this.cache,{state:null,order:r,type:e,metadata:{created:Date.now(),updated:null}}),this.Input=((t="")=>ns("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=ns("output").style({width:"100%",height:"auto",padding:"5px 0"}),this.InOut=sn(this.Input,this.Output).vertical().style({width:"100%",margin:"10px auto"}),this.RightControl=(s=this,sn(Nr("▶️").style(yn).onClick((t=>{s.parent instanceof fn&&s.parent.setCurrentNote(s),s.execute(),globalThis.__Target__=t.target.parent.parent[1][1]})),Nr("📋").style(yn).onClick((()=>{navigator.clipboard.writeText(s.codeText)})),Nr("✖️").style(yn).onClick((()=>s.remove())),Nr("✖️").style(yn).onClick((()=>s.remove()))).style({width:"70px",height:"50px",margin:"10px 0"}).horizontal(0,0).wrap(!0)),this.LeftControl=sn(Nr("[ ]")).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 fn&&("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 fn&&(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 fn&&(this.cache.parent.incrementOrder(),this.cache.parent.next()))}}#g(){}#y(){}evaluate(t){if(globalThis.__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 wn=(t,{type:e,order:r}={})=>new bn(t,{type:e,order:r});class xn extends rn{#b=0;constructor(t,e){super("div","Tabs"),this.style({boxSizing:"border-box",backgroundColor:"blanchedalmond",border:"1px red solid",margin:"30px"}),this.append(sn().size("auto","auto").style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",minWidth:"50px",minHeight:"50px",backgroundColor:"darkblue",border:"1px darkblue solid"}),sn().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"),r=+e.slice(3);this.Content.filter((t=>t.element.getAttribute("aria-labelledby")===e),(()=>{this.#b!==r&&this.display(r)}))})))),this}addPairs(t,e){this.Controller.append(t),this.Content.append(e);const r=this.Controller.length;return this.Controller.at(-1).setAttr("role","tab").setAttr("aria-controls","tab"+(r-1)),this.Content.at(-1).setAttr("role","tabpanel").setAttr("aria-labelledby","tab"+(r-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 Fn=(t,e)=>new xn(t,e);class vn extends jr{constructor(){super("main","Main"),this.render()}}class Cn extends jr{constructor(){super("header","Header"),this.render()}}class En extends jr{constructor(){super("nav","Nav"),this.render()}}class kn extends jr{constructor(){super("section","Section"),this.style({position:"relative"}),this.render()}}class An extends jr{constructor(){super("article","Article"),this.render()}}class Dn extends jr{constructor(){super("aside","Aside"),this.render()}}class Bn extends jr{constructor(){super("footer","Footer"),this.element=document.createElement("footer"),this.render()}}const _n=(...t)=>(new kn).append(...t),Mn=(...t)=>(new An).append(...t),Tn=(...t)=>(new vn).append(...t),In=(...t)=>(new Cn).append(...t),Sn=(...t)=>(new Bn).append(...t),Ln=(...t)=>(new En).append(...t),On=(...t)=>(new Dn).append(...t);class Vn extends jr{constructor(...t){super(),this.element=document.createElement("Tr"),this.append(...t)}}class jn extends jr{constructor(...t){super(),this.element=document.createElement("Td"),this.append(...t)}}class Rn extends jr{constructor(...t){super(),this.element=document.createElement("Thead"),this.append(...t)}}class Nn extends jr{constructor(...t){super(),this.element=document.createElement("Tbody"),this.append(...t)}}class Pn extends jr{constructor(t){super(),this.element=document.createElement("Caption"),this.append(t)}}const zn=(...t)=>(t=t.map((t=>(t instanceof jr||(t=Nr(t)),t))),new jn(...t)),$n=t=>new Pn(t),Hn=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new Vn(...t))())),r=t.arr.map((t=>t.map((()=>null))));for(let s=0;s<r.length;s++)for(let n=0;n<r[0].length;n++)r[s][n]=zn(t.arr[s][n]),e[s].append(r[s][n]);return e};class Un extends jr{constructor(t,{caption:e=null,head:r=null,foot:s=null}={}){super("table","Table"),this.structure={caption:e,head:r,body:null,foot:s},t&&this.fromMatrix(t),e&&this.setCaption(e),this.render()}get caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=$n(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Pn))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof jr||(t=zn(t)),t))),new Rn(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Pn))),this}setFooter(t){return this.structure.caption=$n(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Pn))),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 Nn(...t))(),this.append(this.structure.body),this.structure.body.append(...Hn(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Un&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Un&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,r=this.bodyMatrix.rows-1,s=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,r,s)),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 qn=(t,e)=>new Un(t,e),Wn={ZikoHtml:ns,text:Nr,p:zr,h1:Hr,h2:Ur,h3:qr,h4:Wr,h5:Zr,h6:Xr,btn:ms,br:Jr,hr:ts,brs:es,hrs:rs,link:ss,ol:ls,ul:cs,input:Ms,search:Ls,slider:Is,checkbox:$s,radio:Hs,datalist:Ts,inputNumber:Ss,inputColor:Rs,inputDate:Ps,inputDateTime:zs,inputEmail:js,inputImage:Os,inputPassword:Vs,inputTime:Ns,select:qs,textarea:fs,inputCamera:en,image:Zs,video:Gs,audio:Js,figure:Ks,Flex:sn,Carousel:dn,Grid:cn,Header:In,Main:Tn,Section:_n,Article:Mn,Aside:On,Nav:Ln,Footer:Sn,Table:qn,CodeCell:wn,CodeNote:gn,Tabs:Fn,Accordion:mn,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}},Zn=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">'),Xn=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${Zn(t)}</td>`)).join("")}</tr>\n`,Kn=(t,e)=>{const r=t.slice(1,-1).join("\n");return`<pre>${e?`<code data-language="${e}">${r}</code>`:`<code>${r}</code>`}</pre>\n`},Yn=t=>{const e=t.match(/^\d+\.\s/);if(e){let r=+e[1];return`<ol${1===r?"":` start=${r}`}>\n<li>${Zn(t.slice(e[0].length))}</li>\n</ol>\n`}return`<ul>\n<li>${Zn(t)}</li>\n</ul>\n`},Gn=t=>{const e=t.split("\n");let r="",s=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))s||(s=!0,r+="<table>\n"),r+=Xn(a);else if(s&&(s=!1,r+="</table>\n"),a.startsWith("```"))n?(n=!1,r+=Kn(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);r+=`<h${t}>${Zn(e)}</h${t}>\n`}else a.startsWith("- ")||a.startsWith("* ")||a.match(/^\d+\.\s/)?r+=Yn(a):r+=`<p>${Zn(a)}</p>\n`}return r},Qn=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),Jn=(t,e=",")=>new ot(Qn(t,e)),ti=(t,e=",")=>{const[r,...s]=Qn(t,e);return s.map((t=>{const e={};return r.forEach(((r,s)=>{e[r]=t[s]})),e}))},ei=(t,e=",")=>JSON.stringify(ti(t,e)),ri=(t,e)=>{const r=t.trim().trimEnd().split("\n").filter((t=>t));let s=`INSERT INTO ${e} (${r[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<r.length;t++){const e=r[t].split(",");n.push(`(${e})`)}return s+n.join(",\n")},si=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],ni=(t,e)=>si(t).map((t=>t.join(e))).join("\n"),ii=t=>si(t instanceof Object?t:JSON.parse(t)),oi=(t,e=",")=>ni(t instanceof Object?t:JSON.parse(t),e),ai=(t,e)=>{const r=oi(t,e),s=new Blob([r],{type:"text/csv;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},hi=(t,e)=>{const r=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){r.push(`${e}-`);const s=hi(t,`${e} `);r.push(...s)}else r.push(`${e}- ${t}`)}));else for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];if("object"==typeof n&&null!==n){r.push(`${e}${s}:`);const t=hi(n,`${e} `);r.push(...t)}else r.push(`${e}${s}: ${n}`)}return r},li=(t,e="")=>hi(t,e).join("\n"),ci=(t,e)=>li(t instanceof Object?t:JSON.parse(t),e),ui=(t,e)=>{const r=ci(t,e),s=new Blob([r],{type:"text/yml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},mi=(t,e=1)=>{let r="";for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];r+="\n"+" ".repeat(e)+`<${s}>`,r+="object"==typeof n?mi(n,e+2):`${n}`,r+=`</${s}>`}return r.trim()},pi=(t,e)=>{const r=mi(t,e),s=new Blob([r],{type:"text/xml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},di=t=>(new XMLSerializer).serializeToString(t),fi=t=>btoa(di(t)),gi=t=>"data:image/svg+xml;base64,"+fi(t),yi=(t,e=!0)=>Zs(gi(t)).render(e);function bi(t){const e={type:t.nodeName,attributes:{},children:[]};for(let r=0;r<t.attributes.length;r++){const s=t.attributes[r];e.attributes[s.name]=s.value}for(let r=0;r<t.childNodes.length;r++){const s=t.childNodes[r];s.nodeType===Node.ELEMENT_NODE?e.children.push(bi(s)):s.nodeType===Node.TEXT_NODE&&(e.text=s.textContent.trim())}return e}const wi=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),r=await e.text();return(new DOMParser).parseFromString(r,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=wi(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};const xi={parseXML:function(t){return bi((new DOMParser).parseFromString(t,"text/xml").documentElement)},preload:wi,markdown2html:Gn,csv2arr:Qn,csv2matrix:Jn,csv2object:ti,csv2json:ei,csv2sql:ri,json2arr:ii,json2csv:oi,json2csvFile:ai,json2yml:ci,json2ymlFile:ui,json2xml:mi,json2xmlFile:pi,svg2str:di,svg2ascii:fi,svg2imgUrl:gi,svg2img:yi,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Fi{constructor(){this.cache={}}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 vi extends Fi{constructor(t,e,r,s,n=!0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.setX(t).setY(e).width(r).height(s),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 Ci=(t,e,r,s,n)=>new vi(t,e,r,s,n);class Ei extends Fi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.cx(t).cy(e).r(r)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}r(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 ki=(t,e,r)=>new Ei(t,e,r);class Ai extends Fi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","ellipse"),this.cx(t).cy(e).rx(r).ry(s)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}rx(t){return this.element.rx.baseVal.value=t,this}ry(t){return this.element.ry.baseVal.value=t,this}}const Di=(t,e,r,s)=>new Ai(t,e,r,s);class Bi extends Fi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","line"),this.x1(t).y1(e).x2(r).y2(s).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 _i=(t,e,r,s)=>new Bi(t,e,r,s);class Mi extends Fi{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","")}addPoint(t,e){let r=this.element.parentElement.createSVGPoint();return r.x=t,r.y=e,this.element.points.appendItem(r),this}addPoints(t,e){for(let r=0;r<t.length;r++){let s=this.element.parentElement.createSVGPoint();s.x=t[r],s.y=e[r],this.element.points.appendItem(s)}return this}}const Ti=(t,e)=>new Mi(t,e);class Ii extends Fi{constructor(t="",e="100%",r="100%",s=0,n=0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","image"),this.setSrc(t).width(e).height(r).x(s).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 Si=(t,e,r,s,n)=>new Ii(t,e,r,s,n);class Li extends Fi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","text"),this.setText(t),this.x(e).y(r)}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 Oi=(t,e,r)=>new Li(t,e,r);class Vi extends Fi{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=>!t));return this}}const ji=(...t)=>new Vi(...t);class Ri extends jr{constructor(t=360,e=300){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.setAttr("width",t),this.setAttr("height",e),this.style({border:"1px black solid"}),this.render()}view(t,e,r,s){let n=Math.abs(r-t),i=Math.abs(s-e);return this.setAttr("viewBox",[t,e,n,i].join(" ")),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 Ni=(t,e)=>new Ri(t,e);class Pi extends jr{constructor(t,e){super(),this.element=document.createElement("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(),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,r,s){return this.transformMatrix[0][0]=this.Width/(r-t),this.transformMatrix[1][1]=-this.Height/(s-e),this.transformMatrix[0][2]=this.Width/2,this.transformMatrix[1][2]=this.Height/2,this.axisMatrix=new ot([[t,e],[r,s]]),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,r=this.Width,s=this.Height){return this.ctx.getImageData(t,e,r,s)}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 Pi;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"),r=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(r)},e.src=r,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const zi=(t,e)=>new Pi(t,e);class $i{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 r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInStroke(this.path,t,e),this.parent.applyTransformMatrix()),r}isInPath(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}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 Hi extends $i{constructor(t,e,r,s){super(t,e),this.r=r,this.angle=s,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:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&t.fill(this.path),t.closePath(),t.restore()}return this}radius(t){return this.r=t,this.parent&&this.parent.draw(),this}}const Ui=(t,e,r,s)=>new Hi(t,e,r,s),qi=(t,e,r)=>new Hi(t,e,r,2*Math.PI);class Wi extends $i{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 r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}}const Zi=(t=[],e=[])=>new Wi(t,e);class Xi extends $i{constructor(t,e,r,s){super(),this.x0=t,this.x1=r,this.y0=e,this.y1=s,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 Ki=(t,e,r,s)=>new Xi(t,e,r,s);class Yi extends $i{constructor(t,e,r,s){super(t,e),this.w=r,this.h=s,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:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&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 Gi=(t,e,r,s)=>new Yi(t,e,r,s),Qi={Svg:Ni,ZikoUISvg:Ri,svgCircle:ki,svgEllipse:Di,svgImage:Si,svgLine:_i,svgPolygon:Ti,svgRect:Ci,svgText:Oi,svgGroupe:ji,Canvas:zi,canvasArc:Ui,canvasCircle:qi,canvasPoints:Zi,canvasLine:Ki,canvasRect:Gi,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Ji{constructor(t,e){this.root_UI=t,this.routes=new Map([[404,Nr("Error 404")],...Object.entries(e)]),this.patterns=new Map,this.maintain(),window.onpopstate=this.render(location.pathname)}get(t,e){return t instanceof RegExp?this.patterns.set(t,e):this.routes.set(t,e),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 to=(t,e,r)=>new Ji(t,e,r);var eo=null;globalThis?.document?.body&&(eo=document.body);class ro{constructor(t){this.app=t,this.meta={},this.#w("generator","zikojs")}#w(t,e){const r=document.querySelector(`meta[name=${t}]`);return this.meta=r||document.createElement("meta"),this.meta.setAttribute("name",t),this.meta.setAttribute("content",e),r||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.#w("description",t),this}viewport(t="width=device-width, initial-scale=1.0"){return this.#w("viewport",t),this}keywords(...t){return t.push("zikojs"),t=[...new Set(t)].join(", "),this.#w("keywords",t),this}author(t="",e=""){const r=[t,e].join(", ");return this.#w("author",r),this}}class so extends rn{constructor(){super("main"),this.root=document.documentElement,this.head=null,this.#o(),this.seo=new ro(this),Object.assign(this.events,{hash:null}),Object.assign(this.cache,{theme:null,isRoot:!0}),this.render()}#o(){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=rr(this)),this.events.hash.onChange(...t),this}}const no=(...t)=>(new so).append(...t),io={App:no,Math:Qt,UI:Wn,Time:Lr,Graphics:Qi,Events:nr,Use:Vr,Data:xi,SPA:to};globalThis.__Ziko__=io,globalThis.__UI__={text:[],p:[],pre:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],br:[],hr:[],btn:[],ol:[],ul:[],image:[],video:[],audio:[],Article:[],Main:[],Section:[],Aside:[],Nav:[],Header:[],Footer:[],Flex:[],FlexMain:[],FlexNav:[],FlexHeader:[],FlexFooter:[],FlexSection:[],FLexArticle:[],FlexAside:[],Table:[],Svg:[],Canvas:[]},globalThis.__Target__=eo,t.Accordion=mn,t.App=no,t.Article=Mn,t.Aside=On,t.Base=X,t.Canvas=zi,t.Carousel=dn,t.CodeCell=wn,t.CodeNote=gn,t.Combinaison=G,t.Complex=r,t.DarkThemes=lr,t.Data=xi,t.E=Et,t.EPSILON=kt,t.Ease=Er,t.Events=nr,t.ExtractAll=function(){return Wn.ExtractAll(),Qt.ExtractAll(),Lr.ExtractAll(),nr.ExtractAll(),Vr.ExtractAll(),Qi.ExtractAll(),xi.ExtractAll(),this},t.Fixed=p,t.Flex=sn,t.Footer=Sn,t.Graphics=Qi,t.Grid=cn,t.Header=In,t.LightThemes=hr,t.LinearSystem=ut,t.Logic=K,t.Main=Tn,t.Math=Qt,t.Matrix=ot,t.Nav=Ln,t.PI=Ct,t.Permutation=Y,t.Random=J,t.RemoveAll=function(){Wn.RemoveAll(),Qt.RemoveAll(),Lr.RemoveAll(),nr.RemoveAll(),Vr.RemoveAll(),Qi.RemoveAll(),xi.RemoveAll()},t.SPA=to,t.Section=_n,t.Signal=Gt,t.Svg=Ni,t.Table=qn,t.Tabs=Fn,t.Themes=cr,t.Time=Lr,t.UI=Wn,t.Utils=Ut,t.ZikoHtml=ns,t.ZikoUIArticle=An,t.ZikoUIAside=Dn,t.ZikoUIAudio=Qs,t.ZikoUIBr=Yr,t.ZikoUICanvas=Pi,t.ZikoUICodeNote=fn,t.ZikoUIElement=jr,t.ZikoUIFigure=Xs,t.ZikoUIFooter=Bn,t.ZikoUIHeader=Cn,t.ZikoUIHr=Gr,t.ZikoUIHtmlTag=Kr,t.ZikoUIImage=Ws,t.ZikoUILink=Qr,t.ZikoUIMain=vn,t.ZikoUINav=En,t.ZikoUISection=kn,t.ZikoUISvg=Ri,t.ZikoUIVideo=Ys,t.__init__=()=>document.documentElement.setAttribute("data-engine","zikojs"),t.abs=d,t.accum=h,t.acos=D,t.acosh=O,t.acot=M,t.add=bt,t.animation=Sr,t.arange=St,t.asin=B,t.asinh=V,t.atan=_,t.atan2=z,t.atanh=j,t.audio=Js,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 r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>u(t[s],e)),...e));return r}}},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 r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>m(t[s],e)),...e));return r}}},t.br=Jr,t.brs=es,t.btn=ms,t.canvasArc=Ui,t.canvasCircle=qi,t.canvasLine=Ki,t.canvasPoints=Zi,t.canvasRect=Gi,t.cartesianProduct=zt,t.ceil=R,t.checkbox=$s,t.choleskyDecomposition=it,t.clamp=It,t.complex=s,t.cos=x,t.cosh=T,t.cot=A,t.coth=L,t.csc=k,t.csv2arr=Qn,t.csv2json=ei,t.csv2matrix=Jn,t.csv2object=ti,t.csv2sql=ri,t.datalist=Ts,t.default=io,t.deg2rad=jt,t.div=Ft,t.e=b,t.fact=$,t.figure=Ks,t.floor=N,t.gamma=(...t)=>mt(l,...t),t.geomspace=Vt,t.h1=Hr,t.h2=Ur,t.h3=qr,t.h4=Wr,t.h5=Zr,t.h6=Xr,t.hr=ts,t.hrs=rs,t.hypot=q,t.image=Zs,t.inRange=Nt,t.input=Ms,t.inputCamera=en,t.inputColor=Rs,t.inputDate=Ps,t.inputDateTime=zs,t.inputEmail=js,t.inputImage=Os,t.inputNumber=Ss,t.inputPassword=Vs,t.inputTime=Ns,t.isApproximatlyEqual=Pt,t.json2arr=ii,t.json2csv=oi,t.json2csvFile=ai,t.json2xml=mi,t.json2xmlFile=pi,t.json2yml=ci,t.json2ymlFile=ui,t.lerp=Mt,t.li=t=>new is(t),t.link=ss,t.linspace=Lt,t.ln=w,t.logspace=Ot,t.loop=Cr,t.luDecomposition=tt,t.map=Tt,t.mapfun=mt,t.markdown2html=Gn,t.matrix=at,t.matrix2=ht,t.matrix3=lt,t.matrix4=ct,t.max=a,t.min=o,t.modulo=vt,t.mul=xt,t.norm=_t,t.nums=Bt,t.ol=ls,t.ones=Dt,t.p=zr,t.pgcd=$t,t.pow=g,t.powerSet=W,t.ppcm=Ht,t.prod=i,t.qrDecomposition=nt,t.rad2deg=Rt,t.radio=Hs,t.round=P,t.search=Ls,t.sec=C,t.select=qs,t.sig=U,t.sign=H,t.sin=F,t.sinc=E,t.sinh=I,t.slider=Is,t.sqrt=f,t.sqrtn=y,t.sub=wt,t.subSet=Z,t.sum=n,t.svg2ascii=fi,t.svg2img=yi,t.svg2imgUrl=gi,t.svg2str=di,t.svgCircle=ki,t.svgEllipse=Di,t.svgGroupe=ji,t.svgImage=Si,t.svgLine=_i,t.svgPolygon=Ti,t.svgRect=Ci,t.svgText=Oi,t.tan=v,t.tanh=S,t.text=Nr,t.textarea=fs,t.timeTaken=Tr,t.time_memory_Taken=Dr,t.ul=cs,t.useDebounce=kr,t.useThrottle=Ar,t.video=Gs,t.wait=Mr,t.waitForUIElm=Br,t.waitForUIElmSync=_r,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(t){"use strict";class e{}class r extends e{constructor(t=0,e=0){super(),t instanceof r?(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=f(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*v(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=f(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/v(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*x(t.phi),this.a=t.z*F(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}get clone(){return new r(this.a,this.b)}get z(){return q(this.a,this.b)}get phi(){return z(this.b,this.a)}static Zero(){return new r(0,0)}get conj(){return new r(this.a,-this.b)}get inv(){return new r(this.a/(g(this.a,2)+g(this.b,2)),-this.b/(g(this.a,2)+g(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a+=+n(...e).toFixed(15),this.b+=+n(...s).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a-=+n(...e).toFixed(15),this.b-=+n(...s).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+i(this.z,...t.map((t=>t.z))).toFixed(15),s=+n(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*x(s).toFixed(15)).toFixed(14),this.b=+(e*F(s).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+(this.z/i(...t.map((t=>t.z)))).toFixed(15),s=+(this.phi-n(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*x(s).toFixed(15)).toFixed(15),this.b=+(e*F(s).toFixed(15)).toFixed(15),this}pow(t){if(N(t)===t&&t>0){let e=+(this.z**t).toFixed(15),r=+(this.phi*t).toFixed(15);this.a=+(e*x(r).toFixed(15)).toFixed(15),this.b=+(e*F(r).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new r(+(t*x(e)).toFixed(13),+(t*F(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 s(t**this.a*x(this.b*w(t)),t**this.a*F(this.b*w(t)))}sqrtn(t=2){return s(y(this.z,t)*x(this.phi/t),y(this.z,t)*F(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return s(this.z,this.phi)}get cos(){return s(x(this.a)*T(this.b),F(this.a)*I(this.b))}get sin(){return s(F(this.a)*T(this.b),x(this.a)*I(this.b))}get tan(){const t=x(2*this.a)+T(2*this.b);return s(F(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 s=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((r,n)=>s(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 r=t.arr.map(((r,n)=>s(t.arr[n],e.arr[n])));return new ot(t.rows,t.cols,...r)}return new r(t,e)},n=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e+=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(n(...t[r])):t[r]instanceof Object&&e.push(n(...Object.values(t[r])));return 1===e.length?e[0]:e},i=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e*=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(i(...t[r])):t[r]instanceof Object&&e.push(i(...Object.values(t[r])));return 1===e.length?e[0]:e},o=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).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 r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).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 r=0;r<t.length;r++)t[r]instanceof Array?e.push(h(...t[r])):t[r]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 r=e[0];for(let s=1;s<9;s++)r+=e[s]/(t+s);const s=t+7+.5;return+(Math.sqrt(2*Math.PI)*Math.pow(s,t+.5)*Math.exp(-s)*r).toFixed(10)},u=(t,e)=>{let r=0;for(let s=0;s<100;s++){r+=Math.pow(-1,s)*Math.pow(e/2,t+2*s)/($(s)*$(t+s))}return r},m=(t,e)=>{let r=0;const s=r=>Math.pow(r,t-1)*Math.pow(1-r,e-1);r+=.5*(s(0)+s(1));for(let t=1;t<1e3;t++){r+=s(0+.001*t)}return.001*r},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),f=(...t)=>mt(Math.sqrt,...t),g=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof r?r.fromExpo(t**e.a,e.b*w(t)):mt((e=>g(t,e)),...e);if(t instanceof r)return"number"==typeof e?r.fromExpo(t.z**e,t.phi*e):e instanceof r?r.fromExpo(t.z**e.a*b(-t.phi*e.b),w(t.z)*e.b+e.a*t.phi):mt((e=>g(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>g(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},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 r)return"number"==typeof e?r.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 r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>y(t[s],e)),...e));return r}}},b=(...t)=>mt(Math.exp,...t),w=(...t)=>mt(Math.log,...t),x=(...t)=>mt(p.cos,...t),F=(...t)=>mt(p.sin,...t),v=(...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),B=(...t)=>mt(p.asin,...t),_=(...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),V=(...t)=>mt(p.atanh,...t),R=(...t)=>mt(Math.ceil,...t),N=(...t)=>mt(Math.floor,...t),P=(...t)=>mt(Math.round,...t),z=(t,e,r=!0)=>{if("number"==typeof t)return"number"==typeof e?r?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:mt((e=>z(t,e,r)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>z(t,e,r)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},$=(...t)=>mt((t=>{let e,r=1;if(0==t)r=1;else if(t>0)for(e=1;e<=t;e++)r*=e;else r=NaN;return r}),...t),U=(...t)=>mt(Math.sign,...t),H=(...t)=>mt((t=>1/(1+b(-t))),...t),q=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?mt(Math.hypot,...t):void 0,W=t=>{const e=[],r=2**t.length;for(let s=0;s<r;s+=1){const r=[];for(let e=0;e<t.length;e+=1)s&1<<e&&r.push(t[e]);e.push(r)}return e},Z=null,X={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(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"),r=e[0],s=2**(+("0b"+e.slice(1,9))-127);return(-1)**r*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),r=e[0],s=2**(+("0b"+e.slice(1,12))-1023);return(-1)**r*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s}},K={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(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)?K._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?K._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?K._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 r=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===r.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return K.not(K.xor(t,e))}};class Y{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const r=[];let s;return s=this.withDiscount(t,e-1),t.forEach((t=>{s.forEach((e=>{r.push([t].concat(e))}))})),r}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],r=this.withoutDiscount(t.slice(1)),s=t[0];for(let t=0;t<r.length;t++){const n=r[t];for(let t=0;t<=n.length;t++){const r=n.slice(0,t),i=n.slice(t);e.push(r.concat([s],i))}}return e}}class G{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withDiscount(t.slice(n),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withoutDiscount(t.slice(n+1),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}}const Q={Logic:K,Base:X,Permutation:Y,Combinaison:G,combinaison:(t,e,r=!1)=>G[r?"withDiscount":"withoutDiscount"](t,e),powerSet:W,subSet:Z};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 r=new Array(100);e=Ht.accum(...e).map((t=>100*t)),r.fill(t[0],0,e[0]);for(let s=1;s<t.length;s++)r.fill(t[s],e[s-1],e[s]);return r[this.int(r.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:r,arr:s}=t;return at(e,r,s.flat().sort((()=>.5-Math.random())))}static floats(t,e,r){return new Array(t).fill(0).map((()=>this.float(e,r)))}static ints(t,e,r){return new Array(t).fill(0).map((()=>this.int(e,r)))}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,r){return new Array(t).fill(0).map((()=>this.choice(e,r)))}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 r(this.float(t[0],t[1]),this.float(e[0],e[1])):new r(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new r(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new r(...this.bins(2))}static complexOct(){return new r(...this.octs(2))}static complexDec(){return new r(...this.decs(10))}static complexHex(){return new r(...this.octs(2))}static complexes(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complex(e,r)))}static complexesInt(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complexInt(e,r)))}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,r,s){return at(t,e,this.floats(t*e,r,s))}static matrixInt(t,e,r,s){return at(t,e,this.ints(t*e,r,s))}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,r,s){return at(t,e,this.complexes(t*e,r,s))}static matrixComplexInt(t,e,r,s){return at(t,e,this.complexesInt(t*e,r,s))}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,r=new Array(e).fill(0).map((()=>new Array(e).fill(0))),s=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+=r[n][t]*s[t][i];s[n][i]=t[n][i]-e}for(let i=n;i<e;i++)if(n==i)r[n][n]=1;else{let e=0;for(let t=0;t<n;t++)e+=r[i][t]*s[t][n];r[i][n]=(t[i][n]-e)/s[n][n]}}return[r,s].map((t=>new ot(t)))},et=(t,e)=>t.reduce(((t,r,s)=>t+r*e[s]),0),rt=t=>Math.sqrt(t.reduce(((t,e)=>t+e*e),0)),st=t=>t.map((e=>e/rt(t))),nt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=t[0].length,s=[],n=[];for(let t=0;t<e;t++)n.push(new Array(r).fill(0));for(let i=0;i<r;i++){let r=t.map((t=>t[i]));for(let o=0;o<i;o++){const a=s[o],h=et(a,t.map((t=>t[i])));for(let t=0;t<e;t++)r[t]-=h*a[t];n[o][i]=h}const o=rt(r);s.push(st(r)),n[i][i]=o}return[s,n].map((t=>new ot(t)))},it=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let s=0;s<e;s++)for(let e=0;e<=s;e++){let n=0;for(let t=0;t<e;t++)n+=r[s][t]*r[e][t];r[s][e]=s===e?Math.sqrt(t[s][s]-n):1/r[e][e]*(t[s][e]-n)}return new ot(r)};class ot extends e{constructor(t,e,r=[]){if(super(),t instanceof ot)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let s,n,i=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,i=arguments[0];else for(s=0;s<t;s++)for(i.push([]),i[s].push(new Array(e)),n=0;n<e;n++)i[s][n]=r[s*e+n],null==r[s*e+n]&&(i[s][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 r=0;r<t;r++)for(let s=0;s<t;s++)e.arr[r][s]=r===s?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,r){if(-1==e)return this.arr[t]=r;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=r[t]||0;return this.arr}return this.arr[t][e]=r}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,r=ot.mul(e,t),s=ot.dot(t,e);return 0==ot.sub(r,s).max&&0==ot.sub(r,s).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 r=0;r<this.arr.length;r++)t[e][r]=this.arr[r][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 r=[];for(let e=0;e<t.length;e++)r.push(t[e].slice(0));r.splice(0,1);for(let t=0;t<r.length;t++)r[t].splice(e,1);return r}return function e(r){if(2==r.length)return r.flat(1).some((t=>t instanceof ot))?void console.warn("Tensors are not completely supported yet ..."):Ht.sub(Ht.mul(r[0][0],r[1][1]),Ht.mul(r[0][1],r[1][0]));for(var s=0,n=0;n<r.length;n++){const i=Ht.add(Ht.mul(g(-1,n),Ht.mul(r[0][n],e(t(r,n)))));s=Ht.add(s,i)}return s}(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,r=0,s=0,n=t.length,i=0,o=[],a=[];for(e=0;e<n;e+=1)for(o[o.length]=[],a[a.length]=[],s=0;s<n;s+=1)o[e][s]=e==s?1:0,a[e][s]=t[e][s];for(e=0;e<n;e+=1){if(0==(i=a[e][e])){for(r=e+1;r<n;r+=1)if(0!=a[r][e]){for(s=0;s<n;s++)i=a[e][s],a[e][s]=a[r][s],a[r][s]=i,i=o[e][s],o[e][s]=o[r][s],o[r][s]=i;break}if(0==(i=a[e][e]))return}for(s=0;s<n;s++)a[e][s]=a[e][s]/i,o[e][s]=o[e][s]/i;for(r=0;r<n;r++)if(r!=e)for(i=a[r][e],s=0;s<n;s++)a[r][s]-=i*a[e][s],o[r][s]-=i*o[e][s]}return o}(this.arr);return new ot(this.rows,this.cols,t.flat(1))}static zeros(t,e){let r=new ot(t,e);for(let n=0;n<t;n++)for(var s=0;s<e;s++)r.arr[n][s]=0;return r}static ones(t,e){let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=1;return r}static nums(t,e,r){let s=new ot(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)s.arr[n][t]=r;return s}static get rand(){return{int:(t,e,r,s)=>{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(r,s);return n},bin:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randBin;return r},hex:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randHex;return r},choices:(t,e,r,s)=>{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(r,s);return n},permutation:(t,e,r)=>{}}}static rands(t,e,r=1,s){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(r,s);return n}map(t,e,r,s){return Ht.map(this,t,e,r,s)}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,r,s,n){return Ht.map(t,e,r,s,n)}static lerp(t,e,r){return Ht.lerp(t,e,r)}static norm(t,e,r){return Ht.norm(t,e,r)}static clamp(t,e,r){return Ht.clamp(at,e,r)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let r=0;r<this.rows;r++)this.arr[e][r]=+this.arr[e][r].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))),r=this.arr.filter(((t,r)=>!0===e[r]));return 0===r.length&&r.push([]),console.log(r),new ot(r)}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 r=0;r<this.rows;r++)for(let s=this.cols;s<this.cols+t.cols;s++)e[r][s]=t.arr[r][s-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 r=this.rows;r<this.rows+t.rows;r++){e[r]=[];for(let s=0;s<this.cols;s++)e[r][s]=t.arr[r-this.rows][s]}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,r=this.rows-1,s=this.cols-1){let n=r-t,i=s-e,o=new Array(i);for(let r=0;r<n;r++){o[r]=[];for(let s=0;s<i;s++)o[r][s]=this.arr[r+t][s+e]}return new ot(n,i,o.flat(1))}static slice(t,e=0,r=0,s=this.rows-1,n=this.cols-1){return t.slice(e,r,s,n)}splice(t,e,r,...s){}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,r=e+1){return t.slice(e,0,r,t.cols)}static getCols(t,e,r=e+1){return t.slice(0,e,t.rows,r)}add(...t){for(let s=0;s<t.length;s++){("number"==typeof t[s]||t[s]instanceof r)&&(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.add(this.arr[r][e],t[s].arr[r][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(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.sub(this.arr[s][e],t[r].arr[s][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 s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(var e=0;e<this.rows;e++)for(var r=0;r<this.cols;r++)this.arr[e][r]=Ht.mul(this.arr[e][r],t[s].arr[e][r])}return new ot(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(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.div(this.arr[s][e],t[r].arr[s][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 r=0;r<t.length;r++){"number"==typeof t[r]&&(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.modulo(this.arr[s][e],t[r].arr[s][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=[],r=0;r<this.arr.length;r++){e[r]=[];for(var s=0;s<t.arr[0].length;s++){e[r][s]=0;for(var n=0;n<this.arr[0].length;n++)e[r][s]=Ht.add(e[r][s],Ht.mul(this.arr[r][n],t.arr[n][s]))}}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,r=this.clone;for(let s=0;s<t-1;s++)r=r.dot(e);return r}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.cols;r++)t+=this.arr[e][r];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof r))}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 r=0;r<this.cols;r++)t.push(this.arr[e][r]);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"))),r=this.arr.map((t=>t.map((()=>document.createElement("td")))));for(let t=0;t<r.length;t++)for(let s=0;s<r[0].length;s++)r[t][s].innerHTML=this.arr[t][s],e[t].appendChild(r[t][s]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let r=Grid();return r.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),r.Columns(this.cols),r}sortTable(t=0,{type:e="num",order:r="asc"}={}){var s=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"===r?s[t].sort(((t,e)=>t.x-e.x)):"desc"===r?s[t].sort(((t,e)=>e.x-t.x)):"toggle"===r&&(s[t][0].x>s[t][1].x?s[t].sort(((t,e)=>e.x-t.x)):s[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===r?s[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===r&&s[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),r=s[t].map((t=>t.y));for(let e=0;e<s.length;e++)e!==t&&s[e].map(((t,e)=>t.y=r[e]));for(let e=0;e<s.length;e++)e!==t&&n[e].map(((t,n)=>t.x=s[e][r[n]].x));n[t]=s[t];var i=n.map((t=>t.map((t=>t.x))));return new ot(i).T}}const at=(t,e,r)=>new ot(t,e,r),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 r){const[r,n,i,o]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return s(w(i),o);case Math.exp:return s(b(r)*x(n),b(r)*F(n));case Math.abs:return i;case Math.sqrt:return s(f(i)*x(o/2),f(i)*F(o/2));case p.cos:return s(x(r)*T(n),-F(r)*I(n));case p.sin:return s(F(r)*T(n),x(r)*I(n));case p.tan:{const t=x(2*r)+T(2*n);return s(F(2*r)/t,I(2*n)/t)}case p.cosh:return s(T(r)*x(n),I(r)*F(n));case p.sinh:return s(I(r)*x(n),T(r)*F(n));case p.tanh:{const t=T(2*r)+x(2*n);return s(I(2*r)/t,F(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 r)return s(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 r||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,r)=>bt(t,e[r])))}}},dt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof r)return s(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 r||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,r)=>wt(t,e[r])))}}},ft=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof r)return s(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=>xt(t,e)))}else{if(t instanceof r||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=>xt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>xt(t,e[r])))}}},gt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof r)return s(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=>Ft(t,e)))}else{if(t instanceof r||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=>Ft(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>Ft(t,e[r])))}}},yt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof r)return s(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=>Ft(t,e)))}else{if(t instanceof r||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 r=t;for(let t=0;t<e.length;t++)r=pt(r,e[t]);return r},wt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=dt(r,e[t]);return r},xt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=ft(r,e[t]);return r},Ft=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=gt(r,e[t]);return r},vt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=yt(r,e[t]);return r},{PI:Ct,E:Et}=Math,kt=Number.EPSILON,At=t=>new Array(t).fill(0),Dt=t=>new Array(t).fill(1),Bt=(t,e)=>new Array(e).fill(t),_t=(t,e,s)=>{if("number"==typeof t)return e!==s?(t-e)/(s-e):0;if(t instanceof ot)return new ot(t.rows,t.cols,_t(t.arr.flat(1),e,s));if(t instanceof r)return new r(_t(t.a,e,s),_t(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>_t(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=_t(t[r])}}},Mt=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof ot)return new ot(t.rows,t.cols,Mt(t.arr.flat(1),e,s));if(t instanceof r)return new r(Mt(t.a,e,s),Mt(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Mt(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=Mt(t[r])}}},Tt=(t,e,s,n,i)=>{if("number"==typeof t)return Mt(_t(t,e,s),n,i);if(t instanceof ot)return new ot(t.rows,t.cols,Tt(t.arr.flat(1),e,s,n,i));if(t instanceof r)return new r(Tt(t.a,s,n,i),Tt(t.b,e,s,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Tt(t,e,s,n,i)));{let r=new Array(t.length);for(let o=0;o<t.length;o++)r[o]=Tt(t[o],e,s,n,i)}}},It=(t,e,s)=>{const[n,i]=[o(e,s),a(e,s)];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 r)return new r(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 r=0;r<t.length;r++)e[r]=It(t[r],n,i)}}},St=(t,e,r,s=!1)=>{let n=[];if(t<e)for(let i=t;s?i<=e:i<e;i+=r)n.push(10*i/10);else for(let i=t;s?i>=e:i>e;i-=r)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[r,s]=[t,e].sort(((t,e)=>e-t));var o=[];let h;h=i?(r-s)/(n-1):(r-s)/n;for(var a=0;a<n;a++)t<e?o.push(s+h*a):o.push(r-h*a);return o}if([t,e].some((t=>t instanceof r))){const r=s(t),o=s(e);n=n||Math.abs(r.a-o.a)+1;const a=Lt(r.a,o.a,n,i),h=Lt(r.b,o.b,n,i);let l=new Array(n).fill(null);return l=l.map(((t,e)=>s(a[e],h[e]))),l}}},Ot=(t,e,r=e-t+1,s=Et,n=!0)=>Lt(t,e,r,n).map((t=>g(s,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[r,s]=[t,e].sort(((t,e)=>e-t));let o;o=y(r/s,i?n-1:n);const a=[s];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 r))){const r=s(t),o=s(e);let a;n=n||Math.abs(r.a-o.a)+1,a=y(o.div(r),i?n-1:n);const h=[r];for(let t=1;t<n;t++)h.push(xt(h[t-1],a));return h}}},Vt=(...t)=>mt((t=>t*Math.PI/180),...t),Rt=(...t)=>mt((t=>t/Math.PI*180),...t),Nt=(t,e,r)=>{const[s,n]=[Math.min(e,r),Math.max(e,r)];return t>=s&&t<=n},Pt=(t,e,r=1e-4)=>Math.abs(t-e)<=r,zt=(t,e)=>t.reduce(((t,r)=>[...t,...e.map((t=>[r,t]))]),[]),$t=(t,e)=>{let r,s=1;if(t==N(t)&&e==N(e)){for(r=2;r<=t&&r<=e;++r)t%r==0&&e%r==0&&(s=r);return s}console.log("error")},Ut=(t,e)=>{let r;if(t==N(t)&&e==N(e)){for(r=t>e?t:e;r%t!=0||r%e!=0;)++r;return r}console.log("error")},Ht={add:bt,sub:wt,mul:xt,div:Ft,modulo:vt,zeros:At,ones:Dt,nums:Bt,norm:_t,lerp:Mt,map:Tt,clamp:It,arange:St,linspace:Lt,logspace:Ot,geomspace:jt,sum:n,prod:i,accum:h,cartesianProduct:zt,ppcm:Ut,pgcd:$t,deg2rad:Vt,rad2deg:Rt,inRange:Nt,isApproximatlyEqual:Pt},qt=t=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*x(s)+t[e].b*F(s),o+=-t[e].a*F(s)+t[e].b*x(s)}i/=n,o/=n,e[r]=s(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=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*x(s)+t[e].b*F(s),o+=t[e].a*F(s)+t[e].b*x(s)}i/=n,o/=n,e[r]=s(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))}},Zt=(t,e,r=!0)=>{const s=t.length,n=e.length,i=[],o=r?Math.max(s,n):s+n-1;for(let r=0;r<o;r++){let o=0;for(let i=0;i<n;i++){const a=r+i-Math.floor(n/2);o+=(a>=0&&a<s?t[a]:0)*e[i]}i.push(o)}return i},Xt=(t,e,r=!0)=>{t instanceof ot||(t=at(t)),e instanceof ot||(e=at(e));const s=t.rows,n=t.cols,i=r?Math.max(t.rows,e.rows):t.rows+e.rows-1,o=r?Math.max(t.cols,e.cols):t.cols+e.cols-1,a=e.rows,h=[];for(let r=0;r<i;r++){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=r+i-Math.floor(a/2),u=h+l-Math.floor(a/2);o+=(c>=0&&c<s&&u>=0&&u<n?t[c][u]:0)*e[i][l]}i.push(o)}h.push(i)}return h},Kt=(t,e,r)=>t instanceof ot||t instanceof Array&&t[0][0]?Xt(t,e,r):Zt(t,e,r);class Yt{constructor(t){this.input=t,this.input_fft=qt(this.input),this.output_fft=[]}lowPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z<t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}highPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z>t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}bandePass(){}bandeCoupe(){}}const Gt={zeros:At,ones:Dt,nums:Bt,arange:St,linspace:Lt,logspace:Ot,geomspace:jt,map:Tt,norm:_t,lerp:Mt,clamp:It,noise:(t,e=0,r=1)=>J.floats(t,e,r),echelon(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?1:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rampe(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?t-e:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sign(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>Math.sign(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rect(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},tri(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},dirac:(t,e)=>mt((t=>t===e?1/0:0),...t),lorentz(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>1/(1+(t-e)**2)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sinc(t,e,r=1){t instanceof Array||(t=[t]);const s=mt((t=>E(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},square(t,e=1,r=1){t instanceof Array||(t=[t]);const s=mt((t=>U(F(2*t*Math.PI/e))),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sawtooth(){},conv:Kt,conv1d:Zt,conv2d:Xt,circularConv:(t,e)=>Kt(t,e,!0),linearConv:(t,e)=>Kt(t,e,!1),circularConv1d:(t,e)=>Zt(t,e,!0),linearConv1d:(t,e)=>Zt(t,e,!1),circularConv2d:(t,e)=>Xt(t,e,!0),linearConv2d:(t,e)=>Xt(t,e,!1),fft:qt,ifft:Wt,filter:t=>new Yt(t)},Qt={PI:Ct,E:Et,EPSILON:kt,Random:J,complex:s,Complex:r,Matrix:ot,LinearSystem:ut,matrix:at,matrix2:ht,matrix3:lt,matrix4:ct,cos:x,sin:F,tan:v,sinc:E,sec:C,csc:k,cot:A,abs:d,sqrt:f,pow:g,sqrtn:y,e:b,ln:w,acos:D,asin:B,atan:_,acot:M,cosh:T,sinh:I,tanh:S,coth:L,acosh:O,asinh:j,atanh:V,min:o,max:a,sign:U,floor:N,ceil:R,round:P,fact:$,hypot:q,sig:H,atan2:z,Utils:Ht,mapfun:mt,nums:Bt,zeros:At,ones:Dt,sum:n,prod:i,add:bt,mul:xt,div:Ft,sub:wt,modulo:vt,rad2deg:Rt,deg2rad:Vt,arange:St,linspace:Lt,logspace:Ot,geomspace:jt,norm:_t,lerp:Mt,map:Tt,clamp:It,pgcd:$t,ppcm:Ut,isApproximatlyEqual:Pt,inRange:Nt,cartesianProduct:zt,Discret:Q,Logic:K,Base:X,Permutation:Y,Combinaison:G,powerSet:W,subSet:Z,Signal:Gt,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}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:r=null}={}){return"parent"===e||0===e?((t,e)=>{t&&Object.assign(t.style,e)})(this.target.element,t):"parent"!==e&&0!==e||(r?this.items.map(((e,s)=>1==r[s]&&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 r=this.styles.get(t);return r?this.styles.set(t,Object.assign(r,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:r,maskVector:s}={}){return this.style({width:t,height:e},{target:r,maskVector:s}),this}width(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minWidth:s,maxWidth:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({width:t},{target:e,maskVector:r});return this}height(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minHeight:s,maxHeight:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({height:t},{target:e,maskVector:r});return this}enableResize(t=!1,e=!1,{target:r,maskVector:s}={}){let n="none";return n=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:n,overflow:"hidden"},{target:r,maskVector:s}),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:r}={}){if("number"==typeof t){const s=()=>this.hide({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:r});return this}show({after:t,target:e,maskVector:r}={}){if("number"==typeof t){const s=()=>this.show({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:r});return this}color(t,{target:e,maskVector:r}={}){return this.style({color:t},{target:e,maskVector:r}),this}background(t,{target:e,maskVector:r}={}){return this.style({background:t},{target:e,maskVector:r}),this}backgroundColor(t,{target:e,maskVector:r}={}){return this.style({backgroundColor:t},{target:e,maskVector:r}),this}opacity(t,{target:e,maskVector:r}={}){return this.style({opacity:t},{target:e,maskVector:r}),this}position(t,{target:e,maskVector:r}={}){return this.style({position:t},{target:e,maskVector:r}),this}display(t,{target:e,maskVector:r}={}){return this.style({display:t},{target:e,maskVector:r}),this}zIndex(t,{target:e,maskVector:r}={}){return this.style({zIndex:t},{target:e,maskVector:r}),this}float(t,{target:e,maskVector:r}={}){return this.style({float:t},{target:e,maskVector:r}),this}border(t="1px solid red",{target:e,maskVector:r}={}){return this.style({border:t},{target:e,maskVector:r}),this}borderTop(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderTop:t},{target:e,maskVector:r}),this}borderRight(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderRight:t},{target:e,maskVector:r}),this}borderBottom(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderBottom:t},{target:e,maskVector:r}),this}borderLeft(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderLeft:t},{target:e,maskVector:r}),this}borderRadius(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({borderRadius:t},{target:e,maskVector:r}),this}margin(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({margin:t},{target:e,maskVector:r}),this}marginTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginTop:t},{target:e,maskVector:r}),this}marginRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginRight:t},{target:e,maskVector:r}),this}marginBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginBootom:t},{target:e,maskVector:r}),this}marginLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginLeft:t},{target:e,maskVector:r}),this}padding(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({padding:t},{target:e,maskVector:r}),this}paddingTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingTop:t},{target:e,maskVector:r}),this}paddingRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingRight:t},{target:e,maskVector:r}),this}paddingBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingBootom:t},{target:e,maskVector:r}),this}paddingLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingLeft:t},{target:e,maskVector:r}),this}font(t,{target:e,maskVector:r}={}){return this.style({font:t},{target:e,maskVector:r}),this}fontFamily(t="",{target:e,maskVector:r}={}){return this.style({fontFamily:t},{target:e,maskVector:r}),this}fontSize(t,{target:e,maskVector:r}={}){return this.style({fontSize:t},{target:e,maskVector:r}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e,{target:r,maskVector:s}={}){const n=["hidden","auto"];return this.style({overflowX:"number"==typeof t?n[t]:t,overflowY:"number"==typeof e?n[e]:e},{target:r,maskVector:s}),this}clip(t,{target:e,maskVector:r}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:r}),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}#r(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,r=0,s=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,r),this.#r(s),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#r(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#r(e),this}translateZ(t,e=0){const r=-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/r),this.#r(e),this}perspective(t,e=0){const r=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/t),this.cache.transformation.matrix.set(3,3,1-r/t),this.#r(e),this}scale(t,e=t,r=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.#r(r),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skew(t,e=t,r=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.#r(r),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,x(t)),this.cache.transformation.matrix.set(1,2,-F(t)),this.cache.transformation.matrix.set(2,1,F(t)),this.cache.transformation.matrix.set(1,2,x(t)),this.#r(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,x(t)),this.cache.transformation.matrix.set(0,2,F(t)),this.cache.transformation.matrix.set(2,0,-F(t)),this.cache.transformation.matrix.set(2,2,x(t)),this.#r(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,x(t)),this.cache.transformation.matrix.set(0,1,-F(t)),this.cache.transformation.matrix.set(1,0,F(t)),this.cache.transformation.matrix.set(1,1,x(t)),this.#r(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:r="auto"}={}){return this.style({transition:t+"s",width:e,height:r,visibility:"visible"}),this}slideOut({t:t=1,width:e=0,height:r=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:r});const s=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",s),this.target.element.removeEventListener("transitionend",s),this}}function ee(t,e,r,s){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),r&&r(),this.cache.stream.enabled[e]&&s&&this.cache.stream.history[e].push(s),this.cache.callbacks[e].map((t=>t(this))),this}class re{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,r){const s="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(r),this.targetElement.addEventListener(s,e),this}__onEvent(t,e,...r){if(0===r.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=r.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 se(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,r=this.dy,s=this.ux,n=this.uy,i=(s-e)/this.target.Width,o=(r-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 re{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:se.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 re{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:fe.bind(this),out:ye.bind(this),leave:ge.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,r=this.dy,s=this.ux,n=this.uy,i=(s-e)/this.target.Width,o=(r-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 fe(t){ee.call(this,t,"enter",null,null)}function ge(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 xe(t){ee.call(this,t,"wheel",null,null)}class Fe extends re{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:xe.bind(this)}}onWheel(...t){return this.__onEvent("wheel",{},...t),this}}const ve=t=>new Fe(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 re{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 Be(t){ee(this,t,"start",null)}function _e(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 re{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:Be.bind(this),drag:_e.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 re{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 Ve(t){ee.call(this,t,"dbclick",null,null)}class Re extends re{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:Ve.bind(this)}}onClick(...t){return this.__onEvent("click",{},...t),this}onDbClick(...t){return this.__onEvent("dbclick",{},...t),this}}const Ne=t=>new Re(t);function Pe(t){ee.call(this,t,"copy",null,null)}function ze(t){ee.call(this,t,"cut",null,null)}function $e(t){ee.call(this,t,"paste",null,null)}function Ue(t){ee.call(this,t,"select",null,null)}class He extends re{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:Pe.bind(this),cut:ze.bind(this),paste:$e.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 qe=t=>new He(t);function We(t){ee.call(this,t,"focus",null,null)}function Ze(t){ee.call(this,t,"blur",null,null)}class Xe extends re{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:We.bind(this),blur:Ze.bind(this)}}onFocus(...t){return this.__onEvent("focus",{},...t),this}onBlur(...t){return this.__onEvent("blur",{},...t),this}}const Ke=t=>new Xe(t);function Ye(t){ee.call(this,t,"input",null,null)}function Ge(t){ee.call(this,t,"change",null,null)}class Qe extends re{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:Ye.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 tr(t){ee.call(this,t,"hashchange",null,null)}class er extends re{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:tr.bind(this)}}onChange(...t){return this.__onEvent("hashchange",{},...t),this}}const rr=t=>new er(t),sr=t=>new sr,nr={Pointer:ce,Mouse:we,Wheel:ve,Key:De,Drag:Le,Drop:Oe,Click:Ne,Clipboard:qe,Focus:Ke,Input:Je,HashEvent:rr,customEvent:sr,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class ir{constructor(t,e,{threshold:r=0,margin:s=0}={}){this.target=t,this.config={threshold:r,margin:s},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}}class or{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}}class ar{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}#s(t){const e=Object.keys(this.styles);for(let r in this.styles[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,this.styles[e[t]][r]),this.keys.add(r);return this}#n(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}#i(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.#s(t),"string"==typeof t&&this.#n(t),t instanceof Object&&this.#i(t),this}}const hr={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"}},lr={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"}},cr={...hr,...lr};class ur{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(cr);for(let r in cr[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,cr[e[t]][r]);return this}useThemeName(t){t=t.toLowerCase();const e=Object.fromEntries(Object.entries(cr).map((t=>[t[0].toLowerCase(),t[1]])));for(let r in e[t])document.documentElement.style.setProperty(`--${r}-${this.id}`,e[t][r]);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}}class mr{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 r=s=>{this.off(t,r),e(s)};this.on(t,r)}off(t,e){const r=this.events[t];if(r){const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}emit(t,e){const r=this.events[t];r&&r.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 pr=()=>new mr;class dr{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=pr(),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}}class fr{constructor(t,e=!0){this.#o(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#o(){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=pr(),this}}class gr{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.#a(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#h(),this}#h(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const r=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),s=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);r&&s&&s(r)},this}#a(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 yr=t=>new gr(t);class br{#l;constructor(){this.#l=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.#l],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,r=!0){return this.worker.postMessage({fun:t.toString(),close:r}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}class wr{constructor(t={acceptAllDevices:!0}){this.options=t,this.__Emitter__=pr(),this.isSupported&&this.#o()}async#o(){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"),r=await e.getCharacteristic("battery_level"),s=await r.readValue();t(await s.getUint8(0))}}class xr{constructor(){this.isSupported&&this.#o()}async#o(){this.__Battery__=await navigator.getBattery()}get isSupported(){return!!navigator.getBattery}get current(){const{level:t,charging:e,chargingTime:r,dischargingTime:s}=this.__Battery__;return{level:t,charging:e,chargingTime:r,dischargingTime:s}}onChargingChange(t){return this.__Battery__.addEventListener("chargingchange",t),this}onLevelChange(t){return this.__Battery__.addEventListener("levelchange",t),this}}class Fr{constructor(){this.isSupported&&this.#o()}async#o(){navigator.geolocation.getCurrentPosition((t=>this.__Geolocation__=t))}get isSupported(){return!!navigator.geolocation}get current(){return this.__Geolocation__}}class vr{constructor(t,{fps:e,step:r,t:s=[0,null],start:n=!0}={}){this.callback=t,this.cache={isRunning:!1,AnimationId:null,startTime:null,step:r,fps:e,t:s,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]&&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 Cr=(t,e)=>new vr(t,e),Er={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-Er.OutBounce(1-t),OutBounce(t){const e=7.5625,r=2.75;return t<1/r?e*t*t:t<2/r?e*(t-=1.5/r)*t+.75:t<2.5/r?e*(t-=2.25/r)*t+.9375:e*(t-=2.625/r)*t+.984375},InOutBounce:t=>t<.5?(1-Er.OutBounce(1-2*t))/2:(1+Er.OutBounce(2*t-1))/2},kr=(t,e=1e3)=>(...r)=>setTimeout((()=>t(...r)),e),Ar=(t,e)=>{let r=0;return(...s)=>{const n=(new Date).getTime();n-r<e||(r=n,t(...s))}},Dr=t=>{const e=Date.now(),r=performance.memory.usedJSHeapSize,s=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-r,result:s}},Br=t=>new Promise((e=>{if(t.element)return e(t.element);const r=new MutationObserver((()=>{t.element&&(e(t.element),r.disconnect())}));r.observe(document.body,{childList:!0,subtree:!0})})),_r=(t,e=2e3)=>{const r=Date.now();for(;Date.now()-r<e;)if(t.element)return t.element},Mr=t=>new Promise((e=>setTimeout(e,t))),Tr=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};class Ir{constructor(t,{ease:e=Er.Linear,step:r=50,t:s=[0,null],start:n=!0,duration:i=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:r,intervall:s,started:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#c(){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}#u(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#c.bind(this),this.cache.step)),this}start(){return this.#u(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#u(!1),this}stop(){return this.pause(),this.reset(!1),this}}const Sr=(t,e)=>new Ir(t,e),Lr={wait:Mr,timeTaken:Tr,useThrottle:Ar,useDebounce:kr,Ease:Er,time_memory_Taken:Dr,loop:Cr,animation:Sr,waitForUIElm:Br,waitForUIElmSync:_r,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Or{#m;constructor(t,e,r){this.#m={storage:t,globalKey:e,channel:yr(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#o(r),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]})}#o(t){this.#m.channel=yr(`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 r=0;r<t.length;r++)delete e[t[r]],delete this[t[r]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.#m.storage.removeItem(this.#m.globalKey),this.#p(),this}}const jr={useStyle:t=>e=>new ar(e,t),useTheme:(t=0)=>(e=0)=>new ur(e,t),useBattery:()=>new xr,useGeolocation:()=>new Fr,useEventEmitter:pr,useChannel:yr,useThread:(t,e,r)=>{const s=new br;return t&&s.call(t,e,r),s},useBluetooth:t=>new wr(t),useTitle:(t,e)=>new dr(t,e),useFavIcon:(t,e)=>new fr(t,e),useThrottle:Ar,useDebounce:kr,useLocaleStorage:(t,e)=>new Or(localStorage,t,e),useSessionStorage:(t,e)=>new Or(sessionStorage,t,e),useSuccesifKeys:(t,e=[],r=(()=>{}))=>{t.cache.stream.enabled.down=!0;const s=e.length,n=t.cache.stream.history.down.slice(-s).map((t=>t.key));e.join("")===n.join("")&&(t.event.preventDefault(),r.call(t,t))},ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Vr{constructor(t,e=""){var r;this.target=globalThis.__ZikoConfig__.default.target||globalThis.document.body,"string"==typeof t&&(t=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:(r={},new te(r)),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.__UI__[this.cache.name]?.push(this),this.render(globalThis.__ZikoConfig__.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 __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}}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:r=null}={}){return this.st.style(t,{target:e,maskVector:r}),this}size(t,e,{target:r,maskVector:s}={}){return this.st.size(t,e,{target:r,maskVector:s}),this}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}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 Vr&&(t=t.element),this.remove(),this.target=t,this.render(),this}render(t=!0,e=this.target){return e instanceof Vr&&(e=e.element),this.target=e,t?this.target.appendChild(this.element):this.remove(),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]=Nr(t[e])),t[e]instanceof Vr?(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 Vr&&this.element.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}removeAfter(t=1){return setTimeout((()=>this.remove()),t),this}removeItem(...t){const e=t=>{t instanceof Vr?this.element.removeChild(t.element):"number"==typeof t&&this.element.removeChild(this.element.children[t])};for(let r=0;r<t.length;r++)e(t[r]);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 r=0;r<e.length;r++)["number","string"].includes(typeof e[r])&&(e[r]=Nr(e[r])),this.element.insertBefore(e[r].element,this.items[t].element),this.items.splice(t,0,e[r]);return this}setAttr(t,e){return this.element.setAttribute(t,e),Object.assign(this.cache.attributes,Object.fromEntries([[t,e]])),this}removeAttr(t){return this.element.removeAttribute(t),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.element.setAttribute("id",t),this}get Id(){return this.element.getAttribute("id")}forEach(t){return this.items.forEach(t),this}where(t,e,r){return this.items.filter(t).forEach(e),this}filter(t){return this.items.filter(t)}filterByTextContent(t,e=!1){return this.items.map((t=>t.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.includes(t))})).map((t=>t.render(!1))),this}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.render(!1))),this}sortByTextContent(t,e){let r=this.children;return r.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),r.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,r)=>t.style.display=e[r])),r.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=ve(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=Ne(this)),this.events.click.onClick(...t),this}onDbClick(...t){return this.events.click||(this.events.click=Ne(this)),this.events.click.onDbClick(...t),this}onCopy(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onCopy(...t),this}onCut(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onCut(...t),this}onPaste(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onPaste(...t),this}onSelect(...t){return this.events.clipboard||(this.events.clipboard=qe(this)),this.events.clipboard.onSelect(...t),this}onFocus(...t){return this.events.focus||(this.events.focus=Ke(this)),this.events.focus.onFocus(...t),this}onBlur(...t){return this.events.focus||(this.events.focus=Ke(this)),this.events.focus.onFocus(...t),this}on(t,...e){return this.events.custom||(this.events.custom=sr()),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=sr()),this.events.custom.emit(t,e),this}WatchAttributes(){}WatchChildren(){}WatchSize(t){return this.observer.resize||(this.observer.resize=((t,e)=>new or(t,e))(this,t)),this.observer.resize.start(),this}WatchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=((t,e,r)=>new ir(t,e,r))(this,t,e)),this.observer.intersection.start(),this}get VisibleArea(){let t=this.element.getBoundingClientRect(),e=globalThis.document.documentElement.clientHeight,r=globalThis.document.documentElement.clientWidth,s=t.top>0&&t.top<e,n=t.bottom<e&&t.bottom>0,i=t.left>0&&t.left<r,o=t.right>0&&t.right<r;return{top:s,bottom:n,left:i,right:o,heightRatio:(t.height+t.y)/t.height,isVisible:s||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}}class Rr extends Vr{constructor(...t){super("span","text"),this.element=document.createElement("span"),this.text="",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.text=""+t,this.text.includes("\n")&&(this.text=this.text.split("\n").map((t=>"<span>".concat(t,"</span></br>"))).join(""))),t instanceof r&&(this.text=""+t.UI()),e?this.element.innerHTML+=this.text:this.element.innerHTML=this.text,(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 Nr=(...t)=>new Rr(...t);class Pr extends Vr{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 Vr?this.element.appendChild(t[e].element):t[e]instanceof r&&Nr(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 zr=(...t)=>(new Pr).append(...t);class $r extends Vr{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element=document.createElement("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 Ur=(t="")=>new $r(1,t),Hr=(t="")=>new $r(2,t),qr=(t="")=>new $r(3,t),Wr=(t="")=>new $r(4,t),Zr=(t="")=>new $r(5,t),Xr=(t="")=>new $r(6,t);class Kr extends Vr{constructor(t){super(t,"html")}}class Yr extends Vr{constructor(){super("br","br"),delete this.append}}class Gr extends Vr{constructor(){super("hr","hr"),delete this.append}}class Qr extends Vr{constructor(t){super("a","link"),this.setHref(t)}setHref(t){this.element.href=t}}const Jr=()=>new Yr,ts=()=>new Gr,es=(t=1)=>new Array(t).fill(new Yr),rs=(t=1)=>new Array(t).fill(new Gr),ss=(t,...e)=>new Qr(t).append(...e),ns=(t,...e)=>new Kr(t).append(...e);class is extends Vr{constructor(t){super(),this.element=document.createElement("li"),this.append(t)}}class os extends Vr{constructor(t,e){super(t,e),delete this.append}append(...t){for(let e=0;e<t.length;e++){let r=null;["string","number"].includes(typeof t[e])&&(t[e]=Nr(t[e])),t[e]instanceof Vr&&(r=new is(t[e])),r.setTarget(this.element),this.items.push(r[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 Vr&&this.element.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);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 r=0;r<e.length;r++){let s=null;["number","string"].includes(typeof e[r])&&(e[r]=Nr(e[r])),e[r]instanceof Vr&&(s=new is(e[r])),this.element.insertBefore(s.element,this.items[t].parent.element),this.items.splice(t,0,e[r][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.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,r)=>t*e.element.textContent.localeCompare(r.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 as extends os{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 hs extends os{constructor(...t){super("ul","ul"),this.append(...t)}}const ls=(...t)=>new as(...t),cs=(...t)=>new hs(...t);class us extends Vr{constructor(t="button"){super("button","btn"),this.element=document.createElement("button"),this.setValue(t),this.st.cursor("pointer")}setValue(t){return t instanceof Vr?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 ms=t=>new us(t);class ps extends Vr{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 ds extends Vr{constructor(){super(),this.element=document.createElement("textarea")}get value(){return this.element.textContent}}const fs=()=>new ds;class gs extends Vr{constructor(t="",e){super(),this.element=document.createElement("input"),Object.assign(this.events,{input:null}),this.setValue(t),e&&this.linkDatalist(e)}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 _s)e=t.Id;else if(t instanceof Array){const r=new _s(...t);e=r.Id,console.log(r)}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 ys extends gs{constructor(){super(),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 bs extends gs{constructor(t,e,r=1){super(),this._setType("number"),this.setMin(t).setMax(e).setStep(r)}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 ws extends bs{constructor(t=0,e=0,r=10,s=1){super(),this._setType("range"),this.setMin(e).setMax(r).setValue(t).setStep(s)}}class xs extends gs{constructor(){super(),this._setType("color"),this.background(this.value),this.onInput((()=>this.background(this.value)))}}class Fs extends gs{constructor(){super(),this._setType("password")}}class vs extends gs{constructor(){super(),this._setType("email")}}class Cs extends gs{constructor(){super(),this._setType("time")}}class Es extends gs{constructor(){super(),this._setType("date")}}class ks extends gs{constructor(){super(),this._setType("datetime-local")}}class As extends gs{constructor(){super(),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 Ds extends gs{constructor(){super(),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 Bs extends Vr{constructor(t="File"){super(),this._aux_element=ms(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,r=new Image;e.onload=function(t){r.src=t.target.result,console.log(r.src)},e.readAsDataURL(t.target.files[0]),this.img=r}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 _s extends Vr{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 ps(t)))),this}}const Ms=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:r}=t;return t=t.value??"",new gs(t,e).setPlaceholder(r)}return new gs(t,e)},Ts=(...t)=>new _s(...t),Is=(t,e,r,s)=>{if(t instanceof Object){const{min:e=0,max:r=10,step:s=1}=t;return new ws(t=t?.value??5,e,r,s)}return new ws(t,e,r,s)},Ss=(t,e,r)=>{if(t instanceof Object){const{value:e,max:r=10,step:s=1,placeholder:n=""}=t;return new ws(t=t?.min??0,r,s).setValue(e).setPlaceholder(n)}return new bs(t,e,r)},Ls=(...t)=>(new ys).connect(...t),Os=t=>new Bs(t),js=()=>new Fs,Vs=()=>new vs,Rs=()=>new xs,Ns=()=>new Cs,Ps=()=>new Es,zs=()=>new ks,$s=()=>new As,Us=()=>new Ds;class Hs extends Vr{constructor(){super(),this.element=document.createElement("select")}addOptions(...t){return t.map((t=>this.append(new ps(t)))),this}}const qs=()=>new Hs;class Ws extends Vr{constructor(t,e,r){super("image","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r})}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 Zs=(t,e,r)=>new Ws(t,e,r);class Xs extends Vr{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 Ks=(t,e)=>new Xs(t,e);class Ys extends Vr{constructor(t="",e="100%",r="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r})}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 Gs=(t,e,r)=>new Ys(t,e,r);class Qs extends Vr{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 Js=t=>new Qs(t);class tn extends Ys{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 en=()=>new tn;class rn extends Vr{constructor(t="div",e="100%",r="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r}),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,r=1){return nn.call(this,r),this.style({alignItems:"number"==typeof t?an.call(this,t):t,justifyContent:"number"==typeof e?hn.call(this,e):e}),this}horizontal(t,e,r=1){return on.call(this,r),this.style({alignItems:"number"==typeof e?hn.call(this,e):e,justifyContent:"number"==typeof t?an.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const sn=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new rn(e).append(...t)};function nn(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function on(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function an(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function hn(t){return an(-t)}class ln extends Vr{constructor(t="div",e="50vw",r="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r}),this.style({display:"grid"}),this.render()}columns(t){let e="";for(let r=0;r<t;r++)e=e.concat(" auto");return this.#d(e),this}#d(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 cn=(...t)=>new ln("div").append(...t);class un extends Vr{constructor(t,e,r="😁"){super("details","Accordion"),this.summary=ns("summary",t).style({fontSize:"1.1em",padding:"0.625rem",fontWeight:"bold",listStyleType:`"${r}"`,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 mn=(t,e,r)=>new un(t,e,r);class pn extends rn{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 dn=(...t)=>new pn(...t);class fn extends rn{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(wn(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,r)=>this.addNote(t[r].input))),this}}const gn=()=>new fn,yn={background:"none",width:"25px",height:"25px",fontSize:"1.2rem",cursor:"pointer"};class bn extends rn{constructor(t="",{type:e="js",order:r=null}={}){var s;super("section"),Object.assign(this.cache,{state:null,order:r,type:e,metadata:{created:Date.now(),updated:null}}),this.Input=((t="")=>ns("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=ns("output").style({width:"100%",height:"auto",padding:"5px 0"}),this.InOut=sn(this.Input,this.Output).vertical().style({width:"100%",margin:"10px auto"}),this.RightControl=(s=this,sn(Nr("▶️").style(yn).onClick((t=>{s.parent instanceof fn&&s.parent.setCurrentNote(s),s.execute(),globalThis.__ZikoConfig__.default.target=t.target.parent.parent[1][1]})),Nr("📋").style(yn).onClick((()=>{navigator.clipboard.writeText(s.codeText)})),Nr("✖️").style(yn).onClick((()=>s.remove())),Nr("✖️").style(yn).onClick((()=>s.remove()))).style({width:"70px",height:"50px",margin:"10px 0"}).horizontal(0,0).wrap(!0)),this.LeftControl=sn(Nr("[ ]")).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 fn&&("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 fn&&(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 fn&&(this.cache.parent.incrementOrder(),this.cache.parent.next()))}}#g(){}#y(){}evaluate(t){if(globalThis.__ZikoConfig__.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 wn=(t,{type:e,order:r}={})=>new bn(t,{type:e,order:r});class xn extends rn{#b=0;constructor(t,e){super("div","Tabs"),this.style({boxSizing:"border-box",backgroundColor:"blanchedalmond",border:"1px red solid",margin:"30px"}),this.append(sn().size("auto","auto").style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",minWidth:"50px",minHeight:"50px",backgroundColor:"darkblue",border:"1px darkblue solid"}),sn().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"),r=+e.slice(3);this.Content.filter((t=>t.element.getAttribute("aria-labelledby")===e),(()=>{this.#b!==r&&this.display(r)}))})))),this}addPairs(t,e){this.Controller.append(t),this.Content.append(e);const r=this.Controller.length;return this.Controller.at(-1).setAttr("role","tab").setAttr("aria-controls","tab"+(r-1)),this.Content.at(-1).setAttr("role","tabpanel").setAttr("aria-labelledby","tab"+(r-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 Fn=(t,e)=>new xn(t,e);class vn extends Vr{constructor(){super("main","Main")}}class Cn extends Vr{constructor(){super("header","Header")}}class En extends Vr{constructor(){super("nav","Nav")}}class kn extends Vr{constructor(){super("section","Section"),this.style({position:"relative"})}}class An extends Vr{constructor(){super("article","Article")}}class Dn extends Vr{constructor(){super("aside","Aside")}}class Bn extends Vr{constructor(){super("footer","Footer"),this.element=document.createElement("footer")}}const _n=(...t)=>(new kn).append(...t),Mn=(...t)=>(new An).append(...t),Tn=(...t)=>(new vn).append(...t),In=(...t)=>(new Cn).append(...t),Sn=(...t)=>(new Bn).append(...t),Ln=(...t)=>(new En).append(...t),On=(...t)=>(new Dn).append(...t);class jn extends Vr{constructor(...t){super(),this.element=document.createElement("Tr"),this.append(...t)}}class Vn extends Vr{constructor(...t){super(),this.element=document.createElement("Td"),this.append(...t)}}class Rn extends Vr{constructor(...t){super(),this.element=document.createElement("Thead"),this.append(...t)}}class Nn extends Vr{constructor(...t){super(),this.element=document.createElement("Tbody"),this.append(...t)}}class Pn extends Vr{constructor(t){super(),this.element=document.createElement("Caption"),this.append(t)}}const zn=(...t)=>(t=t.map((t=>(t instanceof Vr||(t=Nr(t)),t))),new Vn(...t)),$n=t=>new Pn(t),Un=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new jn(...t))())),r=t.arr.map((t=>t.map((()=>null))));for(let s=0;s<r.length;s++)for(let n=0;n<r[0].length;n++)r[s][n]=zn(t.arr[s][n]),e[s].append(r[s][n]);return e};class Hn extends Vr{constructor(t,{caption:e=null,head:r=null,foot:s=null}={}){super("table","Table"),this.structure={caption:e,head:r,body:null,foot:s},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=$n(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Pn))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof Vr||(t=zn(t)),t))),new Rn(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Pn))),this}setFooter(t){return this.structure.caption=$n(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Pn))),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 Nn(...t))(),this.append(this.structure.body),this.structure.body.append(...Un(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Hn&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Hn&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,r=this.bodyMatrix.rows-1,s=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,r,s)),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 qn=(t,e)=>new Hn(t,e),Wn={html:ns,text:Nr,p:zr,h1:Ur,h2:Hr,h3:qr,h4:Wr,h5:Zr,h6:Xr,btn:ms,br:Jr,hr:ts,brs:es,hrs:rs,link:ss,ol:ls,ul:cs,input:Ms,search:Ls,slider:Is,checkbox:$s,radio:Us,datalist:Ts,inputNumber:Ss,inputColor:Rs,inputDate:Ps,inputDateTime:zs,inputEmail:Vs,inputImage:Os,inputPassword:js,inputTime:Ns,select:qs,textarea:fs,inputCamera:en,image:Zs,video:Gs,audio:Js,figure:Ks,Flex:sn,Carousel:dn,Grid:cn,Header:In,Main:Tn,Section:_n,Article:Mn,Aside:On,Nav:Ln,Footer:Sn,Table:qn,CodeCell:wn,CodeNote:gn,Tabs:Fn,Accordion:mn,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}},Zn=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">'),Xn=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${Zn(t)}</td>`)).join("")}</tr>\n`,Kn=(t,e)=>{const r=t.slice(1,-1).join("\n");return`<pre>${e?`<code data-language="${e}">${r}</code>`:`<code>${r}</code>`}</pre>\n`},Yn=t=>{const e=t.match(/^\d+\.\s/);if(e){let r=+e[1];return`<ol${1===r?"":` start=${r}`}>\n<li>${Zn(t.slice(e[0].length))}</li>\n</ol>\n`}return`<ul>\n<li>${Zn(t)}</li>\n</ul>\n`},Gn=t=>{const e=t.split("\n");let r="",s=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))s||(s=!0,r+="<table>\n"),r+=Xn(a);else if(s&&(s=!1,r+="</table>\n"),a.startsWith("```"))n?(n=!1,r+=Kn(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);r+=`<h${t}>${Zn(e)}</h${t}>\n`}else a.startsWith("- ")||a.startsWith("* ")||a.match(/^\d+\.\s/)?r+=Yn(a):r+=`<p>${Zn(a)}</p>\n`}return r},Qn=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),Jn=(t,e=",")=>new ot(Qn(t,e)),ti=(t,e=",")=>{const[r,...s]=Qn(t,e);return s.map((t=>{const e={};return r.forEach(((r,s)=>{e[r]=t[s]})),e}))},ei=(t,e=",")=>JSON.stringify(ti(t,e)),ri=(t,e)=>{const r=t.trim().trimEnd().split("\n").filter((t=>t));let s=`INSERT INTO ${e} (${r[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<r.length;t++){const e=r[t].split(",");n.push(`(${e})`)}return s+n.join(",\n")},si=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],ni=(t,e)=>si(t).map((t=>t.join(e))).join("\n"),ii=t=>si(t instanceof Object?t:JSON.parse(t)),oi=(t,e=",")=>ni(t instanceof Object?t:JSON.parse(t),e),ai=(t,e)=>{const r=oi(t,e),s=new Blob([r],{type:"text/csv;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},hi=(t,e)=>{const r=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){r.push(`${e}-`);const s=hi(t,`${e} `);r.push(...s)}else r.push(`${e}- ${t}`)}));else for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];if("object"==typeof n&&null!==n){r.push(`${e}${s}:`);const t=hi(n,`${e} `);r.push(...t)}else r.push(`${e}${s}: ${n}`)}return r},li=(t,e="")=>hi(t,e).join("\n"),ci=(t,e)=>li(t instanceof Object?t:JSON.parse(t),e),ui=(t,e)=>{const r=ci(t,e),s=new Blob([r],{type:"text/yml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},mi=(t,e=1)=>{let r="";for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];r+="\n"+" ".repeat(e)+`<${s}>`,r+="object"==typeof n?mi(n,e+2):`${n}`,r+=`</${s}>`}return r.trim()},pi=(t,e)=>{const r=mi(t,e),s=new Blob([r],{type:"text/xml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},di=t=>(new XMLSerializer).serializeToString(t),fi=t=>btoa(di(t)),gi=t=>"data:image/svg+xml;base64,"+fi(t),yi=(t,e=!0)=>Zs(gi(t)).render(e);function bi(t){const e={type:t.nodeName,attributes:{},children:[]};for(let r=0;r<t.attributes.length;r++){const s=t.attributes[r];e.attributes[s.name]=s.value}for(let r=0;r<t.childNodes.length;r++){const s=t.childNodes[r];s.nodeType===Node.ELEMENT_NODE?e.children.push(bi(s)):s.nodeType===Node.TEXT_NODE&&(e.text=s.textContent.trim())}return e}const wi=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),r=await e.text();return(new DOMParser).parseFromString(r,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=wi(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};const xi={parseXML:function(t){return bi((new DOMParser).parseFromString(t,"text/xml").documentElement)},preload:wi,markdown2html:Gn,csv2arr:Qn,csv2matrix:Jn,csv2object:ti,csv2json:ei,csv2sql:ri,json2arr:ii,json2csv:oi,json2csvFile:ai,json2yml:ci,json2ymlFile:ui,json2xml:mi,json2xmlFile:pi,svg2str:di,svg2ascii:fi,svg2imgUrl:gi,svg2img:yi,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Fi{constructor(){this.cache={}}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 vi extends Fi{constructor(t,e,r,s,n=!0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.setX(t).setY(e).width(r).height(s),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 Ci=(t,e,r,s,n)=>new vi(t,e,r,s,n);class Ei extends Fi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.cx(t).cy(e).r(r)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}r(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 ki=(t,e,r)=>new Ei(t,e,r);class Ai extends Fi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","ellipse"),this.cx(t).cy(e).rx(r).ry(s)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}rx(t){return this.element.rx.baseVal.value=t,this}ry(t){return this.element.ry.baseVal.value=t,this}}const Di=(t,e,r,s)=>new Ai(t,e,r,s);class Bi extends Fi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","line"),this.x1(t).y1(e).x2(r).y2(s).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 _i=(t,e,r,s)=>new Bi(t,e,r,s);class Mi extends Fi{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","")}addPoint(t,e){let r=this.element.parentElement.createSVGPoint();return r.x=t,r.y=e,this.element.points.appendItem(r),this}addPoints(t,e){for(let r=0;r<t.length;r++){let s=this.element.parentElement.createSVGPoint();s.x=t[r],s.y=e[r],this.element.points.appendItem(s)}return this}}const Ti=(t,e)=>new Mi(t,e);class Ii extends Fi{constructor(t="",e="100%",r="100%",s=0,n=0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","image"),this.setSrc(t).width(e).height(r).x(s).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 Si=(t,e,r,s,n)=>new Ii(t,e,r,s,n);class Li extends Fi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","text"),this.setText(t),this.x(e).y(r)}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 Oi=(t,e,r)=>new Li(t,e,r);class ji extends Fi{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=>!t));return this}}const Vi=(...t)=>new ji(...t);class Ri extends Vr{constructor(t=360,e=300){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.setAttr("width",t),this.setAttr("height",e),this.style({border:"1px black solid"}),this.render()}view(t,e,r,s){let n=Math.abs(r-t),i=Math.abs(s-e);return this.setAttr("viewBox",[t,e,n,i].join(" ")),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 Ni=(t,e)=>new Ri(t,e);class Pi extends Vr{constructor(t,e){super(),this.element=document.createElement("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.__ZikoConfig__.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,r,s){return this.transformMatrix[0][0]=this.Width/(r-t),this.transformMatrix[1][1]=-this.Height/(s-e),this.transformMatrix[0][2]=this.Width/2,this.transformMatrix[1][2]=this.Height/2,this.axisMatrix=new ot([[t,e],[r,s]]),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,r=this.Width,s=this.Height){return this.ctx.getImageData(t,e,r,s)}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 Pi;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"),r=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(r)},e.src=r,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const zi=(t,e)=>new Pi(t,e);class $i{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 r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInStroke(this.path,t,e),this.parent.applyTransformMatrix()),r}isInPath(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}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 Ui extends $i{constructor(t,e,r,s){super(t,e),this.r=r,this.angle=s,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:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&t.fill(this.path),t.closePath(),t.restore()}return this}radius(t){return this.r=t,this.parent&&this.parent.draw(),this}}const Hi=(t,e,r,s)=>new Ui(t,e,r,s),qi=(t,e,r)=>new Ui(t,e,r,2*Math.PI);class Wi extends $i{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 r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}}const Zi=(t=[],e=[])=>new Wi(t,e);class Xi extends $i{constructor(t,e,r,s){super(),this.x0=t,this.x1=r,this.y0=e,this.y1=s,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 Ki=(t,e,r,s)=>new Xi(t,e,r,s);class Yi extends $i{constructor(t,e,r,s){super(t,e),this.w=r,this.h=s,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:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&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 Gi=(t,e,r,s)=>new Yi(t,e,r,s),Qi={Svg:Ni,ZikoUISvg:Ri,svgCircle:ki,svgEllipse:Di,svgImage:Si,svgLine:_i,svgPolygon:Ti,svgRect:Ci,svgText:Oi,svgGroupe:Vi,Canvas:zi,canvasArc:Hi,canvasCircle:qi,canvasPoints:Zi,canvasLine:Ki,canvasRect:Gi,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Ji{constructor(t,e){this.root_UI=t,this.routes=new Map([[404,Nr("Error 404")],...Object.entries(e)]),this.patterns=new Map,this.maintain(),window.onpopstate=this.render(location.pathname)}get(t,e){return t instanceof RegExp?this.patterns.set(t,e):this.routes.set(t,e),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 to=(t,e,r)=>new Ji(t,e,r),eo={default:{target:null,render:!0},setDefault:function(t){const e=Object.keys(t),r=Object.values(t);for(let t=0;t<e.length;t++)this.default[e[t]]=r[t]},init:()=>document.documentElement.setAttribute("data-engine","zikojs")};class ro{constructor(t){this.app=t,this.meta={},this.#w("generator","zikojs")}#w(t,e){const r=document.querySelector(`meta[name=${t}]`);return this.meta=r||document.createElement("meta"),this.meta.setAttribute("name",t),this.meta.setAttribute("content",e),r||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.#w("description",t),this}viewport(t="width=device-width, initial-scale=1.0"){return this.#w("viewport",t),this}keywords(...t){return t.push("zikojs"),t=[...new Set(t)].join(", "),this.#w("keywords",t),this}author(t="",e=""){const r=[t,e].join(", ");return this.#w("author",r),this}}class so extends rn{constructor(){super("main"),this.root=document.documentElement,this.head=null,this.#o(),this.seo=new ro(this),Object.assign(this.events,{hash:null}),Object.assign(this.cache,{theme:null,isRoot:!0}),this.render(globalThis.__ZikoConfig__.default.render)}#o(){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=rr(this)),this.events.hash.onChange(...t),this}}const no=(...t)=>(new so).append(...t),io={App:no,Math:Qt,UI:Wn,Time:Lr,Graphics:Qi,Events:nr,Use:jr,Data:xi,SPA:to};globalThis.__Ziko__=io,globalThis.__UI__={text:[],p:[],pre:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],br:[],hr:[],btn:[],ol:[],ul:[],image:[],video:[],audio:[],Article:[],Main:[],Section:[],Aside:[],Nav:[],Header:[],Footer:[],Flex:[],FlexMain:[],FlexNav:[],FlexHeader:[],FlexFooter:[],FlexSection:[],FLexArticle:[],FlexAside:[],Table:[],Svg:[],Canvas:[]},globalThis.__ZikoConfig__=eo,t.Accordion=mn,t.App=no,t.Article=Mn,t.Aside=On,t.Base=X,t.Canvas=zi,t.Carousel=dn,t.CodeCell=wn,t.CodeNote=gn,t.Combinaison=G,t.Complex=r,t.DarkThemes=lr,t.Data=xi,t.E=Et,t.EPSILON=kt,t.Ease=Er,t.Events=nr,t.ExtractAll=function(){return Wn.ExtractAll(),Qt.ExtractAll(),Lr.ExtractAll(),nr.ExtractAll(),jr.ExtractAll(),Qi.ExtractAll(),xi.ExtractAll(),this},t.Fixed=p,t.Flex=sn,t.Footer=Sn,t.Graphics=Qi,t.Grid=cn,t.Header=In,t.LightThemes=hr,t.LinearSystem=ut,t.Logic=K,t.Main=Tn,t.Math=Qt,t.Matrix=ot,t.Nav=Ln,t.PI=Ct,t.Permutation=Y,t.Random=J,t.RemoveAll=function(){Wn.RemoveAll(),Qt.RemoveAll(),Lr.RemoveAll(),nr.RemoveAll(),jr.RemoveAll(),Qi.RemoveAll(),xi.RemoveAll()},t.SPA=to,t.Section=_n,t.Signal=Gt,t.Svg=Ni,t.Table=qn,t.Tabs=Fn,t.Themes=cr,t.Time=Lr,t.UI=Wn,t.Utils=Ht,t.ZikoUIArticle=An,t.ZikoUIAside=Dn,t.ZikoUIAudio=Qs,t.ZikoUIBr=Yr,t.ZikoUICanvas=Pi,t.ZikoUICodeNote=fn,t.ZikoUIElement=Vr,t.ZikoUIFigure=Xs,t.ZikoUIFooter=Bn,t.ZikoUIHeader=Cn,t.ZikoUIHr=Gr,t.ZikoUIHtmlTag=Kr,t.ZikoUIImage=Ws,t.ZikoUILink=Qr,t.ZikoUIMain=vn,t.ZikoUINav=En,t.ZikoUISection=kn,t.ZikoUISvg=Ri,t.ZikoUIVideo=Ys,t.__ZikoConfig__=eo,t.__init__=()=>document.documentElement.setAttribute("data-engine","zikojs"),t.abs=d,t.accum=h,t.acos=D,t.acosh=O,t.acot=M,t.add=bt,t.animation=Sr,t.arange=St,t.asin=B,t.asinh=j,t.atan=_,t.atan2=z,t.atanh=V,t.audio=Js,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 r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>u(t[s],e)),...e));return r}}},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 r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>m(t[s],e)),...e));return r}}},t.br=Jr,t.brs=es,t.btn=ms,t.canvasArc=Hi,t.canvasCircle=qi,t.canvasLine=Ki,t.canvasPoints=Zi,t.canvasRect=Gi,t.cartesianProduct=zt,t.ceil=R,t.checkbox=$s,t.choleskyDecomposition=it,t.clamp=It,t.complex=s,t.cos=x,t.cosh=T,t.cot=A,t.coth=L,t.csc=k,t.csv2arr=Qn,t.csv2json=ei,t.csv2matrix=Jn,t.csv2object=ti,t.csv2sql=ri,t.datalist=Ts,t.default=io,t.deg2rad=Vt,t.div=Ft,t.e=b,t.fact=$,t.figure=Ks,t.floor=N,t.gamma=(...t)=>mt(l,...t),t.geomspace=jt,t.h1=Ur,t.h2=Hr,t.h3=qr,t.h4=Wr,t.h5=Zr,t.h6=Xr,t.hr=ts,t.hrs=rs,t.html=ns,t.hypot=q,t.image=Zs,t.inRange=Nt,t.input=Ms,t.inputCamera=en,t.inputColor=Rs,t.inputDate=Ps,t.inputDateTime=zs,t.inputEmail=Vs,t.inputImage=Os,t.inputNumber=Ss,t.inputPassword=js,t.inputTime=Ns,t.isApproximatlyEqual=Pt,t.json2arr=ii,t.json2csv=oi,t.json2csvFile=ai,t.json2xml=mi,t.json2xmlFile=pi,t.json2yml=ci,t.json2ymlFile=ui,t.lerp=Mt,t.li=t=>new is(t),t.link=ss,t.linspace=Lt,t.ln=w,t.logspace=Ot,t.loop=Cr,t.luDecomposition=tt,t.map=Tt,t.mapfun=mt,t.markdown2html=Gn,t.matrix=at,t.matrix2=ht,t.matrix3=lt,t.matrix4=ct,t.max=a,t.min=o,t.modulo=vt,t.mul=xt,t.norm=_t,t.nums=Bt,t.ol=ls,t.ones=Dt,t.p=zr,t.pgcd=$t,t.pow=g,t.powerSet=W,t.ppcm=Ut,t.prod=i,t.qrDecomposition=nt,t.rad2deg=Rt,t.radio=Us,t.round=P,t.search=Ls,t.sec=C,t.select=qs,t.sig=H,t.sign=U,t.sin=F,t.sinc=E,t.sinh=I,t.slider=Is,t.sqrt=f,t.sqrtn=y,t.sub=wt,t.subSet=Z,t.sum=n,t.svg2ascii=fi,t.svg2img=yi,t.svg2imgUrl=gi,t.svg2str=di,t.svgCircle=ki,t.svgEllipse=Di,t.svgGroupe=Vi,t.svgImage=Si,t.svgLine=_i,t.svgPolygon=Ti,t.svgRect=Ci,t.svgText=Oi,t.tan=v,t.tanh=S,t.text=Nr,t.textarea=fs,t.timeTaken=Tr,t.time_memory_Taken=Dr,t.ul=cs,t.useDebounce=kr,t.useThrottle=Ar,t.video=Gs,t.wait=Mr,t.waitForUIElm=Br,t.waitForUIElmSync=_r,t.zeros=At,Object.defineProperty(t,"__esModule",{value:!0})}));