@underpostnet/cyberia 3.2.80

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 (821) hide show
  1. package/.dockerignore +14 -0
  2. package/.env.example +144 -0
  3. package/.github/workflows/cyberia-client.cd.yml +40 -0
  4. package/.github/workflows/cyberia-server.cd.yml +40 -0
  5. package/.github/workflows/docker-image.cyberia-client.ci.yml +71 -0
  6. package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +70 -0
  7. package/.github/workflows/docker-image.cyberia-server.ci.yml +71 -0
  8. package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +71 -0
  9. package/.github/workflows/docker-image.engine-cyberia.ci.yml +53 -0
  10. package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +53 -0
  11. package/.github/workflows/engine-cyberia.cd.yml +157 -0
  12. package/.github/workflows/engine-cyberia.ci.yml +125 -0
  13. package/.github/workflows/ghpkg.ci.yml +160 -0
  14. package/.github/workflows/gitlab.ci.yml +20 -0
  15. package/.github/workflows/hardhat.ci.yml +82 -0
  16. package/.github/workflows/npmpkg.ci.yml +126 -0
  17. package/.github/workflows/publish.ci.yml +87 -0
  18. package/.github/workflows/publish.cyberia.ci.yml +79 -0
  19. package/.github/workflows/pwa-microservices-template-page.cd.yml +65 -0
  20. package/.github/workflows/pwa-microservices-template-test.ci.yml +33 -0
  21. package/.github/workflows/release.cd.yml +46 -0
  22. package/.nycrc +9 -0
  23. package/.prettierignore +12 -0
  24. package/.prettierrc +9 -0
  25. package/.vscode/extensions.json +10 -0
  26. package/.vscode/settings.json +26 -0
  27. package/CHANGELOG.md +2516 -0
  28. package/CLI-HELP.md +1099 -0
  29. package/Dockerfile +161 -0
  30. package/Dockerfile.dev +161 -0
  31. package/Dockerfile.test +165 -0
  32. package/LICENSE +21 -0
  33. package/README.md +259 -0
  34. package/baremetal/commission-workflows.json +211 -0
  35. package/baremetal/packer-workflows.json +24 -0
  36. package/bin/build.js +261 -0
  37. package/bin/build.template.js +33 -0
  38. package/bin/cyberia.js +5627 -0
  39. package/bin/deploy.js +1547 -0
  40. package/bin/index.js +5627 -0
  41. package/bump.config.js +27 -0
  42. package/compose.env +144 -0
  43. package/conf.js +952 -0
  44. package/deployment.yaml +418 -0
  45. package/docker-compose.yml +434 -0
  46. package/examples/static-page/README.md +150 -0
  47. package/examples/static-page/ssr-components/CustomPage.js +554 -0
  48. package/examples/static-page/static-config-example.json +57 -0
  49. package/hardhat/.env.example +31 -0
  50. package/hardhat/contracts/ObjectLayerToken.sol +391 -0
  51. package/hardhat/deployments/.gitkeep +0 -0
  52. package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
  53. package/hardhat/hardhat.config.js +136 -0
  54. package/hardhat/ignition/modules/.gitkeep +0 -0
  55. package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
  56. package/hardhat/networks/besu-object-layer.network.json +138 -0
  57. package/hardhat/package-lock.json +2871 -0
  58. package/hardhat/package.json +43 -0
  59. package/hardhat/scripts/deployObjectLayerToken.js +98 -0
  60. package/hardhat/test/ObjectLayerToken.js +696 -0
  61. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  62. package/hardhat/types/ethers-contracts/common.ts +92 -0
  63. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  64. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  65. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  66. package/hardhat/types/ethers-contracts/index.ts +6 -0
  67. package/ipfs/configure-ipfs.sh +13 -0
  68. package/jsconfig.json +9 -0
  69. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +48 -0
  70. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +48 -0
  71. package/manifests/deployment/adminer/deployment.yaml +32 -0
  72. package/manifests/deployment/adminer/kustomization.yaml +7 -0
  73. package/manifests/deployment/adminer/service.yaml +13 -0
  74. package/manifests/deployment/dd-cyberia-development/deployment.yaml +418 -0
  75. package/manifests/deployment/dd-cyberia-development/grpc-service.yaml +17 -0
  76. package/manifests/deployment/dd-cyberia-development/proxy.yaml +189 -0
  77. package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +164 -0
  78. package/manifests/deployment/dd-default-development/deployment.yaml +163 -0
  79. package/manifests/deployment/dd-default-development/proxy.yaml +46 -0
  80. package/manifests/deployment/fastapi/backend-deployment.yml +120 -0
  81. package/manifests/deployment/fastapi/backend-service.yml +19 -0
  82. package/manifests/deployment/fastapi/frontend-deployment.yml +54 -0
  83. package/manifests/deployment/fastapi/frontend-service.yml +15 -0
  84. package/manifests/deployment/fastapi/initial_data.sh +8 -0
  85. package/manifests/deployment/kafka/deployment.yaml +67 -0
  86. package/manifests/deployment/mongo-express/deployment.yaml +62 -0
  87. package/manifests/deployment/phpmyadmin/deployment.yaml +54 -0
  88. package/manifests/deployment/playwright/deployment.yaml +52 -0
  89. package/manifests/deployment/spark/spark-pi-py.yaml +20 -0
  90. package/manifests/deployment/tensorflow/tf-gpu-test.yaml +63 -0
  91. package/manifests/envoy-service-nodeport.yaml +22 -0
  92. package/manifests/grafana/deployment.yaml +64 -0
  93. package/manifests/grafana/kustomization.yaml +7 -0
  94. package/manifests/grafana/pvc.yaml +12 -0
  95. package/manifests/grafana/service.yaml +14 -0
  96. package/manifests/grafana/storage-class.yaml +9 -0
  97. package/manifests/ipfs/configmap.yaml +64 -0
  98. package/manifests/ipfs/headless-service.yaml +35 -0
  99. package/manifests/ipfs/kustomization.yaml +8 -0
  100. package/manifests/ipfs/statefulset.yaml +149 -0
  101. package/manifests/ipfs/storage-class.yaml +9 -0
  102. package/manifests/kind-config-dev.yaml +20 -0
  103. package/manifests/kind-config.yaml +12 -0
  104. package/manifests/kubeadm-calico-config.yaml +14 -0
  105. package/manifests/letsencrypt-prod.yaml +14 -0
  106. package/manifests/lxd/lxd-admin-profile.yaml +26 -0
  107. package/manifests/lxd/lxd-preseed.yaml +30 -0
  108. package/manifests/mariadb/kustomization.yaml +9 -0
  109. package/manifests/mariadb/pv.yaml +12 -0
  110. package/manifests/mariadb/pvc.yaml +10 -0
  111. package/manifests/mariadb/service.yaml +10 -0
  112. package/manifests/mariadb/statefulset.yaml +56 -0
  113. package/manifests/mariadb/storage-class.yaml +10 -0
  114. package/manifests/mongodb/headless-service.yaml +10 -0
  115. package/manifests/mongodb/kustomization.yaml +11 -0
  116. package/manifests/mongodb/pv-pvc.yaml +59 -0
  117. package/manifests/mongodb/statefulset.yaml +113 -0
  118. package/manifests/mongodb/storage-class.yaml +9 -0
  119. package/manifests/mongodb-4.4/headless-service.yaml +10 -0
  120. package/manifests/mongodb-4.4/kustomization.yaml +9 -0
  121. package/manifests/mongodb-4.4/mongodb-nodeport.yaml +17 -0
  122. package/manifests/mongodb-4.4/pv-pvc.yaml +19 -0
  123. package/manifests/mongodb-4.4/service-deployment.yaml +61 -0
  124. package/manifests/mongodb-4.4/statefulset.yaml +79 -0
  125. package/manifests/mongodb-4.4/storage-class.yaml +9 -0
  126. package/manifests/mysql/kustomization.yaml +7 -0
  127. package/manifests/mysql/pv-pvc.yaml +27 -0
  128. package/manifests/mysql/statefulset.yaml +55 -0
  129. package/manifests/postgresql/configmap.yaml +9 -0
  130. package/manifests/postgresql/kustomization.yaml +10 -0
  131. package/manifests/postgresql/pv.yaml +15 -0
  132. package/manifests/postgresql/pvc.yaml +13 -0
  133. package/manifests/postgresql/service.yaml +10 -0
  134. package/manifests/postgresql/statefulset.yaml +37 -0
  135. package/manifests/prometheus/deployment.yaml +82 -0
  136. package/manifests/pv-pvc-dd.yaml +34 -0
  137. package/manifests/valkey/kustomization.yaml +7 -0
  138. package/manifests/valkey/service.yaml +10 -0
  139. package/manifests/valkey/statefulset.yaml +37 -0
  140. package/manifests/valkey/valkey-nodeport.yaml +17 -0
  141. package/mongodb/entrypoint.sh +76 -0
  142. package/nginx.conf +128 -0
  143. package/nodemon.json +6 -0
  144. package/package.json +101 -0
  145. package/packer/images/Rocky9Amd64/Makefile +62 -0
  146. package/packer/images/Rocky9Amd64/QUICKSTART.md +113 -0
  147. package/packer/images/Rocky9Amd64/README.md +122 -0
  148. package/packer/images/Rocky9Amd64/http/rocky9.ks.pkrtpl.hcl +114 -0
  149. package/packer/images/Rocky9Amd64/rocky9.pkr.hcl +164 -0
  150. package/packer/images/Rocky9Arm64/Makefile +69 -0
  151. package/packer/images/Rocky9Arm64/README.md +122 -0
  152. package/packer/images/Rocky9Arm64/http/rocky9.ks.pkrtpl.hcl +114 -0
  153. package/packer/images/Rocky9Arm64/rocky9.pkr.hcl +171 -0
  154. package/packer/scripts/fuse-nbd +64 -0
  155. package/packer/scripts/fuse-tar-root +63 -0
  156. package/proxy.yaml +189 -0
  157. package/pv-pvc.yaml +164 -0
  158. package/scripts/device-scan.sh +65 -0
  159. package/scripts/disk-clean.sh +182 -0
  160. package/scripts/disk-devices.sh +13 -0
  161. package/scripts/gen-fqdns.sh +14 -0
  162. package/scripts/gpu-diag.sh +19 -0
  163. package/scripts/ip-info.sh +118 -0
  164. package/scripts/ipxe-setup.sh +200 -0
  165. package/scripts/k3s-node-setup.sh +124 -0
  166. package/scripts/kubeadm-node-setup.sh +317 -0
  167. package/scripts/link-local-underpost-cli.sh +6 -0
  168. package/scripts/lxd-vm-setup.sh +208 -0
  169. package/scripts/maas-nat-firewalld.sh +145 -0
  170. package/scripts/maas-setup.sh +135 -0
  171. package/scripts/maas-upload-boot-resource.sh +183 -0
  172. package/scripts/nat-iptables.sh +111 -0
  173. package/scripts/nvim.sh +91 -0
  174. package/scripts/packer-init-vars-file.sh +40 -0
  175. package/scripts/packer-setup.sh +289 -0
  176. package/scripts/ports-ls.sh +33 -0
  177. package/scripts/quick-tftp.sh +19 -0
  178. package/scripts/rhel-grpc-setup.sh +56 -0
  179. package/scripts/rocky-kickstart.sh +986 -0
  180. package/scripts/rocky-pwa.sh +200 -0
  181. package/scripts/rocky-setup.sh +106 -0
  182. package/scripts/rpmfusion-ffmpeg-setup.sh +32 -0
  183. package/scripts/ssl.sh +170 -0
  184. package/scripts/test-monitor.sh +248 -0
  185. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +30 -0
  186. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +155 -0
  187. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +39 -0
  188. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +382 -0
  189. package/src/api/core/core.controller.js +8 -0
  190. package/src/api/core/core.model.js +11 -0
  191. package/src/api/core/core.router.js +23 -0
  192. package/src/api/core/core.service.js +30 -0
  193. package/src/api/crypto/crypto.controller.js +10 -0
  194. package/src/api/crypto/crypto.model.js +23 -0
  195. package/src/api/crypto/crypto.router.js +23 -0
  196. package/src/api/crypto/crypto.service.js +64 -0
  197. package/src/api/cyberia-action/cyberia-action.controller.js +8 -0
  198. package/src/api/cyberia-action/cyberia-action.model.js +79 -0
  199. package/src/api/cyberia-action/cyberia-action.router.js +21 -0
  200. package/src/api/cyberia-action/cyberia-action.service.js +58 -0
  201. package/src/api/cyberia-client-hints/cyberia-client-hints.controller.js +27 -0
  202. package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +100 -0
  203. package/src/api/cyberia-client-hints/cyberia-client-hints.router.js +70 -0
  204. package/src/api/cyberia-client-hints/cyberia-client-hints.service.js +152 -0
  205. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +8 -0
  206. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  207. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +20 -0
  208. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +57 -0
  209. package/src/api/cyberia-entity/cyberia-entity.controller.js +6 -0
  210. package/src/api/cyberia-entity/cyberia-entity.model.js +25 -0
  211. package/src/api/cyberia-entity/cyberia-entity.router.js +17 -0
  212. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  213. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +6 -0
  214. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.model.js +67 -0
  215. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +17 -0
  216. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +46 -0
  217. package/src/api/cyberia-instance/cyberia-fallback-world.js +337 -0
  218. package/src/api/cyberia-instance/cyberia-instance-boot.service.js +57 -0
  219. package/src/api/cyberia-instance/cyberia-instance-map.service.js +583 -0
  220. package/src/api/cyberia-instance/cyberia-instance.controller.js +42 -0
  221. package/src/api/cyberia-instance/cyberia-instance.model.js +117 -0
  222. package/src/api/cyberia-instance/cyberia-instance.router.js +75 -0
  223. package/src/api/cyberia-instance/cyberia-instance.service.js +190 -0
  224. package/src/api/cyberia-instance/cyberia-portal-connector.js +260 -0
  225. package/src/api/cyberia-instance/cyberia-world-generator.js +618 -0
  226. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +6 -0
  227. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +200 -0
  228. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +17 -0
  229. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +46 -0
  230. package/src/api/cyberia-map/cyberia-map.controller.js +6 -0
  231. package/src/api/cyberia-map/cyberia-map.model.js +33 -0
  232. package/src/api/cyberia-map/cyberia-map.router.js +19 -0
  233. package/src/api/cyberia-map/cyberia-map.service.js +76 -0
  234. package/src/api/cyberia-quest/cyberia-quest.controller.js +9 -0
  235. package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
  236. package/src/api/cyberia-quest/cyberia-quest.router.js +26 -0
  237. package/src/api/cyberia-quest/cyberia-quest.service.js +97 -0
  238. package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +6 -0
  239. package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
  240. package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +21 -0
  241. package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
  242. package/src/api/cyberia-saga/cyberia-saga.controller.js +6 -0
  243. package/src/api/cyberia-saga/cyberia-saga.model.js +59 -0
  244. package/src/api/cyberia-saga/cyberia-saga.router.js +17 -0
  245. package/src/api/cyberia-saga/cyberia-saga.service.js +42 -0
  246. package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +1076 -0
  247. package/src/api/cyberia-skill/cyberia-skill.controller.js +6 -0
  248. package/src/api/cyberia-skill/cyberia-skill.model.js +50 -0
  249. package/src/api/cyberia-skill/cyberia-skill.router.js +17 -0
  250. package/src/api/cyberia-skill/cyberia-skill.service.js +42 -0
  251. package/src/api/default/default.controller.js +6 -0
  252. package/src/api/default/default.model.js +20 -0
  253. package/src/api/default/default.router.js +21 -0
  254. package/src/api/default/default.service.js +42 -0
  255. package/src/api/document/document.controller.js +9 -0
  256. package/src/api/document/document.model.js +95 -0
  257. package/src/api/document/document.router.js +32 -0
  258. package/src/api/document/document.service.js +633 -0
  259. package/src/api/file/file.controller.js +15 -0
  260. package/src/api/file/file.model.js +127 -0
  261. package/src/api/file/file.ref.json +39 -0
  262. package/src/api/file/file.router.js +36 -0
  263. package/src/api/file/file.service.js +499 -0
  264. package/src/api/instance/instance.controller.js +8 -0
  265. package/src/api/instance/instance.model.js +34 -0
  266. package/src/api/instance/instance.router.js +27 -0
  267. package/src/api/instance/instance.service.js +75 -0
  268. package/src/api/ipfs/ipfs.controller.js +8 -0
  269. package/src/api/ipfs/ipfs.model.js +77 -0
  270. package/src/api/ipfs/ipfs.router.js +26 -0
  271. package/src/api/ipfs/ipfs.service.js +145 -0
  272. package/src/api/object-layer/object-layer.controller.js +18 -0
  273. package/src/api/object-layer/object-layer.model.js +200 -0
  274. package/src/api/object-layer/object-layer.router.js +729 -0
  275. package/src/api/object-layer/object-layer.service.js +894 -0
  276. package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +6 -0
  277. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +93 -0
  278. package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +17 -0
  279. package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +46 -0
  280. package/src/api/test/test.controller.js +14 -0
  281. package/src/api/test/test.model.js +14 -0
  282. package/src/api/test/test.router.js +23 -0
  283. package/src/api/test/test.service.js +35 -0
  284. package/src/api/types.js +24 -0
  285. package/src/api/user/guest.service.js +100 -0
  286. package/src/api/user/postman_collection.json +216 -0
  287. package/src/api/user/user.build.js +16 -0
  288. package/src/api/user/user.controller.js +35 -0
  289. package/src/api/user/user.model.js +142 -0
  290. package/src/api/user/user.router.js +367 -0
  291. package/src/api/user/user.service.js +582 -0
  292. package/src/api.js +23 -0
  293. package/src/cli/baremetal.js +3947 -0
  294. package/src/cli/cloud-init.js +673 -0
  295. package/src/cli/cluster.js +1395 -0
  296. package/src/cli/db.js +1533 -0
  297. package/src/cli/deploy.js +1542 -0
  298. package/src/cli/docker-compose.js +802 -0
  299. package/src/cli/env.js +177 -0
  300. package/src/cli/fs.js +380 -0
  301. package/src/cli/image.js +389 -0
  302. package/src/cli/index.js +1059 -0
  303. package/src/cli/ipfs.js +182 -0
  304. package/src/cli/kickstart.js +271 -0
  305. package/src/cli/kubectl.js +214 -0
  306. package/src/cli/lxd.js +1232 -0
  307. package/src/cli/monitor.js +659 -0
  308. package/src/cli/release.js +595 -0
  309. package/src/cli/repository.js +1969 -0
  310. package/src/cli/run.js +3326 -0
  311. package/src/cli/secrets.js +151 -0
  312. package/src/cli/ssh.js +975 -0
  313. package/src/cli/static.js +653 -0
  314. package/src/cli/system.js +332 -0
  315. package/src/cli/test.js +176 -0
  316. package/src/client/Cryptokoyn.index.js +30 -0
  317. package/src/client/CyberiaPortal.index.js +31 -0
  318. package/src/client/Default.index.js +77 -0
  319. package/src/client/Itemledger.index.js +35 -0
  320. package/src/client/Underpost.index.js +31 -0
  321. package/src/client/components/core/404.js +20 -0
  322. package/src/client/components/core/500.js +20 -0
  323. package/src/client/components/core/Account.js +630 -0
  324. package/src/client/components/core/AgGrid.js +238 -0
  325. package/src/client/components/core/Alert.js +76 -0
  326. package/src/client/components/core/AppStore.js +69 -0
  327. package/src/client/components/core/Auth.js +353 -0
  328. package/src/client/components/core/Badge.js +26 -0
  329. package/src/client/components/core/Blockchain.js +41 -0
  330. package/src/client/components/core/Blog.js +9 -0
  331. package/src/client/components/core/BtnIcon.js +109 -0
  332. package/src/client/components/core/CalendarCore.js +437 -0
  333. package/src/client/components/core/Chat.js +62 -0
  334. package/src/client/components/core/ClientEvents.js +163 -0
  335. package/src/client/components/core/ColorPaletteElement.js +309 -0
  336. package/src/client/components/core/CommonJs.js +1014 -0
  337. package/src/client/components/core/Content.js +349 -0
  338. package/src/client/components/core/Css.js +1134 -0
  339. package/src/client/components/core/CssCore.js +881 -0
  340. package/src/client/components/core/D3Chart.js +44 -0
  341. package/src/client/components/core/Docs.js +478 -0
  342. package/src/client/components/core/DropDown.js +321 -0
  343. package/src/client/components/core/EventBus.js +96 -0
  344. package/src/client/components/core/EventsUI.js +130 -0
  345. package/src/client/components/core/FileExplorer.js +1406 -0
  346. package/src/client/components/core/FullScreen.js +201 -0
  347. package/src/client/components/core/Input.js +537 -0
  348. package/src/client/components/core/Keyboard.js +80 -0
  349. package/src/client/components/core/KeyboardAvoidance.js +145 -0
  350. package/src/client/components/core/LoadingAnimation.js +152 -0
  351. package/src/client/components/core/LogIn.js +212 -0
  352. package/src/client/components/core/LogOut.js +72 -0
  353. package/src/client/components/core/Logger.js +22 -0
  354. package/src/client/components/core/Modal.js +2956 -0
  355. package/src/client/components/core/NotificationManager.js +80 -0
  356. package/src/client/components/core/Pagination.js +252 -0
  357. package/src/client/components/core/Panel.js +1308 -0
  358. package/src/client/components/core/PanelForm.js +915 -0
  359. package/src/client/components/core/Polyhedron.js +947 -0
  360. package/src/client/components/core/PublicProfile.js +895 -0
  361. package/src/client/components/core/Recover.js +211 -0
  362. package/src/client/components/core/Responsive.js +146 -0
  363. package/src/client/components/core/RichText.js +33 -0
  364. package/src/client/components/core/Router.js +523 -0
  365. package/src/client/components/core/Scroll.js +76 -0
  366. package/src/client/components/core/SearchBox.js +1007 -0
  367. package/src/client/components/core/SignUp.js +153 -0
  368. package/src/client/components/core/SocketIo.js +163 -0
  369. package/src/client/components/core/SocketIoHandler.js +75 -0
  370. package/src/client/components/core/Stream.js +161 -0
  371. package/src/client/components/core/ToggleSwitch.js +89 -0
  372. package/src/client/components/core/ToolTip.js +78 -0
  373. package/src/client/components/core/Translate.js +694 -0
  374. package/src/client/components/core/Validator.js +140 -0
  375. package/src/client/components/core/VanillaJs.js +485 -0
  376. package/src/client/components/core/Wallet.js +95 -0
  377. package/src/client/components/core/WebComponent.js +44 -0
  378. package/src/client/components/core/Webhook.js +58 -0
  379. package/src/client/components/core/Worker.js +313 -0
  380. package/src/client/components/core/windowGetDimensions.js +269 -0
  381. package/src/client/components/cryptokoyn/AppShellCryptokoyn.js +352 -0
  382. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  383. package/src/client/components/cryptokoyn/CssCryptokoyn.js +212 -0
  384. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +16 -0
  385. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +12 -0
  386. package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
  387. package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +16 -0
  388. package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +11 -0
  389. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +6 -0
  390. package/src/client/components/cyberia/ActionEngineCyberia.js +1867 -0
  391. package/src/client/components/cyberia/EntityEngineCyberia.js +585 -0
  392. package/src/client/components/cyberia/InstanceEngineCyberia.js +1088 -0
  393. package/src/client/components/cyberia/InstanceSelectionView.js +900 -0
  394. package/src/client/components/cyberia/MapEngineCyberia.js +1976 -0
  395. package/src/client/components/cyberia/ObjectLayerEngine.js +1540 -0
  396. package/src/client/components/cyberia/ObjectLayerEngineModal.js +2420 -0
  397. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +1522 -0
  398. package/src/client/components/cyberia/SharedDefaultsCyberia.js +528 -0
  399. package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +772 -0
  400. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  401. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +254 -0
  402. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +21 -0
  403. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +16 -0
  404. package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +518 -0
  405. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +72 -0
  406. package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +16 -0
  407. package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +13 -0
  408. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +6 -0
  409. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +48 -0
  410. package/src/client/components/default/AppShellDefault.js +765 -0
  411. package/src/client/components/default/AppStoreDefault.js +5 -0
  412. package/src/client/components/default/CommonDefault.js +29 -0
  413. package/src/client/components/default/CssDefault.js +27 -0
  414. package/src/client/components/default/LogInDefault.js +16 -0
  415. package/src/client/components/default/LogOutDefault.js +12 -0
  416. package/src/client/components/default/RouterDefault.js +47 -0
  417. package/src/client/components/default/SettingsDefault.js +16 -0
  418. package/src/client/components/default/SignUpDefault.js +11 -0
  419. package/src/client/components/default/SocketIoDefault.js +6 -0
  420. package/src/client/components/default/TranslateDefault.js +7 -0
  421. package/src/client/components/itemledger/AppShellItemledger.js +353 -0
  422. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  423. package/src/client/components/itemledger/CssItemledger.js +212 -0
  424. package/src/client/components/itemledger/LogInItemledger.js +17 -0
  425. package/src/client/components/itemledger/LogOutItemledger.js +12 -0
  426. package/src/client/components/itemledger/RouterItemledger.js +38 -0
  427. package/src/client/components/itemledger/SettingsItemledger.js +16 -0
  428. package/src/client/components/itemledger/SignUpItemledger.js +11 -0
  429. package/src/client/components/itemledger/SocketIoItemledger.js +6 -0
  430. package/src/client/components/itemledger/TranslateItemledger.js +7 -0
  431. package/src/client/components/underpost/AppShellUnderpost.js +691 -0
  432. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  433. package/src/client/components/underpost/CssUnderpost.js +281 -0
  434. package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +879 -0
  435. package/src/client/components/underpost/DocumentSearchProvider.js +448 -0
  436. package/src/client/components/underpost/LabGalleryUnderpost.js +79 -0
  437. package/src/client/components/underpost/LogInUnderpost.js +25 -0
  438. package/src/client/components/underpost/LogOutUnderpost.js +17 -0
  439. package/src/client/components/underpost/RouterUnderpost.js +45 -0
  440. package/src/client/components/underpost/SettingsUnderpost.js +16 -0
  441. package/src/client/components/underpost/SignUpUnderpost.js +11 -0
  442. package/src/client/components/underpost/SocketIoUnderpost.js +6 -0
  443. package/src/client/components/underpost/TranslateUnderpost.js +10 -0
  444. package/src/client/public/cryptokoyn/assets/banner/koyn-social.png +0 -0
  445. package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
  446. package/src/client/public/cryptokoyn/assets/logo/cryptokoyn.png +0 -0
  447. package/src/client/public/cryptokoyn/assets/splash/android-chrome-144x144.png +0 -0
  448. package/src/client/public/cryptokoyn/assets/splash/android-chrome-192x192.png +0 -0
  449. package/src/client/public/cryptokoyn/assets/splash/android-chrome-256x256.png +0 -0
  450. package/src/client/public/cryptokoyn/assets/splash/android-chrome-36x36.png +0 -0
  451. package/src/client/public/cryptokoyn/assets/splash/android-chrome-48x48.png +0 -0
  452. package/src/client/public/cryptokoyn/assets/splash/android-chrome-72x72.png +0 -0
  453. package/src/client/public/cryptokoyn/assets/splash/android-chrome-96x96.png +0 -0
  454. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-114x114-precomposed.png +0 -0
  455. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-114x114.png +0 -0
  456. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-120x120-precomposed.png +0 -0
  457. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-120x120.png +0 -0
  458. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-144x144-precomposed.png +0 -0
  459. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-144x144.png +0 -0
  460. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-152x152-precomposed.png +0 -0
  461. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-152x152.png +0 -0
  462. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-180x180-precomposed.png +0 -0
  463. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-180x180.png +0 -0
  464. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-57x57-precomposed.png +0 -0
  465. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-57x57.png +0 -0
  466. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-60x60-precomposed.png +0 -0
  467. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-60x60.png +0 -0
  468. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-72x72-precomposed.png +0 -0
  469. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-72x72.png +0 -0
  470. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-76x76-precomposed.png +0 -0
  471. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-76x76.png +0 -0
  472. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-precomposed.png +0 -0
  473. package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon.png +0 -0
  474. package/src/client/public/cryptokoyn/assets/splash/favicon-16x16.png +0 -0
  475. package/src/client/public/cryptokoyn/assets/splash/favicon-32x32.png +0 -0
  476. package/src/client/public/cryptokoyn/assets/splash/mstile-144x144.png +0 -0
  477. package/src/client/public/cryptokoyn/assets/splash/mstile-150x150.png +0 -0
  478. package/src/client/public/cryptokoyn/assets/splash/mstile-310x150.png +0 -0
  479. package/src/client/public/cryptokoyn/assets/splash/mstile-310x310.png +0 -0
  480. package/src/client/public/cryptokoyn/assets/splash/mstile-70x70.png +0 -0
  481. package/src/client/public/cryptokoyn/assets/splash/safari-pinned-tab.svg +42 -0
  482. package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
  483. package/src/client/public/cryptokoyn/favicon.ico +0 -0
  484. package/src/client/public/cryptokoyn/microdata.json +85 -0
  485. package/src/client/public/cryptokoyn/site.webmanifest +57 -0
  486. package/src/client/public/cryptokoyn/sitemap +148 -0
  487. package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +307 -0
  488. package/src/client/public/cyberia-docs/ARCHITECTURE.md +309 -0
  489. package/src/client/public/cyberia-docs/CYBERIA-CLI.md +204 -0
  490. package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +341 -0
  491. package/src/client/public/cyberia-docs/CYBERIA-LORE.md +84 -0
  492. package/src/client/public/cyberia-docs/CYBERIA-SAGA.md +394 -0
  493. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +294 -0
  494. package/src/client/public/cyberia-docs/CYBERIA.md +259 -0
  495. package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +242 -0
  496. package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
  497. package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +309 -0
  498. package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +228 -0
  499. package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
  500. package/src/client/public/cyberia-docs/UNDERPOST-PLATFORM.md +106 -0
  501. package/src/client/public/cyberia-docs/WHITE-PAPER.md +740 -0
  502. package/src/client/public/default/android-chrome-144x144.png +0 -0
  503. package/src/client/public/default/android-chrome-192x192.png +0 -0
  504. package/src/client/public/default/android-chrome-256x256.png +0 -0
  505. package/src/client/public/default/android-chrome-36x36.png +0 -0
  506. package/src/client/public/default/android-chrome-384x384.png +0 -0
  507. package/src/client/public/default/android-chrome-48x48.png +0 -0
  508. package/src/client/public/default/android-chrome-512x512.png +0 -0
  509. package/src/client/public/default/android-chrome-72x72.png +0 -0
  510. package/src/client/public/default/android-chrome-96x96.png +0 -0
  511. package/src/client/public/default/apple-touch-icon-1024x1024.png +0 -0
  512. package/src/client/public/default/apple-touch-icon-114x114-precomposed.png +0 -0
  513. package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
  514. package/src/client/public/default/apple-touch-icon-120x120-precomposed.png +0 -0
  515. package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
  516. package/src/client/public/default/apple-touch-icon-144x144-precomposed.png +0 -0
  517. package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
  518. package/src/client/public/default/apple-touch-icon-152x152-precomposed.png +0 -0
  519. package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
  520. package/src/client/public/default/apple-touch-icon-167x167.png +0 -0
  521. package/src/client/public/default/apple-touch-icon-180x180-precomposed.png +0 -0
  522. package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
  523. package/src/client/public/default/apple-touch-icon-57x57-precomposed.png +0 -0
  524. package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
  525. package/src/client/public/default/apple-touch-icon-60x60-precomposed.png +0 -0
  526. package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
  527. package/src/client/public/default/apple-touch-icon-72x72-precomposed.png +0 -0
  528. package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
  529. package/src/client/public/default/apple-touch-icon-76x76-precomposed.png +0 -0
  530. package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
  531. package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
  532. package/src/client/public/default/apple-touch-icon.png +0 -0
  533. package/src/client/public/default/apple-touch-startup-image-1125x2436.png +0 -0
  534. package/src/client/public/default/apple-touch-startup-image-1136x640.png +0 -0
  535. package/src/client/public/default/apple-touch-startup-image-1170x2532.png +0 -0
  536. package/src/client/public/default/apple-touch-startup-image-1179x2556.png +0 -0
  537. package/src/client/public/default/apple-touch-startup-image-1242x2208.png +0 -0
  538. package/src/client/public/default/apple-touch-startup-image-1242x2688.png +0 -0
  539. package/src/client/public/default/apple-touch-startup-image-1284x2778.png +0 -0
  540. package/src/client/public/default/apple-touch-startup-image-1290x2796.png +0 -0
  541. package/src/client/public/default/apple-touch-startup-image-1334x750.png +0 -0
  542. package/src/client/public/default/apple-touch-startup-image-1488x2266.png +0 -0
  543. package/src/client/public/default/apple-touch-startup-image-1536x2048.png +0 -0
  544. package/src/client/public/default/apple-touch-startup-image-1620x2160.png +0 -0
  545. package/src/client/public/default/apple-touch-startup-image-1640x2160.png +0 -0
  546. package/src/client/public/default/apple-touch-startup-image-1668x2224.png +0 -0
  547. package/src/client/public/default/apple-touch-startup-image-1668x2388.png +0 -0
  548. package/src/client/public/default/apple-touch-startup-image-1792x828.png +0 -0
  549. package/src/client/public/default/apple-touch-startup-image-2048x1536.png +0 -0
  550. package/src/client/public/default/apple-touch-startup-image-2048x2732.png +0 -0
  551. package/src/client/public/default/apple-touch-startup-image-2160x1620.png +0 -0
  552. package/src/client/public/default/apple-touch-startup-image-2160x1640.png +0 -0
  553. package/src/client/public/default/apple-touch-startup-image-2208x1242.png +0 -0
  554. package/src/client/public/default/apple-touch-startup-image-2224x1668.png +0 -0
  555. package/src/client/public/default/apple-touch-startup-image-2266x1488.png +0 -0
  556. package/src/client/public/default/apple-touch-startup-image-2388x1668.png +0 -0
  557. package/src/client/public/default/apple-touch-startup-image-2436x1125.png +0 -0
  558. package/src/client/public/default/apple-touch-startup-image-2532x1170.png +0 -0
  559. package/src/client/public/default/apple-touch-startup-image-2556x1179.png +0 -0
  560. package/src/client/public/default/apple-touch-startup-image-2688x1242.png +0 -0
  561. package/src/client/public/default/apple-touch-startup-image-2732x2048.png +0 -0
  562. package/src/client/public/default/apple-touch-startup-image-2778x1284.png +0 -0
  563. package/src/client/public/default/apple-touch-startup-image-2796x1290.png +0 -0
  564. package/src/client/public/default/apple-touch-startup-image-640x1136.png +0 -0
  565. package/src/client/public/default/apple-touch-startup-image-750x1334.png +0 -0
  566. package/src/client/public/default/apple-touch-startup-image-828x1792.png +0 -0
  567. package/src/client/public/default/assets/background/dark.jpg +0 -0
  568. package/src/client/public/default/assets/background/dark.svg +557 -0
  569. package/src/client/public/default/assets/background/white.jpg +0 -0
  570. package/src/client/public/default/assets/background/white0-min.jpg +0 -0
  571. package/src/client/public/default/assets/background/white0.jpg +0 -0
  572. package/src/client/public/default/assets/logo/base-icon.png +0 -0
  573. package/src/client/public/default/assets/logo/underpost.gif +0 -0
  574. package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
  575. package/src/client/public/default/assets/mailer/api-user-default-avatar.png +0 -0
  576. package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
  577. package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
  578. package/src/client/public/default/browserconfig.xml +12 -0
  579. package/src/client/public/default/favicon-16x16.png +0 -0
  580. package/src/client/public/default/favicon-32x32.png +0 -0
  581. package/src/client/public/default/favicon-48x48.png +0 -0
  582. package/src/client/public/default/favicon.ico +0 -0
  583. package/src/client/public/default/manifest.webmanifest +69 -0
  584. package/src/client/public/default/mstile-144x144.png +0 -0
  585. package/src/client/public/default/mstile-150x150.png +0 -0
  586. package/src/client/public/default/mstile-310x150.png +0 -0
  587. package/src/client/public/default/mstile-310x310.png +0 -0
  588. package/src/client/public/default/mstile-70x70.png +0 -0
  589. package/src/client/public/default/safari-pinned-tab.svg +24 -0
  590. package/src/client/public/default/site.webmanifest +69 -0
  591. package/src/client/public/default/sitemap +148 -0
  592. package/src/client/public/default/yandex-browser-50x50.png +0 -0
  593. package/src/client/public/default/yandex-browser-manifest.json +9 -0
  594. package/src/client/public/doc/favicon.ico +0 -0
  595. package/src/client/public/doc/sitemap +148 -0
  596. package/src/client/public/itemledger/android-chrome-144x144.png +0 -0
  597. package/src/client/public/itemledger/android-chrome-192x192.png +0 -0
  598. package/src/client/public/itemledger/android-chrome-256x256.png +0 -0
  599. package/src/client/public/itemledger/android-chrome-36x36.png +0 -0
  600. package/src/client/public/itemledger/android-chrome-384x384.png +0 -0
  601. package/src/client/public/itemledger/android-chrome-48x48.png +0 -0
  602. package/src/client/public/itemledger/android-chrome-512x512.png +0 -0
  603. package/src/client/public/itemledger/android-chrome-72x72.png +0 -0
  604. package/src/client/public/itemledger/android-chrome-96x96.png +0 -0
  605. package/src/client/public/itemledger/apple-touch-icon-1024x1024.png +0 -0
  606. package/src/client/public/itemledger/apple-touch-icon-114x114.png +0 -0
  607. package/src/client/public/itemledger/apple-touch-icon-120x120.png +0 -0
  608. package/src/client/public/itemledger/apple-touch-icon-144x144.png +0 -0
  609. package/src/client/public/itemledger/apple-touch-icon-152x152.png +0 -0
  610. package/src/client/public/itemledger/apple-touch-icon-167x167.png +0 -0
  611. package/src/client/public/itemledger/apple-touch-icon-180x180.png +0 -0
  612. package/src/client/public/itemledger/apple-touch-icon-57x57.png +0 -0
  613. package/src/client/public/itemledger/apple-touch-icon-60x60.png +0 -0
  614. package/src/client/public/itemledger/apple-touch-icon-72x72.png +0 -0
  615. package/src/client/public/itemledger/apple-touch-icon-76x76.png +0 -0
  616. package/src/client/public/itemledger/apple-touch-icon-precomposed.png +0 -0
  617. package/src/client/public/itemledger/apple-touch-icon.png +0 -0
  618. package/src/client/public/itemledger/apple-touch-startup-image-1125x2436.png +0 -0
  619. package/src/client/public/itemledger/apple-touch-startup-image-1136x640.png +0 -0
  620. package/src/client/public/itemledger/apple-touch-startup-image-1170x2532.png +0 -0
  621. package/src/client/public/itemledger/apple-touch-startup-image-1179x2556.png +0 -0
  622. package/src/client/public/itemledger/apple-touch-startup-image-1242x2208.png +0 -0
  623. package/src/client/public/itemledger/apple-touch-startup-image-1242x2688.png +0 -0
  624. package/src/client/public/itemledger/apple-touch-startup-image-1284x2778.png +0 -0
  625. package/src/client/public/itemledger/apple-touch-startup-image-1290x2796.png +0 -0
  626. package/src/client/public/itemledger/apple-touch-startup-image-1334x750.png +0 -0
  627. package/src/client/public/itemledger/apple-touch-startup-image-1488x2266.png +0 -0
  628. package/src/client/public/itemledger/apple-touch-startup-image-1536x2048.png +0 -0
  629. package/src/client/public/itemledger/apple-touch-startup-image-1620x2160.png +0 -0
  630. package/src/client/public/itemledger/apple-touch-startup-image-1640x2160.png +0 -0
  631. package/src/client/public/itemledger/apple-touch-startup-image-1668x2224.png +0 -0
  632. package/src/client/public/itemledger/apple-touch-startup-image-1668x2388.png +0 -0
  633. package/src/client/public/itemledger/apple-touch-startup-image-1792x828.png +0 -0
  634. package/src/client/public/itemledger/apple-touch-startup-image-2048x1536.png +0 -0
  635. package/src/client/public/itemledger/apple-touch-startup-image-2048x2732.png +0 -0
  636. package/src/client/public/itemledger/apple-touch-startup-image-2160x1620.png +0 -0
  637. package/src/client/public/itemledger/apple-touch-startup-image-2160x1640.png +0 -0
  638. package/src/client/public/itemledger/apple-touch-startup-image-2208x1242.png +0 -0
  639. package/src/client/public/itemledger/apple-touch-startup-image-2224x1668.png +0 -0
  640. package/src/client/public/itemledger/apple-touch-startup-image-2266x1488.png +0 -0
  641. package/src/client/public/itemledger/apple-touch-startup-image-2388x1668.png +0 -0
  642. package/src/client/public/itemledger/apple-touch-startup-image-2436x1125.png +0 -0
  643. package/src/client/public/itemledger/apple-touch-startup-image-2532x1170.png +0 -0
  644. package/src/client/public/itemledger/apple-touch-startup-image-2556x1179.png +0 -0
  645. package/src/client/public/itemledger/apple-touch-startup-image-2688x1242.png +0 -0
  646. package/src/client/public/itemledger/apple-touch-startup-image-2732x2048.png +0 -0
  647. package/src/client/public/itemledger/apple-touch-startup-image-2778x1284.png +0 -0
  648. package/src/client/public/itemledger/apple-touch-startup-image-2796x1290.png +0 -0
  649. package/src/client/public/itemledger/apple-touch-startup-image-640x1136.png +0 -0
  650. package/src/client/public/itemledger/apple-touch-startup-image-750x1334.png +0 -0
  651. package/src/client/public/itemledger/apple-touch-startup-image-828x1792.png +0 -0
  652. package/src/client/public/itemledger/assets/logo/base-icon.png +0 -0
  653. package/src/client/public/itemledger/browserconfig.xml +12 -0
  654. package/src/client/public/itemledger/favicon-16x16.png +0 -0
  655. package/src/client/public/itemledger/favicon-32x32.png +0 -0
  656. package/src/client/public/itemledger/favicon-48x48.png +0 -0
  657. package/src/client/public/itemledger/favicon.ico +0 -0
  658. package/src/client/public/itemledger/manifest.webmanifest +69 -0
  659. package/src/client/public/itemledger/microdata.json +71 -0
  660. package/src/client/public/itemledger/mstile-144x144.png +0 -0
  661. package/src/client/public/itemledger/mstile-150x150.png +0 -0
  662. package/src/client/public/itemledger/mstile-310x150.png +0 -0
  663. package/src/client/public/itemledger/mstile-310x310.png +0 -0
  664. package/src/client/public/itemledger/mstile-70x70.png +0 -0
  665. package/src/client/public/itemledger/sitemap +148 -0
  666. package/src/client/public/itemledger/yandex-browser-50x50.png +0 -0
  667. package/src/client/public/itemledger/yandex-browser-manifest.json +9 -0
  668. package/src/client/public/test/favicon.ico +0 -0
  669. package/src/client/public/test/sitemap +148 -0
  670. package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +137 -0
  671. package/src/client/services/core/core.service.js +309 -0
  672. package/src/client/services/crypto/crypto.service.js +68 -0
  673. package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
  674. package/src/client/services/cyberia-client-hints/cyberia-client-hints.service.js +99 -0
  675. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +99 -0
  676. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  677. package/src/client/services/cyberia-entity/cyberia-entity.service.js +99 -0
  678. package/src/client/services/cyberia-entity-type-default/cyberia-entity-type-default.service.js +99 -0
  679. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  680. package/src/client/services/cyberia-instance/cyberia-instance.service.js +137 -0
  681. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +99 -0
  682. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  683. package/src/client/services/cyberia-map/cyberia-map.service.js +120 -0
  684. package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
  685. package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
  686. package/src/client/services/cyberia-saga/cyberia-saga.service.js +99 -0
  687. package/src/client/services/cyberia-skill/cyberia-skill.service.js +99 -0
  688. package/src/client/services/default/default.management.js +1015 -0
  689. package/src/client/services/default/default.service.js +99 -0
  690. package/src/client/services/document/document.service.js +134 -0
  691. package/src/client/services/file/file.service.js +94 -0
  692. package/src/client/services/instance/instance.management.js +78 -0
  693. package/src/client/services/instance/instance.service.js +107 -0
  694. package/src/client/services/ipfs/ipfs.service.js +118 -0
  695. package/src/client/services/object-layer/object-layer.management.js +414 -0
  696. package/src/client/services/object-layer/object-layer.service.js +208 -0
  697. package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +99 -0
  698. package/src/client/services/test/test.service.js +68 -0
  699. package/src/client/services/user/guest.service.js +86 -0
  700. package/src/client/services/user/user.management.js +51 -0
  701. package/src/client/services/user/user.service.js +106 -0
  702. package/src/client/ssr/RootDocument.js +237 -0
  703. package/src/client/ssr/body/404.js +77 -0
  704. package/src/client/ssr/body/500.js +76 -0
  705. package/src/client/ssr/body/CacheControl.js +117 -0
  706. package/src/client/ssr/body/CyberiaDefaultSplashScreen.js +97 -0
  707. package/src/client/ssr/body/DefaultSplashScreen.js +97 -0
  708. package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
  709. package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +90 -0
  710. package/src/client/ssr/head/CryptokoynScripts.js +4 -0
  711. package/src/client/ssr/head/Css.js +241 -0
  712. package/src/client/ssr/head/CyberiaPortalScripts.js +6 -0
  713. package/src/client/ssr/head/DefaultScripts.js +6 -0
  714. package/src/client/ssr/head/ItemledgerScripts.js +4 -0
  715. package/src/client/ssr/head/Microdata.js +11 -0
  716. package/src/client/ssr/head/Production.js +1 -0
  717. package/src/client/ssr/head/Pwa.js +146 -0
  718. package/src/client/ssr/head/PwaItemledger.js +197 -0
  719. package/src/client/ssr/head/Seo.js +15 -0
  720. package/src/client/ssr/head/UnderpostScripts.js +6 -0
  721. package/src/client/ssr/mailer/DefaultRecoverEmail.js +20 -0
  722. package/src/client/ssr/mailer/DefaultVerifyEmail.js +16 -0
  723. package/src/client/ssr/views/Cyberia404.js +328 -0
  724. package/src/client/ssr/views/CyberiaServerMetrics.js +1070 -0
  725. package/src/client/ssr/views/Maintenance.js +64 -0
  726. package/src/client/ssr/views/NoNetworkConnection.js +68 -0
  727. package/src/client/ssr/views/Test.js +199 -0
  728. package/src/client/sw/core.sw.js +274 -0
  729. package/src/client-builder/client-build-docs.js +493 -0
  730. package/src/client-builder/client-build-live.js +100 -0
  731. package/src/client-builder/client-build.js +1092 -0
  732. package/src/client-builder/client-dev-server.js +88 -0
  733. package/src/client-builder/client-formatted.js +170 -0
  734. package/src/client-builder/client-icons.js +108 -0
  735. package/src/client-builder/ssr.js +124 -0
  736. package/src/client.build.js +17 -0
  737. package/src/client.dev.js +21 -0
  738. package/src/db/DataBaseProvider.js +213 -0
  739. package/src/db/mariadb/MariaDB.js +72 -0
  740. package/src/db/mongo/MongoBootstrap.js +657 -0
  741. package/src/db/mongo/MongooseDB.js +199 -0
  742. package/src/grpc/cyberia/grpc-server.js +162 -0
  743. package/src/index.js +357 -0
  744. package/src/mailer/EmailRender.js +116 -0
  745. package/src/mailer/MailerProvider.js +213 -0
  746. package/src/projects/cyberia/atlas-sprite-sheet-generator.js +413 -0
  747. package/src/projects/cyberia/besu-genesis-generator.js +1630 -0
  748. package/src/projects/cyberia/catalog-cyberia.js +90 -0
  749. package/src/projects/cyberia/gemini-client.js +175 -0
  750. package/src/projects/cyberia/generate-saga.js +2137 -0
  751. package/src/projects/cyberia/hot-reload-trigger.js +163 -0
  752. package/src/projects/cyberia/instance-data.js +719 -0
  753. package/src/projects/cyberia/ipfs-client.js +599 -0
  754. package/src/projects/cyberia/map-preview-generator.js +304 -0
  755. package/src/projects/cyberia/object-layer.js +978 -0
  756. package/src/projects/cyberia/semantic-layer-generator-floor.js +319 -0
  757. package/src/projects/cyberia/semantic-layer-generator-resource.js +259 -0
  758. package/src/projects/cyberia/semantic-layer-generator-skin.js +1164 -0
  759. package/src/projects/cyberia/semantic-layer-generator.js +753 -0
  760. package/src/projects/cyberia/shape-generator.js +1060 -0
  761. package/src/projects/underpost/catalog-underpost.js +60 -0
  762. package/src/proxy.js +19 -0
  763. package/src/runtime/cyberia-client/Dockerfile +49 -0
  764. package/src/runtime/cyberia-client/Dockerfile.dev +75 -0
  765. package/src/runtime/cyberia-server/Dockerfile +43 -0
  766. package/src/runtime/cyberia-server/Dockerfile.dev +56 -0
  767. package/src/runtime/engine-cyberia/Dockerfile +161 -0
  768. package/src/runtime/engine-cyberia/Dockerfile.dev +161 -0
  769. package/src/runtime/engine-cyberia/Dockerfile.test +165 -0
  770. package/src/runtime/engine-cyberia/compose.env +144 -0
  771. package/src/runtime/engine-cyberia/docker-compose.yml +434 -0
  772. package/src/runtime/engine-cyberia/ipfs/configure-ipfs.sh +13 -0
  773. package/src/runtime/engine-cyberia/mongodb/entrypoint.sh +76 -0
  774. package/src/runtime/engine-cyberia/nginx.conf +128 -0
  775. package/src/runtime/express/Dockerfile +45 -0
  776. package/src/runtime/express/Express.js +285 -0
  777. package/src/runtime/lampp/Dockerfile +62 -0
  778. package/src/runtime/lampp/Lampp.js +359 -0
  779. package/src/runtime/nginx/Nginx.js +250 -0
  780. package/src/runtime/wp/Dockerfile +62 -0
  781. package/src/runtime/wp/Wp.js +642 -0
  782. package/src/server/auth.js +713 -0
  783. package/src/server/backup.js +102 -0
  784. package/src/server/catalog.js +72 -0
  785. package/src/server/conf.js +2316 -0
  786. package/src/server/cron.js +476 -0
  787. package/src/server/crypto.js +210 -0
  788. package/src/server/data-query.js +461 -0
  789. package/src/server/dns.js +553 -0
  790. package/src/server/downloader.js +73 -0
  791. package/src/server/logger.js +229 -0
  792. package/src/server/middlewares.js +152 -0
  793. package/src/server/peer.js +75 -0
  794. package/src/server/process.js +299 -0
  795. package/src/server/proxy.js +139 -0
  796. package/src/server/runtime-status.js +252 -0
  797. package/src/server/runtime.js +183 -0
  798. package/src/server/start.js +272 -0
  799. package/src/server/tls.js +254 -0
  800. package/src/server/valkey.js +201 -0
  801. package/src/server.js +25 -0
  802. package/src/ws/IoInterface.js +129 -0
  803. package/src/ws/IoServer.js +68 -0
  804. package/src/ws/core/channels/core.ws.chat.js +68 -0
  805. package/src/ws/core/channels/core.ws.mailer.js +116 -0
  806. package/src/ws/core/channels/core.ws.stream.js +90 -0
  807. package/src/ws/core/core.ws.connection.js +41 -0
  808. package/src/ws/core/core.ws.emit.js +37 -0
  809. package/src/ws/core/core.ws.server.js +44 -0
  810. package/src/ws/default/channels/default.ws.main.js +57 -0
  811. package/src/ws/default/default.ws.connection.js +35 -0
  812. package/src/ws/default/default.ws.emit.js +14 -0
  813. package/src/ws/default/default.ws.server.js +39 -0
  814. package/test/api.test.js +53 -0
  815. package/test/crypto.test.js +117 -0
  816. package/test/cyberia-instance-conf-defaults.test.js +140 -0
  817. package/test/deploy-monitor.test.js +267 -0
  818. package/test/shape-generator.test.js +463 -0
  819. package/tsconfig.docs.json +15 -0
  820. package/typedoc.dd-cyberia.json +31 -0
  821. package/typedoc.json +31 -0
