tiny-essentials 1.23.2 → 1.24.1

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 (454) hide show
  1. package/.github/workflows/node.js.yml +2 -2
  2. package/README.md +6 -2
  3. package/changelog/1/23/2.md +2 -0
  4. package/changelog/1/24/0.md +10 -0
  5. package/changelog/1/24/1.md +12 -0
  6. package/dist/v1/TinyBasicsEs.min.js +1 -1
  7. package/dist/v1/TinyColorValidator.min.js +1 -0
  8. package/dist/v1/TinyDragger.min.js +1 -1
  9. package/dist/v1/TinyEssentials.min.js +1 -1
  10. package/dist/v1/TinyHtml.min.js +1 -1
  11. package/dist/v1/TinySmartScroller.min.js +1 -1
  12. package/dist/v1/TinyUploadClicker.min.js +1 -1
  13. package/dist/v1/basics/array.cjs +28 -0
  14. package/dist/v1/basics/array.d.mts +16 -0
  15. package/dist/v1/basics/array.mjs +27 -0
  16. package/dist/v1/basics/index.cjs +2 -4
  17. package/dist/v1/basics/index.d.mts +2 -2
  18. package/dist/v1/basics/index.mjs +2 -4
  19. package/dist/v1/basics/text.cjs +33 -0
  20. package/dist/v1/basics/text.d.mts +15 -0
  21. package/dist/v1/basics/text.mjs +28 -0
  22. package/dist/v1/build/TinyColorValidator.cjs +7 -0
  23. package/dist/v1/build/TinyColorValidator.d.mts +3 -0
  24. package/dist/v1/build/TinyColorValidator.mjs +2 -0
  25. package/dist/v1/build/TinyLevelUp.cjs +2 -2
  26. package/dist/v1/build/TinyLevelUp.d.mts +1 -1
  27. package/dist/v1/build/TinyLevelUp.mjs +1 -1
  28. package/dist/v1/index.cjs +6 -6
  29. package/dist/v1/index.d.mts +5 -4
  30. package/dist/v1/index.mjs +8 -6
  31. package/dist/v1/libs/TinyColorValidator.cjs +907 -0
  32. package/dist/v1/libs/TinyColorValidator.d.mts +452 -0
  33. package/dist/v1/libs/TinyColorValidator.mjs +853 -0
  34. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.cjs +220 -0
  35. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.d.mts +98 -0
  36. package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.mjs +207 -0
  37. package/dist/v1/libs/TinyHtml/TinyHtmlButton.cjs +317 -0
  38. package/dist/v1/libs/TinyHtml/TinyHtmlButton.d.mts +150 -0
  39. package/dist/v1/libs/TinyHtml/TinyHtmlButton.mjs +290 -0
  40. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.cjs +48 -0
  41. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.d.mts +36 -0
  42. package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.mjs +44 -0
  43. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.cjs +102 -0
  44. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.d.mts +65 -0
  45. package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.mjs +91 -0
  46. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.cjs +80 -0
  47. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.d.mts +57 -0
  48. package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.mjs +75 -0
  49. package/dist/v1/libs/TinyHtml/TinyHtmlForm.cjs +244 -0
  50. package/dist/v1/libs/TinyHtml/TinyHtmlForm.d.mts +129 -0
  51. package/dist/v1/libs/TinyHtml/TinyHtmlForm.mjs +228 -0
  52. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.cjs +38 -0
  53. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.d.mts +24 -0
  54. package/dist/v1/libs/TinyHtml/TinyHtmlIcon.mjs +33 -0
  55. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.cjs +222 -0
  56. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.d.mts +108 -0
  57. package/dist/v1/libs/TinyHtml/TinyHtmlIframe.mjs +212 -0
  58. package/dist/v1/libs/TinyHtml/TinyHtmlImage.cjs +286 -0
  59. package/dist/v1/libs/TinyHtml/TinyHtmlImage.d.mts +125 -0
  60. package/dist/v1/libs/TinyHtml/TinyHtmlImage.mjs +250 -0
  61. package/dist/v1/libs/TinyHtml/TinyHtmlInput.cjs +154 -0
  62. package/dist/v1/libs/TinyHtml/TinyHtmlInput.d.mts +76 -0
  63. package/dist/v1/libs/TinyHtml/TinyHtmlInput.mjs +134 -0
  64. package/dist/v1/libs/TinyHtml/TinyHtmlLink.cjs +282 -0
  65. package/dist/v1/libs/TinyHtml/TinyHtmlLink.d.mts +128 -0
  66. package/dist/v1/libs/TinyHtml/TinyHtmlLink.mjs +264 -0
  67. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.cjs +358 -0
  68. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.d.mts +168 -0
  69. package/dist/v1/libs/TinyHtml/TinyHtmlMedia.mjs +308 -0
  70. package/dist/v1/libs/TinyHtml/TinyHtmlScript.cjs +226 -0
  71. package/dist/v1/libs/TinyHtml/TinyHtmlScript.d.mts +99 -0
  72. package/dist/v1/libs/TinyHtml/TinyHtmlScript.mjs +209 -0
  73. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.cjs +267 -0
  74. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.d.mts +146 -0
  75. package/dist/v1/libs/TinyHtml/TinyHtmlSelect.mjs +251 -0
  76. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.cjs +110 -0
  77. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.d.mts +57 -0
  78. package/dist/v1/libs/TinyHtml/TinyHtmlStyle.mjs +108 -0
  79. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.cjs +209 -0
  80. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.d.mts +101 -0
  81. package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.mjs +189 -0
  82. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.cjs +331 -0
  83. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.d.mts +139 -0
  84. package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.mjs +299 -0
  85. package/dist/v1/libs/TinyHtml/index.cjs +202 -0
  86. package/dist/v1/libs/TinyHtml/index.d.mts +82 -0
  87. package/dist/v1/libs/TinyHtml/index.mjs +185 -0
  88. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.cjs +121 -0
  89. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.d.mts +67 -0
  90. package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.mjs +99 -0
  91. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.cjs +109 -0
  92. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.d.mts +63 -0
  93. package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.mjs +92 -0
  94. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.cjs +101 -0
  95. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.d.mts +54 -0
  96. package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.mjs +82 -0
  97. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.cjs +181 -0
  98. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.d.mts +97 -0
  99. package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.mjs +160 -0
  100. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.cjs +90 -0
  101. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.d.mts +54 -0
  102. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.mjs +69 -0
  103. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.cjs +59 -0
  104. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.d.mts +43 -0
  105. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.mjs +45 -0
  106. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.cjs +141 -0
  107. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.d.mts +74 -0
  108. package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.mjs +114 -0
  109. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.cjs +103 -0
  110. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.d.mts +61 -0
  111. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.mjs +85 -0
  112. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.cjs +115 -0
  113. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.d.mts +56 -0
  114. package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.mjs +94 -0
  115. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.cjs +172 -0
  116. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.d.mts +74 -0
  117. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.mjs +140 -0
  118. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.cjs +145 -0
  119. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.d.mts +77 -0
  120. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.mjs +121 -0
  121. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.cjs +146 -0
  122. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.d.mts +74 -0
  123. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.mjs +120 -0
  124. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.cjs +151 -0
  125. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.d.mts +75 -0
  126. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.mjs +128 -0
  127. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.cjs +150 -0
  128. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.d.mts +74 -0
  129. package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.mjs +122 -0
  130. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.cjs +134 -0
  131. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.d.mts +74 -0
  132. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.mjs +110 -0
  133. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.cjs +133 -0
  134. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.d.mts +75 -0
  135. package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.mjs +111 -0
  136. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.cjs +179 -0
  137. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.d.mts +87 -0
  138. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.mjs +151 -0
  139. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.cjs +126 -0
  140. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.d.mts +70 -0
  141. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.mjs +104 -0
  142. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.cjs +177 -0
  143. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.d.mts +91 -0
  144. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.mjs +153 -0
  145. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.cjs +170 -0
  146. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.d.mts +91 -0
  147. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.mjs +143 -0
  148. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.cjs +173 -0
  149. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.d.mts +89 -0
  150. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.mjs +150 -0
  151. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.cjs +166 -0
  152. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.d.mts +81 -0
  153. package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.mjs +142 -0
  154. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.cjs +135 -0
  155. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.d.mts +47 -0
  156. package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.mjs +122 -0
  157. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.cjs +100 -0
  158. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.d.mts +62 -0
  159. package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.mjs +94 -0
  160. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.cjs +159 -0
  161. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.d.mts +77 -0
  162. package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.mjs +136 -0
  163. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.cjs +193 -0
  164. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.d.mts +91 -0
  165. package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.mjs +167 -0
  166. package/dist/v1/libs/TinyHtml.cjs +260 -3
  167. package/dist/v1/libs/TinyHtml.d.mts +196 -5
  168. package/dist/v1/libs/TinyHtml.mjs +238 -3
  169. package/dist/{legacy/libs/userLevel.d.mts → v1/libs/TinyLevelUp.d.mts} +1 -1
  170. package/dist/v1/libs/TinyUploadClicker.cjs +1 -0
  171. package/docs/v1/README.md +1 -0
  172. package/docs/v1/libs/TinyColorValidator.md +532 -0
  173. package/docs/v1/libs/TinyHtml.md +4 -4
  174. package/package.json +15 -24
  175. package/dist/_virtual/_commonjsHelpers.cjs +0 -7
  176. package/dist/_virtual/common.cjs +0 -5
  177. package/dist/_virtual/index.cjs +0 -9
  178. package/dist/_virtual/index2.cjs +0 -5
  179. package/dist/_virtual/trace.cjs +0 -5
  180. package/dist/legacy/crypto/decrypt.cjs +0 -59
  181. package/dist/legacy/crypto/decrypt.d.mts +0 -20
  182. package/dist/legacy/crypto/decrypt.mjs +0 -49
  183. package/dist/legacy/crypto/default.cjs +0 -23
  184. package/dist/legacy/crypto/default.d.mts +0 -36
  185. package/dist/legacy/crypto/default.mjs +0 -19
  186. package/dist/legacy/crypto/encrypt.cjs +0 -55
  187. package/dist/legacy/crypto/encrypt.d.mts +0 -21
  188. package/dist/legacy/crypto/encrypt.mjs +0 -47
  189. package/dist/legacy/crypto/index.cjs +0 -11
  190. package/dist/legacy/crypto/index.d.mts +0 -5
  191. package/dist/legacy/crypto/index.mjs +0 -6
  192. package/dist/legacy/firebase/cookieSession.cjs +0 -123
  193. package/dist/legacy/firebase/cookieSession.d.mts +0 -57
  194. package/dist/legacy/firebase/cookieSession.mjs +0 -115
  195. package/dist/legacy/firebase/database/index.cjs +0 -14
  196. package/dist/legacy/firebase/database/index.d.mts +0 -8
  197. package/dist/legacy/firebase/database/index.mjs +0 -8
  198. package/dist/legacy/firebase/database/presence.cjs +0 -137
  199. package/dist/legacy/firebase/database/presence.d.mts +0 -13
  200. package/dist/legacy/firebase/database/presence.mjs +0 -115
  201. package/dist/legacy/firebase/database/saveAsync.cjs +0 -149
  202. package/dist/legacy/firebase/database/saveAsync.d.mts +0 -55
  203. package/dist/legacy/firebase/database/saveAsync.mjs +0 -148
  204. package/dist/legacy/firebase/databaseEscape.cjs +0 -45
  205. package/dist/legacy/firebase/databaseEscape.d.mts +0 -12
  206. package/dist/legacy/firebase/databaseEscape.mjs +0 -38
  207. package/dist/legacy/firebase/databaseLogger.cjs +0 -261
  208. package/dist/legacy/firebase/databaseLogger.d.mts +0 -8
  209. package/dist/legacy/firebase/databaseLogger.mjs +0 -235
  210. package/dist/legacy/firebase/discord/api/addGuildMember.cjs +0 -74
  211. package/dist/legacy/firebase/discord/api/addGuildMember.d.mts +0 -39
  212. package/dist/legacy/firebase/discord/api/addGuildMember.mjs +0 -65
  213. package/dist/legacy/firebase/discord/api/getGuildWidget.cjs +0 -50
  214. package/dist/legacy/firebase/discord/api/getGuildWidget.d.mts +0 -18
  215. package/dist/legacy/firebase/discord/api/getGuildWidget.mjs +0 -44
  216. package/dist/legacy/firebase/discord/api/getToken.cjs +0 -70
  217. package/dist/legacy/firebase/discord/api/getToken.d.mts +0 -36
  218. package/dist/legacy/firebase/discord/api/getToken.mjs +0 -64
  219. package/dist/legacy/firebase/discord/api/getUser.cjs +0 -61
  220. package/dist/legacy/firebase/discord/api/getUser.d.mts +0 -28
  221. package/dist/legacy/firebase/discord/api/getUser.mjs +0 -55
  222. package/dist/legacy/firebase/discord/api/getUserConnections.cjs +0 -60
  223. package/dist/legacy/firebase/discord/api/getUserConnections.d.mts +0 -27
  224. package/dist/legacy/firebase/discord/api/getUserConnections.mjs +0 -54
  225. package/dist/legacy/firebase/discord/api/getUserGuilds.cjs +0 -59
  226. package/dist/legacy/firebase/discord/api/getUserGuilds.d.mts +0 -26
  227. package/dist/legacy/firebase/discord/api/getUserGuilds.mjs +0 -53
  228. package/dist/legacy/firebase/discord/api/index.cjs +0 -27
  229. package/dist/legacy/firebase/discord/api/index.d.mts +0 -20
  230. package/dist/legacy/firebase/discord/api/index.mjs +0 -21
  231. package/dist/legacy/firebase/discord/api/refreshToken.cjs +0 -80
  232. package/dist/legacy/firebase/discord/api/refreshToken.d.mts +0 -46
  233. package/dist/legacy/firebase/discord/api/refreshToken.mjs +0 -74
  234. package/dist/legacy/firebase/discord/api/revokeToken.cjs +0 -64
  235. package/dist/legacy/firebase/discord/api/revokeToken.d.mts +0 -30
  236. package/dist/legacy/firebase/discord/api/revokeToken.mjs +0 -59
  237. package/dist/legacy/firebase/discord/config.cjs +0 -23
  238. package/dist/legacy/firebase/discord/config.d.mts +0 -28
  239. package/dist/legacy/firebase/discord/config.mjs +0 -18
  240. package/dist/legacy/firebase/discord/firebase_redirect/index.cjs +0 -14
  241. package/dist/legacy/firebase/discord/firebase_redirect/index.d.mts +0 -8
  242. package/dist/legacy/firebase/discord/firebase_redirect/index.mjs +0 -8
  243. package/dist/legacy/firebase/discord/firebase_redirect/login.cjs +0 -112
  244. package/dist/legacy/firebase/discord/firebase_redirect/login.d.mts +0 -5
  245. package/dist/legacy/firebase/discord/firebase_redirect/login.mjs +0 -108
  246. package/dist/legacy/firebase/discord/firebase_redirect/logout.cjs +0 -102
  247. package/dist/legacy/firebase/discord/firebase_redirect/logout.d.mts +0 -5
  248. package/dist/legacy/firebase/discord/firebase_redirect/logout.mjs +0 -98
  249. package/dist/legacy/firebase/discord/get/authURLGenerator.cjs +0 -79
  250. package/dist/legacy/firebase/discord/get/authURLGenerator.d.mts +0 -24
  251. package/dist/legacy/firebase/discord/get/authURLGenerator.mjs +0 -68
  252. package/dist/legacy/firebase/discord/get/cookie-session.cjs +0 -35
  253. package/dist/legacy/firebase/discord/get/cookie-session.d.mts +0 -21
  254. package/dist/legacy/firebase/discord/get/cookie-session.mjs +0 -29
  255. package/dist/legacy/firebase/discord/get/credentials.cjs +0 -26
  256. package/dist/legacy/firebase/discord/get/credentials.d.mts +0 -20
  257. package/dist/legacy/firebase/discord/get/credentials.mjs +0 -21
  258. package/dist/legacy/firebase/discord/get/errorValidator.cjs +0 -63
  259. package/dist/legacy/firebase/discord/get/errorValidator.d.mts +0 -29
  260. package/dist/legacy/firebase/discord/get/errorValidator.mjs +0 -56
  261. package/dist/legacy/firebase/discord/get/index.cjs +0 -20
  262. package/dist/legacy/firebase/discord/get/index.d.mts +0 -14
  263. package/dist/legacy/firebase/discord/get/index.mjs +0 -14
  264. package/dist/legacy/firebase/discord/get/randomAvatar.cjs +0 -40
  265. package/dist/legacy/firebase/discord/get/randomAvatar.d.mts +0 -23
  266. package/dist/legacy/firebase/discord/get/randomAvatar.mjs +0 -31
  267. package/dist/legacy/firebase/discord/http/index.cjs +0 -18
  268. package/dist/legacy/firebase/discord/http/index.d.mts +0 -12
  269. package/dist/legacy/firebase/discord/http/index.mjs +0 -12
  270. package/dist/legacy/firebase/discord/http/login.cjs +0 -130
  271. package/dist/legacy/firebase/discord/http/login.d.mts +0 -22
  272. package/dist/legacy/firebase/discord/http/login.mjs +0 -124
  273. package/dist/legacy/firebase/discord/http/logout.cjs +0 -158
  274. package/dist/legacy/firebase/discord/http/logout.d.mts +0 -23
  275. package/dist/legacy/firebase/discord/http/logout.mjs +0 -144
  276. package/dist/legacy/firebase/discord/http/redirect.cjs +0 -191
  277. package/dist/legacy/firebase/discord/http/redirect.d.mts +0 -25
  278. package/dist/legacy/firebase/discord/http/redirect.mjs +0 -179
  279. package/dist/legacy/firebase/discord/http/refreshToken.cjs +0 -136
  280. package/dist/legacy/firebase/discord/http/refreshToken.d.mts +0 -25
  281. package/dist/legacy/firebase/discord/http/refreshToken.mjs +0 -122
  282. package/dist/legacy/firebase/discord/index.cjs +0 -22
  283. package/dist/legacy/firebase/discord/index.d.mts +0 -16
  284. package/dist/legacy/firebase/discord/index.mjs +0 -16
  285. package/dist/legacy/firebase/discord/template/cookie-session.cjs +0 -1433
  286. package/dist/legacy/firebase/discord/template/cookie-session.d.mts +0 -23
  287. package/dist/legacy/firebase/discord/template/cookie-session.mjs +0 -1160
  288. package/dist/legacy/firebase/domainRedirect.cjs +0 -37
  289. package/dist/legacy/firebase/domainRedirect.d.mts +0 -13
  290. package/dist/legacy/firebase/domainRedirect.mjs +0 -28
  291. package/dist/legacy/firebase/escape.cjs +0 -77
  292. package/dist/legacy/firebase/escape.d.mts +0 -18
  293. package/dist/legacy/firebase/escape.mjs +0 -59
  294. package/dist/legacy/firebase/getDBAsync.cjs +0 -35
  295. package/dist/legacy/firebase/getDBAsync.d.mts +0 -11
  296. package/dist/legacy/firebase/getDBAsync.mjs +0 -27
  297. package/dist/legacy/firebase/getDBData.cjs +0 -24
  298. package/dist/legacy/firebase/getDBData.d.mts +0 -2
  299. package/dist/legacy/firebase/getDBData.mjs +0 -18
  300. package/dist/legacy/firebase/getDBValue.cjs +0 -19
  301. package/dist/legacy/firebase/getDBValue.d.mts +0 -10
  302. package/dist/legacy/firebase/getDBValue.mjs +0 -15
  303. package/dist/legacy/firebase/index.cjs +0 -264
  304. package/dist/legacy/firebase/index.d.mts +0 -52
  305. package/dist/legacy/firebase/index.mjs +0 -235
  306. package/dist/legacy/firebase/isEmulator.cjs +0 -16
  307. package/dist/legacy/firebase/isEmulator.d.mts +0 -9
  308. package/dist/legacy/firebase/isEmulator.mjs +0 -11
  309. package/dist/legacy/firebase/logger.cjs +0 -140
  310. package/dist/legacy/firebase/logger.d.mts +0 -8
  311. package/dist/legacy/firebase/logger.mjs +0 -126
  312. package/dist/legacy/firebase/mySQL.cjs +0 -30
  313. package/dist/legacy/firebase/mySQL.d.mts +0 -11
  314. package/dist/legacy/firebase/mySQL.mjs +0 -23
  315. package/dist/legacy/firebase/mysqlConnector/create.cjs +0 -121
  316. package/dist/legacy/firebase/mysqlConnector/create.d.mts +0 -37
  317. package/dist/legacy/firebase/mysqlConnector/create.mjs +0 -110
  318. package/dist/legacy/firebase/mysqlConnector/index.cjs +0 -26
  319. package/dist/legacy/firebase/mysqlConnector/index.d.mts +0 -12
  320. package/dist/legacy/firebase/mysqlConnector/index.mjs +0 -17
  321. package/dist/legacy/firebase/mysqlConnector/nextPrev.cjs +0 -77
  322. package/dist/legacy/firebase/mysqlConnector/nextPrev.d.mts +0 -32
  323. package/dist/legacy/firebase/mysqlConnector/nextPrev.mjs +0 -64
  324. package/dist/legacy/firebase/mysqlConnector/pagination.cjs +0 -93
  325. package/dist/legacy/firebase/mysqlConnector/pagination.d.mts +0 -34
  326. package/dist/legacy/firebase/mysqlConnector/pagination.mjs +0 -88
  327. package/dist/legacy/firebase/mysqlConnector/sameUser.cjs +0 -31
  328. package/dist/legacy/firebase/mysqlConnector/sameUser.d.mts +0 -13
  329. package/dist/legacy/firebase/mysqlConnector/sameUser.mjs +0 -24
  330. package/dist/legacy/firebase/transactionDBAsync.cjs +0 -35
  331. package/dist/legacy/firebase/transactionDBAsync.d.mts +0 -12
  332. package/dist/legacy/firebase/transactionDBAsync.mjs +0 -28
  333. package/dist/legacy/get/countObj.cjs +0 -7
  334. package/dist/legacy/get/countObj.d.mts +0 -3
  335. package/dist/legacy/get/countObj.mjs +0 -2
  336. package/dist/legacy/get/decimalColor.cjs +0 -63
  337. package/dist/legacy/get/decimalColor.d.mts +0 -14
  338. package/dist/legacy/get/decimalColor.mjs +0 -56
  339. package/dist/legacy/get/objType.cjs +0 -7
  340. package/dist/legacy/get/objType.d.mts +0 -3
  341. package/dist/legacy/get/objType.mjs +0 -2
  342. package/dist/legacy/get/pagination.cjs +0 -109
  343. package/dist/legacy/get/pagination.d.mts +0 -44
  344. package/dist/legacy/get/pagination.mjs +0 -100
  345. package/dist/legacy/get/queryUrlByName.cjs +0 -32
  346. package/dist/legacy/get/queryUrlByName.d.mts +0 -22
  347. package/dist/legacy/get/queryUrlByName.mjs +0 -29
  348. package/dist/legacy/get/queryUrlJSON.cjs +0 -57
  349. package/dist/legacy/get/queryUrlJSON.d.mts +0 -25
  350. package/dist/legacy/get/queryUrlJSON.mjs +0 -59
  351. package/dist/legacy/get/super_string_filter.cjs +0 -109
  352. package/dist/legacy/get/super_string_filter.d.mts +0 -27
  353. package/dist/legacy/get/super_string_filter.mjs +0 -95
  354. package/dist/legacy/get/versionCheck.cjs +0 -50
  355. package/dist/legacy/get/versionCheck.d.mts +0 -29
  356. package/dist/legacy/get/versionCheck.mjs +0 -40
  357. package/dist/legacy/http/HTTP-1.0.cjs +0 -153
  358. package/dist/legacy/http/HTTP-1.0.d.mts +0 -9
  359. package/dist/legacy/http/HTTP-1.0.mjs +0 -138
  360. package/dist/legacy/http/auth.cjs +0 -71
  361. package/dist/legacy/http/auth.d.mts +0 -43
  362. package/dist/legacy/http/auth.mjs +0 -64
  363. package/dist/legacy/http/check_domain.cjs +0 -103
  364. package/dist/legacy/http/check_domain.d.mts +0 -13
  365. package/dist/legacy/http/check_domain.mjs +0 -98
  366. package/dist/legacy/http/csrfTokenAnalyze.cjs +0 -50
  367. package/dist/legacy/http/csrfTokenAnalyze.d.mts +0 -23
  368. package/dist/legacy/http/csrfTokenAnalyze.mjs +0 -45
  369. package/dist/legacy/http/domainValidator.cjs +0 -106
  370. package/dist/legacy/http/domainValidator.d.mts +0 -41
  371. package/dist/legacy/http/domainValidator.mjs +0 -89
  372. package/dist/legacy/http/errorsCallback.cjs +0 -64
  373. package/dist/legacy/http/errorsCallback.d.mts +0 -41
  374. package/dist/legacy/http/errorsCallback.mjs +0 -58
  375. package/dist/legacy/http/fetch/json.cjs +0 -50
  376. package/dist/legacy/http/fetch/json.d.mts +0 -24
  377. package/dist/legacy/http/fetch/json.mjs +0 -43
  378. package/dist/legacy/http/fetch/text.cjs +0 -49
  379. package/dist/legacy/http/fetch/text.d.mts +0 -23
  380. package/dist/legacy/http/fetch/text.mjs +0 -42
  381. package/dist/legacy/http/fileCache.cjs +0 -80
  382. package/dist/legacy/http/fileCache.d.mts +0 -37
  383. package/dist/legacy/http/fileCache.mjs +0 -71
  384. package/dist/legacy/http/getDomainURL.cjs +0 -60
  385. package/dist/legacy/http/getDomainURL.d.mts +0 -20
  386. package/dist/legacy/http/getDomainURL.mjs +0 -55
  387. package/dist/legacy/http/userIP.cjs +0 -65
  388. package/dist/legacy/http/userIP.d.mts +0 -27
  389. package/dist/legacy/http/userIP.mjs +0 -53
  390. package/dist/legacy/index.cjs +0 -125
  391. package/dist/legacy/index.d.mts +0 -89
  392. package/dist/legacy/index.mjs +0 -93
  393. package/dist/legacy/libs/arraySortPositions.cjs +0 -30
  394. package/dist/legacy/libs/arraySortPositions.d.mts +0 -17
  395. package/dist/legacy/libs/arraySortPositions.mjs +0 -27
  396. package/dist/legacy/libs/capitalize.cjs +0 -22
  397. package/dist/legacy/libs/capitalize.d.mts +0 -15
  398. package/dist/legacy/libs/capitalize.mjs +0 -18
  399. package/dist/legacy/libs/convertBytes.cjs +0 -66
  400. package/dist/legacy/libs/convertBytes.d.mts +0 -18
  401. package/dist/legacy/libs/convertBytes.mjs +0 -57
  402. package/dist/legacy/libs/custom_module_loader.cjs +0 -91
  403. package/dist/legacy/libs/custom_module_loader.d.mts +0 -6
  404. package/dist/legacy/libs/custom_module_loader.mjs +0 -87
  405. package/dist/legacy/libs/dice.cjs +0 -37
  406. package/dist/legacy/libs/dice.d.mts +0 -6
  407. package/dist/legacy/libs/dice.mjs +0 -33
  408. package/dist/legacy/libs/markdown.cjs +0 -97
  409. package/dist/legacy/libs/markdown.d.mts +0 -12
  410. package/dist/legacy/libs/markdown.mjs +0 -90
  411. package/dist/legacy/libs/percentage.cjs +0 -23
  412. package/dist/legacy/libs/percentage.d.mts +0 -5
  413. package/dist/legacy/libs/percentage.mjs +0 -20
  414. package/dist/legacy/libs/regex/getLetter.cjs +0 -24
  415. package/dist/legacy/libs/regex/getLetter.d.mts +0 -15
  416. package/dist/legacy/libs/regex/getLetter.mjs +0 -21
  417. package/dist/legacy/libs/replaceAsync.cjs +0 -35
  418. package/dist/legacy/libs/replaceAsync.d.mts +0 -16
  419. package/dist/legacy/libs/replaceAsync.mjs +0 -28
  420. package/dist/legacy/libs/rule3.cjs +0 -59
  421. package/dist/legacy/libs/rule3.d.mts +0 -6
  422. package/dist/legacy/libs/rule3.mjs +0 -55
  423. package/dist/legacy/momentjs/getAge.cjs +0 -29
  424. package/dist/legacy/momentjs/getAge.d.mts +0 -11
  425. package/dist/legacy/momentjs/getAge.mjs +0 -23
  426. package/dist/legacy/momentjs/index.cjs +0 -9
  427. package/dist/legacy/momentjs/index.d.mts +0 -4
  428. package/dist/legacy/momentjs/index.mjs +0 -3
  429. package/dist/legacy/momentjs/timeDuration.cjs +0 -31
  430. package/dist/legacy/momentjs/timeDuration.d.mts +0 -12
  431. package/dist/legacy/momentjs/timeDuration.mjs +0 -25
  432. package/dist/legacy/socket.io/antiFlood/index.cjs +0 -9
  433. package/dist/legacy/socket.io/antiFlood/index.d.mts +0 -4
  434. package/dist/legacy/socket.io/antiFlood/index.mjs +0 -3
  435. package/dist/legacy/socket.io/antiFlood/install.cjs +0 -34
  436. package/dist/legacy/socket.io/antiFlood/install.d.mts +0 -16
  437. package/dist/legacy/socket.io/antiFlood/install.mjs +0 -29
  438. package/dist/legacy/socket.io/antiFlood/verify.cjs +0 -95
  439. package/dist/legacy/socket.io/antiFlood/verify.d.mts +0 -20
  440. package/dist/legacy/socket.io/antiFlood/verify.mjs +0 -79
  441. package/dist/legacy/socket.io/cookie-session.cjs +0 -27
  442. package/dist/legacy/socket.io/cookie-session.d.mts +0 -11
  443. package/dist/legacy/socket.io/cookie-session.mjs +0 -22
  444. package/dist/legacy/socket.io/discord.cjs +0 -62
  445. package/dist/legacy/socket.io/discord.d.mts +0 -12
  446. package/dist/legacy/socket.io/discord.mjs +0 -53
  447. package/dist/legacy/socket.io/index.cjs +0 -13
  448. package/dist/legacy/socket.io/index.d.mts +0 -10
  449. package/dist/legacy/socket.io/index.mjs +0 -9
  450. package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -81
  451. package/dist/node_modules/firebase-functions/lib/logger/common.cjs +0 -57
  452. package/dist/node_modules/firebase-functions/lib/logger/index.cjs +0 -159
  453. /package/dist/{legacy/libs/userLevel.cjs → v1/libs/TinyLevelUp.cjs} +0 -0
  454. /package/dist/{legacy/libs/userLevel.mjs → v1/libs/TinyLevelUp.mjs} +0 -0