@@ -0,0 +1,1014 @@
1
+ /**
2
+ * Common JavaScript functions
3
+ * @module src/client/components/core/CommonJs.js
4
+ * @namespace CommonJS
5
+ */
6
+
7
+ /**
8
+ * The function `s4` generates a random hexadecimal string with a length of 4 characters.
9
+ * @memberof CommonJS
10
+ */
11
+ const s4 = () => (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
12
+
13
+ /**
14
+ * The `range` function generates an array of numbers within a specified range, handling both ascending
15
+ * and descending ranges.
16
+ * @param start - The `start` parameter in the `range` function represents the starting value of the
17
+ * range you want to generate.
18
+ * @param end - The `end` parameter in the `range` function represents the ending value of the range
19
+ * that you want to generate.
20
+ * @returns The `range` function returns an array containing a range of numbers starting from the
21
+ * `start` value up to the `end` value (inclusive). If `end` is less than `start`, it will recursively
22
+ * call the `range` function with the arguments swapped and then reverse the resulting array.
23
+ * @memberof CommonJS
24
+ */
25
+ const range = (start, end) => {
26
+ return end < start
27
+ ? range(end, start).reverse()
28
+ : Array.apply(0, Array(end - start + 1)).map((element, index) => index + start);
29
+ };
30
+
31
+ /**
32
+ * The `getId` function generates a unique identifier based on an array of objects or keys.
33
+ * @param arr - The `arr` parameter in the `getId` function is an array of objects or an object. If it
34
+ * is an object, the function converts it into an array of objects where each object has a key
35
+ * specified by the `keyId` parameter.
36
+ * @param suffix - The `suffix` parameter in the `getId` function is a string that can be added to
37
+ * the generated ID. It is optional and by default is an empty string. You can provide a suffix to be
38
+ * appended to the generated ID if needed.
39
+ * @param keyId - The `keyId` parameter in the `getId` function is used to specify the key in the
40
+ * array elements that contains the unique identifier (ID) for each element. By default, the function
41
+ * assumes that the ID is stored in a property named `'id'`, but you can customize this by providing
42
+ * @returns The `getId` function returns a unique identifier `_id` based on the input array `arr`,
43
+ * optional `suffix`, and `keyId`.
44
+ * @memberof CommonJS
45
+ */
46
+ const getId = (arr, suffix = '', keyId = 'id') => {
47
+ if (!Array.isArray(arr) && typeof arr === 'object')
48
+ arr = Object.keys(arr).map((id) => {
49
+ const idElement = {};
50
+ idElement[keyId] = id;
51
+ return idElement;
52
+ });
53
+ let _id;
54
+ while (arr.find((element) => element[keyId] === _id) || !_id)
55
+ _id = suffix + (s4() + s4() + s4() + s4() + s4()).slice(1);
56
+ return _id;
57
+ };
58
+
59
+ /**
60
+ * The function `random` generates a random integer within a specified range.
61
+ * @param min - The `min` parameter represents the minimum value of the range from which you want to
62
+ * generate a random number.
63
+ * @param max - The `max` parameter in the `random` function represents the maximum value that you want
64
+ * to generate a random number up to.
65
+ * @memberof CommonJS
66
+ */
67
+ const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min); // The maximum is inclusive and the minimum is inclusive
68
+
69
+ const randomHexColor = () => '#' + ((Math.random() * 0xffffff) << 0).toString(16).padStart(6, '0');
70
+
71
+ const getRawCsvFromArray = (array) =>
72
+ array[0]
73
+ ? Object.keys(array[0]).join(';') +
74
+ '\r\n' +
75
+ array
76
+ .map((x) => {
77
+ return (
78
+ Object.keys(x)
79
+ .map((attr) => x[attr])
80
+ .join(';') + '\r\n'
81
+ );
82
+ })
83
+ .join('')
84
+ : '';
85
+
86
+ const newInstance = (obj) => {
87
+ // structuredClone() 2022 ES6 feature
88
+ try {
89
+ return JSON.parse(JSON.stringify(obj));
90
+ } catch (error) {
91
+ return { error: error.message };
92
+ }
93
+ };
94
+
95
+ const cap = (str) =>
96
+ str
97
+ .toLowerCase()
98
+ .split(' ')
99
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
100
+ .join(' ');
101
+
102
+ const capFirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);
103
+
104
+ // Other option: Array.from(new Set(arr))
105
+ const uniqueArray = (arr) => arr.filter((item, pos) => arr.indexOf(item) == pos);
106
+
107
+ const orderArrayFromAttrInt = (arr, attr, type) =>
108
+ // type -> true asc
109
+ // type -> false desc
110
+ type === 'asc' ? arr.sort((a, b) => a[attr] - b[attr]) : arr.sort((a, b) => b[attr] - a[attr]);
111
+
112
+ const getRandomPoint = (suffix, pointsArray) => {
113
+ const point = pointsArray[random(0, pointsArray.length - 1)];
114
+ const returnPoint = {};
115
+ returnPoint['x' + suffix] = point[0];
116
+ returnPoint['y' + suffix] = point[1];
117
+ return returnPoint;
118
+ };
119
+
120
+ const getYouTubeID = (url) => {
121
+ const p =
122
+ /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
123
+ if (url.match(p)) return url.match(p)[1];
124
+ return false;
125
+ };
126
+
127
+ const timer = (ms) => new Promise((res) => setTimeout(res, ms));
128
+
129
+ const reOrderIntArray = (array) => {
130
+ /* shuffle */
131
+ let currentIndex = array.length,
132
+ randomIndex;
133
+
134
+ // While there remain elements to shuffle.
135
+ while (currentIndex != 0) {
136
+ // Pick a remaining element.
137
+ randomIndex = Math.floor(Math.random() * currentIndex);
138
+ currentIndex--;
139
+
140
+ // And swap it with the current element.
141
+ [array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];
142
+ }
143
+
144
+ return array;
145
+ };
146
+
147
+ const orderAbc = (arr, attr) =>
148
+ arr.sort((a, b) => {
149
+ if (attr) {
150
+ if (a[attr] < b[attr]) {
151
+ return -1;
152
+ }
153
+ if (a[attr] > b[attr]) {
154
+ return 1;
155
+ }
156
+ } else {
157
+ if (a < b) {
158
+ return -1;
159
+ }
160
+ if (a > b) {
161
+ return 1;
162
+ }
163
+ }
164
+ return 0;
165
+ });
166
+
167
+ const JSONmatrix = (matrix) => {
168
+ if (Array.isArray(matrix))
169
+ return `[\r\n${matrix
170
+ .map((x, i) => ` ` + JSON.stringify(x) + (i === matrix.length - 1 ? '' : ',') + '\r\n')
171
+ .join('')}]`;
172
+ else
173
+ return `[\r\n${Object.keys(matrix)
174
+ .map((x, i) => ` ` + JSON.stringify(Object.values(matrix[x])) + (i === matrix.length - 1 ? '' : ',') + '\r\n')
175
+ .join('')}]`;
176
+ };
177
+
178
+ const getDistance = (x1, y1, x2, y2) => {
179
+ const disX = Math.abs(x2 - x1);
180
+ const disY = Math.abs(y2 - y1);
181
+ return Math.sqrt(disX * disX + disY * disY);
182
+ };
183
+
184
+ const setPad = (num, padValue, targetLength, endPad, separator) => {
185
+ separator = separator ? separator : '.';
186
+ let str = String(num).split(separator);
187
+ let removeSeparator = false;
188
+ if (!str[1]) {
189
+ str[1] = '';
190
+ if (!endPad) removeSeparator = true;
191
+ }
192
+ while (endPad ? str[1].length < targetLength : str[0].length < targetLength)
193
+ endPad ? (str[1] = str[1] + padValue) : (str[0] = padValue + str[0]);
194
+ return removeSeparator ? str.join(separator).replace(separator, '') : str.join(separator);
195
+ };
196
+
197
+ /**
198
+ * Decimal setting of a number.
199
+ *
200
+ * @param {String} type The type of setting.
201
+ * @param {Number} value The number.
202
+ * @param {Integer} exp The exponent (the log 10 of the base fit).
203
+ * @returns {Number} The adjusted value.
204
+ * @memberof CommonJS
205
+ */
206
+ const decimalAdjust = (type, value, exp) => {
207
+ if (typeof exp === 'undefined' || +exp === 0) {
208
+ return Math[type](value);
209
+ }
210
+ value = +value;
211
+ exp = +exp;
212
+
213
+ if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
214
+ return NaN;
215
+ }
216
+ // Shift
217
+ value = value.toString().split('e');
218
+ value = Math[type](+(value[0] + 'e' + (value[1] ? +value[1] - exp : -exp)));
219
+ // Shift back
220
+ value = value.toString().split('e');
221
+ return +(value[0] + 'e' + (value[1] ? +value[1] + exp : exp));
222
+
223
+ // https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Math/round
224
+ };
225
+
226
+ const floatRound = (v, d) => parseFloat(parseFloat(v).toFixed(d));
227
+
228
+ // Decimal round
229
+
230
+ const round10 = (value, exp) => {
231
+ return decimalAdjust('round', value, exp);
232
+ };
233
+
234
+ // Decimal floor
235
+
236
+ const floor10 = (value, exp) => {
237
+ return decimalAdjust('floor', value, exp);
238
+ };
239
+
240
+ // Decimal ceil
241
+
242
+ const ceil10 = (value, exp) => {
243
+ return decimalAdjust('ceil', value, exp);
244
+ };
245
+
246
+ // // Round
247
+ // round10(55.55, -1); // 55.6
248
+ // round10(55.549, -1); // 55.5
249
+ // round10(55, 1); // 60
250
+ // round10(54.9, 1); // 50
251
+ // round10(-55.55, -1); // -55.5
252
+ // round10(-55.551, -1); // -55.6
253
+ // round10(-55, 1); // -50
254
+ // round10(-55.1, 1); // -60
255
+ // round10(1.005, -2); // 1.01 -- compare this with round(1.005*100)/100 above
256
+ // // Floor
257
+ // floor10(55.59, -1); // 55.5
258
+ // floor10(59, 1); // 50
259
+ // floor10(-55.51, -1); // -55.6
260
+ // floor10(-51, 1); // -60
261
+ // // Ceil
262
+ // ceil10(55.51, -1); // 55.6
263
+ // ceil10(51, 1); // 60
264
+ // ceil10(-55.59, -1); // -55.5
265
+ // ceil10(-59, 1); // -50
266
+
267
+ function objectEquals(x, y) {
268
+ // TODO:
269
+ // https://www.npmjs.com/package/deep-equal
270
+ // https://www.npmjs.com/package/fast-deep-equal
271
+ const ok = Object.keys,
272
+ tx = typeof x,
273
+ ty = typeof y;
274
+ return x && y && tx === 'object' && tx === ty
275
+ ? ok(x).length === ok(y).length && ok(x).every((key) => objectEquals(x[key], y[key]))
276
+ : x === y;
277
+ }
278
+
279
+ function insertTransitionCoordinates(coordinates, transitionFactor) {
280
+ // Create a new array to store the resulting coordinates
281
+ const coordinatesWithTransition = [];
282
+
283
+ // Iterate over the coordinates array
284
+ for (let i = 0; i < coordinates.length - 1; i++) {
285
+ const [x1, y1] = coordinates[i];
286
+ const [x2, y2] = coordinates[i + 1];
287
+
288
+ // Add the initial integer coordinate to the new array
289
+ coordinatesWithTransition.push([x1, y1]);
290
+
291
+ // Calculate the increments for each coordinate
292
+ const incrementX = (x2 - x1) / transitionFactor;
293
+ const incrementY = (y2 - y1) / transitionFactor;
294
+
295
+ // Add the intermediate coordinates
296
+ for (let j = 1; j <= transitionFactor - 1; j++) {
297
+ const xIntermediate = x1 + incrementX * j;
298
+ const yIntermediate = y1 + incrementY * j;
299
+ coordinatesWithTransition.push([xIntermediate, yIntermediate]);
300
+ }
301
+ }
302
+
303
+ // Add the last integer coordinate to the new array
304
+ coordinatesWithTransition.push(coordinates[coordinates.length - 1]);
305
+
306
+ // Now, coordinatesWithTransition contains the coordinates with transition
307
+ return coordinatesWithTransition;
308
+ }
309
+
310
+ const getIsoDate = (date) => date.toISOString().slice(0, -5).replace('T', ' ');
311
+
312
+ const clearTerminalStringColor = (str) => str.replace(/\x1b\[[0-9;]*m/g, '');
313
+
314
+ function getValueFromJoinString(obj, path, join = '.') {
315
+ // Split the path string into an array of attribute names
316
+ const attributes = path.split(join);
317
+
318
+ // Iterate through the attributes to access the desired value
319
+ let value = obj;
320
+ for (let i = 0; i < attributes.length; i++) {
321
+ value = value[attributes[i]];
322
+
323
+ // Check if the value is null or undefined at each step
324
+ if (value === null || value === undefined) {
325
+ // If the value is null or undefined, stop the iteration
326
+ break;
327
+ }
328
+ }
329
+
330
+ return value;
331
+ }
332
+
333
+ function getDirection(options = { x1: 1, y1: 1, x2: 1, y2: 1, radians: 1 }) {
334
+ const { x1, y1, x2, y2, radians } = options;
335
+ // Calculate the angle in radians
336
+ const angle = radians !== undefined ? radians : Math.atan2(y2 - y1, x2 - x1);
337
+
338
+ // Convert the angle to degrees
339
+ let degrees = angle * (180 / Math.PI);
340
+
341
+ // Adjust the angle to be positive
342
+ if (degrees < 0) {
343
+ degrees += 360;
344
+ }
345
+
346
+ // 45 / 2 = 22.5
347
+ // formula -> 22.5 + (45*n)
348
+
349
+ // Map the angle to one of the eight directions
350
+ let direction;
351
+ if (degrees >= 337.5 || degrees < 22.5) {
352
+ // direction = 'right';
353
+ // direction = 'East';
354
+ direction = 'e';
355
+ } else if (degrees >= 22.5 && degrees < 67.5) {
356
+ // direction = 'up-right';
357
+ // direction = 'South East';
358
+ direction = 'se';
359
+ } else if (degrees >= 67.5 && degrees < 112.5) {
360
+ // direction = 'up';
361
+ // direction = 'South';
362
+ direction = 's';
363
+ } else if (degrees >= 112.5 && degrees < 157.5) {
364
+ // direction = 'up-left';
365
+ // direction = 'South West';
366
+ direction = 'sw';
367
+ } else if (degrees >= 157.5 && degrees < 202.5) {
368
+ // direction = 'left';
369
+ // direction = 'West';
370
+ direction = 'w';
371
+ } else if (degrees >= 202.5 && degrees < 247.5) {
372
+ // direction = 'down-left';
373
+ // direction = 'North West';
374
+ direction = 'nw';
375
+ } else if (degrees >= 247.5 && degrees < 292.5) {
376
+ // direction = 'down';
377
+ // direction = 'North';
378
+ direction = 'n';
379
+ } else if (degrees >= 292.5 && degrees < 337.5) {
380
+ // direction = 'down-right';
381
+ // direction = 'North East';
382
+ direction = 'ne';
383
+ }
384
+
385
+ return direction;
386
+ }
387
+
388
+ // Function to amplify a matrix in horizontal and vertical directions
389
+ const amplifyMatrix = (matrix, factor) => {
390
+ // Get the original dimensions of the matrix
391
+ const rows = matrix.length;
392
+ const cols = matrix[0].length;
393
+
394
+ // Create a new amplified matrix filled with zeros
395
+ const amplifiedMatrix = Array.from({ length: rows * factor }, () => Array(cols * factor).fill(0));
396
+
397
+ // Iterate over the original matrix
398
+ for (let i = 0; i < rows; i++) {
399
+ for (let j = 0; j < cols; j++) {
400
+ // Get the current value in the original matrix
401
+ const originalValue = matrix[i][j];
402
+
403
+ // Amplify in horizontal and vertical directions
404
+ for (let x = 0; x < factor; x++) {
405
+ for (let y = 0; y < factor; y++) {
406
+ // Assign the amplified value to the new matrix
407
+ amplifiedMatrix[i * factor + x][j * factor + y] = originalValue;
408
+ }
409
+ }
410
+ }
411
+ }
412
+
413
+ return amplifiedMatrix;
414
+ };
415
+
416
+ // Function to reduce a matrix by a factor in horizontal and vertical directions
417
+ const reduceMatrix = (matrix, factor) => {
418
+ // Get the original dimensions of the matrix
419
+ const rows = matrix.length;
420
+ const cols = matrix[0].length;
421
+
422
+ // Calculate the dimensions of the reduced matrix
423
+ const reducedRows = Math.ceil(rows / factor);
424
+ const reducedCols = Math.ceil(cols / factor);
425
+
426
+ // Create a new reduced matrix filled with zeros
427
+ const reducedMatrix = Array.from({ length: reducedRows }, () => Array(reducedCols).fill(0));
428
+
429
+ // Iterate over the original matrix
430
+ for (let i = 0; i < reducedRows; i++) {
431
+ for (let j = 0; j < reducedCols; j++) {
432
+ // Calculate the sum of values in the corresponding block of the original matrix
433
+ let sum = 0;
434
+
435
+ for (let x = 0; x < factor; x++) {
436
+ for (let y = 0; y < factor; y++) {
437
+ // Safely access the original matrix considering the boundaries
438
+ const rowIndex = i * factor + x;
439
+ const colIndex = j * factor + y;
440
+
441
+ if (rowIndex < rows && colIndex < cols) {
442
+ sum += matrix[rowIndex][colIndex];
443
+ }
444
+ }
445
+ }
446
+
447
+ // Calculate the average value for the reduced matrix
448
+ reducedMatrix[i][j] = sum / Math.min(factor * factor, rows * cols);
449
+ }
450
+ }
451
+
452
+ return reducedMatrix;
453
+ };
454
+
455
+ const mergeMatrices = (input) => {
456
+ const rows = Object.keys(input).reduce((acc, key) => {
457
+ const rowData = Object.keys(input[key]).reduce((rowAcc, subKey) => {
458
+ const subArray = input[key][subKey];
459
+ const rowIndex = parseInt(key, 10) * subArray.length;
460
+ subArray.forEach((subRow, subRowIndex) => {
461
+ const fullRowIndex = rowIndex + subRowIndex;
462
+ if (!rowAcc[fullRowIndex]) {
463
+ rowAcc[fullRowIndex] = [];
464
+ }
465
+ rowAcc[fullRowIndex] = rowAcc[fullRowIndex].concat(subRow);
466
+ });
467
+ return rowAcc;
468
+ }, []);
469
+ acc = acc.concat(rowData);
470
+ return acc;
471
+ }, []);
472
+
473
+ // Remove empty rows
474
+ const nonEmptyRows = rows.filter((row) => row.some((cell) => cell !== undefined));
475
+
476
+ // Remove empty columns
477
+ const transpose = nonEmptyRows[0].map((col, i) => nonEmptyRows.map((row) => row[i]));
478
+ const nonEmptyColumns = transpose.filter((col) => col.some((cell) => cell !== undefined));
479
+
480
+ // Transpose back to rows
481
+ const result = nonEmptyColumns[0].map((row, i) => nonEmptyColumns.map((col) => col[i]));
482
+
483
+ return result;
484
+ };
485
+
486
+ const titleFormatted = (str) => cap(str.trim().replaceAll('/', '').replaceAll('-', ' '));
487
+
488
+ const getSubpaths = (path) =>
489
+ path
490
+ .split('/')
491
+ .filter(Boolean)
492
+ .map((_, i, segments) => `/${segments.slice(0, i + 1).join('/')}`);
493
+
494
+ function formatBytes(bytes, decimals = 2) {
495
+ if (!+bytes) return '0 Bytes';
496
+
497
+ const k = 1024;
498
+ const dm = decimals < 0 ? 0 : decimals;
499
+ const sizes = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
500
+
501
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
502
+
503
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
504
+ }
505
+
506
+ function getDirname(path) {
507
+ // Split the path based on the path separator
508
+ const parts = path.split(/[/|\\]/);
509
+
510
+ // Remove the last element (filename)
511
+ parts.pop();
512
+
513
+ // If the path ends with a separator, remove the empty element
514
+ if (parts[parts.length - 1] === '') {
515
+ parts.pop();
516
+ }
517
+
518
+ // Join the remaining parts to get the directory path
519
+ return parts.join('/'); // Adjust separator if needed for Windows ('\')
520
+ }
521
+
522
+ const isValidDate = (day, month, year) => {
523
+ if (!month && !year) return !(new Date(day) == 'Invalid Date');
524
+ // new Date('2025-12-28')
525
+ // Sat Dec 27 2025 19:00:00 GMT-0500 (Eastern Standard Time)
526
+ // new Date('2025/12/28')
527
+ // Sun Dec 28 2025 00:00:00 GMT-0500 (Eastern Standard Time)
528
+ return !(new Date(`${year}/${month}/${day}`) == 'Invalid Date');
529
+ };
530
+
531
+ // console.log(req.body.timeZoneClient, Intl.DateTimeFormat().resolvedOptions().timeZone);
532
+ // DateTime.fromISO("2017-05-15T09:10:23", { zone: "Europe/Paris" });
533
+ const strToDateUTC = (date = '2025-01-30T14:32') => {
534
+ const year = parseInt(date.split('-')[0]);
535
+ const month = parseInt(date.split('-')[1]);
536
+ const day = parseInt(date.split('-')[2].split('T')[0]);
537
+ const hour = parseInt(date.split('T')[1].split(':')[0]);
538
+ const minute = parseInt(date.split('T')[1].split(':')[1]);
539
+ date = new Date(Date.UTC(year, month - 1, day, hour, minute, 0, 0));
540
+ return date;
541
+ };
542
+
543
+ const isValidFormat = (value, format) => {
544
+ try {
545
+ switch (format) {
546
+ case 'ALPHANUMERIC':
547
+ return /^[a-z0-9]+$/i.test(value);
548
+ case 'DDMMYYYY': {
549
+ const day = parseInt(value.substring(0, 2));
550
+ const month = parseInt(value.substring(2, 4));
551
+ const year = parseInt(value.substring(4));
552
+ return isValidDate(day, month, year);
553
+ }
554
+ case 'YYYYDDMM': {
555
+ const day = parseInt(value.substring(4, 6));
556
+ const month = parseInt(value.substring(6, 8));
557
+ const year = parseInt(value.substring(0, 4));
558
+ return isValidDate(day, month, year);
559
+ }
560
+ case 'DD-MM-YYYY': {
561
+ value = value.split('-');
562
+ const day = parseInt(value[0]);
563
+ const month = parseInt(value[1]);
564
+ const year = parseInt(value[2]);
565
+ return isValidDate(day, month, year);
566
+ }
567
+
568
+ default:
569
+ return false;
570
+ }
571
+ } catch (error) {
572
+ console.error(error);
573
+ return false;
574
+ }
575
+ };
576
+
577
+ const getCurrentTrace = () => {
578
+ try {
579
+ _stack;
580
+ } catch (error) {
581
+ return error.stack;
582
+ }
583
+ };
584
+
585
+ /**
586
+ * Returns the time difference between UTC time and local time, in minutes.
587
+ * @memberof CommonJS
588
+ */
589
+ const getTimezoneOffset = () => new Date().getTimezoneOffset();
590
+
591
+ // https://unicode-explorer.com/c/<unicode>
592
+ // example: https://unicode-explorer.com/c/0000
593
+ function cleanString(string) {
594
+ // Define the problematic escape sequences unicode characters to remove with descriptions
595
+ const problematicCharacters = [
596
+ // '\u0000', // Null character (Represents absence of a character) not work
597
+ '\u0008', // Backspace character
598
+ '\u0002', // Start of Text (STX) character
599
+ '\u0009', // Horizontal Tab character
600
+ '\u000B', // Vertical Tab character
601
+ '\u000C', // Form Feed character
602
+ '\u000D', // Carriage Return character
603
+ '\u001D', // Group Separator (GS) character
604
+ '\u001F', // Substitution character
605
+ // '\u0020', // Space character
606
+ '\u200B', // Zero Width Space character
607
+ '\u200C', // Zero Width Non-Joiner character
608
+ '\u200D', // Zero Width Joiner character
609
+ '\u200F', // Right-to-Left Mark character
610
+ '\u2028', // Left-to-Right Mark character
611
+ '\u2060', // Word Spacing character
612
+ '\u2061', // Word Joiner character
613
+ '\u2062', // Invisible Text Character character
614
+ '\u2063', // Inhibit Explicit Word Joining character
615
+ '\u2064', // Invisible Text Processing character
616
+ ];
617
+
618
+ // Replace each problematic character with an empty string
619
+ return problematicCharacters.reduce((cleanString, character) => {
620
+ const charRegex = new RegExp(character, 'g'); // Regular expression for character
621
+ return cleanString.replace(charRegex, ''); // Replace with empty string
622
+ }, string);
623
+ }
624
+
625
+ function splitEveryXChar(originalString, everyXChar = 30, nextCharSplit) {
626
+ let modifiedString = '';
627
+ const arrayString = [];
628
+ let i = -1;
629
+ let charSplit = false;
630
+ for (let char of originalString) {
631
+ i++;
632
+ modifiedString += char;
633
+ if (i !== 0 && i % everyXChar === 0) charSplit = true;
634
+ if (modifiedString.length >= everyXChar && charSplit && (!nextCharSplit || nextCharSplit.includes(char))) {
635
+ arrayString.push(newInstance(modifiedString));
636
+ modifiedString = '';
637
+ charSplit = false;
638
+ }
639
+ }
640
+ if (modifiedString) arrayString.push(modifiedString);
641
+ return arrayString;
642
+ }
643
+
644
+ const getMostFrequentValue = (arr) =>
645
+ arr.sort((a, b) => arr.filter((v) => v === a).length - arr.filter((v) => v === b).length).pop();
646
+
647
+ const getFillMatrix = (maxX, maxY, value = 0) =>
648
+ new Array(maxY).fill().map(() => new Array(maxX).fill().map(() => value));
649
+
650
+ function validatePassword(password) {
651
+ let errors = [];
652
+ if (!/[a-z]/.test(password))
653
+ errors.push({ en: 'must contain at least one lowercase letter', es: 'debe contener al menos una letra minúscula' });
654
+ if (!/[A-Z]/.test(password))
655
+ errors.push({ en: 'must contain at least one uppercase letter', es: 'debe contener al menos una letra mayúscula' });
656
+ if (!/\d/.test(password))
657
+ errors.push({ en: 'must contain at least one number', es: 'debe contener al menos un número' });
658
+ if (!/[@#$-%^&*()_+{}\[\]:;<>,.!?\/\\|`~]/.test(password))
659
+ errors.push({
660
+ en: 'must contain at least one special character',
661
+ es: 'debe contener al menos un carácter especial',
662
+ });
663
+ if (password.length < 8)
664
+ errors.push({ en: 'must be at least 8 characters long', es: 'debe tener al menos 8 caracteres de largo' });
665
+
666
+ return errors;
667
+ }
668
+
669
+ function componentFromStr(numStr, percent) {
670
+ const num = Math.max(0, parseInt(numStr, 10));
671
+ return percent ? Math.floor((255 * Math.min(100, num)) / 100) : Math.min(255, num);
672
+ }
673
+
674
+ const isChileanIdentityDocument = function (rutCompleto) {
675
+ const dv = function (T) {
676
+ let M = 0,
677
+ S = 1;
678
+ for (; T; T = Math.floor(T / 10)) S = (S + (T % 10) * (9 - (M++ % 6))) % 11;
679
+ return S ? S - 1 : 'k';
680
+ };
681
+ rutCompleto = rutCompleto.replace('‐', '-');
682
+ if (!/^[0-9]+[-|‐]{1}[0-9kK]{1}$/.test(rutCompleto)) return false;
683
+ var tmp = rutCompleto.split('-');
684
+ var digv = tmp[1];
685
+ var rut = tmp[0];
686
+ if (digv == 'K') digv = 'k';
687
+ return dv(rut) == digv;
688
+ };
689
+
690
+ function rgbToHex(rgb) {
691
+ const rgbRegex = /^rgb\(\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*\)$/;
692
+ let result,
693
+ r,
694
+ g,
695
+ b,
696
+ hex = '';
697
+ if ((result = rgbRegex.exec(rgb))) {
698
+ r = componentFromStr(result[1], result[2]);
699
+ g = componentFromStr(result[3], result[4]);
700
+ b = componentFromStr(result[5], result[6]);
701
+
702
+ hex = '' + (0x1000000 + (r << 16) + (g << 8) + b).toString(16).slice(1);
703
+ }
704
+ return hex;
705
+ }
706
+
707
+ const getCapVariableName = (value = 'default') => cap(value.replaceAll('-', ' ')).replaceAll(' ', '');
708
+
709
+ const hexToNumber = (hex = 0xdc) => Number(hex) || parseFloat(hex, 16);
710
+
711
+ const numberToHex = (number = 0) => number.toString(16);
712
+
713
+ const generateRandomPasswordSelection = (length) => {
714
+ const _random = (arr) => {
715
+ const rand = Math.floor(Math.random() * arr.length);
716
+ return arr[rand];
717
+ };
718
+
719
+ const uppercase = [
720
+ 'A',
721
+ 'B',
722
+ 'C',
723
+ 'D',
724
+ 'E',
725
+ 'F',
726
+ 'G',
727
+ 'H',
728
+ 'I',
729
+ 'J',
730
+ 'K',
731
+ 'L',
732
+ 'M',
733
+ 'N',
734
+ 'O',
735
+ 'P',
736
+ 'Q',
737
+ 'R',
738
+ 'S',
739
+ 'T',
740
+ 'U',
741
+ 'V',
742
+ 'W',
743
+ 'X',
744
+ 'Y',
745
+ 'Z',
746
+ ];
747
+ const lowercase = [
748
+ 'a',
749
+ 'b',
750
+ 'c',
751
+ 'd',
752
+ 'e',
753
+ 'f',
754
+ 'g',
755
+ 'h',
756
+ 'i',
757
+ 'j',
758
+ 'k',
759
+ 'l',
760
+ 'm',
761
+ 'n',
762
+ 'o',
763
+ 'p',
764
+ 'q',
765
+ 'r',
766
+ 's',
767
+ 't',
768
+ 'u',
769
+ 'v',
770
+ 'w',
771
+ 'x',
772
+ 'y',
773
+ 'z',
774
+ ];
775
+ const special = [
776
+ '~',
777
+ '!',
778
+ '@',
779
+ '#',
780
+ '$',
781
+ '%',
782
+ '^',
783
+ '&',
784
+ '*',
785
+ '(',
786
+ ')',
787
+ '_',
788
+ '+',
789
+ '-',
790
+ '=',
791
+ '{',
792
+ '}',
793
+ '[',
794
+ ']',
795
+ ':',
796
+ ';',
797
+ '?',
798
+ ',',
799
+ '.',
800
+ '|',
801
+ ];
802
+ const numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
803
+
804
+ const nonSpecial = [...uppercase, ...lowercase, ...numbers];
805
+
806
+ let password = '';
807
+
808
+ for (let i = 0; i < length; i++) {
809
+ // Previous character is a special character
810
+ if (i !== 0 && special.includes(password[i - 1])) {
811
+ password += _random(nonSpecial);
812
+ } else password += _random([...nonSpecial, ...special]);
813
+ }
814
+
815
+ return password;
816
+ };
817
+
818
+ // 0x = Hexadecimal
819
+ // 0b = Binary
820
+ // 0o = Octal
821
+
822
+ const commitData = {
823
+ feat: {
824
+ description: 'New feature or enhancement (frontend, backend, API, or UX)',
825
+ title: 'Features',
826
+ emoji: '✨',
827
+ },
828
+ fix: {
829
+ description: 'Fix a bug',
830
+ title: 'Bug Fixes',
831
+ emoji: '🐛',
832
+ },
833
+ docs: {
834
+ description: 'Documentation changes',
835
+ title: 'Documentation',
836
+ emoji: '📚',
837
+ },
838
+ style: {
839
+ description: 'Formatting, whitespace, semicolons, code style',
840
+ title: 'Styles',
841
+ emoji: '💎',
842
+ },
843
+ refactor: {
844
+ description: 'Code refactor.',
845
+ title: 'Code Refactoring',
846
+ emoji: '📦',
847
+ },
848
+ perf: {
849
+ description: 'Performance improvements across the stack.',
850
+ title: 'Performance Improvements',
851
+ emoji: '⚡️',
852
+ },
853
+ ci: {
854
+ description: 'CI pipeline changes (GitHub Actions, runners, caching)',
855
+ title: 'Continuous Integration',
856
+ emoji: '⚙️',
857
+ },
858
+ cd: {
859
+ description: 'CD / deployment changes (Remote ssh deployment scripts)',
860
+ title: 'Continuous Delivery',
861
+ emoji: '🚀',
862
+ },
863
+ infra: {
864
+ description: 'Infrastructure changes (MAAS, LXD, cloud infra, networking, provisioning).',
865
+ title: 'Infrastructure',
866
+ emoji: '🏗️',
867
+ },
868
+ build: {
869
+ description: 'Build system or dependency changes (tooling, bundler, build scripts).',
870
+ title: 'Builds',
871
+ emoji: '🛠',
872
+ },
873
+ test: {
874
+ description: 'Unit or integration tests added/updated, test helpers, flake fixes.',
875
+ title: 'Tests',
876
+ emoji: '🚨',
877
+ },
878
+ chore: {
879
+ description: "Other changes that don't modify src or tests (automation, housekeeping).",
880
+ title: 'Chores',
881
+ emoji: '♻️',
882
+ },
883
+ revert: {
884
+ description: 'Revert a previous commit or change.',
885
+ title: 'Reverts',
886
+ emoji: '🗑',
887
+ },
888
+ backup: {
889
+ description: 'Backups, snapshotting, restore scripts, or backup docs.',
890
+ title: 'Backups',
891
+ emoji: '💾',
892
+ },
893
+ };
894
+
895
+ const emotionsData = [
896
+ {
897
+ name: 'like',
898
+ ad_display: {
899
+ es: 'Me gusta',
900
+ en: 'Like',
901
+ },
902
+ emoji: '👍',
903
+ },
904
+ {
905
+ name: 'love',
906
+ ad_display: {
907
+ es: 'Me encanta',
908
+ en: 'Love',
909
+ },
910
+ emoji: '❤️',
911
+ },
912
+ {
913
+ name: 'haha',
914
+ ad_display: {
915
+ es: 'Me divierte',
916
+ en: 'Haha',
917
+ },
918
+ emoji: '😂',
919
+ },
920
+ {
921
+ name: 'wow',
922
+ ad_display: {
923
+ es: 'Me asombra',
924
+ en: 'Wow',
925
+ },
926
+ emoji: '😮',
927
+ },
928
+ {
929
+ name: 'sad',
930
+ ad_display: {
931
+ es: 'Me entristece',
932
+ en: 'Sad',
933
+ },
934
+ emoji: '😢',
935
+ },
936
+ {
937
+ name: 'angry',
938
+ ad_display: {
939
+ es: 'Me enoja',
940
+ en: 'Angry',
941
+ },
942
+ emoji: '😠',
943
+ },
944
+ ];
945
+
946
+ const userRoleEnum = ['admin', 'moderator', 'user', 'guest'];
947
+ const commonAdminGuard = (role) => userRoleEnum.indexOf(role) === userRoleEnum.indexOf('admin');
948
+ const commonModeratorGuard = (role) => userRoleEnum.indexOf(role) <= userRoleEnum.indexOf('moderator');
949
+ const commonUserGuard = (role) => userRoleEnum.indexOf(role) <= userRoleEnum.indexOf('user');
950
+ const commonGuestGuard = (role) => userRoleEnum.indexOf(role) <= userRoleEnum.indexOf('guest');
951
+
952
+ export {
953
+ s4,
954
+ range,
955
+ random,
956
+ newInstance,
957
+ cap,
958
+ uniqueArray,
959
+ orderArrayFromAttrInt,
960
+ getYouTubeID,
961
+ timer,
962
+ getRawCsvFromArray,
963
+ reOrderIntArray,
964
+ capFirst,
965
+ orderAbc,
966
+ getDistance,
967
+ decimalAdjust,
968
+ round10,
969
+ floor10,
970
+ ceil10,
971
+ JSONmatrix,
972
+ getRandomPoint,
973
+ objectEquals,
974
+ floatRound,
975
+ getId,
976
+ insertTransitionCoordinates,
977
+ randomHexColor,
978
+ clearTerminalStringColor,
979
+ getIsoDate,
980
+ getValueFromJoinString,
981
+ getDirection,
982
+ amplifyMatrix,
983
+ reduceMatrix,
984
+ mergeMatrices,
985
+ titleFormatted,
986
+ setPad,
987
+ getSubpaths,
988
+ formatBytes,
989
+ getDirname,
990
+ isValidDate,
991
+ isValidFormat,
992
+ strToDateUTC,
993
+ getTimezoneOffset,
994
+ cleanString,
995
+ splitEveryXChar,
996
+ getMostFrequentValue,
997
+ getFillMatrix,
998
+ validatePassword,
999
+ componentFromStr,
1000
+ rgbToHex,
1001
+ getCapVariableName,
1002
+ hexToNumber,
1003
+ numberToHex,
1004
+ generateRandomPasswordSelection,
1005
+ commonAdminGuard,
1006
+ commonModeratorGuard,
1007
+ commonUserGuard,
1008
+ commonGuestGuard,
1009
+ isChileanIdentityDocument,
1010
+ getCurrentTrace,
1011
+ userRoleEnum,
1012
+ commitData,
1013
+ emotionsData,
1014
+ };