@@ -20,9 +20,9 @@ jobs:
20
20
  # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
21
21
 
22
22
  steps:
23
- - uses: actions/checkout@v4
23
+ - uses: actions/checkout@v5
24
24
  - name: Use Node.js ${{ matrix.node-version }}
25
- uses: actions/setup-node@v4
25
+ uses: actions/setup-node@v5
26
26
  with:
27
27
  node-version: ${{ matrix.node-version }}
28
28
  cache: 'npm'
package/README.md CHANGED
@@ -72,14 +72,18 @@ Although not part of Tiny Essentials, we recommend using [**JsStore**](https://w
72
72
 
73
73
  ## 🗃️ Legacy Code
74
74
 
75
- Some scripts in this repository have been preserved for backwards compatibility. These include modules like:
75
+ The scripts previously maintained in this repository have been migrated to the following location:
76
+
77
+ 👉 https://github.com/JasminDreasond/Tiny-Essentials-Legacy
78
+
79
+ This includes modules such as:
76
80
 
77
81
  - `@tinypudding/firebase-lib`
78
82
  - `@tinypudding/discord-oauth2`
79
83
  - `@tinypudding/mysql-connector`
80
84
  - `@tinypudding/puddy-lib`
81
85
 
82
- These modules have been updated to work with modern environments but may not be actively developed further.
86
+ These modules are preserved for backwards compatibility and may not receive further active development.
83
87
 
84
88
  ---
85
89
 
@@ -28,3 +28,5 @@ console.log(TinyHtml.classCanWhitespace); // false
28
28
  TinyHtml.classCanWhitespace = "yes";
29
29
  // -> Uncaught TypeError: classCanWhitespace must be a boolean
30
30
  ```
31
+
32
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.23.1...1.23.2
@@ -0,0 +1,10 @@
1
+ ## 🆕 New in this release
2
+
3
+ * **🎨 TinyColorValidator**
4
+
5
+ * Validate and parse **HEX, HEXA, RGB, RGBA, HSL, HSLA, HWB, Lab, LCH**, standard HTML color names, and special keywords.
6
+ * Automatic type detection with `isColor()` for precise parsing.
7
+ * Extendable HTML and special color names dynamically.
8
+ * Super handy for CSS projects, game dev, and anywhere colors come to life! 🌈
9
+
10
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.23.2...1.24.0
@@ -0,0 +1,12 @@
1
+ ## 📦 Legacy Code Migration
2
+
3
+ All legacy content (except for the parts that have been reused) has been moved to a **new dedicated repository**.
4
+ You can find the link and details inside the main project’s `README.md`.
5
+
6
+ ## 🔧 TinyHtml Updates
7
+
8
+ We’ve simplified property access for better readability and consistency:
9
+
10
+ * `el.id()` → `el.id`
11
+ * `el.height()` → `el.height`
12
+ * `el.width()` → `el.width`
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see TinyBasicsEs.min.js.LICENSE.txt */
2
- (()=>{var t={251:(t,e)=>{e.read=function(t,e,r,n,o){var i,s,a=8*o-n-1,u=(1<<a)-1,f=u>>1,l=-7,c=r?o-1:0,h=r?-1:1,p=t[e+c];for(c+=h,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+t[e+c],c+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=n;l>0;s=256*s+t[e+c],c+=h,l-=8);if(0===i)i=1-f;else{if(i===u)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),i-=f}return(p?-1:1)*s*Math.pow(2,i-n)},e.write=function(t,e,r,n,o,i){var s,a,u,f=8*i-o-1,l=(1<<f)-1,c=l>>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+c>=1?h/u:h*Math.pow(2,1-c))*u>=2&&(s++,u/=2),s+c>=l?(a=0,s=l):s+c>=1?(a=(e*u-1)*Math.pow(2,o),s+=c):(a=e*Math.pow(2,c-1)*Math.pow(2,o),s=0));o>=8;t[r+p]=255&a,p+=d,a/=256,o-=8);for(s=s<<o|a,f+=o;f>0;t[r+p]=255&s,p+=d,s/=256,f-=8);t[r+p-d]|=128*y}},287:(t,e,r)=>{"use strict";var n=r(526),o=r(251),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.hp=u,e.IS=50;var s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,u.prototype),e}function u(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return f(t,e,r)}function f(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!u.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|y(t,e),n=a(r),o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(z(t,Uint8Array)){var e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(z(t,ArrayBuffer)||t&&z(t.buffer,ArrayBuffer))return p(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(z(t,SharedArrayBuffer)||t&&z(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return u.from(n,e,r);var o=function(t){if(u.isBuffer(t)){var e=0|d(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||$(t.length)?a(0):h(t):"Buffer"===t.type&&Array.isArray(t.data)?h(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return u.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function c(t){return l(t),a(t<0?0:0|d(t))}function h(t){for(var e=t.length<0?0:0|d(t.length),r=a(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,u.prototype),n}function d(t){if(t>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function y(t,e){if(u.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||z(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var o=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return k(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return j(t).length;default:if(o)return n?-1:k(t).length;e=(""+e).toLowerCase(),o=!0}}function g(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return U(this,e,r);case"utf8":case"utf-8":return S(this,e,r);case"ascii":return M(this,e,r);case"latin1":case"binary":return L(this,e,r);case"base64":return N(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function m(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function w(t,e,r,n,o){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),$(r=+r)&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return-1;r=t.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,o);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,n,o);throw new TypeError("val must be string, number or Buffer")}function b(t,e,r,n,o){var i,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function f(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){var l=-1;for(i=r;i<a;i++)if(f(t,i)===f(e,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*s}else-1!==l&&(i-=i-l),l=-1}else for(r+u>a&&(r=a-u),i=r;i>=0;i--){for(var c=!0,h=0;h<u;h++)if(f(t,i+h)!==f(e,h)){c=!1;break}if(c)return i}return-1}function v(t,e,r,n){r=Number(r)||0;var o=t.length-r;n?(n=Number(n))>o&&(n=o):n=o;var i=e.length;n>i/2&&(n=i/2);for(var s=0;s<n;++s){var a=parseInt(e.substr(2*s,2),16);if($(a))return s;t[r+s]=a}return s}function E(t,e,r,n){return Y(k(e,t.length-r),t,r,n)}function T(t,e,r,n){return Y(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function A(t,e,r,n){return Y(j(e),t,r,n)}function B(t,e,r,n){return Y(function(t,e){for(var r,n,o,i=[],s=0;s<t.length&&!((e-=2)<0);++s)n=(r=t.charCodeAt(s))>>8,o=r%256,i.push(o),i.push(n);return i}(e,t.length-r),t,r,n)}function N(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);for(var n=[],o=e;o<r;){var i,s,a,u,f=t[o],l=null,c=f>239?4:f>223?3:f>191?2:1;if(o+c<=r)switch(c){case 1:f<128&&(l=f);break;case 2:128==(192&(i=t[o+1]))&&(u=(31&f)<<6|63&i)>127&&(l=u);break;case 3:i=t[o+1],s=t[o+2],128==(192&i)&&128==(192&s)&&(u=(15&f)<<12|(63&i)<<6|63&s)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:i=t[o+1],s=t[o+2],a=t[o+3],128==(192&i)&&128==(192&s)&&128==(192&a)&&(u=(15&f)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(l=u)}null===l?(l=65533,c=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),o+=c}return function(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=C));return r}(n)}u.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),u.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}}),u.poolSize=8192,u.from=function(t,e,r){return f(t,e,r)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array),u.alloc=function(t,e,r){return function(t,e,r){return l(t),t<=0?a(t):void 0!==e?"string"==typeof r?a(t).fill(e,r):a(t).fill(e):a(t)}(t,e,r)},u.allocUnsafe=function(t){return c(t)},u.allocUnsafeSlow=function(t){return c(t)},u.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==u.prototype},u.compare=function(t,e){if(z(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),z(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(t)||!u.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,o=0,i=Math.min(r,n);o<i;++o)if(t[o]!==e[o]){r=t[o],n=e[o];break}return r<n?-1:n<r?1:0},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=u.allocUnsafe(e),o=0;for(r=0;r<t.length;++r){var i=t[r];if(z(i,Uint8Array))o+i.length>n.length?u.from(i).copy(n,o):Uint8Array.prototype.set.call(n,i,o);else{if(!u.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,o)}o+=i.length}return n},u.byteLength=y,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)m(this,e,e+1);return this},u.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},u.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},u.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?S(this,0,t):g.apply(this,arguments)},u.prototype.toLocaleString=u.prototype.toString,u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",r=e.IS;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},i&&(u.prototype[i]=u.prototype.inspect),u.prototype.compare=function(t,e,r,n,o){if(z(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),!u.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),e<0||r>t.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&e>=r)return 0;if(n>=o)return-1;if(e>=r)return 1;if(this===t)return 0;for(var i=(o>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(i,s),f=this.slice(n,o),l=t.slice(e,r),c=0;c<a;++c)if(f[c]!==l[c]){i=f[c],s=l[c];break}return i<s?-1:s<i?1:0},u.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},u.prototype.indexOf=function(t,e,r){return w(this,t,e,r,!0)},u.prototype.lastIndexOf=function(t,e,r){return w(this,t,e,r,!1)},u.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var o=this.length-e;if((void 0===r||r>o)&&(r=o),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return T(this,t,e,r);case"base64":return A(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function M(t,e,r){var n="";r=Math.min(t.length,r);for(var o=e;o<r;++o)n+=String.fromCharCode(127&t[o]);return n}function L(t,e,r){var n="";r=Math.min(t.length,r);for(var o=e;o<r;++o)n+=String.fromCharCode(t[o]);return n}function U(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var o="",i=e;i<r;++i)o+=q[t[i]];return o}function O(t,e,r){for(var n=t.slice(e,r),o="",i=0;i<n.length-1;i+=2)o+=String.fromCharCode(n[i]+256*n[i+1]);return o}function x(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function F(t,e,r,n,o,i){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||e<i)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function R(t,e,r,n,o,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(t,e,r,n,i){return e=+e,r>>>=0,i||R(t,0,r,4),o.write(t,e,r,n,23,4),r+4}function D(t,e,r,n,i){return e=+e,r>>>=0,i||R(t,0,r,8),o.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,u.prototype),n},u.prototype.readUintLE=u.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=this[t],o=1,i=0;++i<e&&(o*=256);)n+=this[t+i]*o;return n},u.prototype.readUintBE=u.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=this[t+--e],o=1;e>0&&(o*=256);)n+=this[t+--e]*o;return n},u.prototype.readUint8=u.prototype.readUInt8=function(t,e){return t>>>=0,e||x(t,1,this.length),this[t]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(t,e){return t>>>=0,e||x(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(t,e){return t>>>=0,e||x(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(t,e){return t>>>=0,e||x(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(t,e){return t>>>=0,e||x(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=this[t],o=1,i=0;++i<e&&(o*=256);)n+=this[t+i]*o;return n>=(o*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=e,o=1,i=this[t+--n];n>0&&(o*=256);)i+=this[t+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},u.prototype.readInt8=function(t,e){return t>>>=0,e||x(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){t>>>=0,e||x(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){t>>>=0,e||x(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return t>>>=0,e||x(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return t>>>=0,e||x(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return t>>>=0,e||x(t,4,this.length),o.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return t>>>=0,e||x(t,4,this.length),o.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return t>>>=0,e||x(t,8,this.length),o.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return t>>>=0,e||x(t,8,this.length),o.read(this,t,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||F(this,t,e,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[e]=255&t;++i<r&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUintBE=u.prototype.writeUIntBE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||F(this,t,e,r,Math.pow(2,8*r)-1,0);var o=r-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+r},u.prototype.writeUint8=u.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,1,255,0),this[e]=255&t,e+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var o=Math.pow(2,8*r-1);F(this,t,e,r,o-1,-o)}var i=0,s=1,a=0;for(this[e]=255&t;++i<r&&(s*=256);)t<0&&0===a&&0!==this[e+i-1]&&(a=1),this[e+i]=(t/s|0)-a&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var o=Math.pow(2,8*r-1);F(this,t,e,r,o-1,-o)}var i=r-1,s=1,a=0;for(this[e+i]=255&t;--i>=0&&(s*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/s|0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeFloatLE=function(t,e,r){return I(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return I(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return D(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return D(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(!u.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var o=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),o},u.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var o=t.charCodeAt(0);("utf8"===n&&o<128||"latin1"===n)&&(t=o)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var i;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{var s=u.isBuffer(t)?t:u.from(t,n),a=s.length;if(0===a)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=s[i%a]}return this};var P=/[^+/0-9A-Za-z-_]/g;function k(t,e){var r;e=e||1/0;for(var n=t.length,o=null,i=[],s=0;s<n;++s){if((r=t.charCodeAt(s))>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function j(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(P,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Y(t,e,r,n){for(var o=0;o<n&&!(o+r>=e.length||o>=t.length);++o)e[o+r]=t[o];return o}function z(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function $(t){return t!=t}var q=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,o=0;o<16;++o)e[n+o]=t[r]+t[o];return e}()},526:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,i=a(t),s=i[0],u=i[1],f=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,u)),l=0,c=u>0?s-4:s;for(r=0;r<c;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],f[l++]=e>>16&255,f[l++]=e>>8&255,f[l++]=255&e;return 2===u&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,f[l++]=255&e),1===u&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,f[l++]=e>>8&255,f[l++]=255&e),f},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],s=16383,a=0,u=n-o;a<u;a+=s)i.push(f(t,a,a+s>u?u:a+s));return 1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)r[s]=i[s],n[i.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function f(t,e,r){for(var n,o=[],i=e;i<r;i+=3)n=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(255&t[i+2]),o.push(u(n));return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";function t(t,e=!1){return e?function(e,r){return e[t]>r[t]?-1:e[t]<r[t]?1:0}:function(e,r){return e[t]<r[t]?-1:e[t]>r[t]?1:0}}async function e(t,e,r){const n=[];t.replace(e,(t,...e)=>(n.push(r(t,...e)),t));const o=await Promise.all(n);return t.replace(e,()=>o.shift())}function o(t){let e,r=t.length;for(;0!==r;)e=Math.floor(Math.random()*r),r--,[t[r],t[e]]=[t[e],t[r]];return t}function i(t,e){const r=t.filter(t=>!e.includes(t));return{added:e.filter(e=>!t.includes(e)),removed:r}}function s(t=new Date,e="asSeconds",r=null){if(t instanceof Date){const n=r instanceof Date?r:new Date,o=t.getTime()-n.getTime();switch(e){case"asMilliseconds":return o;case"asSeconds":default:return o/1e3;case"asMinutes":return o/6e4;case"asHours":return o/36e5;case"asDays":return o/864e5}}return null}function a(t,e="seconds",r="{time}"){t=Math.max(0,Math.floor(t));const n=["seconds","minutes","hours","days","months","years"].indexOf(e),o=n>=5,i=n>=4,s=n>=3,a=n>=2,u=n>=1,f=n>=0,l={years:o?0:NaN,months:i?0:NaN,days:s?0:NaN,hours:a?0:NaN,minutes:u?0:NaN,seconds:f?0:NaN,total:NaN};let c=t;if(o||i||s){const t=new Date(1980,0,1),e=new Date(t.getTime()+1e3*c),r=new Date(t);if(o)for(;new Date(r.getFullYear()+1,r.getMonth(),r.getDate()).getTime()<=e.getTime();)r.setFullYear(r.getFullYear()+1),l.years++;if(i)for(;new Date(r.getFullYear(),r.getMonth()+1,r.getDate()).getTime()<=e.getTime();)r.setMonth(r.getMonth()+1),l.months++;if(s)for(;new Date(r.getFullYear(),r.getMonth(),r.getDate()+1).getTime()<=e.getTime();)r.setDate(r.getDate()+1),l.days++;c=Math.floor((e.getTime()-r.getTime())/1e3)}a&&(l.hours=Math.floor(c/3600),c%=3600),u&&(l.minutes=Math.floor(c/60),c%=60),f&&(l.seconds=c),i&&(l.years,l.months,l.days),o&&(l.years,l.months,l.days),l.total=+t.toFixed(2).replace(/\.00$/,"");const h=t=>{const e="string"==typeof t?parseInt(t):t;return Number.isNaN(e)?"NaN":String(e).padStart(2,"0")},p=[a?h(l.hours):null,u?h(l.minutes):null,f?h(l.seconds):null].filter(t=>null!==t).join(":");return r.replace(/\{years\}/g,String(l.years)).replace(/\{months\}/g,String(l.months)).replace(/\{days\}/g,String(l.days)).replace(/\{hours\}/g,h(l.hours)).replace(/\{minutes\}/g,h(l.minutes)).replace(/\{seconds\}/g,h(l.seconds)).replace(/\{time\}/g,p).replace(/\{total\}/g,String(l.total)).trim()}function u(t){return a(t,"hours","{hours}:{minutes}:{seconds}")}function f(t){return a(t,"days","{days}d {hours}:{minutes}:{seconds}")}function l(t,e="milliseconds"){t=Math.max(0,Math.floor(t));const r=["milliseconds","seconds","minutes","hours","days","months","years"].indexOf(e),n=r>=6,o=r>=5,i=r>=4,s=r>=3,a=r>=2,u=r>=1,f=r>=0,l={years:n?0:NaN,months:o?0:NaN,days:i?0:NaN,hours:s?0:NaN,minutes:a?0:NaN,seconds:u?0:NaN,milliseconds:f?0:NaN,total:NaN};let c=t;if(n||o||i){const t=new Date(1980,0,1),e=new Date(t.getTime()+c),r=new Date(t);if(n)for(;new Date(r.getFullYear()+1,r.getMonth(),r.getDate()).getTime()<=e.getTime();)r.setFullYear(r.getFullYear()+1),l.years++;if(o)for(;new Date(r.getFullYear(),r.getMonth()+1,r.getDate()).getTime()<=e.getTime();)r.setMonth(r.getMonth()+1),l.months++;if(i)for(;new Date(r.getFullYear(),r.getMonth(),r.getDate()+1).getTime()<=e.getTime();)r.setDate(r.getDate()+1),l.days++;c=e.getTime()-r.getTime()}return s&&(l.hours=Math.floor(c/36e5),c%=36e5),a&&(l.minutes=Math.floor(c/6e4),c%=6e4),u&&(l.seconds=Math.floor(c/1e3),c%=1e3),f&&(l.milliseconds=c),o&&(l.years,l.months,l.days),n&&(l.years,l.months,l.days),l.total=+t,l}function c(t){return Array.isArray(t)?t.length:h(t)?Object.keys(t).length:0}function h(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&"[object Object]"===Object.prototype.toString.call(t)}function p(t,e){return new Promise((r,n)=>{const o=new FileReader;o.onload=()=>{try{r(o.result)}catch(t){n(t)}},o.onerror=()=>{n(o.error)},o[e](t)})}function d(t,e=!1){return new Promise((r,n)=>{"string"!=typeof e&&"boolean"!=typeof e&&n(new TypeError("The isDataUrl parameter must be a boolean or a string.")),p(t,"readAsDataURL").then(t=>{if("string"!=typeof t)throw new TypeError("Expected file content to be a string.");const n=t.match(/^data:(.+);base64,(.*)$/);if(!n||!n[2])throw new Error("Invalid data URL format or missing Base64 content.");const[,o,i]=n;if(!/^[\w/+]+=*$/.test(i))throw new Error("Base64 content is malformed.");if("boolean"==typeof e)return r(e?t:i);if(!/^[\w-]+\/[\w.+-]+$/.test(e))throw new Error(`Invalid MIME type string: ${e}`);return r(`data:${e};base64,${i}`)}).catch(n)})}function y(t){return new Promise((e,r)=>p(t,"readAsText").then(t=>{if("string"!=typeof t)throw new TypeError("Expected file content to be a string.");const r=t.trim();if(0===r.length)throw new Error("File is empty or contains only whitespace.");const n=JSON.parse(r);if("object"!=typeof n||null===n)throw new Error("Parsed content is not a valid JSON object or array.");e(n)}).catch(r))}function g(t,e,r=2){const n=JSON.stringify(e,null,r),o=new Blob([n],{type:"application/json"}),i=URL.createObjectURL(o),s=document.createElement("a");s.href=i,s.download=t,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(i)}async function m(t,{method:e="GET",body:r,timeout:n=0,retries:o=0,headers:i={},signal:s=null}={}){if("string"!=typeof t||!t.startsWith("../")&&!t.startsWith("./")&&!t.startsWith("/")&&!t.startsWith("https://")&&!t.startsWith("http://"))throw new Error("Invalid URL: must be a valid http or https address.");if("string"!=typeof e||!e.trim())throw new Error("Invalid method: must be a non-empty string.");if(!s){if("number"!=typeof n||!Number.isFinite(n)||Number.isNaN(n)||n<0)throw new Error("Invalid timeout: must be a positive number.");if("number"!=typeof o||!Number.isFinite(o)||Number.isNaN(o)||o<0)throw new Error("Invalid retries: must be a positive number.")}const a=s?1:o+1;let u=null;for(let f=0;f<a;f++){const a=s?null:new AbortController,l=s||(a?.signal??null),c=!s&&n&&a?setTimeout(()=>a.abort(),n):null;try{const n=await fetch(t,{method:e.toUpperCase(),headers:{Accept:"application/json",...i},body:void 0!==r?h(r)?JSON.stringify(r):r:void 0,signal:l});if(c&&clearTimeout(c),!n.ok)throw new Error(`HTTP error: ${n.status} ${n.statusText}`);return n}catch(t){if(u=t,s)break;f<o&&await new Promise(t=>setTimeout(t,300*(f+1)))}}throw new Error(`Failed to fetch JSON from "${t}"${u?`: ${u.message}`:"."}`)}async function w(t,e){return new Promise((r,n)=>{m(t,e).then(async t=>{const e=t.headers.get("content-type")||"";if(!e.includes("application/json"))throw new Error(`Unexpected content-type: ${e}`);const n=await t.json();if(!Array.isArray(n)&&!h(n))throw new Error("Received invalid data instead of valid JSON.");return r(n)}).catch(n)})}async function b(t,e,r){return new Promise((n,o)=>{m(t,r).then(async t=>{const r=t.headers.get("content-type")||"";if(Array.isArray(e)&&e.length>0&&!e.some(t=>r.includes(t)))throw new Error(`Blocked MIME type: ${r}`);const o=await t.text();return n(o)}).catch(o)})}function v({element:t=document.body,hiddenClass:e="windowHidden",visibleClass:r="windowVisible",onVisible:n,onHidden:o}={}){if(!(t instanceof Element))throw new TypeError('"element" must be an instance of Element.');if("string"!=typeof e)throw new TypeError('"hiddenClass" must be a string.');if("string"!=typeof r)throw new TypeError('"visibleClass" must be a string.');if(void 0!==n&&"function"!=typeof n)throw new TypeError('"onVisible" must be a function if provided.');if(void 0!==o&&"function"!=typeof o)throw new TypeError('"onHidden" must be a function if provided.');let i="",s="";const a=()=>{t.classList.remove(e),t.classList.remove(r)};let u=null;const f=["visibilitychange","mozvisibilitychange","webkitvisibilitychange","msvisibilitychange"],l=["hidden","mozHidden","webkitHidden","msHidden"];for(let t=0;t<l.length;t++)if(l[t]in document){u=l[t];break}const c=function(f){a();const l=f?.type,c=u&&document[u];["focus","focusin","pageshow"].includes(l)?(t.classList.add(r),n?.({type:l,oldClass:s,oldType:i}),s=r):["blur","focusout","pagehide"].includes(l)||c?(t.classList.add(e),o?.({type:l,oldClass:s,oldType:i}),s=e):(t.classList.add(r),n?.({type:l,oldClass:s,oldType:i}),s=r),i=l};let h=()=>{};if(u){const t=f[l.indexOf(u)];document.addEventListener(t,c),window.addEventListener("focus",c),window.addEventListener("blur",c),h=()=>{document.removeEventListener(t,c),window.removeEventListener("focus",c),window.removeEventListener("blur",c),a()}}else"onfocusin"in document?(document.onfocusin=document.onfocusout=c,h=()=>{document.onfocusin=document.onfocusout=null,a()}):(window.onpageshow=window.onpagehide=window.onfocus=window.onblur=c,h=()=>{window.onpageshow=window.onpagehide=window.onfocus=window.onblur=null,a()});const p=new Event(u&&document[u]?"blur":"focus");return c(p),h}r.r(n),r.d(n,{addAiMarkerShortcut:()=>_,areElsCollBottom:()=>Z,areElsCollLeft:()=>G,areElsCollPerfBottom:()=>et,areElsCollPerfLeft:()=>rt,areElsCollPerfRight:()=>nt,areElsCollPerfTop:()=>tt,areElsCollRight:()=>Q,areElsCollTop:()=>K,areElsColliding:()=>ot,areElsPerfColliding:()=>it,arraySortPositions:()=>t,asyncReplace:()=>e,breakdownDuration:()=>l,calculateMarketcap:()=>q,cloneObjTypeOrder:()=>S,compareMarketcap:()=>H,countObj:()=>c,diffArrayList:()=>i,diffStrings:()=>X,documentIsFullScreen:()=>L,exitFullScreen:()=>F,extendObjType:()=>B,fetchJson:()=>w,fetchText:()=>b,formatBytes:()=>z,formatCustomTimer:()=>a,formatDayTimer:()=>f,formatTimer:()=>u,genFibonacciSeq:()=>$,getAge:()=>Y,getElsCollDetails:()=>pt,getElsCollDirDepth:()=>ht,getElsCollOverlap:()=>ut,getElsCollOverlapPos:()=>ft,getElsColliding:()=>st,getElsPerfColliding:()=>at,getElsRelativeCenterOffset:()=>ct,getPercentage:()=>j,getRectCenter:()=>lt,getSimplePerc:()=>k,getTimeDuration:()=>s,installWindowHiddenScript:()=>v,isFullScreenMode:()=>O,isJsonObject:()=>h,isScreenFilled:()=>U,objType:()=>M,offFullScreenChange:()=>D,onFullScreenChange:()=>I,readBase64Blob:()=>d,readFileBlob:()=>p,readJsonBlob:()=>y,reorderObjTypeOrder:()=>N,requestFullScreen:()=>x,ruleOfThree:()=>P,safeTextTrim:()=>V,saveJsonFile:()=>g,shuffleArray:()=>o,toTitleCase:()=>J,toTitleCaseLowerFirst:()=>W});var E=r(287);const T="undefined"!=typeof window&&void 0!==window.document,A={items:{},order:[]};function B(t,e){const r=[],n=Array.isArray(t)?t:Object.entries(t);for(const[t,o]of n)if(!A.items.hasOwnProperty(t)){A.items[t]=o;let n="number"==typeof e?e:-1;if(-1===n){const t=A.order.indexOf("object");n=t>-1?t:A.order.length}n=Math.min(Math.max(0,n),A.order.length),A.order.splice(n,0,t),r.push(t)}return r}function N(t){const e=[...A.order];return!!t.every(t=>e.includes(t))&&(A.order=t.slice(),!0)}function S(){return[...A.order]}const C=t=>{if(null===t)return"null";for(const e of A.order)if("function"!=typeof A.items[e]||A.items[e](t))return e;return"unknown"};function M(t,e){if(void 0===t)return null;const r=C(t);return"string"==typeof e?r===e.toLowerCase():r}B([["undefined",t=>void 0===t],["null",t=>null===t],["boolean",t=>"boolean"==typeof t],["number",t=>"number"==typeof t&&!Number.isNaN(t)],["bigint",t=>"bigint"==typeof t],["string",t=>"string"==typeof t],["symbol",t=>"symbol"==typeof t],["function",t=>"function"==typeof t],["array",t=>Array.isArray(t)]]),T||B([["buffer",t=>void 0!==E.hp&&E.hp.isBuffer(t)]]),T&&B([["file",t=>"undefined"!=typeof File&&t instanceof File]]),B([["date",t=>t instanceof Date],["regexp",t=>t instanceof RegExp],["map",t=>t instanceof Map],["set",t=>t instanceof Set],["weakmap",t=>t instanceof WeakMap],["weakset",t=>t instanceof WeakSet],["promise",t=>t instanceof Promise]]),T&&B([["htmlelement",t=>"undefined"!=typeof HTMLElement&&t instanceof HTMLElement]]),B([["object",t=>h(t)]]);const L=()=>!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitIsFullScreen||document.mozFullScreen),U=()=>window.innerHeight===screen.height&&window.innerWidth===screen.width,O=()=>L()||U(),x=t=>new Promise(async(e,r)=>{const n=document.documentElement;try{n.requestFullscreen?await n.requestFullscreen(t):n.mozRequestFullScreen?n.mozRequestFullScreen(t):n.webkitRequestFullScreen?n.webkitRequestFullScreen(t):n.msRequestFullscreen&&n.msRequestFullscreen(t),e()}catch(t){r(t)}}),F=()=>new Promise((t,e)=>{if(document.exitFullscreen)document.exitFullscreen().then(t).catch(e);else try{if(document.mozCancelFullScreen)document.mozCancelFullScreen();else if(document.webkitCancelFullScreen)document.webkitCancelFullScreen();else{if(!document.msExitFullscreen)throw new Error("Fullscreen API is not supported");document.msExitFullscreen()}t()}catch(t){e(t)}}),R=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],I=(t,e)=>{R.forEach(r=>{document.addEventListener(r,t,e)})},D=(t,e)=>{R.forEach(r=>{document.removeEventListener(r,t,e)})};function P(t,e,r,n=!1){return n?Number(t*e)/r:Number(r*e)/t}function k(t,e){return t*(e/100)}function j(t,e){return 0===e?0:t/e*100}function Y(t=0,e=null){if(null!=t&&0!==t){const r=new Date(t);if(Number.isNaN(r.getTime()))return null;const n=e instanceof Date?e:new Date;let o=n.getFullYear()-r.getFullYear();const i=n.getMonth(),s=r.getMonth(),a=n.getDate(),u=r.getDate();return(i<s||i===s&&a<u)&&o--,Math.abs(o)}return null}function z(t,e=null,r=null){if("number"!=typeof t||t<0)return{unit:null,value:null};if(0===t)return{unit:"Bytes",value:0};const n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],o=r&&n.includes(r)?n.indexOf(r):n.length-1,i=Math.min(Math.floor(Math.log(t)/Math.log(1024)),o);let s=t/Math.pow(1024,i);if(null!==e){const t=e<0?0:e;s=parseFloat(s.toFixed(t))}return{unit:n[i],value:s}}function $({baseValues:t=[0,1],length:e=10,combiner:r=(t,e)=>t+e}={}){if(!Array.isArray(t)||2!==t.length)throw new Error("baseValues must be an array of exactly two numbers");const n=[...t.slice(0,2)];for(let t=2;t<e;t++){const e=r(n[t-2],n[t-1],t);n.push(e)}return n}function q(t,e){if(Number.isNaN(t)||!Number.isFinite(t))throw new TypeError("Original market cap must be a number.");if(Number.isNaN(e)||!Number.isFinite(e))throw new TypeError("Circulating supply must be a number.");if(e<=0)throw new Error("Circulating supply must be greater than zero.");return t/e}function H(t,e,r){if(Number.isNaN(r)||!Number.isFinite(r))throw new TypeError("New market cap must be a number.");const n=q(t,e),o="number"==typeof r?r/e:NaN;return{originalPrice:n,newPrice:o,priceChangePercent:"number"==typeof r?(o-n)/n*100:NaN}}function J(t){return t.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase())}function W(t){const e=t.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase());return e.charAt(0).toLowerCase()+e.slice(1)}function _({key:t="a",className:e="detect-made-by-ai"}={}){if("undefined"==typeof HTMLElement)throw new Error("[AiMarkerShortcut] Environment does not support the DOM. This function must be run in a browser.");const r=function(r){if(r.ctrlKey&&r.altKey&&r.key.toLowerCase()===t){if(r.preventDefault(),!document.body)return void console.warn("[AiMarkerShortcut] <body> element not found. Cannot toggle class. Ensure the DOM is fully loaded when using the shortcut.");document.body.classList.toggle(e)}};return document.addEventListener("keydown",r),r}function V(t,e,r=.6){if("string"!=typeof t)throw new TypeError("Expected a string for 'text', but received "+typeof t);if(!Number.isInteger(e)||e<=0)throw new TypeError(`Expected 'limit' to be a positive integer, but received ${e}`);if("number"!=typeof r||r<0||r>1)throw new TypeError(`Expected 'safeCutZone' to be a number between 0 and 1, but received ${r}`);let n=t.trim();if(n.length>e){const t=n.lastIndexOf(" ",e);return t>0&&t>=e*r?`${n.substring(0,t).trim()}...`:`${n.substring(0,e).trim()}...`}return n}function X(t,e){const r={added:{},removed:{},modified:{}};for(const n in t)n in e?t[n]!==e[n]&&(r.modified[n]={old:t[n],new:e[n]}):r.removed[n]=t[n];for(const n in e)n in t||(r.added[n]=e[n]);return r}const K=(t,e)=>t.bottom<e.top,Z=(t,e)=>t.top>e.bottom,G=(t,e)=>t.right<e.left,Q=(t,e)=>t.left>e.right,tt=(t,e)=>t.bottom<=e.top,et=(t,e)=>t.top>=e.bottom,rt=(t,e)=>t.right<=e.left,nt=(t,e)=>t.left>=e.right,ot=(t,e)=>!(G(t,e)||Q(t,e)||K(t,e)||Z(t,e)),it=(t,e)=>!(rt(t,e)||nt(t,e)||tt(t,e)||et(t,e)),st=(t,e)=>G(t,e)?"left":Q(t,e)?"right":K(t,e)?"top":Z(t,e)?"bottom":null,at=(t,e)=>rt(t,e)?"left":nt(t,e)?"right":tt(t,e)?"top":et(t,e)?"bottom":null,ut=(t,e)=>({overlapLeft:e.right-t.left,overlapRight:t.right-e.left,overlapTop:e.bottom-t.top,overlapBottom:t.bottom-e.top}),ft=({overlapLeft:t=-1,overlapRight:e=-1,overlapTop:r=-1,overlapBottom:n=-1}={})=>({dirX:t<e?"right":"left",dirY:r<n?"bottom":"top"}),lt=t=>({x:t.left+t.width/2,y:t.top+t.height/2});function ct(t,e){const r=t.left+t.width/2,n=t.top+t.height/2;return{x:e.left+e.width/2-r,y:e.top+e.height/2-n}}function ht(t,e){if(!it(t,e))return{inDir:null,dirX:null,dirY:null,depthX:0,depthY:0};const{overlapLeft:r,overlapRight:n,overlapTop:o,overlapBottom:i}=ut(t,e),{dirX:s,dirY:a}=ft({overlapLeft:r,overlapRight:n,overlapTop:o,overlapBottom:i}),u=Math.min(r,n),f=Math.min(o,i);let l;return l=u<f?s:a,{inDir:l,dirX:s,dirY:a,depthX:u,depthY:f}}function pt(t,e){const r=it(t,e),n={in:null,x:null,y:null},o={y:null,x:null},i={top:0,bottom:0,left:0,right:0},{overlapLeft:s,overlapRight:a,overlapTop:u,overlapBottom:f}=ut(e,t);i.top=u,i.bottom=f,i.left=s,i.right=a;const l=Object.entries(i).filter(([,t])=>t>0).sort((t,e)=>t[1]-e[1]),{dirX:c,dirY:h}=ft({overlapLeft:a,overlapRight:s,overlapTop:f,overlapBottom:u});return n.y=h,n.x=c,i.bottom<0?o.y="bottom":i.top<0&&(o.y="top"),i.left<0?o.x="left":i.right<0&&(o.x="right"),n.in=r?i.top===i.bottom&&i.bottom===i.left&&i.left===i.right?"center":l.length?l[0][0]:"top":null,{dirs:n,depth:i,isNeg:o}}})(),window.TinyBasicsEs=n})();
2
+ (()=>{var t={251:(t,e)=>{e.read=function(t,e,r,n,o){var i,s,a=8*o-n-1,u=(1<<a)-1,f=u>>1,l=-7,c=r?o-1:0,h=r?-1:1,p=t[e+c];for(c+=h,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+t[e+c],c+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=n;l>0;s=256*s+t[e+c],c+=h,l-=8);if(0===i)i=1-f;else{if(i===u)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),i-=f}return(p?-1:1)*s*Math.pow(2,i-n)},e.write=function(t,e,r,n,o,i){var s,a,u,f=8*i-o-1,l=(1<<f)-1,c=l>>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+c>=1?h/u:h*Math.pow(2,1-c))*u>=2&&(s++,u/=2),s+c>=l?(a=0,s=l):s+c>=1?(a=(e*u-1)*Math.pow(2,o),s+=c):(a=e*Math.pow(2,c-1)*Math.pow(2,o),s=0));o>=8;t[r+p]=255&a,p+=d,a/=256,o-=8);for(s=s<<o|a,f+=o;f>0;t[r+p]=255&s,p+=d,s/=256,f-=8);t[r+p-d]|=128*y}},287:(t,e,r)=>{"use strict";var n=r(526),o=r(251),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.hp=u,e.IS=50;var s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,u.prototype),e}function u(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return f(t,e,r)}function f(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!u.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|y(t,e),n=a(r),o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(z(t,Uint8Array)){var e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(z(t,ArrayBuffer)||t&&z(t.buffer,ArrayBuffer))return p(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(z(t,SharedArrayBuffer)||t&&z(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return u.from(n,e,r);var o=function(t){if(u.isBuffer(t)){var e=0|d(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||$(t.length)?a(0):h(t):"Buffer"===t.type&&Array.isArray(t.data)?h(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return u.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function c(t){return l(t),a(t<0?0:0|d(t))}function h(t){for(var e=t.length<0?0:0|d(t.length),r=a(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,u.prototype),n}function d(t){if(t>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function y(t,e){if(u.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||z(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var o=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return k(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return j(t).length;default:if(o)return n?-1:k(t).length;e=(""+e).toLowerCase(),o=!0}}function g(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return U(this,e,r);case"utf8":case"utf-8":return S(this,e,r);case"ascii":return M(this,e,r);case"latin1":case"binary":return L(this,e,r);case"base64":return N(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function m(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function w(t,e,r,n,o){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),$(r=+r)&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return-1;r=t.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,o);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,n,o);throw new TypeError("val must be string, number or Buffer")}function b(t,e,r,n,o){var i,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function f(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){var l=-1;for(i=r;i<a;i++)if(f(t,i)===f(e,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*s}else-1!==l&&(i-=i-l),l=-1}else for(r+u>a&&(r=a-u),i=r;i>=0;i--){for(var c=!0,h=0;h<u;h++)if(f(t,i+h)!==f(e,h)){c=!1;break}if(c)return i}return-1}function v(t,e,r,n){r=Number(r)||0;var o=t.length-r;n?(n=Number(n))>o&&(n=o):n=o;var i=e.length;n>i/2&&(n=i/2);for(var s=0;s<n;++s){var a=parseInt(e.substr(2*s,2),16);if($(a))return s;t[r+s]=a}return s}function E(t,e,r,n){return Y(k(e,t.length-r),t,r,n)}function T(t,e,r,n){return Y(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function A(t,e,r,n){return Y(j(e),t,r,n)}function B(t,e,r,n){return Y(function(t,e){for(var r,n,o,i=[],s=0;s<t.length&&!((e-=2)<0);++s)n=(r=t.charCodeAt(s))>>8,o=r%256,i.push(o),i.push(n);return i}(e,t.length-r),t,r,n)}function N(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);for(var n=[],o=e;o<r;){var i,s,a,u,f=t[o],l=null,c=f>239?4:f>223?3:f>191?2:1;if(o+c<=r)switch(c){case 1:f<128&&(l=f);break;case 2:128==(192&(i=t[o+1]))&&(u=(31&f)<<6|63&i)>127&&(l=u);break;case 3:i=t[o+1],s=t[o+2],128==(192&i)&&128==(192&s)&&(u=(15&f)<<12|(63&i)<<6|63&s)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:i=t[o+1],s=t[o+2],a=t[o+3],128==(192&i)&&128==(192&s)&&128==(192&a)&&(u=(15&f)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(l=u)}null===l?(l=65533,c=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),o+=c}return function(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=C));return r}(n)}u.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),u.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}}),u.poolSize=8192,u.from=function(t,e,r){return f(t,e,r)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array),u.alloc=function(t,e,r){return function(t,e,r){return l(t),t<=0?a(t):void 0!==e?"string"==typeof r?a(t).fill(e,r):a(t).fill(e):a(t)}(t,e,r)},u.allocUnsafe=function(t){return c(t)},u.allocUnsafeSlow=function(t){return c(t)},u.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==u.prototype},u.compare=function(t,e){if(z(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),z(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(t)||!u.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,o=0,i=Math.min(r,n);o<i;++o)if(t[o]!==e[o]){r=t[o],n=e[o];break}return r<n?-1:n<r?1:0},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=u.allocUnsafe(e),o=0;for(r=0;r<t.length;++r){var i=t[r];if(z(i,Uint8Array))o+i.length>n.length?u.from(i).copy(n,o):Uint8Array.prototype.set.call(n,i,o);else{if(!u.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,o)}o+=i.length}return n},u.byteLength=y,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)m(this,e,e+1);return this},u.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},u.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},u.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?S(this,0,t):g.apply(this,arguments)},u.prototype.toLocaleString=u.prototype.toString,u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",r=e.IS;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},i&&(u.prototype[i]=u.prototype.inspect),u.prototype.compare=function(t,e,r,n,o){if(z(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),!u.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),e<0||r>t.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&e>=r)return 0;if(n>=o)return-1;if(e>=r)return 1;if(this===t)return 0;for(var i=(o>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(i,s),f=this.slice(n,o),l=t.slice(e,r),c=0;c<a;++c)if(f[c]!==l[c]){i=f[c],s=l[c];break}return i<s?-1:s<i?1:0},u.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},u.prototype.indexOf=function(t,e,r){return w(this,t,e,r,!0)},u.prototype.lastIndexOf=function(t,e,r){return w(this,t,e,r,!1)},u.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var o=this.length-e;if((void 0===r||r>o)&&(r=o),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return T(this,t,e,r);case"base64":return A(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function M(t,e,r){var n="";r=Math.min(t.length,r);for(var o=e;o<r;++o)n+=String.fromCharCode(127&t[o]);return n}function L(t,e,r){var n="";r=Math.min(t.length,r);for(var o=e;o<r;++o)n+=String.fromCharCode(t[o]);return n}function U(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var o="",i=e;i<r;++i)o+=q[t[i]];return o}function O(t,e,r){for(var n=t.slice(e,r),o="",i=0;i<n.length-1;i+=2)o+=String.fromCharCode(n[i]+256*n[i+1]);return o}function x(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function F(t,e,r,n,o,i){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||e<i)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function R(t,e,r,n,o,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(t,e,r,n,i){return e=+e,r>>>=0,i||R(t,0,r,4),o.write(t,e,r,n,23,4),r+4}function D(t,e,r,n,i){return e=+e,r>>>=0,i||R(t,0,r,8),o.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,u.prototype),n},u.prototype.readUintLE=u.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=this[t],o=1,i=0;++i<e&&(o*=256);)n+=this[t+i]*o;return n},u.prototype.readUintBE=u.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=this[t+--e],o=1;e>0&&(o*=256);)n+=this[t+--e]*o;return n},u.prototype.readUint8=u.prototype.readUInt8=function(t,e){return t>>>=0,e||x(t,1,this.length),this[t]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(t,e){return t>>>=0,e||x(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(t,e){return t>>>=0,e||x(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(t,e){return t>>>=0,e||x(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(t,e){return t>>>=0,e||x(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=this[t],o=1,i=0;++i<e&&(o*=256);)n+=this[t+i]*o;return n>=(o*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||x(t,e,this.length);for(var n=e,o=1,i=this[t+--n];n>0&&(o*=256);)i+=this[t+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},u.prototype.readInt8=function(t,e){return t>>>=0,e||x(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){t>>>=0,e||x(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){t>>>=0,e||x(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return t>>>=0,e||x(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return t>>>=0,e||x(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return t>>>=0,e||x(t,4,this.length),o.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return t>>>=0,e||x(t,4,this.length),o.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return t>>>=0,e||x(t,8,this.length),o.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return t>>>=0,e||x(t,8,this.length),o.read(this,t,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||F(this,t,e,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[e]=255&t;++i<r&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUintBE=u.prototype.writeUIntBE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||F(this,t,e,r,Math.pow(2,8*r)-1,0);var o=r-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+r},u.prototype.writeUint8=u.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,1,255,0),this[e]=255&t,e+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var o=Math.pow(2,8*r-1);F(this,t,e,r,o-1,-o)}var i=0,s=1,a=0;for(this[e]=255&t;++i<r&&(s*=256);)t<0&&0===a&&0!==this[e+i-1]&&(a=1),this[e+i]=(t/s|0)-a&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var o=Math.pow(2,8*r-1);F(this,t,e,r,o-1,-o)}var i=r-1,s=1,a=0;for(this[e+i]=255&t;--i>=0&&(s*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/s|0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeFloatLE=function(t,e,r){return I(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return I(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return D(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return D(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(!u.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var o=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),o},u.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var o=t.charCodeAt(0);("utf8"===n&&o<128||"latin1"===n)&&(t=o)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var i;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{var s=u.isBuffer(t)?t:u.from(t,n),a=s.length;if(0===a)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=s[i%a]}return this};var P=/[^+/0-9A-Za-z-_]/g;function k(t,e){var r;e=e||1/0;for(var n=t.length,o=null,i=[],s=0;s<n;++s){if((r=t.charCodeAt(s))>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function j(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(P,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Y(t,e,r,n){for(var o=0;o<n&&!(o+r>=e.length||o>=t.length);++o)e[o+r]=t[o];return o}function z(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function $(t){return t!=t}var q=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,o=0;o<16;++o)e[n+o]=t[r]+t[o];return e}()},526:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,i=a(t),s=i[0],u=i[1],f=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,u)),l=0,c=u>0?s-4:s;for(r=0;r<c;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],f[l++]=e>>16&255,f[l++]=e>>8&255,f[l++]=255&e;return 2===u&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,f[l++]=255&e),1===u&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,f[l++]=e>>8&255,f[l++]=255&e),f},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],s=16383,a=0,u=n-o;a<u;a+=s)i.push(f(t,a,a+s>u?u:a+s));return 1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)r[s]=i[s],n[i.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function f(t,e,r){for(var n,o=[],i=e;i<r;i+=3)n=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(255&t[i+2]),o.push(u(n));return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";function t(t){let e,r=t.length;for(;0!==r;)e=Math.floor(Math.random()*r),r--,[t[r],t[e]]=[t[e],t[r]];return t}function e(t,e){const r=t.filter(t=>!e.includes(t));return{added:e.filter(e=>!t.includes(e)),removed:r}}function o(t,e=!1){return e?function(e,r){return e[t]>r[t]?-1:e[t]<r[t]?1:0}:function(e,r){return e[t]<r[t]?-1:e[t]>r[t]?1:0}}function i(t=new Date,e="asSeconds",r=null){if(t instanceof Date){const n=r instanceof Date?r:new Date,o=t.getTime()-n.getTime();switch(e){case"asMilliseconds":return o;case"asSeconds":default:return o/1e3;case"asMinutes":return o/6e4;case"asHours":return o/36e5;case"asDays":return o/864e5}}return null}function s(t,e="seconds",r="{time}"){t=Math.max(0,Math.floor(t));const n=["seconds","minutes","hours","days","months","years"].indexOf(e),o=n>=5,i=n>=4,s=n>=3,a=n>=2,u=n>=1,f=n>=0,l={years:o?0:NaN,months:i?0:NaN,days:s?0:NaN,hours:a?0:NaN,minutes:u?0:NaN,seconds:f?0:NaN,total:NaN};let c=t;if(o||i||s){const t=new Date(1980,0,1),e=new Date(t.getTime()+1e3*c),r=new Date(t);if(o)for(;new Date(r.getFullYear()+1,r.getMonth(),r.getDate()).getTime()<=e.getTime();)r.setFullYear(r.getFullYear()+1),l.years++;if(i)for(;new Date(r.getFullYear(),r.getMonth()+1,r.getDate()).getTime()<=e.getTime();)r.setMonth(r.getMonth()+1),l.months++;if(s)for(;new Date(r.getFullYear(),r.getMonth(),r.getDate()+1).getTime()<=e.getTime();)r.setDate(r.getDate()+1),l.days++;c=Math.floor((e.getTime()-r.getTime())/1e3)}a&&(l.hours=Math.floor(c/3600),c%=3600),u&&(l.minutes=Math.floor(c/60),c%=60),f&&(l.seconds=c),i&&(l.years,l.months,l.days),o&&(l.years,l.months,l.days),l.total=+t.toFixed(2).replace(/\.00$/,"");const h=t=>{const e="string"==typeof t?parseInt(t):t;return Number.isNaN(e)?"NaN":String(e).padStart(2,"0")},p=[a?h(l.hours):null,u?h(l.minutes):null,f?h(l.seconds):null].filter(t=>null!==t).join(":");return r.replace(/\{years\}/g,String(l.years)).replace(/\{months\}/g,String(l.months)).replace(/\{days\}/g,String(l.days)).replace(/\{hours\}/g,h(l.hours)).replace(/\{minutes\}/g,h(l.minutes)).replace(/\{seconds\}/g,h(l.seconds)).replace(/\{time\}/g,p).replace(/\{total\}/g,String(l.total)).trim()}function a(t){return s(t,"hours","{hours}:{minutes}:{seconds}")}function u(t){return s(t,"days","{days}d {hours}:{minutes}:{seconds}")}function f(t,e="milliseconds"){t=Math.max(0,Math.floor(t));const r=["milliseconds","seconds","minutes","hours","days","months","years"].indexOf(e),n=r>=6,o=r>=5,i=r>=4,s=r>=3,a=r>=2,u=r>=1,f=r>=0,l={years:n?0:NaN,months:o?0:NaN,days:i?0:NaN,hours:s?0:NaN,minutes:a?0:NaN,seconds:u?0:NaN,milliseconds:f?0:NaN,total:NaN};let c=t;if(n||o||i){const t=new Date(1980,0,1),e=new Date(t.getTime()+c),r=new Date(t);if(n)for(;new Date(r.getFullYear()+1,r.getMonth(),r.getDate()).getTime()<=e.getTime();)r.setFullYear(r.getFullYear()+1),l.years++;if(o)for(;new Date(r.getFullYear(),r.getMonth()+1,r.getDate()).getTime()<=e.getTime();)r.setMonth(r.getMonth()+1),l.months++;if(i)for(;new Date(r.getFullYear(),r.getMonth(),r.getDate()+1).getTime()<=e.getTime();)r.setDate(r.getDate()+1),l.days++;c=e.getTime()-r.getTime()}return s&&(l.hours=Math.floor(c/36e5),c%=36e5),a&&(l.minutes=Math.floor(c/6e4),c%=6e4),u&&(l.seconds=Math.floor(c/1e3),c%=1e3),f&&(l.milliseconds=c),o&&(l.years,l.months,l.days),n&&(l.years,l.months,l.days),l.total=+t,l}function l(t){return Array.isArray(t)?t.length:c(t)?Object.keys(t).length:0}function c(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&"[object Object]"===Object.prototype.toString.call(t)}function h(t,e){return new Promise((r,n)=>{const o=new FileReader;o.onload=()=>{try{r(o.result)}catch(t){n(t)}},o.onerror=()=>{n(o.error)},o[e](t)})}function p(t,e=!1){return new Promise((r,n)=>{"string"!=typeof e&&"boolean"!=typeof e&&n(new TypeError("The isDataUrl parameter must be a boolean or a string.")),h(t,"readAsDataURL").then(t=>{if("string"!=typeof t)throw new TypeError("Expected file content to be a string.");const n=t.match(/^data:(.+);base64,(.*)$/);if(!n||!n[2])throw new Error("Invalid data URL format or missing Base64 content.");const[,o,i]=n;if(!/^[\w/+]+=*$/.test(i))throw new Error("Base64 content is malformed.");if("boolean"==typeof e)return r(e?t:i);if(!/^[\w-]+\/[\w.+-]+$/.test(e))throw new Error(`Invalid MIME type string: ${e}`);return r(`data:${e};base64,${i}`)}).catch(n)})}function d(t){return new Promise((e,r)=>h(t,"readAsText").then(t=>{if("string"!=typeof t)throw new TypeError("Expected file content to be a string.");const r=t.trim();if(0===r.length)throw new Error("File is empty or contains only whitespace.");const n=JSON.parse(r);if("object"!=typeof n||null===n)throw new Error("Parsed content is not a valid JSON object or array.");e(n)}).catch(r))}function y(t,e,r=2){const n=JSON.stringify(e,null,r),o=new Blob([n],{type:"application/json"}),i=URL.createObjectURL(o),s=document.createElement("a");s.href=i,s.download=t,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(i)}async function g(t,{method:e="GET",body:r,timeout:n=0,retries:o=0,headers:i={},signal:s=null}={}){if("string"!=typeof t||!t.startsWith("../")&&!t.startsWith("./")&&!t.startsWith("/")&&!t.startsWith("https://")&&!t.startsWith("http://"))throw new Error("Invalid URL: must be a valid http or https address.");if("string"!=typeof e||!e.trim())throw new Error("Invalid method: must be a non-empty string.");if(!s){if("number"!=typeof n||!Number.isFinite(n)||Number.isNaN(n)||n<0)throw new Error("Invalid timeout: must be a positive number.");if("number"!=typeof o||!Number.isFinite(o)||Number.isNaN(o)||o<0)throw new Error("Invalid retries: must be a positive number.")}const a=s?1:o+1;let u=null;for(let f=0;f<a;f++){const a=s?null:new AbortController,l=s||(a?.signal??null),h=!s&&n&&a?setTimeout(()=>a.abort(),n):null;try{const n=await fetch(t,{method:e.toUpperCase(),headers:{Accept:"application/json",...i},body:void 0!==r?c(r)?JSON.stringify(r):r:void 0,signal:l});if(h&&clearTimeout(h),!n.ok)throw new Error(`HTTP error: ${n.status} ${n.statusText}`);return n}catch(t){if(u=t,s)break;f<o&&await new Promise(t=>setTimeout(t,300*(f+1)))}}throw new Error(`Failed to fetch JSON from "${t}"${u?`: ${u.message}`:"."}`)}async function m(t,e){return new Promise((r,n)=>{g(t,e).then(async t=>{const e=t.headers.get("content-type")||"";if(!e.includes("application/json"))throw new Error(`Unexpected content-type: ${e}`);const n=await t.json();if(!Array.isArray(n)&&!c(n))throw new Error("Received invalid data instead of valid JSON.");return r(n)}).catch(n)})}async function w(t,e,r){return new Promise((n,o)=>{g(t,r).then(async t=>{const r=t.headers.get("content-type")||"";if(Array.isArray(e)&&e.length>0&&!e.some(t=>r.includes(t)))throw new Error(`Blocked MIME type: ${r}`);const o=await t.text();return n(o)}).catch(o)})}function b({element:t=document.body,hiddenClass:e="windowHidden",visibleClass:r="windowVisible",onVisible:n,onHidden:o}={}){if(!(t instanceof Element))throw new TypeError('"element" must be an instance of Element.');if("string"!=typeof e)throw new TypeError('"hiddenClass" must be a string.');if("string"!=typeof r)throw new TypeError('"visibleClass" must be a string.');if(void 0!==n&&"function"!=typeof n)throw new TypeError('"onVisible" must be a function if provided.');if(void 0!==o&&"function"!=typeof o)throw new TypeError('"onHidden" must be a function if provided.');let i="",s="";const a=()=>{t.classList.remove(e),t.classList.remove(r)};let u=null;const f=["visibilitychange","mozvisibilitychange","webkitvisibilitychange","msvisibilitychange"],l=["hidden","mozHidden","webkitHidden","msHidden"];for(let t=0;t<l.length;t++)if(l[t]in document){u=l[t];break}const c=function(f){a();const l=f?.type,c=u&&document[u];["focus","focusin","pageshow"].includes(l)?(t.classList.add(r),n?.({type:l,oldClass:s,oldType:i}),s=r):["blur","focusout","pagehide"].includes(l)||c?(t.classList.add(e),o?.({type:l,oldClass:s,oldType:i}),s=e):(t.classList.add(r),n?.({type:l,oldClass:s,oldType:i}),s=r),i=l};let h=()=>{};if(u){const t=f[l.indexOf(u)];document.addEventListener(t,c),window.addEventListener("focus",c),window.addEventListener("blur",c),h=()=>{document.removeEventListener(t,c),window.removeEventListener("focus",c),window.removeEventListener("blur",c),a()}}else"onfocusin"in document?(document.onfocusin=document.onfocusout=c,h=()=>{document.onfocusin=document.onfocusout=null,a()}):(window.onpageshow=window.onpagehide=window.onfocus=window.onblur=c,h=()=>{window.onpageshow=window.onpagehide=window.onfocus=window.onblur=null,a()});const p=new Event(u&&document[u]?"blur":"focus");return c(p),h}r.r(n),r.d(n,{addAiMarkerShortcut:()=>_,areElsCollBottom:()=>Z,areElsCollLeft:()=>G,areElsCollPerfBottom:()=>et,areElsCollPerfLeft:()=>rt,areElsCollPerfRight:()=>nt,areElsCollPerfTop:()=>tt,areElsCollRight:()=>Q,areElsCollTop:()=>K,areElsColliding:()=>ot,areElsPerfColliding:()=>it,arraySortPositions:()=>o,asyncReplace:()=>H,breakdownDuration:()=>f,calculateMarketcap:()=>$,cloneObjTypeOrder:()=>N,compareMarketcap:()=>q,countObj:()=>l,diffArrayList:()=>e,diffStrings:()=>X,documentIsFullScreen:()=>M,exitFullScreen:()=>x,extendObjType:()=>A,fetchJson:()=>m,fetchText:()=>w,formatBytes:()=>Y,formatCustomTimer:()=>s,formatDayTimer:()=>u,formatTimer:()=>a,genFibonacciSeq:()=>z,getAge:()=>j,getElsCollDetails:()=>pt,getElsCollDirDepth:()=>ht,getElsCollOverlap:()=>ut,getElsCollOverlapPos:()=>ft,getElsColliding:()=>st,getElsPerfColliding:()=>at,getElsRelativeCenterOffset:()=>ct,getPercentage:()=>k,getRectCenter:()=>lt,getSimplePerc:()=>P,getTimeDuration:()=>i,installWindowHiddenScript:()=>b,isFullScreenMode:()=>U,isJsonObject:()=>c,isScreenFilled:()=>L,objType:()=>C,offFullScreenChange:()=>I,onFullScreenChange:()=>R,readBase64Blob:()=>p,readFileBlob:()=>h,readJsonBlob:()=>d,reorderObjTypeOrder:()=>B,requestFullScreen:()=>O,ruleOfThree:()=>D,safeTextTrim:()=>V,saveJsonFile:()=>y,shuffleArray:()=>t,toTitleCase:()=>J,toTitleCaseLowerFirst:()=>W});var v=r(287);const E="undefined"!=typeof window&&void 0!==window.document,T={items:{},order:[]};function A(t,e){const r=[],n=Array.isArray(t)?t:Object.entries(t);for(const[t,o]of n)if(!T.items.hasOwnProperty(t)){T.items[t]=o;let n="number"==typeof e?e:-1;if(-1===n){const t=T.order.indexOf("object");n=t>-1?t:T.order.length}n=Math.min(Math.max(0,n),T.order.length),T.order.splice(n,0,t),r.push(t)}return r}function B(t){const e=[...T.order];return!!t.every(t=>e.includes(t))&&(T.order=t.slice(),!0)}function N(){return[...T.order]}const S=t=>{if(null===t)return"null";for(const e of T.order)if("function"!=typeof T.items[e]||T.items[e](t))return e;return"unknown"};function C(t,e){if(void 0===t)return null;const r=S(t);return"string"==typeof e?r===e.toLowerCase():r}A([["undefined",t=>void 0===t],["null",t=>null===t],["boolean",t=>"boolean"==typeof t],["number",t=>"number"==typeof t&&!Number.isNaN(t)],["bigint",t=>"bigint"==typeof t],["string",t=>"string"==typeof t],["symbol",t=>"symbol"==typeof t],["function",t=>"function"==typeof t],["array",t=>Array.isArray(t)]]),E||A([["buffer",t=>void 0!==v.hp&&v.hp.isBuffer(t)]]),E&&A([["file",t=>"undefined"!=typeof File&&t instanceof File]]),A([["date",t=>t instanceof Date],["regexp",t=>t instanceof RegExp],["map",t=>t instanceof Map],["set",t=>t instanceof Set],["weakmap",t=>t instanceof WeakMap],["weakset",t=>t instanceof WeakSet],["promise",t=>t instanceof Promise]]),E&&A([["htmlelement",t=>"undefined"!=typeof HTMLElement&&t instanceof HTMLElement]]),A([["object",t=>c(t)]]);const M=()=>!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitIsFullScreen||document.mozFullScreen),L=()=>window.innerHeight===screen.height&&window.innerWidth===screen.width,U=()=>M()||L(),O=t=>new Promise(async(e,r)=>{const n=document.documentElement;try{n.requestFullscreen?await n.requestFullscreen(t):n.mozRequestFullScreen?n.mozRequestFullScreen(t):n.webkitRequestFullScreen?n.webkitRequestFullScreen(t):n.msRequestFullscreen&&n.msRequestFullscreen(t),e()}catch(t){r(t)}}),x=()=>new Promise((t,e)=>{if(document.exitFullscreen)document.exitFullscreen().then(t).catch(e);else try{if(document.mozCancelFullScreen)document.mozCancelFullScreen();else if(document.webkitCancelFullScreen)document.webkitCancelFullScreen();else{if(!document.msExitFullscreen)throw new Error("Fullscreen API is not supported");document.msExitFullscreen()}t()}catch(t){e(t)}}),F=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],R=(t,e)=>{F.forEach(r=>{document.addEventListener(r,t,e)})},I=(t,e)=>{F.forEach(r=>{document.removeEventListener(r,t,e)})};function D(t,e,r,n=!1){return n?Number(t*e)/r:Number(r*e)/t}function P(t,e){return t*(e/100)}function k(t,e){return 0===e?0:t/e*100}function j(t=0,e=null){if(null!=t&&0!==t){const r=new Date(t);if(Number.isNaN(r.getTime()))return null;const n=e instanceof Date?e:new Date;let o=n.getFullYear()-r.getFullYear();const i=n.getMonth(),s=r.getMonth(),a=n.getDate(),u=r.getDate();return(i<s||i===s&&a<u)&&o--,Math.abs(o)}return null}function Y(t,e=null,r=null){if("number"!=typeof t||t<0)return{unit:null,value:null};if(0===t)return{unit:"Bytes",value:0};const n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],o=r&&n.includes(r)?n.indexOf(r):n.length-1,i=Math.min(Math.floor(Math.log(t)/Math.log(1024)),o);let s=t/Math.pow(1024,i);if(null!==e){const t=e<0?0:e;s=parseFloat(s.toFixed(t))}return{unit:n[i],value:s}}function z({baseValues:t=[0,1],length:e=10,combiner:r=(t,e)=>t+e}={}){if(!Array.isArray(t)||2!==t.length)throw new Error("baseValues must be an array of exactly two numbers");const n=[...t.slice(0,2)];for(let t=2;t<e;t++){const e=r(n[t-2],n[t-1],t);n.push(e)}return n}function $(t,e){if(Number.isNaN(t)||!Number.isFinite(t))throw new TypeError("Original market cap must be a number.");if(Number.isNaN(e)||!Number.isFinite(e))throw new TypeError("Circulating supply must be a number.");if(e<=0)throw new Error("Circulating supply must be greater than zero.");return t/e}function q(t,e,r){if(Number.isNaN(r)||!Number.isFinite(r))throw new TypeError("New market cap must be a number.");const n=$(t,e),o="number"==typeof r?r/e:NaN;return{originalPrice:n,newPrice:o,priceChangePercent:"number"==typeof r?(o-n)/n*100:NaN}}async function H(t,e,r){const n=[];t.replace(e,(t,...e)=>(n.push(r(t,...e)),t));const o=await Promise.all(n);return t.replace(e,()=>o.shift())}function J(t){return t.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase())}function W(t){const e=t.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase());return e.charAt(0).toLowerCase()+e.slice(1)}function _({key:t="a",className:e="detect-made-by-ai"}={}){if("undefined"==typeof HTMLElement)throw new Error("[AiMarkerShortcut] Environment does not support the DOM. This function must be run in a browser.");const r=function(r){if(r.ctrlKey&&r.altKey&&r.key.toLowerCase()===t){if(r.preventDefault(),!document.body)return void console.warn("[AiMarkerShortcut] <body> element not found. Cannot toggle class. Ensure the DOM is fully loaded when using the shortcut.");document.body.classList.toggle(e)}};return document.addEventListener("keydown",r),r}function V(t,e,r=.6){if("string"!=typeof t)throw new TypeError("Expected a string for 'text', but received "+typeof t);if(!Number.isInteger(e)||e<=0)throw new TypeError(`Expected 'limit' to be a positive integer, but received ${e}`);if("number"!=typeof r||r<0||r>1)throw new TypeError(`Expected 'safeCutZone' to be a number between 0 and 1, but received ${r}`);let n=t.trim();if(n.length>e){const t=n.lastIndexOf(" ",e);return t>0&&t>=e*r?`${n.substring(0,t).trim()}...`:`${n.substring(0,e).trim()}...`}return n}function X(t,e){const r={added:{},removed:{},modified:{}};for(const n in t)n in e?t[n]!==e[n]&&(r.modified[n]={old:t[n],new:e[n]}):r.removed[n]=t[n];for(const n in e)n in t||(r.added[n]=e[n]);return r}const K=(t,e)=>t.bottom<e.top,Z=(t,e)=>t.top>e.bottom,G=(t,e)=>t.right<e.left,Q=(t,e)=>t.left>e.right,tt=(t,e)=>t.bottom<=e.top,et=(t,e)=>t.top>=e.bottom,rt=(t,e)=>t.right<=e.left,nt=(t,e)=>t.left>=e.right,ot=(t,e)=>!(G(t,e)||Q(t,e)||K(t,e)||Z(t,e)),it=(t,e)=>!(rt(t,e)||nt(t,e)||tt(t,e)||et(t,e)),st=(t,e)=>G(t,e)?"left":Q(t,e)?"right":K(t,e)?"top":Z(t,e)?"bottom":null,at=(t,e)=>rt(t,e)?"left":nt(t,e)?"right":tt(t,e)?"top":et(t,e)?"bottom":null,ut=(t,e)=>({overlapLeft:e.right-t.left,overlapRight:t.right-e.left,overlapTop:e.bottom-t.top,overlapBottom:t.bottom-e.top}),ft=({overlapLeft:t=-1,overlapRight:e=-1,overlapTop:r=-1,overlapBottom:n=-1}={})=>({dirX:t<e?"right":"left",dirY:r<n?"bottom":"top"}),lt=t=>({x:t.left+t.width/2,y:t.top+t.height/2});function ct(t,e){const r=t.left+t.width/2,n=t.top+t.height/2;return{x:e.left+e.width/2-r,y:e.top+e.height/2-n}}function ht(t,e){if(!it(t,e))return{inDir:null,dirX:null,dirY:null,depthX:0,depthY:0};const{overlapLeft:r,overlapRight:n,overlapTop:o,overlapBottom:i}=ut(t,e),{dirX:s,dirY:a}=ft({overlapLeft:r,overlapRight:n,overlapTop:o,overlapBottom:i}),u=Math.min(r,n),f=Math.min(o,i);let l;return l=u<f?s:a,{inDir:l,dirX:s,dirY:a,depthX:u,depthY:f}}function pt(t,e){const r=it(t,e),n={in:null,x:null,y:null},o={y:null,x:null},i={top:0,bottom:0,left:0,right:0},{overlapLeft:s,overlapRight:a,overlapTop:u,overlapBottom:f}=ut(e,t);i.top=u,i.bottom=f,i.left=s,i.right=a;const l=Object.entries(i).filter(([,t])=>t>0).sort((t,e)=>t[1]-e[1]),{dirX:c,dirY:h}=ft({overlapLeft:a,overlapRight:s,overlapTop:f,overlapBottom:u});return n.y=h,n.x=c,i.bottom<0?o.y="bottom":i.top<0&&(o.y="top"),i.left<0?o.x="left":i.right<0&&(o.x="right"),n.in=r?i.top===i.bottom&&i.bottom===i.left&&i.left===i.right?"center":l.length?l[0][0]:"top":null,{dirs:n,depth:i,isNeg:o}}})(),window.TinyBasicsEs=n})();
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={d:(r,t)=>{for(var s in t)e.o(t,s)&&!e.o(r,s)&&Object.defineProperty(r,s,{enumerable:!0,get:t[s]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r)},r={};e.d(r,{TinyColorValidator:()=>s});class t{static#e=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;static#r=/^#([A-Fa-f0-9]{8})$/;static#t="(0|1|0?\\.\\d+)";static#s="(0|[1-9]\\d?|1\\d{2}|2[0-4]\\d|25[0-5])";static#a="(0|[1-9]\\d?|[1-2]\\d{2}|3[0-5]\\d|360)";static#i="(0|[1-9]?\\d|100)";static#n=new RegExp(`^rgb\\(\\s*${t.#s}\\s*,\\s*${t.#s}\\s*,\\s*${t.#s}\\s*\\)$`);static#o=new RegExp(`^rgba\\(\\s*${t.#s}\\s*,\\s*${t.#s}\\s*,\\s*${t.#s}\\s*,\\s*${t.#t}\\s*\\)$`);static#l=new RegExp(`^hsl\\(\\s*${t.#a}\\s*,\\s*${t.#i}%\\s*,\\s*${t.#i}%\\s*\\)$`);static#p=new RegExp(`^hsla\\(\\s*${t.#a}\\s*,\\s*${t.#i}%\\s*,\\s*${t.#i}%\\s*,\\s*${t.#t}\\s*\\)$`);static#u=new RegExp(`^hwb\\(\\s*${t.#a}(deg|grad|rad|turn)?\\s*${t.#i}%\\s*${t.#i}%\\s*\\)$`);static#c="(-?\\d+)";static#g=new RegExp(`^lab\\(\\s*${t.#i}%?\\s*${t.#c}%?\\s*${t.#c}%?\\s*\\)$`);static#d=new RegExp(`^lch\\(\\s*${t.#i}%?\\s*${t.#i}%?\\s*${t.#a}(deg|grad|rad|turn)?\\s*\\)$`);static#h=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);static#E=new Set(["transparent","currentColor"]);static getNames(){return Array.from(t.#h)}static addName(e){const r=t.#h.size;return t.#h.add(e.toLowerCase()),t.#h.size>r}static removeName(e){return t.#h.delete(e.toLowerCase())}static hasName(e){return t.#h.has(e.toLowerCase())}static getSpecialNames(){return Array.from(t.#E)}static addSpecialName(e){const r=t.#E.size;return t.#E.add(e),t.#E.size>r}static removeSpecialName(e){return t.#E.delete(e)}static hasSpecialName(e){return t.#E.has(e)}#m;get code(){return this.#m}#b;get type(){return this.#b}constructor(e){this.#m=e,this.#b=t.isColor(this.#m)}static isHex(e){if("string"!=typeof e)throw new TypeError("isHex: input must be a string.");return t.#e.test(e.trim())}isHex(){return t.isHex(this.#m)}static isHexa(e){if("string"!=typeof e)throw new TypeError("isHexa: input must be a string.");return t.#r.test(e.trim())}isHexa(){return t.isHexa(this.#m)}static isRgb(e){if("string"!=typeof e)throw new TypeError("isRgb: input must be a string.");return t.#n.test(e.trim())}isRgb(){return t.isRgb(this.#m)}static isRgba(e){if("string"!=typeof e)throw new TypeError("isRgba: input must be a string.");return t.#o.test(e.trim())}isRgba(){return t.isRgba(this.#m)}static isHsl(e){if("string"!=typeof e)throw new TypeError("isHsl: input must be a string.");return t.#l.test(e.trim())}isHsl(){return t.isHsl(this.#m)}static isHsla(e){if("string"!=typeof e)throw new TypeError("isHsla: input must be a string.");return t.#p.test(e.trim())}isHsla(){return t.isHsla(this.#m)}static isHwb(e){if("string"!=typeof e)throw new TypeError("isHwb: input must be a string.");return t.#u.test(e.trim())}isHwb(){return t.isHwb(this.#m)}static isLab(e){if("string"!=typeof e)throw new TypeError("isLab: input must be a string.");return t.#g.test(e.trim())}isLab(){return t.isLab(this.#m)}static isLch(e){if("string"!=typeof e)throw new TypeError("isLch: input must be a string.");return t.#d.test(e.trim())}isLch(){return t.isLch(this.#m)}static isName(e){if("string"!=typeof e)throw new TypeError("isName: input must be a string.");return t.#h.has(e.trim().toLowerCase())}isName(){return t.isName(this.#m)}static isSpecialName(e){if("string"!=typeof e)throw new TypeError("isSpecialName: input must be a string.");return t.#E.has(e.trim())}isSpecialName(){return t.isSpecialName(this.#m)}static isColor(e){if("string"!=typeof e)throw new TypeError("isColor: input must be a string.");return t.isHex(e)?"hex":t.isHexa(e)?"hexa":t.isRgb(e)?"rgb":t.isRgba(e)?"rgba":t.isHsl(e)?"hsl":t.isHsla(e)?"hsla":t.isHwb(e)?"hwb":t.isLab(e)?"lab":t.isLch(e)?"lch":t.isName(e)?"name":t.isSpecialName(e)?"specialName":null}parse(){switch(this.#b){case"hex":return t.parseHex(this.code);case"hexa":return t.parseHexa(this.code);case"rgb":return t.parseRgb(this.code);case"rgba":return t.parseRgba(this.code);case"hsl":return t.parseHsl(this.code);case"hsla":return t.parseHsla(this.code);case"hwb":return t.parseHwb(this.code);case"lab":return t.parseLab(this.code);case"lch":return t.parseLch(this.code);case"name":case"specialName":return this.#m.trim().toLowerCase();default:return null}}static parseHex(e){if("string"!=typeof e)throw new TypeError("parseHex: input must be a string.");const r=new RegExp(t.#e,"gm").exec(e.trim());return r?r[1]:null}parseHex(){return t.parseHex(this.#m)}static parseHexa(e){if("string"!=typeof e)throw new TypeError("parseHexa: input must be a string.");const r=new RegExp(t.#r,"gm").exec(e.trim());return r?r[1]:null}parseHexa(){return t.parseHexa(this.#m)}static parseRgb(e){if("string"!=typeof e)throw new TypeError("parseRgb: input must be a string.");const r=new RegExp(t.#n,"gm").exec(e.trim());return r?[parseFloat(r[1]),parseFloat(r[2]),parseFloat(r[3])]:null}parseRgb(){return t.parseRgb(this.#m)}static parseRgba(e){if("string"!=typeof e)throw new TypeError("parseRgba: input must be a string.");const r=new RegExp(t.#o,"gm").exec(e.trim());return r?[parseFloat(r[1]),parseFloat(r[2]),parseFloat(r[3]),parseFloat(r[4])]:null}parseRgba(){return t.parseRgba(this.#m)}static parseHsl(e){if("string"!=typeof e)throw new TypeError("parseHsl: input must be a string.");const r=new RegExp(t.#l,"gm").exec(e.trim());return r?[parseFloat(r[1]),parseFloat(r[2]),parseFloat(r[3])]:null}parseHsl(){return t.parseHsl(this.#m)}static parseHsla(e){if("string"!=typeof e)throw new TypeError("parseHsla: input must be a string.");const r=new RegExp(t.#p,"gm").exec(e.trim());return r?[parseFloat(r[1]),parseFloat(r[2]),parseFloat(r[3]),parseFloat(r[4])]:null}parseHsla(){return t.parseHsla(this.#m)}static parseHwb(e){if("string"!=typeof e)throw new TypeError("parseHwb: input must be a string.");const r=new RegExp(t.#u,"gm").exec(e.trim());return r?[parseFloat(r[1]),r[2]??null,parseFloat(r[3]),parseFloat(r[4])]:null}parseHwb(){return t.parseHwb(this.#m)}static parseLab(e){if("string"!=typeof e)throw new TypeError("parseLab: input must be a string.");const r=new RegExp(t.#g,"gm").exec(e.trim());return r?[parseFloat(r[1]),parseFloat(r[2]),parseFloat(r[3])]:null}parseLab(){return t.parseLab(this.#m)}static parseLch(e){if("string"!=typeof e)throw new TypeError("parseLch: input must be a string.");const r=new RegExp(t.#d,"gm").exec(e.trim());return r?[parseFloat(r[1]),parseFloat(r[2]),parseFloat(r[3]),r[4]??null]:null}parseLch(){return t.parseLch(this.#m)}}const s=t;window.TinyColorValidator=r.TinyColorValidator})();