gina 0.1.6-alpha.8 → 0.1.6-alpha.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 (326) hide show
  1. package/README-4Contributors.md +14 -8
  2. package/README.md +3 -3
  3. package/bin/cli +13 -0
  4. package/bin/gina +29 -1
  5. package/framework/v0.1.6-alpha.80/VERSION +1 -0
  6. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/plugin/README.md +1 -0
  7. package/framework/v0.1.6-alpha.80/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  8. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/plugin/dist/vendor/gina/js/gina.js +369 -101
  9. package/framework/v0.1.6-alpha.80/core/asset/plugin/dist/vendor/gina/js/gina.min.js +776 -0
  10. package/framework/v0.1.6-alpha.80/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  11. package/framework/v0.1.6-alpha.80/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  12. package/framework/v0.1.6-alpha.80/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  13. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/config.js +117 -51
  14. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/connector.v4.js +28 -22
  15. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/controller/controller.js +329 -56
  16. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  17. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  18. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/LICENSE +19 -0
  19. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/README.md +191 -0
  20. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  21. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  22. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  23. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  24. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  25. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  26. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/lib/index.js +57 -0
  27. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  28. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  29. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  30. package/framework/v0.1.6-alpha.80/core/deps/busboy-1.6.0/package.json +22 -0
  31. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/gna.js +97 -18
  32. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/model/index.js +28 -24
  33. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/validator/src/form-validator.js +38 -26
  34. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/validator/src/main.js +254 -56
  35. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/router.js +75 -40
  36. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/server.isaac.js +46 -8
  37. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/server.js +31 -5
  38. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  39. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/conf/templates.json +4 -2
  40. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/context.js +16 -11
  41. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/path.js +25 -9
  42. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/add.js +2 -1
  43. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/start.js +21 -8
  44. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/build.js +1 -1
  45. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/init.js +18 -0
  46. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/link-node-modules.js +2 -3
  47. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/link.js +1 -0
  48. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/tail.js +28 -11
  49. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/version.js +15 -1
  50. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/helper.js +6 -2
  51. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/add.js +3 -2
  52. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/build.js +4 -4
  53. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/protocol/list.js +71 -50
  54. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/collection/src/main.js +8 -0
  55. package/framework/v0.1.6-alpha.80/lib/domain/exemples/backend.js +12 -0
  56. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/domain/src/main.js +3 -1
  57. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/merge/package.json +1 -1
  58. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/model.js +1 -1
  59. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/routing/src/main.js +58 -11
  60. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/session-store.js +2 -2
  61. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/swig-filters/src/main.js +64 -9
  62. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/validator.js +2 -2
  63. package/framework/v0.1.6-alpha.80/package.json +12 -0
  64. package/package.json +2 -2
  65. package/utils/helper.js +24 -0
  66. package/framework/v0.1.6-alpha.8/VERSION +0 -1
  67. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  68. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
  69. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  70. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  71. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  72. package/framework/v0.1.6-alpha.8/lib/domain/exemples/backend.js +0 -0
  73. package/framework/v0.1.6-alpha.8/package.json +0 -14
  74. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/AUTHORS +0 -0
  75. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/LICENSE +0 -0
  76. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/html/nolayout.html +0 -0
  77. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/html/static.html +0 -0
  78. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/img/android-chrome-192x192.png +0 -0
  79. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/img/android-chrome-512x512.png +0 -0
  80. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/img/apple-touch-icon.png +0 -0
  81. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/img/favicon-16x16.png +0 -0
  82. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/img/favicon-32x32.png +0 -0
  83. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/img/favicon.ico +0 -0
  84. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  85. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  86. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/asset/plugin/uuid.json +0 -0
  87. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/index.js +0 -0
  88. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/connector.js +0 -0
  89. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  90. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  91. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/n1ql.js +0 -0
  92. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/session-store.js +0 -0
  93. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  94. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  95. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  96. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/controller/controller.framework.js +0 -0
  97. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/controller/index.js +0 -0
  98. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/.travis.yml +0 -0
  99. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/LICENSE +0 -0
  100. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/README.md +0 -0
  101. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/deps/encoding/encoding-indexes.js +0 -0
  102. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/deps/encoding/encoding.js +0 -0
  103. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/lib/main.js +0 -0
  104. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/lib/types/multipart.js +0 -0
  105. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/lib/types/urlencoded.js +0 -0
  106. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/lib/utils.js +0 -0
  107. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.80/core/deps/busboy-0.2.14}/package.json +0 -0
  108. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  109. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/dev/index.js +0 -0
  110. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/dev/lib/class.js +0 -0
  111. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/dev/lib/factory.js +0 -0
  112. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/dev/lib/tools.js +0 -0
  113. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/README.md +0 -0
  114. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/currency.json +0 -0
  115. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/dist/language/en.json +0 -0
  116. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/dist/language/fr.json +0 -0
  117. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/dist/region/en.json +0 -0
  118. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/dist/region/fr.json +0 -0
  119. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/index.js +0 -0
  120. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/src/make.js +0 -0
  121. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/src/resources/currency.csv +0 -0
  122. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/src/resources/region.csv +0 -0
  123. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/locales/src/resources/region.mapping.json +0 -0
  124. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/mime.types +0 -0
  125. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/model/entity.js +0 -0
  126. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/model/template/entityFactory.js +0 -0
  127. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/model/template/index.js +0 -0
  128. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/README.md +0 -0
  129. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/index.js +0 -0
  130. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/file/README.md +0 -0
  131. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/file/build.json +0 -0
  132. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/file/package.json +0 -0
  133. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/intl/README.md +0 -0
  134. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/intl/build.json +0 -0
  135. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/intl/package.json +0 -0
  136. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/intl/src/main.js +0 -0
  137. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/storage/README.md +0 -0
  138. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/storage/build.json +0 -0
  139. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/storage/package.json +0 -0
  140. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/storage/src/main.js +0 -0
  141. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/validator/README.md +0 -0
  142. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/validator/build.json +0 -0
  143. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/plugins/lib/validator/package.json +0 -0
  144. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/server.express.js +0 -0
  145. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/status.codes +0 -0
  146. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/_gitignore +0 -0
  147. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/config/app.json +0 -0
  148. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/config/routing.json +0 -0
  149. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/config/settings.json +0 -0
  150. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  151. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/config/templates.json +0 -0
  152. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  153. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  154. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle/index.js +0 -0
  155. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  156. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  157. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  158. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  159. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  160. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_public/readme.md +0 -0
  161. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  162. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  163. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  164. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  165. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  166. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/command/gina.bat.tpl +0 -0
  167. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/command/gina.tpl +0 -0
  168. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/conf/env.json +0 -0
  169. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/conf/manifest.json +0 -0
  170. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/conf/package.json +0 -0
  171. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/conf/settings.json +0 -0
  172. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/conf/statics.json +0 -0
  173. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/error/client/json/401.json +0 -0
  174. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/error/client/json/403.json +0 -0
  175. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/error/client/json/404.json +0 -0
  176. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/error/server/html/50x.html +0 -0
  177. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/error/server/json/500.json +0 -0
  178. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/error/server/json/503.json +0 -0
  179. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/core/template/extensions/logger/config.json +0 -0
  180. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/console.js +0 -0
  181. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/data/LICENSE +0 -0
  182. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/data/README.md +0 -0
  183. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/data/package.json +0 -0
  184. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/data/src/main.js +0 -0
  185. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/dateFormat.js +0 -0
  186. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/index.js +0 -0
  187. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/json/LICENSE +0 -0
  188. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/json/README.md +0 -0
  189. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/json/package.json +0 -0
  190. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/json/src/main.js +0 -0
  191. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/plugins/README.md +0 -0
  192. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/plugins/package.json +0 -0
  193. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/plugins/src/api-error.js +0 -0
  194. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/plugins/src/main.js +0 -0
  195. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/prototypes.js +0 -0
  196. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/task.js +0 -0
  197. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/helpers/text.js +0 -0
  198. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/archiver/README.md +0 -0
  199. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/archiver/build.json +0 -0
  200. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/archiver/package.json +0 -0
  201. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/archiver/src/dep/jszip.min.js +0 -0
  202. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/archiver/src/main.js +0 -0
  203. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/aliases.json +0 -0
  204. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/arguments.json +0 -0
  205. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/copy.js +0 -0
  206. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/cp.js +0 -0
  207. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/help.js +0 -0
  208. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/help.txt +0 -0
  209. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/list.js +0 -0
  210. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/remove.js +0 -0
  211. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/rename.js +0 -0
  212. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/restart.js +0 -0
  213. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/rm.js +0 -0
  214. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/status.js +0 -0
  215. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/bundle/stop.js +0 -0
  216. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/add.js +0 -0
  217. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/get.js +0 -0
  218. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/help.js +0 -0
  219. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/help.txt +0 -0
  220. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/link-dev.js +0 -0
  221. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/list.js +0 -0
  222. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/remove.js +0 -0
  223. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/rm.js +0 -0
  224. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/set.js +0 -0
  225. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/unset.js +0 -0
  226. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/env/use.js +0 -0
  227. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/dot.js +0 -0
  228. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/get.js +0 -0
  229. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/help.js +0 -0
  230. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/help.txt +0 -0
  231. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/msg.json +0 -0
  232. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/open.js +0 -0
  233. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/restart.js +0 -0
  234. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/set.js +0 -0
  235. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/start.js +0 -0
  236. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/status.js +0 -0
  237. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/stop.js +0 -0
  238. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/framework/update.js +0 -0
  239. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/gina-dev.1.md +0 -0
  240. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/gina-framework.1.md +0 -0
  241. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/gina.1.md +0 -0
  242. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/index.js +0 -0
  243. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/msg.json +0 -0
  244. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/port/help.js +0 -0
  245. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/port/help.txt +0 -0
  246. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/port/inc/scan.js +0 -0
  247. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/port/list.js +0 -0
  248. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/port/reset.js +0 -0
  249. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/port/set.js +0 -0
  250. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/arguments.json +0 -0
  251. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/help.js +0 -0
  252. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/help.txt +0 -0
  253. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/import.js +0 -0
  254. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/list.js +0 -0
  255. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/move.js +0 -0
  256. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/remove.js +0 -0
  257. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/rename.js +0 -0
  258. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/restart.js +0 -0
  259. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/rm.js +0 -0
  260. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/start.js +0 -0
  261. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/status.js +0 -0
  262. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/project/stop.js +0 -0
  263. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/protocol/help.js +0 -0
  264. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/protocol/help.txt +0 -0
  265. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/protocol/set.js +0 -0
  266. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/add.js +0 -0
  267. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/help.js +0 -0
  268. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/help.txt +0 -0
  269. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/link-local.js +0 -0
  270. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/link-production.js +0 -0
  271. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/list.js +0 -0
  272. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/remove.js +0 -0
  273. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/rm.js +0 -0
  274. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/scope/use.js +0 -0
  275. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cmd/view/add.js +0 -0
  276. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/collection/README.md +0 -0
  277. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/collection/build.json +0 -0
  278. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/collection/package.json +0 -0
  279. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/config.js +0 -0
  280. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cron/README.md +0 -0
  281. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cron/package.json +0 -0
  282. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/cron/src/main.js +0 -0
  283. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/domain/LICENSE +0 -0
  284. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/domain/README.md +0 -0
  285. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/domain/dist/public_suffix_list.dat +0 -0
  286. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/domain/exemples/frontend.html +0 -0
  287. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/domain/package.json +0 -0
  288. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/generator/index.js +0 -0
  289. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/index.js +0 -0
  290. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/LICENSE +0 -0
  291. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/README.md +0 -0
  292. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  293. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/example/protected_inheritance.js +0 -0
  294. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/example/simple_inheritance.js +0 -0
  295. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  296. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/package.json +0 -0
  297. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/inherits/src/main.js +0 -0
  298. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/README.md +0 -0
  299. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/package.json +0 -0
  300. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/containers/default/index.js +0 -0
  301. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/containers/file/index.js +0 -0
  302. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  303. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  304. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/containers/mq/index.js +0 -0
  305. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/containers/mq/listener.js +0 -0
  306. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/containers/mq/speaker.js +0 -0
  307. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/helper.js +0 -0
  308. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/logger/src/main.js +0 -0
  309. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/math/index.js +0 -0
  310. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/merge/README.md +0 -0
  311. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/merge/example/merge.js +0 -0
  312. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/merge/example/merge_2_literal objects.js +0 -0
  313. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/merge/example/merge_and_preserve_first.js +0 -0
  314. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/merge/src/main.js +0 -0
  315. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/proc.js +0 -0
  316. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/routing/README.md +0 -0
  317. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/routing/build.json +0 -0
  318. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/routing/package.json +0 -0
  319. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/shell.js +0 -0
  320. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/swig-filters/README.md +0 -0
  321. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/swig-filters/package.json +0 -0
  322. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/url/README.md +0 -0
  323. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/url/index.js +0 -0
  324. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/url/mocks.json +0 -0
  325. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/url/routing.json +0 -0
  326. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.80}/lib/url/test.js +0 -0
@@ -1,5 +1,5 @@
1
1
  /** vim: et:ts=4:sw=4:sts=4
2
- * @license RequireJS 2.3.6 Copyright jQuery Foundation and other contributors.
2
+ * @license RequireJS 2.3.7 Copyright jQuery Foundation and other contributors.
3
3
  * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
4
4
  */
5
5
  //Not using strict: uneven strict support in browsers, #392, and causes
@@ -11,7 +11,7 @@ var requirejs, require, define;
11
11
  (function (global, setTimeout) {
12
12
  var req, s, head, baseElement, dataMain, src,
13
13
  interactiveScript, currentlyAddingScript, mainScript, subPath,
14
- version = '2.3.6',
14
+ version = '2.3.7',
15
15
  commentRegExp = /\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,
16
16
  cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
17
17
  jsSuffixRegExp = /\.js$/,
@@ -33,7 +33,8 @@ var requirejs, require, define;
33
33
  contexts = {},
34
34
  cfg = {},
35
35
  globalDefQueue = [],
36
- useInteractive = false;
36
+ useInteractive = false,
37
+ disallowedProps = ['__proto__', 'constructor'];
37
38
 
38
39
  //Could match something like ')//comment', do not lose the prefix to comment.
39
40
  function commentReplace(match, singlePrefix) {
@@ -94,7 +95,7 @@ var requirejs, require, define;
94
95
  function eachProp(obj, func) {
95
96
  var prop;
96
97
  for (prop in obj) {
97
- if (hasProp(obj, prop)) {
98
+ if (hasProp(obj, prop) && disallowedProps.indexOf(prop) == -1) {
98
99
  if (func(obj[prop], prop)) {
99
100
  break;
100
101
  }
@@ -5593,6 +5594,13 @@ function Collection(content, options) {
5593
5594
 
5594
5595
 
5595
5596
  if ( typeof(a) == 'string' && a != '' || typeof(b) == 'string' ) {
5597
+ // Fixed on 2025-03-08: allowed to compare with one of the fields being NULL or not defined
5598
+ if ( typeof(a) == 'undefined' || a == null) {
5599
+ a = ''; // cast to string
5600
+ }
5601
+ if ( typeof(b) == 'undefined' || b == null) {
5602
+ b = ''; // cast to string
5603
+ }
5596
5604
 
5597
5605
  if ( typeof(a) == 'number' ) {
5598
5606
  a = ''+a; // cast to string
@@ -5601,6 +5609,7 @@ function Collection(content, options) {
5601
5609
  b = ''+b; // cast to string
5602
5610
  }
5603
5611
 
5612
+
5604
5613
  return a.localeCompare(b, undefined, {sensitivity: 'case', caseFirst: 'upper'})
5605
5614
  }
5606
5615
 
@@ -6230,11 +6239,12 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
6230
6239
  // system error
6231
6240
  systemError = result.error;
6232
6241
  }
6233
- // Fixed on 2023-01-10
6242
+ // Fixed added on 2023-01-10
6234
6243
  // We want `local.errorLabels['query']` before the generic|user defined `rule` error
6235
6244
  var optionError = ( typeof(options['error']) != 'undefined' ) ? options['error'] : null;
6236
6245
  errors['query'] = replace(systemError || _this['error'] || optionError || local.errorLabels['query'], _this);
6237
- console.debug('[1] query error detected !! ', result);
6246
+
6247
+ console.debug('[1] query error detected !! ', result, errorFields, errors['query']);
6238
6248
  }
6239
6249
 
6240
6250
  if ( !errors['query'] && _this.value == '' ) {
@@ -6304,6 +6314,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
6304
6314
 
6305
6315
  var id = _this.target.id || _this.target.getAttribute('id');
6306
6316
  console.debug('prematurely completed event `'+ 'asyncCompleted.' + id +'`');
6317
+
6307
6318
  return triggerEvent(gina, _this.target, 'asyncCompleted.' + id, self[_this['name']]);
6308
6319
  } // EO onResult
6309
6320
 
@@ -6699,7 +6710,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
6699
6710
  isValid = condition;
6700
6711
  } else if (!isValid) {
6701
6712
  var re = null, flags = null;
6702
- // Fixed on 2021-03-13: $variable now replaced with real value beafore validation
6713
+ // Fixed added on 2021-03-13: $variable now replaced with real value beafore validation
6703
6714
  if ( /[\!\=>\>\<a-z 0-9]+/i.test(condition) ) {
6704
6715
  var variables = condition.match(/\${0}[-_,.\[\]a-z0-9]+/ig); // without space(s)
6705
6716
  if (variables && variables.length > 0) {
@@ -7075,24 +7086,26 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
7075
7086
 
7076
7087
 
7077
7088
  self[el]['toFloat'] = function(decimals) {
7078
- if ( typeof(this.value) == 'string' ) {
7079
- this.value = this.value.replace(/\s+/g, '');
7080
- if ( /\,/.test(this.value) && !/\./.test(this.value) ) {
7081
- this.value = this.value.replace(/\,/g,'.');
7082
- //local.data[this.name] = this.value;
7083
- // if (isGFFCtx) {
7084
- // //this.target.setAttribute('value', this.value);
7085
- // document.getElementById(this.target.id).value = this.value;
7086
- // //triggerEvent(gina, this.target, 'change', self[this['name']]);
7087
- // }
7088
-
7089
- } else {
7090
- this.value = this.value.replace(/\,/g,'');
7089
+ // Fixed on 2025-03-12
7090
+ // In case we are dealing with a filtered value (swig::formatNumber())
7091
+ var val = document.getElementById(this.target.getAttribute('id')).value || this.value
7092
+ isFloatingWithCommas = false
7093
+ ;
7094
+ if ( typeof(val) == 'string' ) {
7095
+ val = val.replace(/\s+/g, '');
7096
+ // Fixed on 2025-03-12
7097
+ // thousand separator ?
7098
+ if ( /\,/.test(val) && /\./.test(val) ) {
7099
+ val = val.replace(/\,/g,'');
7100
+ }
7101
+ else if ( /\,/.test(val) ) {
7102
+ val = val.replace(/\,/g,'.');
7103
+ isFloatingWithCommas = true;
7091
7104
  }
7092
7105
  }
7093
7106
 
7094
- var val = local.data[this.name] = this.value
7095
- , errors = self[this['name']]['errors'] || {}
7107
+ local.data[this.name] = val;
7108
+ var errors = self[this['name']]['errors'] || {}
7096
7109
  , isValid = true
7097
7110
  ;
7098
7111
 
@@ -7107,32 +7120,40 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
7107
7120
  } else {
7108
7121
  if ( this['isNumber']().valid ) {
7109
7122
  try {
7110
-
7111
7123
  if ( !Number.isFinite(val) ) {
7112
- val = this.value = local.data[this.name] = new Number(parseFloat(val.match(/[0-9.,]+/g).join('').replace(/,/, '.')));// Number <> number
7124
+ // Number <> number
7125
+ val = new Number(parseFloat(val.match(/[0-9.,]+/g).join('').replace(/,/, '.')));
7113
7126
  }
7114
- if (isGFFCtx)
7115
- this.target.setAttribute('value', val);
7116
7127
  } catch(err) {
7117
7128
  isValid = false;
7118
- errors['toFloat'] = replace(this.error || local.errorLabels['toFloat'], this);
7129
+ errors['toFloat'] = replace(this.error || local.errorLabels['toFloat'], this);
7119
7130
  this.valid = false;
7120
7131
  if ( errors.count() > 0 )
7121
7132
  this['errors'] = errors;
7122
7133
  }
7123
7134
  } else {
7124
7135
  isValid = false;
7125
- errors['toFloat'] = replace(this.error || local.errorLabels['toFloatNAN'], this)
7136
+ errors['toFloat'] = replace(this.error || local.errorLabels['toFloatNAN'], this)
7126
7137
  }
7127
7138
  }
7128
7139
 
7129
7140
  if (this['decimals'] && val && !errors['toFloat']) {
7130
- this.value = local.data[this.name] = parseFloat(this.value.toFixed(this['decimals']));
7141
+ val = parseFloat(val.toFixed(this['decimals']));
7142
+ }
7143
+
7144
+ this.value = local.data[this.name] = val;
7145
+ if (isGFFCtx) {
7146
+ // restore original input format for display
7147
+ if (isFloatingWithCommas) {
7148
+ val = (''+val).replace(/\./g,',');
7149
+ }
7150
+ this.target.setAttribute('value', val);
7131
7151
  }
7132
7152
 
7133
7153
  this.valid = isValid;
7134
- if ( errors.count() > 0 )
7154
+ if ( errors.count() > 0 ) {
7135
7155
  this['errors'] = errors;
7156
+ }
7136
7157
 
7137
7158
  return self[this.name]
7138
7159
  }
@@ -7727,7 +7748,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
7727
7748
 
7728
7749
  function Routing() {
7729
7750
 
7730
- var isGFFCtx = ((typeof (module) !== 'undefined') && module.exports) ? false :  true;
7751
+ var isGFFCtx = ((typeof (module) !== 'undefined') && module.exports) ? false : true;
7731
7752
  var self = {
7732
7753
  allowedMethods: ['get', 'post', 'put', 'delete'],
7733
7754
  reservedParams: ['controle', 'file','title', 'namespace', 'path'],
@@ -7782,7 +7803,7 @@ function Routing() {
7782
7803
  urlProps.hostname = config.hostname;
7783
7804
  if ( typeof(bundle) != 'undefined' ) {
7784
7805
  // get from webroot
7785
- _route = routing.getRoute('webroot@'+ bundle);
7806
+ _route = this.getRoute('webroot@'+ bundle);
7786
7807
  urlProps.hostname = _route.hostname;
7787
7808
  urlProps.host = _route.host;
7788
7809
  urlProps.webroot = _route.webroot;
@@ -7883,9 +7904,11 @@ function Routing() {
7883
7904
  return foundRoute;
7884
7905
  }
7885
7906
 
7907
+
7886
7908
  return await parseRouting(params, url, request, response, next);
7887
7909
  };
7888
7910
 
7911
+
7889
7912
  /**
7890
7913
  * Check if rule has params
7891
7914
  *
@@ -8553,14 +8576,24 @@ function Routing() {
8553
8576
  * */
8554
8577
  self.getRoute = function(rule, params, urlIndex) {
8555
8578
 
8556
- var config = null;
8579
+ var config = null, isProxyHost = false;
8557
8580
  if (isGFFCtx) {
8581
+ if (
8582
+ !window.location.port
8583
+ && window.location.hostname == window.gina.config.hostname.replace(/^(https|http|wss|ws)\:\/\//, '').replace(/\:\d+$/, '')
8584
+ ) {
8585
+ isProxyHost = true;
8586
+ window.gina.config.hostname = window.gina.config.hostname.replace(/^(https|http|wss|ws)\:\/\//, '').replace(/\:\d+$/, '')
8587
+ }
8558
8588
  config = window.gina.config;
8559
8589
  } else {
8590
+
8560
8591
  config = getContext('gina').config;
8561
8592
  if ( typeof(getContext('argvFilename')) != 'undefined' ) {
8562
8593
  config.getRouting = getContext('gina').Config.instance.getRouting;
8563
8594
  }
8595
+
8596
+ isProxyHost = getContext('isProxyHost');
8564
8597
  }
8565
8598
 
8566
8599
  var env = config.env || GINA_ENV // by default, takes the current bundle
@@ -8605,6 +8638,23 @@ function Routing() {
8605
8638
  var msg = null;
8606
8639
  route = checkRouteParams(route, params);
8607
8640
 
8641
+ route.isProxyHost = isProxyHost;
8642
+ if (isProxyHost) {
8643
+ if (isGFFCtx) {
8644
+ route.proxy_hostname = window.location.protocol +'//'+ document.location.hostname;
8645
+ } else {
8646
+ route.proxy_hostname = process.gina.PROXY_HOSTNAME || config.envConf._proxyHostname;
8647
+ }
8648
+ route.proxy_host = route.proxy_hostname.replace(/^(https|http)\:\/\//, '');
8649
+
8650
+ } else if (
8651
+ !isGFFCtx
8652
+ && typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
8653
+ ) {
8654
+ route.proxy_hostname = process.gina.PROXY_HOSTNAME;
8655
+ route.proxy_host = route.proxy_hostname.replace(/^(https|http)\:\/\//, '');
8656
+ }
8657
+
8608
8658
  if ( /\,/.test(route.url) ) {
8609
8659
  if ( typeof(route.urlIndex) != 'undefined' ) {
8610
8660
  urlIndex = route.urlIndex; // set by checkRouteParams(route, params)
@@ -8674,11 +8724,23 @@ function Routing() {
8674
8724
  }
8675
8725
 
8676
8726
  var wroot = this.webroot || urlProps.webroot
8677
- , hostname = this.hostname || urlProps.hostname
8678
- , path = this.url
8727
+ , hostname = ''+this.hostname || ''+urlProps.hostname
8728
+ , path = ''+this.url
8679
8729
  ;
8730
+ if (this.isProxyHost) {
8731
+ hostname = ''+this.proxy_hostname;
8732
+ }
8733
+
8734
+ this.url = (
8735
+ typeof(ignoreWebRoot) != 'undefined'
8736
+ && /^true$/i.test(ignoreWebRoot)
8737
+ ) ? path.replace( new RegExp('^'+ wroot), '/') : path.replace( new RegExp('^('+wroot +'|\/$)'), wroot);
8738
+
8739
+ // this.url = (
8740
+ // typeof(ignoreWebRoot) != 'undefined'
8741
+ // && /^true$/i.test(ignoreWebRoot)
8742
+ // ) ? path.replace( new RegExp('\/'+ wroot), '/') : path;
8680
8743
 
8681
- this.url = ( typeof(ignoreWebRoot) != 'undefined' && ignoreWebRoot == true ) ? path.replace(wroot, '/') : path;
8682
8744
 
8683
8745
  return hostname + this.url
8684
8746
  };
@@ -8710,6 +8772,10 @@ function Routing() {
8710
8772
  , url = ( typeof(ignoreWebRoot) != 'undefined' && ignoreWebRoot == true ) ? path.replace(wroot, '/') : this.url || _this.url
8711
8773
  ;
8712
8774
 
8775
+ if ( /^\//.test(url) ) {
8776
+ url = hostname + url;
8777
+ }
8778
+
8713
8779
  var scheme = ( /^https/.test(hostname) ) ? 'https' : 'http';
8714
8780
 
8715
8781
  if (isGFFCtx) {
@@ -8792,6 +8858,7 @@ function Routing() {
8792
8858
  return route
8793
8859
  };
8794
8860
 
8861
+ // TODO - Remove this : deprecated && not used
8795
8862
  var getFormatedRoute = function(route, url, hash) {
8796
8863
  // fix url in case of empty param value allowed by the routing rule
8797
8864
  // to prevent having a folder.
@@ -8822,12 +8889,13 @@ function Routing() {
8822
8889
  /**
8823
8890
  * Get route by url
8824
8891
  * N.B.: this will only work with rules declared with `GET` method property
8892
+ * ATTENTION !!! Not fully working for frontend because of unresolved promises !!!!
8825
8893
  *
8826
8894
  * @function getRouteByUrl
8827
8895
  *
8828
8896
  * @param {string} url e.g.: /webroot/some/url/path or http
8829
8897
  * @param {string} [bundle] targeted bundle
8830
- * @param {string} [method] request method (GET|PUT|PUT|DELETE) - GET is set by default
8898
+ * @param {string} [method] 2nd or 3rd - request method (GET|PUT|PUT|DELETE) - GET is set by default
8831
8899
  * @param {object} [request]
8832
8900
  * @param {boolean} [isOverridinMethod] // will replace request.method by the provided method - Used for redirections
8833
8901
  *
@@ -8922,6 +8990,9 @@ function Routing() {
8922
8990
  params: {},
8923
8991
  url: url
8924
8992
  };
8993
+ if (bundle) {
8994
+ request.bundle = bundle;
8995
+ }
8925
8996
  } else {
8926
8997
 
8927
8998
  var gnaCtx = getContext('gina');
@@ -9009,11 +9080,8 @@ function Routing() {
9009
9080
  // normal case
9010
9081
  //Parsing for the right url.
9011
9082
  try {
9012
-
9013
9083
  isRoute = self.compareUrls(params, routing[name].url, request);
9014
-
9015
9084
  if (isRoute.past) {
9016
-
9017
9085
  route = JSON.clone(routing[name]);
9018
9086
  route.name = name;
9019
9087
 
@@ -9035,7 +9103,7 @@ function Routing() {
9035
9103
  url == '#'
9036
9104
  && /GET/i.test(method)
9037
9105
  && isMethodProvidedByDefault
9038
- || /^404\:/.test(url)
9106
+ || /^404\:/.test(url)
9039
9107
  ) {
9040
9108
  url = location.pathname;
9041
9109
  urlHasChanged = true;
@@ -10112,6 +10180,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10112
10180
  'eventData' : {},
10113
10181
  'target' : (isGFFCtx) ? document : null, // by default
10114
10182
  'cachedErrors' : {},
10183
+ 'lastFocused' : (isGFFCtx) ? [] : null,
10115
10184
  'binded' : false,
10116
10185
  'unbinded' : false,
10117
10186
  'withUserBindings' : false,
@@ -10393,12 +10462,12 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10393
10462
 
10394
10463
  var refreshWarning = function($el) {
10395
10464
  var formId = $el.form.getAttribute('id');
10396
- if ( /^true$/i.test(instance.$forms[formId].isValidating) ) {
10397
- return;
10398
- }
10399
10465
 
10400
- var $parent = $el.parentNode, isErrorMessageHidden = false;
10401
- var $children = $parent.getElementsByTagName('div');
10466
+
10467
+ var $parent = $el.parentNode
10468
+ , isErrorMessageHidden = false
10469
+ , $children = $parent.getElementsByTagName('div')
10470
+ ;
10402
10471
 
10403
10472
  if ( /form\-item\-warning/.test($parent.className) ) {
10404
10473
  $parent.className = $parent.className.replace(/form\-item\-warning/, 'form-item-error');
@@ -10408,6 +10477,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10408
10477
  isErrorMessageHidden = true;
10409
10478
  }
10410
10479
 
10480
+ // Fixed on 2025-03-07
10481
+ if (
10482
+ /^true$/i.test(instance.$forms[formId].isValidating)
10483
+ && !isErrorMessageHidden
10484
+ ) {
10485
+ return;
10486
+ }
10487
+
10411
10488
 
10412
10489
  for (var c = 0, cLen = $children.length; c<cLen; ++c) {
10413
10490
  if ( /form\-item\-error\-message/.test($children[c].className) ) {
@@ -10429,7 +10506,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10429
10506
  * @param {object} $form - Target (HTMLFormElement)
10430
10507
  * @param {object} errors
10431
10508
  * @param {object|null} data
10432
- * @param {object|null} [fileName]
10509
+ * @param {string|null} [fileName]
10433
10510
  */
10434
10511
  var liveCheckErrors = {}; // Per Form & Per Element
10435
10512
  var handleErrorsDisplay = function($form, errors, data, fieldName) {
@@ -10460,7 +10537,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10460
10537
  if ( typeof(liveCheckErrors[formId]) == 'undefined') {
10461
10538
  liveCheckErrors[formId] = {};
10462
10539
  }
10463
- if (errors.count() > 0) {
10540
+ if (errors && errors.count() > 0) {
10464
10541
  // reset field name
10465
10542
  liveCheckErrors[formId][fieldName] = {};
10466
10543
  // override
@@ -10470,8 +10547,29 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10470
10547
  }
10471
10548
  errors = liveCheckErrors[formId];
10472
10549
  // only if the form has not been sent yet
10473
- if (!instance.$forms[formId].sent || instance.$forms[formId].isValidating) {
10550
+ if (
10551
+ !instance.$forms[formId].sent
10552
+ ||
10553
+ instance.$forms[formId].isValidating
10554
+ ) {
10474
10555
  isWarning = true;
10556
+ // Fixed on 2025-03-07
10557
+ var lastFocused = instance.$forms[formId].lastFocused;
10558
+ // console.debug('fieldName: '+ fieldName + '\nactiveElement: '+ document.activeElement.getAttribute('name') +'\nlastFocused: ', lastFocused);
10559
+ if (
10560
+ lastFocused.length > 0
10561
+ && typeof(lastFocused[1]) != 'undefined'
10562
+ && lastFocused[1].name == fieldName
10563
+ ||
10564
+ lastFocused.length > 0
10565
+ && !lastFocused[1]
10566
+ && document.activeElement.getAttribute('name') != lastFocused[0].name
10567
+ ||
10568
+ document.activeElement.getAttribute('name') != fieldName
10569
+ ) {
10570
+ isWarning = false;
10571
+ }
10572
+ // console.debug('isWarning: '+isWarning);
10475
10573
  }
10476
10574
  } else {
10477
10575
  if ( typeof(liveCheckErrors[formId][fieldName]) != 'undefined') {
@@ -10535,7 +10633,11 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10535
10633
 
10536
10634
  if (!name) continue;
10537
10635
 
10538
- if ( typeof(errors[name]) != 'undefined' && !/(form\-item\-error|form\-item\-warning)/.test($parent.className) ) {
10636
+ if (
10637
+ errors
10638
+ && typeof(errors[name]) != 'undefined'
10639
+ && !/(form\-item\-error|form\-item\-warning)/.test($parent.className)
10640
+ ) {
10539
10641
 
10540
10642
  if (isWarning) {
10541
10643
  // adding warning class
@@ -10576,7 +10678,24 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10576
10678
 
10577
10679
 
10578
10680
 
10579
- } else if ( typeof(errors[name]) == 'undefined' && /(form\-item\-error|form\-item\-warning)/.test($parent.className) || typeof(errors[name]) != 'undefined' && errors[name].count() == 0 && /(form\-item\-error|form\-item\-warning)/.test($parent.className) ) {
10681
+ } else if (
10682
+ errors
10683
+ && typeof(errors[name]) == 'undefined'
10684
+ && /(form\-item\-error|form\-item\-warning)/.test($parent.className)
10685
+ ||
10686
+ errors
10687
+ && typeof(errors[name]) != 'undefined' && errors[name].count() == 0
10688
+ && /(form\-item\-error|form\-item\-warning)/.test($parent.className)
10689
+ ) {
10690
+ // Fixed on 2025-03-10
10691
+ // targeted field must be the active element
10692
+ if (
10693
+ document.activeElement.getAttribute('name') != fieldName
10694
+ && errors.count() > 0
10695
+ ) {
10696
+ break
10697
+ }
10698
+ console.debug('[handleErrorsDisplay] Resetting when not in error');
10580
10699
  // reset when not in error
10581
10700
  // remove child elements
10582
10701
  var $children = $parent.getElementsByTagName('div');
@@ -10590,16 +10709,34 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10590
10709
 
10591
10710
  $parent.className = $parent.className.replace(/(\s+form\-item\-error|form\-item\-error|\s+form\-item\-warning|form\-item\-warning)/, '');
10592
10711
 
10593
- } else if ( typeof(errors[name]) != 'undefined' && errAttr) {
10712
+ } else if (
10713
+ errors.count() > 0
10714
+ && typeof(errors[name]) != 'undefined'
10715
+ && errAttr
10716
+ ) {
10594
10717
  // refreshing already displayed error on msg update
10595
10718
  var $divs = $parent.getElementsByTagName('div');
10596
10719
  for (var d = 0, dLen = $divs.length; d<dLen; ++d) {
10597
- if ($divs[d].className == 'form-item-error-message') {
10720
+ // Fixed on 2025-03-05: className can have more than one !!
10721
+ let foundMessage = $divs[d].className.match("form-item-error-message");
10722
+ if (
10723
+ foundMessage
10724
+ && typeof(foundMessage.length) != 'undefined'
10725
+ && foundMessage.length > 0
10726
+ ) {
10598
10727
 
10599
10728
  $divs[d].parentElement.removeChild($divs[d]);
10600
10729
  $err = document.createElement('div');
10601
10730
  $err.setAttribute('class', 'form-item-error-message');
10602
10731
 
10732
+ // Fixed on 2025-03-09: className cleanup
10733
+ if (
10734
+ !isWarning
10735
+ && /(\s+form\-item\-warning|form\-item\-warning)/.test($parent.className)
10736
+ ) {
10737
+ $parent.className = $parent.className.replace(/(\s+form\-item\-warning|form\-item\-warning)/, ' form-item-error');
10738
+ }
10739
+
10603
10740
  // injecting error messages
10604
10741
  // {
10605
10742
  // field: {
@@ -10624,12 +10761,17 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10624
10761
  }
10625
10762
  }
10626
10763
 
10627
- if ($err && $target.type != 'hidden')
10764
+ if ($err && $target.type != 'hidden') {
10628
10765
  insertAfter($target, $err);
10629
-
10766
+ }
10630
10767
  }
10631
10768
 
10632
- if (typeof(fieldName) != 'undefined' && fieldName === $el.name) break;
10769
+ if (
10770
+ typeof(fieldName) != 'undefined'
10771
+ && fieldName === $el.name
10772
+ ) {
10773
+ break;
10774
+ }
10633
10775
  }
10634
10776
 
10635
10777
 
@@ -10965,7 +11107,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
10965
11107
  // In case the user is also redirecting
10966
11108
  var redirectDelay = (/Google Inc/i.test(navigator.vendor)) ? 50 : 0;
10967
11109
 
10968
- if (xhr.readyState == 2) { // responseType interception
11110
+ // responseType interception
11111
+ if (xhr.readyState == 2) {
10969
11112
  isAttachment = ( /^attachment\;/.test( xhr.getResponseHeader("Content-Disposition") ) ) ? true : false;
10970
11113
  // force blob response type
10971
11114
  if ( !xhr.responseType && isAttachment ) {
@@ -11018,7 +11161,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
11018
11161
  size : blob.size
11019
11162
  }
11020
11163
 
11021
- } else { // normal case
11164
+ }
11165
+ // normal case
11166
+ else {
11022
11167
  result = xhr.responseText;
11023
11168
  }
11024
11169
 
@@ -11027,9 +11172,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
11027
11172
  if ( /\/json/.test( contentType ) ) {
11028
11173
  result = JSON.parse(xhr.responseText);
11029
11174
 
11030
- if ( typeof(result.status) == 'undefined' )
11175
+ if ( typeof(result.status) == 'undefined' ) {
11031
11176
  result.status = xhr.status;
11032
-
11177
+ }
11178
+ // Fixed on 2025-03-13 Allowing toolbar to ubdate after xhr results
11179
+ // TODO - Allowing to revert to previously loaded data via a close button
11180
+ if (gina && envIsDev && typeof(window.ginaToolbar) && typeof(result) != 'undefined') {
11181
+ window.ginaToolbar.update('data-xhr', result);
11182
+ }
11033
11183
  }
11034
11184
 
11035
11185
  if ( /\/html/.test( contentType ) ) {
@@ -11260,6 +11410,13 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
11260
11410
  // } else { // external - need to remove `X-Requested-With` from `options.headers`
11261
11411
  result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
11262
11412
  //}
11413
+ // isProxyHost ?
11414
+ if (
11415
+ result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
11416
+ && gina.config.hostname == window.location.host
11417
+ ) {
11418
+ result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
11419
+ }
11263
11420
 
11264
11421
  return setTimeout(() => {
11265
11422
  window.location.href = result.location;
@@ -13110,7 +13267,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13110
13267
  } else {
13111
13268
  handleErrorsDisplay(event.target.form, errors, null, event.target.name);
13112
13269
  }
13113
- //return cancelEvent(event);
13114
13270
  }
13115
13271
 
13116
13272
 
@@ -13146,7 +13302,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13146
13302
  instance.$forms[formId].isValidating = true;
13147
13303
  validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
13148
13304
  instance.$forms[formId].isValidating = false;
13149
- console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
13305
+ console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult, gFields);
13150
13306
  var isFormValid = gResult.isValid();
13151
13307
  if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
13152
13308
  // update toolbar
@@ -13162,6 +13318,25 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13162
13318
  }
13163
13319
 
13164
13320
 
13321
+ if ( !isFormValid && gResult.error ) {
13322
+ instance.$forms[ $el.form.getAttribute('id') ].errors = gResult.error;
13323
+ // Fixed on 2025-03-09
13324
+ // for (let eField in gResult.error) {
13325
+ // refreshWarning($gFields[eField]);
13326
+ // // handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
13327
+ // }
13328
+ }
13329
+ // Fixed on 2025-03-10
13330
+ // Eg.: input select change impacting another element: solve `no more errors`
13331
+ else if (isFormValid) {
13332
+ //resetting error display
13333
+ instance.$forms[ formId ].errors = {};
13334
+ console.debug('resetting field: '+ $el.name);
13335
+ liveCheckErrors[formId] = {};
13336
+ // $form.dataset.ginaFormIsResetting = true;
13337
+ handleErrorsDisplay($gForm, {}, null, $el.name);
13338
+ }
13339
+
13165
13340
  updateSubmitTriggerState( $gForm, isFormValid);
13166
13341
 
13167
13342
  once = false;
@@ -13195,13 +13370,17 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13195
13370
  // other inputs & textareas
13196
13371
  else if ( /^focusin\./i.test(event.type) ) {
13197
13372
  if ( /\-error/.test($el.parentNode.className) ) {
13198
- console.debug('#1 you just focusin ....'+$el.id, $el.value);
13373
+ console.debug('#1 you just focusin ....'+$el.id, $el.value, instance.$forms[ $el.form.getAttribute('id') ].isValidating);
13199
13374
  refreshWarning($el);
13200
13375
  }
13201
13376
  }
13202
13377
  else if ( /^focusout\./i.test(event.type) ) {
13203
13378
  if ( /\-warning/.test($el.parentNode.className) ) {
13204
13379
  console.debug('#1 you just focusout ....'+$el.id, $el.value);
13380
+ // event.target.form.getAttribute('id');
13381
+ // $el.form.id
13382
+ // $el.form.getAttribute('id')
13383
+ instance.$forms[ $el.form.getAttribute('id') ].isValidating = false;
13205
13384
  refreshWarning($el);
13206
13385
  // in case error context is changed by another task
13207
13386
  handleErrorsDisplay($el.form, instance.$forms[ $el.form.getAttribute('id') ].errors, null, $el.name);
@@ -13210,12 +13389,30 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13210
13389
  else if ( /^keyup\./i.test(event.type) ) {
13211
13390
  $el.ginaFormValidatorTestedValue = $el.value;
13212
13391
  liveCheckTimer = setTimeout( function onLiveCheckTimer() {
13213
- // do not trigger for copy/paste event
13214
- if ( ['91', '17'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
13392
+ // Do not trigger for copy/paste event
13393
+ if ( ['91', '17', '16'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
13215
13394
  //console.debug('mapping ', keyboardMapping);
13216
13395
  return;
13217
13396
  }
13218
- console.debug(' keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
13397
+
13398
+ // Fixed on 2025-03-05:
13399
+ // Treat TAB as focus in/out
13400
+ if ( ['9'].indexOf(''+event.keyCode) > -1 ) {
13401
+ var $previeousEl = document.getElementById(instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id);
13402
+ var errors = instance.$forms[ $previeousEl.form.getAttribute('id') ].errors;
13403
+ var isFormValid = true;
13404
+ console.debug('[TAB] you just focusout from "'+ instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id +'" to "'+ $el.id +'"', "errors: ", errors);
13405
+ if (errors && errors.count() > 0 ) {
13406
+ instance.$forms[ $previeousEl.form.getAttribute('id') ].isValidating = false;
13407
+ isFormValid = false;
13408
+ }
13409
+ refreshWarning($previeousEl);
13410
+ // in case error context is changed by another task
13411
+ handleErrorsDisplay($previeousEl.form, errors, null, $previeousEl.name);
13412
+ updateSubmitTriggerState( $el.form, isFormValid);
13413
+ return;
13414
+ }
13415
+ console.debug('[A]['+keyboardMapping.count()+'] keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
13219
13416
  processEvent();
13220
13417
  }, 1000);
13221
13418
  }
@@ -13635,7 +13832,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13635
13832
  // submit buttons
13636
13833
  $elTMP = $form.target.getElementsByTagName('button');
13637
13834
  if ( $elTMP.length > 0 ) {
13638
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
13835
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
13639
13836
  // if button is != type="submit", you will need to provide : data-gina-form-submit
13640
13837
  // TODO - On button binding, you can then provide data-gina-form-action & data-gina-form-method
13641
13838
  $els.push($elTMP[i])
@@ -13645,7 +13842,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13645
13842
  // submit links
13646
13843
  $elTMP = $form.target.getElementsByTagName('a');
13647
13844
  if ( $elTMP.length > 0 ) {
13648
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
13845
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
13649
13846
  $els.push($elTMP[i])
13650
13847
  }
13651
13848
  }
@@ -13701,7 +13898,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13701
13898
  // textarea
13702
13899
  $elTMP = $form.target.getElementsByTagName('textarea');
13703
13900
  if ( $elTMP.length > 0 ) {
13704
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
13901
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
13705
13902
  $els.push( $elTMP[i] )
13706
13903
  }
13707
13904
  }
@@ -13710,7 +13907,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
13710
13907
  // forms inside main form
13711
13908
  $elTMP = $form.target.getElementsByTagName('form');
13712
13909
  if ( $elTMP.length > 0 ) {
13713
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
13910
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
13714
13911
  $els.push( $elTMP[i] )
13715
13912
  }
13716
13913
  }
@@ -14519,7 +14716,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
14519
14716
  validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
14520
14717
  instance.$forms[formId].isValidating = false;
14521
14718
  console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
14719
+ // Fixed on 2025-03-09
14522
14720
  var isFormValid = gResult.isValid();
14721
+ if (!isFormValid) {
14722
+ instance.$forms[formId].errors = gResult.error;
14723
+ for (let eField in gResult.error) {
14724
+ // refreshWarning($gFields[eField]);
14725
+ handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
14726
+ }
14727
+ }
14728
+
14523
14729
  updateSubmitTriggerState( $gForm, isFormValid);
14524
14730
  once = false;
14525
14731
  })
@@ -15113,6 +15319,25 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
15113
15319
  if (gina.events[_evt]) {
15114
15320
  cancelEvent(event);
15115
15321
 
15322
+ // Fixed on 2025-03-05 - "last focus" vs "current focus"
15323
+ // To get active element: document.activeElement
15324
+ var formId = event.target.form.getAttribute('id') || event.currentTarget.getAttribute('id');
15325
+ var lastFocused = {
15326
+ id : $el.id,
15327
+ name: $el.name
15328
+ };
15329
+ if (!instance.$forms[formId].lastFocused.length) {
15330
+ instance.$forms[formId].lastFocused[0] = lastFocused;
15331
+ } else {
15332
+ instance.$forms[formId].lastFocused.splice(0,0,lastFocused);
15333
+ }
15334
+ lastFocused = ( typeof(instance.$forms[formId].lastFocused[1]) != 'undefined' ) ? instance.$forms[formId].lastFocused[1].id : null;
15335
+
15336
+ // cleanup
15337
+ instance.$forms[formId].lastFocused.splice(2);
15338
+
15339
+ // console.debug('lastFocused: ', lastFocused, ' VS current: ', $el.id);
15340
+
15116
15341
  triggerEvent(gina, $el, _evt, event.detail);
15117
15342
  }
15118
15343
  });
@@ -15429,7 +15654,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
15429
15654
  ;
15430
15655
  $buttonsTMP = $target.getElementsByTagName('button');
15431
15656
  if ( $buttonsTMP.length > 0 ) {
15432
- for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
15657
+ for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
15433
15658
  if ($buttonsTMP[b].type == 'submit') {
15434
15659
  $buttons.push($buttonsTMP[b])
15435
15660
  }
@@ -15439,7 +15664,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
15439
15664
  // binding links
15440
15665
  $buttonsTMP = $target.getElementsByTagName('a');
15441
15666
  if ( $buttonsTMP.length > 0 ) {
15442
- for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
15667
+ for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
15443
15668
  if ( $buttonsTMP[b].attributes.getNamedItem('data-gina-form-submit') ) {
15444
15669
  $buttons.push($buttonsTMP[b])
15445
15670
  } else if (
@@ -16159,7 +16384,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
16159
16384
  if ( !/^form$/i.test($formOrElement.tagName) ) {
16160
16385
  $currentForm = $formOrElement.form;
16161
16386
  }
16162
- var formId = $currentForm.getAttribute('id');
16387
+ var formId = $currentForm.getAttribute('id');
16388
+ var isFormValid = null;
16163
16389
 
16164
16390
  if (
16165
16391
  hasParsedAllRules
@@ -16174,49 +16400,79 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
16174
16400
 
16175
16401
  cb._data = d['toData']();
16176
16402
  cb._errors = d['getErrors'](field);
16177
- // console.debug('query callbakc triggered ', cb._errors, '\nisValidating: ', instance.$forms[formId].isValidating);
16403
+ isFormValid = ( cb._errors.count() > 0 ) ? false : true;
16404
+ console.debug('[A] query callback triggered ', cb._errors, 'isFormValid: '+isFormValid, '\nisValidating: '+ instance.$forms[formId].isValidating);
16178
16405
  // update instance form errors
16179
- if ( cb._errors && cb._errors.count() > 0) {
16406
+ if ( cb._errors /**&& cb._errors.count() > 0*/) {
16180
16407
  if ( typeof(instance.$forms[formId].errors) == 'undefined' ) {
16181
16408
  instance.$forms[formId].errors = {}
16182
16409
  }
16183
16410
 
16184
16411
  instance.$forms[formId].errors[field] = cb._errors[field];
16185
16412
 
16186
- if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
16187
- refreshWarning($allFields[field]);
16188
- handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
16189
- updateSubmitTriggerState( $currentForm, isFormValid);
16190
- }
16413
+ // if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
16414
+ // if ( typeof($allFields[field]._cancelled) == 'undefined' ) {
16415
+ // refreshWarning($allFields[field]);
16416
+ // }
16417
+ // handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
16418
+ // updateSubmitTriggerState( $currentForm, isFormValid);
16419
+ // }
16191
16420
 
16192
- if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
16193
- // update toolbar
16194
- if (!gina.forms.errors)
16195
- gina.forms.errors = {};
16421
+ // if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
16422
+ // // update toolbar
16423
+ // if (!gina.forms.errors)
16424
+ // gina.forms.errors = {};
16196
16425
 
16197
- var objCallback = {
16198
- id : formId,
16199
- errors : instance.$forms[formId].errors || {}
16200
- };
16426
+ // var objCallback = {
16427
+ // id : formId,
16428
+ // errors : instance.$forms[formId].errors || {}
16429
+ // };
16201
16430
 
16202
- window.ginaToolbar.update('forms', objCallback);
16203
- }
16431
+ // window.ginaToolbar.update('forms', objCallback);
16432
+ // }
16204
16433
 
16205
16434
 
16206
- triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
16207
- return;
16435
+ // triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
16436
+ // return;
16437
+ }
16438
+ // Fixed on 2025-03-06
16439
+ if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
16440
+ console.debug('[A] Refreshing warning/error on field '+ field);
16441
+ // if ( typeof($allFields[field]._cancelled) == 'undefined' ) {
16442
+ refreshWarning($allFields[field]);
16443
+ // }
16444
+ handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
16445
+ updateSubmitTriggerState( $currentForm, isFormValid);
16446
+ }
16447
+
16448
+ if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
16449
+ // update toolbar
16450
+ if (!gina.forms.errors)
16451
+ gina.forms.errors = {};
16452
+
16453
+ var objCallback = {
16454
+ id : formId,
16455
+ errors : instance.$forms[formId].errors || {}
16456
+ };
16457
+
16458
+ window.ginaToolbar.update('forms', objCallback);
16208
16459
  }
16460
+
16461
+
16462
+ triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
16463
+ return;
16209
16464
  }
16210
16465
 
16211
16466
  // is this the last or the only field to be validated ?
16212
- var needsGlobalReValidation = false, isFormValid = null;
16467
+ var needsGlobalReValidation = false;
16213
16468
  if ( listedFields.length == 1 || listedFields[listedFields.length-1] == field) {
16214
16469
  // trigger end of validation
16215
16470
  // console.debug(field +' is the last element to be validated for formId: '+ formId, cb._errors, instance.$forms[formId].errors);
16216
16471
  isFormValid = ( cb._errors.count() > 0 ) ? false : true;
16217
16472
  if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)) {
16218
- //console.debug('should update error display now ', cb._errors);
16473
+ console.debug('[1] Should update error display now ', cb._errors);
16219
16474
  instance.$forms[formId].errors = merge(cb._errors, instance.$forms[formId].errors);
16475
+ console.debug('[2] Should update error display now ', instance.$forms[formId].errors);
16220
16476
  refreshWarning($allFields[field]);
16221
16477
  handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
16222
16478
  updateSubmitTriggerState( $currentForm, isFormValid);
@@ -16392,7 +16648,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
16392
16648
 
16393
16649
  for (var c in rules) {
16394
16650
  if (!/^\_case\_/.test(c) ) continue;
16395
- if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
16651
+ if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
16396
16652
  if ( typeof(rules[c].conditions[0].rules) == 'undefined' ) continue;
16397
16653
 
16398
16654
 
@@ -16574,7 +16830,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
16574
16830
  // filtering conditions
16575
16831
  for (var _c = 0, _cLen = rules[c].conditions.length; _c < _cLen; ++_c) {
16576
16832
 
16577
- if (rules[c].conditions[_c].case != caseValue) {
16833
+ if (
16834
+ Array.isArray(rules[c].conditions[_c].case)
16835
+ && rules[c].conditions[_c].case.indexOf(caseValue) == -1
16836
+ ||
16837
+ !Array.isArray(rules[c].conditions[_c].case)
16838
+ && rules[c].conditions[_c].case != caseValue
16839
+
16840
+ ) {
16578
16841
  continue;
16579
16842
  }
16580
16843
 
@@ -16719,7 +16982,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
16719
16982
  if (
16720
16983
  conditions[c]['case'] === caseValue
16721
16984
  ||
16722
- Array.isArray(conditions[c]['case']) && conditions[c]['case'].indexOf(caseValue) > -1
16985
+ Array.isArray(conditions[c]['case'])
16986
+ && conditions[c]['case'].indexOf(caseValue) > -1
16723
16987
  ||
16724
16988
  /^\//.test(conditions[c]['case'])
16725
16989
  ) {
@@ -16929,6 +17193,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
16929
17193
  'data' : formatData( _data )
16930
17194
  });
16931
17195
  removeListener(gina, event.target, 'validated.' + event.target.id);
17196
+
17197
+
16932
17198
  return
16933
17199
  }
16934
17200
  });
@@ -18643,11 +18909,11 @@ define('gina', [ 'require', 'vendor/uuid', 'lib/merge', 'utils/events', 'helpers
18643
18909
  return construct
18644
18910
  });
18645
18911
  /*!
18646
- * Engine.IO v6.2.2
18647
- * (c) 2014-2022 Guillermo Rauch
18912
+ * Engine.IO v6.6.2
18913
+ * (c) 2014-2024 Guillermo Rauch
18648
18914
  * Released under the MIT License.
18649
18915
  */
18650
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define('vendor/engine.io',e):(t="undefined"!=typeof globalThis?globalThis:t||self).eio=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function n(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t}function o(){return o=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},o.apply(this,arguments)}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function c(t,e,r){return c=u()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&a(o,r.prototype),o},c.apply(null,arguments)}function p(t){var e="function"==typeof Map?new Map:void 0;return p=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return c(t,arguments,s(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),a(n,t)},p(t)}function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?h(t):e}function f(t){var e=u();return function(){var r,n=s(t);if(e){var o=s(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return l(this,r)}}function d(t,e,r){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(r):o.value}},d(t,e,r||t)}var y=Object.create(null);y.open="0",y.close="1",y.ping="2",y.pong="3",y.message="4",y.upgrade="5",y.noop="6";var v=Object.create(null);Object.keys(y).forEach((function(t){v[y[t]]=t}));for(var m={type:"error",data:"parser error"},g="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),b="function"==typeof ArrayBuffer,k=function(t,e,r){var n,o=t.type,i=t.data;return g&&i instanceof Blob?e?r(i):w(i,r):b&&(i instanceof ArrayBuffer||(n=i,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer))?e?r(i):w(new Blob([i]),r):r(y[o]+(i||""))},w=function(t,e){var r=new FileReader;return r.onload=function(){var t=r.result.split(",")[1];e("b"+t)},r.readAsDataURL(t)},T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S="undefined"==typeof Uint8Array?[]:new Uint8Array(256),R=0;R<T.length;R++)S[T.charCodeAt(R)]=R;var x="function"==typeof ArrayBuffer,O=function(t,e){if("string"!=typeof t)return{type:"message",data:P(t,e)};var r=t.charAt(0);return"b"===r?{type:"message",data:E(t.substring(1),e)}:v[r]?t.length>1?{type:v[r],data:t.substring(1)}:{type:v[r]}:m},E=function(t,e){if(x){var r=function(t){var e,r,n,o,i,s=.75*t.length,a=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),p=new Uint8Array(c);for(e=0;e<a;e+=4)r=S[t.charCodeAt(e)],n=S[t.charCodeAt(e+1)],o=S[t.charCodeAt(e+2)],i=S[t.charCodeAt(e+3)],p[u++]=r<<2|n>>4,p[u++]=(15&n)<<4|o>>2,p[u++]=(3&o)<<6|63&i;return c}(t);return P(r,e)}return{base64:!0,data:t}},P=function(t,e){return"blob"===e&&t instanceof ArrayBuffer?new Blob([t]):t},B=String.fromCharCode(30);function C(t){if(t)return function(t){for(var e in C.prototype)t[e]=C.prototype[e];return t}(t)}C.prototype.on=C.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},C.prototype.once=function(t,e){function r(){this.off(t,r),e.apply(this,arguments)}return r.fn=e,this.on(t,r),this},C.prototype.off=C.prototype.removeListener=C.prototype.removeAllListeners=C.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o<n.length;o++)if((r=n[o])===e||r.fn===e){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+t],this},C.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),r=this._callbacks["$"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(r){n=0;for(var o=(r=r.slice(0)).length;n<o;++n)r[n].apply(this,e)}return this},C.prototype.emitReserved=C.prototype.emit,C.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},C.prototype.hasListeners=function(t){return!!this.listeners(t).length};var L="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function q(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return r.reduce((function(e,r){return t.hasOwnProperty(r)&&(e[r]=t[r]),e}),{})}var A=setTimeout,j=clearTimeout;function _(t,e){e.useNativeTimers?(t.setTimeoutFn=A.bind(L),t.clearTimeoutFn=j.bind(L)):(t.setTimeoutFn=setTimeout.bind(L),t.clearTimeoutFn=clearTimeout.bind(L))}var U,H=function(t){i(n,t);var r=f(n);function n(t,o,i){var s;return e(this,n),(s=r.call(this,t)).description=o,s.context=i,s.type="TransportError",s}return n}(p(Error)),F=function(t){i(o,t);var r=f(o);function o(t){var n;return e(this,o),(n=r.call(this)).writable=!1,_(h(n),t),n.opts=t,n.query=t.query,n.readyState="",n.socket=t.socket,n}return n(o,[{key:"onError",value:function(t,e,r){return d(s(o.prototype),"emitReserved",this).call(this,"error",new H(t,e,r)),this}},{key:"open",value:function(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this}},{key:"close",value:function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}},{key:"send",value:function(t){"open"===this.readyState&&this.write(t)}},{key:"onOpen",value:function(){this.readyState="open",this.writable=!0,d(s(o.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(t){var e=O(t,this.socket.binaryType);this.onPacket(e)}},{key:"onPacket",value:function(t){d(s(o.prototype),"emitReserved",this).call(this,"packet",t)}},{key:"onClose",value:function(t){this.readyState="closed",d(s(o.prototype),"emitReserved",this).call(this,"close",t)}}]),o}(C),D="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),M={},I=0,W=0;function N(t){var e="";do{e=D[t%64]+e,t=Math.floor(t/64)}while(t>0);return e}function X(){var t=N(+new Date);return t!==U?(I=0,U=t):t+"."+N(I++)}for(;W<64;W++)M[D[W]]=W;function $(t){var e="";for(var r in t)t.hasOwnProperty(r)&&(e.length&&(e+="&"),e+=encodeURIComponent(r)+"="+encodeURIComponent(t[r]));return e}function z(t){for(var e={},r=t.split("&"),n=0,o=r.length;n<o;n++){var i=r[n].split("=");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return e}var V=!1;try{V="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}var G=V;function J(t){var e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||G))return new XMLHttpRequest}catch(t){}if(!e)try{return new(L[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}function K(){}var Q=null!=new J({xdomain:!1}).responseType,Y=function(t){i(s,t);var r=f(s);function s(t){var n;if(e(this,s),(n=r.call(this,t)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,i=location.port;i||(i=o?"443":"80"),n.xd="undefined"!=typeof location&&t.hostname!==location.hostname||i!==t.port,n.xs=t.secure!==o}var a=t&&t.forceBase64;return n.supportsBinary=Q&&!a,n}return n(s,[{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(t){var e=this;this.readyState="pausing";var r=function(){e.readyState="paused",t()};if(this.polling||!this.writable){var n=0;this.polling&&(n++,this.once("pollComplete",(function(){--n||r()}))),this.writable||(n++,this.once("drain",(function(){--n||r()})))}else r()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}},{key:"onData",value:function(t){var e=this;(function(t,e){for(var r=t.split(B),n=[],o=0;o<r.length;o++){var i=O(r[o],e);if(n.push(i),"error"===i.type)break}return n})(t,this.socket.binaryType).forEach((function(t){if("opening"===e.readyState&&"open"===t.type&&e.onOpen(),"close"===t.type)return e.onClose({description:"transport closed by the server"}),!1;e.onPacket(t)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}},{key:"doClose",value:function(){var t=this,e=function(){t.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}},{key:"write",value:function(t){var e=this;this.writable=!1,function(t,e){var r=t.length,n=new Array(r),o=0;t.forEach((function(t,i){k(t,!1,(function(t){n[i]=t,++o===r&&e(n.join(B))}))}))}(t,(function(t){e.doWrite(t,(function(){e.writable=!0,e.emitReserved("drain")}))}))}},{key:"uri",value:function(){var t=this.query||{},e=this.opts.secure?"https":"http",r="";!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=X()),this.supportsBinary||t.sid||(t.b64=1),this.opts.port&&("https"===e&&443!==Number(this.opts.port)||"http"===e&&80!==Number(this.opts.port))&&(r=":"+this.opts.port);var n=$(t);return e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(n.length?"?"+n:"")}},{key:"request",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t,{xd:this.xd,xs:this.xs},this.opts),new Z(this.uri(),t)}},{key:"doWrite",value:function(t,e){var r=this,n=this.request({method:"POST",data:t});n.on("success",e),n.on("error",(function(t,e){r.onError("xhr post error",t,e)}))}},{key:"doPoll",value:function(){var t=this,e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(function(e,r){t.onError("xhr poll error",e,r)})),this.pollXhr=e}},{key:"name",get:function(){return"polling"}}]),s}(F),Z=function(t){i(o,t);var r=f(o);function o(t,n){var i;return e(this,o),_(h(i=r.call(this)),n),i.opts=n,i.method=n.method||"GET",i.uri=t,i.async=!1!==n.async,i.data=void 0!==n.data?n.data:null,i.create(),i}return n(o,[{key:"create",value:function(){var t=this,e=q(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;var r=this.xhr=new J(e);try{r.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders)for(var n in r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(n)&&r.setRequestHeader(n,this.opts.extraHeaders[n])}catch(t){}if("POST"===this.method)try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{r.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=function(){4===r.readyState&&(200===r.status||1223===r.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof r.status?r.status:0)}),0))},r.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=o.requestsCount++,o.requests[this.index]=this)}},{key:"onError",value:function(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=K,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete o.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),o}(C);if(Z.requestsCount=0,Z.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",tt);else if("function"==typeof addEventListener){addEventListener("onpagehide"in L?"pagehide":"unload",tt,!1)}function tt(){for(var t in Z.requests)Z.requests.hasOwnProperty(t)&&Z.requests[t].abort()}var et="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,e){return e(t,0)},rt=L.WebSocket||L.MozWebSocket,nt="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),ot=function(t){i(o,t);var r=f(o);function o(t){var n;return e(this,o),(n=r.call(this,t)).supportsBinary=!t.forceBase64,n}return n(o,[{key:"doOpen",value:function(){if(this.check()){var t=this.uri(),e=this.opts.protocols,r=nt?{}:q(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=nt?new rt(t,e,r):e?new rt(t,e):new rt(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}}},{key:"addEventListeners",value:function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws._socket.unref(),t.onOpen()},this.ws.onclose=function(e){return t.onClose({description:"websocket connection closed",context:e})},this.ws.onmessage=function(e){return t.onData(e.data)},this.ws.onerror=function(e){return t.onError("websocket error",e)}}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var r=function(r){var n=t[r],o=r===t.length-1;k(n,e.supportsBinary,(function(t){try{e.ws.send(t)}catch(t){}o&&et((function(){e.writable=!0,e.emitReserved("drain")}),e.setTimeoutFn)}))},n=0;n<t.length;n++)r(n)}},{key:"doClose",value:function(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}},{key:"uri",value:function(){var t=this.query||{},e=this.opts.secure?"wss":"ws",r="";this.opts.port&&("wss"===e&&443!==Number(this.opts.port)||"ws"===e&&80!==Number(this.opts.port))&&(r=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=X()),this.supportsBinary||(t.b64=1);var n=$(t);return e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(n.length?"?"+n:"")}},{key:"check",value:function(){return!!rt}},{key:"name",get:function(){return"websocket"}}]),o}(F),it={websocket:ot,polling:Y},st=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,at=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function ut(t){var e=t,r=t.indexOf("["),n=t.indexOf("]");-1!=r&&-1!=n&&(t=t.substring(0,r)+t.substring(r,n).replace(/:/g,";")+t.substring(n,t.length));for(var o,i,s=st.exec(t||""),a={},u=14;u--;)a[at[u]]=s[u]||"";return-1!=r&&-1!=n&&(a.source=e,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a.pathNames=function(t,e){var r=/\/{2,9}/g,n=e.replace(r,"/").split("/");"/"!=e.substr(0,1)&&0!==e.length||n.splice(0,1);"/"==e.substr(e.length-1,1)&&n.splice(n.length-1,1);return n}(0,a.path),a.queryKey=(o=a.query,i={},o.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,e,r){e&&(i[e]=r)})),i),a}var ct=function(r){i(a,r);var s=f(a);function a(r){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e(this,a),n=s.call(this),r&&"object"===t(r)&&(i=r,r=null),r?(r=ut(r),i.hostname=r.host,i.secure="https"===r.protocol||"wss"===r.protocol,i.port=r.port,r.query&&(i.query=r.query)):i.host&&(i.hostname=ut(i.host).host),_(h(n),i),n.secure=null!=i.secure?i.secure:"undefined"!=typeof location&&"https:"===location.protocol,i.hostname&&!i.port&&(i.port=n.secure?"443":"80"),n.hostname=i.hostname||("undefined"!=typeof location?location.hostname:"localhost"),n.port=i.port||("undefined"!=typeof location&&location.port?location.port:n.secure?"443":"80"),n.transports=i.transports||["polling","websocket"],n.readyState="",n.writeBuffer=[],n.prevBufferLen=0,n.opts=o({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},i),n.opts.path=n.opts.path.replace(/\/$/,"")+"/","string"==typeof n.opts.query&&(n.opts.query=z(n.opts.query)),n.id=null,n.upgrades=null,n.pingInterval=null,n.pingTimeout=null,n.pingTimeoutTimer=null,"function"==typeof addEventListener&&(n.opts.closeOnBeforeunload&&addEventListener("beforeunload",(function(){n.transport&&(n.transport.removeAllListeners(),n.transport.close())}),!1),"localhost"!==n.hostname&&(n.offlineEventListener=function(){n.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",n.offlineEventListener,!1))),n.open(),n}return n(a,[{key:"createTransport",value:function(t){var e=o({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);var r=o({},this.opts.transportOptions[t],this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new it[t](r)}},{key:"open",value:function(){var t,e=this;if(this.opts.rememberUpgrade&&a.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){e.emitReserved("error","No transports available")}),0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}},{key:"setTransport",value:function(t){var e=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(t){return e.onClose("transport close",t)}))}},{key:"probe",value:function(t){var e=this,r=this.createTransport(t),n=!1;a.priorWebsocketSuccess=!1;var o=function(){n||(r.send([{type:"ping",data:"probe"}]),r.once("packet",(function(t){if(!n)if("pong"===t.type&&"probe"===t.data){if(e.upgrading=!0,e.emitReserved("upgrading",r),!r)return;a.priorWebsocketSuccess="websocket"===r.name,e.transport.pause((function(){n||"closed"!==e.readyState&&(h(),e.setTransport(r),r.send([{type:"upgrade"}]),e.emitReserved("upgrade",r),r=null,e.upgrading=!1,e.flush())}))}else{var o=new Error("probe error");o.transport=r.name,e.emitReserved("upgradeError",o)}})))};function i(){n||(n=!0,h(),r.close(),r=null)}var s=function(t){var n=new Error("probe error: "+t);n.transport=r.name,i(),e.emitReserved("upgradeError",n)};function u(){s("transport closed")}function c(){s("socket closed")}function p(t){r&&t.name!==r.name&&i()}var h=function(){r.removeListener("open",o),r.removeListener("error",s),r.removeListener("close",u),e.off("close",c),e.off("upgrading",p)};r.once("open",o),r.once("error",s),r.once("close",u),this.once("close",c),this.once("upgrading",p),r.open()}},{key:"onOpen",value:function(){if(this.readyState="open",a.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause)for(var t=0,e=this.upgrades.length;t<e;t++)this.probe(this.upgrades[t])}},{key:"onPacket",value:function(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.resetPingTimeout(),this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":var e=new Error("server error");e.code=t.data,this.onError(e);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}}},{key:"onHandshake",value:function(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.upgrades=this.filterUpgrades(t.upgrades),this.pingInterval=t.pingInterval,this.pingTimeout=t.pingTimeout,this.maxPayload=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}},{key:"resetPingTimeout",value:function(){var t=this;this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((function(){t.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}},{key:"onDrain",value:function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}},{key:"flush",value:function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}},{key:"getWritablePackets",value:function(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var t,e=1,r=0;r<this.writeBuffer.length;r++){var n=this.writeBuffer[r].data;if(n&&(e+="string"==typeof(t=n)?function(t){for(var e=0,r=0,n=0,o=t.length;n<o;n++)(e=t.charCodeAt(n))<128?r+=1:e<2048?r+=2:e<55296||e>=57344?r+=3:(n++,r+=4);return r}(t):Math.ceil(1.33*(t.byteLength||t.size))),r>0&&e>this.maxPayload)return this.writeBuffer.slice(0,r);e+=2}return this.writeBuffer}},{key:"write",value:function(t,e,r){return this.sendPacket("message",t,e,r),this}},{key:"send",value:function(t,e,r){return this.sendPacket("message",t,e,r),this}},{key:"sendPacket",value:function(t,e,r,n){if("function"==typeof e&&(n=e,e=void 0),"function"==typeof r&&(n=r,r=null),"closing"!==this.readyState&&"closed"!==this.readyState){(r=r||{}).compress=!1!==r.compress;var o={type:t,data:e,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),n&&this.once("flush",n),this.flush()}}},{key:"close",value:function(){var t=this,e=function(){t.onClose("forced close"),t.transport.close()},r=function r(){t.off("upgrade",r),t.off("upgradeError",r),e()},n=function(){t.once("upgrade",r),t.once("upgradeError",r)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?n():e()})):this.upgrading?n():e()),this}},{key:"onError",value:function(t){a.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}},{key:"onClose",value:function(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&removeEventListener("offline",this.offlineEventListener,!1),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(t){for(var e=[],r=0,n=t.length;r<n;r++)~this.transports.indexOf(t[r])&&e.push(t[r]);return e}}]),a}(C);ct.protocol=4;return function(t,e){return new ct(t,e)}}));
18916
+ !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define('vendor/engine.io',n):(t="undefined"!=typeof globalThis?globalThis:t||self).eio=n()}(this,(function(){"use strict";function t(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,u(r.key),r)}}function n(n,i,r){return i&&t(n.prototype,i),r&&t(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n}function i(){return i=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)({}).hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t},i.apply(null,arguments)}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function e(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(o=function(){return!!t})()}function s(t,n){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},s(t,n)}function u(t){var n=function(t,n){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==typeof n?n:n+""}function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}function h(t){var n="function"==typeof Map?new Map:void 0;return h=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(n){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,i)}function i(){return function(t,n,i){if(o())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,n);var e=new(t.bind.apply(t,r));return i&&s(e,i.prototype),e}(t,arguments,r(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),s(i,t)},h(t)}var c=Object.create(null);c.open="0",c.close="1",c.ping="2",c.pong="3",c.message="4",c.upgrade="5",c.noop="6";var a=Object.create(null);Object.keys(c).forEach((function(t){a[c[t]]=t}));var p,l={type:"error",data:"parser error"},v="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),d="function"==typeof ArrayBuffer,y=function(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer},b=function(t,n,i){var r=t.type,e=t.data;return v&&e instanceof Blob?n?i(e):g(e,i):d&&(e instanceof ArrayBuffer||y(e))?n?i(e):g(new Blob([e]),i):i(c[r]+(e||""))},g=function(t,n){var i=new FileReader;return i.onload=function(){var t=i.result.split(",")[1];n("b"+(t||""))},i.readAsDataURL(t)};function w(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}for(var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k="undefined"==typeof Uint8Array?[]:new Uint8Array(256),A=0;A<64;A++)k[m.charCodeAt(A)]=A;var j,B="function"==typeof ArrayBuffer,E=function(t,n){if("string"!=typeof t)return{type:"message",data:U(t,n)};var i=t.charAt(0);return"b"===i?{type:"message",data:O(t.substring(1),n)}:a[i]?t.length>1?{type:a[i],data:t.substring(1)}:{type:a[i]}:l},O=function(t,n){if(B){var i=function(t){var n,i,r,e,o,s=.75*t.length,u=t.length,f=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var h=new ArrayBuffer(s),c=new Uint8Array(h);for(n=0;n<u;n+=4)i=k[t.charCodeAt(n)],r=k[t.charCodeAt(n+1)],e=k[t.charCodeAt(n+2)],o=k[t.charCodeAt(n+3)],c[f++]=i<<2|r>>4,c[f++]=(15&r)<<4|e>>2,c[f++]=(3&e)<<6|63&o;return h}(t);return U(i,n)}return{base64:!0,data:t}},U=function(t,n){return"blob"===n?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer},T=String.fromCharCode(30);function S(){return new TransformStream({transform:function(t,n){!function(t,n){v&&t.data instanceof Blob?t.data.arrayBuffer().then(w).then(n):d&&(t.data instanceof ArrayBuffer||y(t.data))?n(w(t.data)):b(t,!1,(function(t){p||(p=new TextEncoder),n(p.encode(t))}))}(t,(function(i){var r,e=i.length;if(e<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,e);else if(e<65536){r=new Uint8Array(3);var o=new DataView(r.buffer);o.setUint8(0,126),o.setUint16(1,e)}else{r=new Uint8Array(9);var s=new DataView(r.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(e))}t.data&&"string"!=typeof t.data&&(r[0]|=128),n.enqueue(r),n.enqueue(i)}))}})}function M(t){return t.reduce((function(t,n){return t+n.length}),0)}function x(t,n){if(t[0].length===n)return t.shift();for(var i=new Uint8Array(n),r=0,e=0;e<n;e++)i[e]=t[0][r++],r===t[0].length&&(t.shift(),r=0);return t.length&&r<t[0].length&&(t[0]=t[0].slice(r)),i}function C(t){if(t)return function(t){for(var n in C.prototype)t[n]=C.prototype[n];return t}(t)}C.prototype.on=C.prototype.addEventListener=function(t,n){return this.t=this.t||{},(this.t["$"+t]=this.t["$"+t]||[]).push(n),this},C.prototype.once=function(t,n){function i(){this.off(t,i),n.apply(this,arguments)}return i.fn=n,this.on(t,i),this},C.prototype.off=C.prototype.removeListener=C.prototype.removeAllListeners=C.prototype.removeEventListener=function(t,n){if(this.t=this.t||{},0==arguments.length)return this.t={},this;var i,r=this.t["$"+t];if(!r)return this;if(1==arguments.length)return delete this.t["$"+t],this;for(var e=0;e<r.length;e++)if((i=r[e])===n||i.fn===n){r.splice(e,1);break}return 0===r.length&&delete this.t["$"+t],this},C.prototype.emit=function(t){this.t=this.t||{};for(var n=new Array(arguments.length-1),i=this.t["$"+t],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(i){r=0;for(var e=(i=i.slice(0)).length;r<e;++r)i[r].apply(this,n)}return this},C.prototype.emitReserved=C.prototype.emit,C.prototype.listeners=function(t){return this.t=this.t||{},this.t["$"+t]||[]},C.prototype.hasListeners=function(t){return!!this.listeners(t).length};var L="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,n){return n(t,0)},R="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function D(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return i.reduce((function(n,i){return t.hasOwnProperty(i)&&(n[i]=t[i]),n}),{})}var P=R.setTimeout,I=R.clearTimeout;function $(t,n){n.useNativeTimers?(t.setTimeoutFn=P.bind(R),t.clearTimeoutFn=I.bind(R)):(t.setTimeoutFn=R.setTimeout.bind(R),t.clearTimeoutFn=R.clearTimeout.bind(R))}function q(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}var N=function(t){function n(n,i,r){var e;return(e=t.call(this,n)||this).description=i,e.context=r,e.type="TransportError",e}return e(n,t),n}(h(Error)),V=function(t){function n(n){var i;return(i=t.call(this)||this).writable=!1,$(i,n),i.opts=n,i.query=n.query,i.socket=n.socket,i.supportsBinary=!n.forceBase64,i}e(n,t);var i=n.prototype;return i.onError=function(n,i,r){return t.prototype.emitReserved.call(this,"error",new N(n,i,r)),this},i.open=function(){return this.readyState="opening",this.doOpen(),this},i.close=function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this},i.send=function(t){"open"===this.readyState&&this.write(t)},i.onOpen=function(){this.readyState="open",this.writable=!0,t.prototype.emitReserved.call(this,"open")},i.onData=function(t){var n=E(t,this.socket.binaryType);this.onPacket(n)},i.onPacket=function(n){t.prototype.emitReserved.call(this,"packet",n)},i.onClose=function(n){this.readyState="closed",t.prototype.emitReserved.call(this,"close",n)},i.pause=function(t){},i.createUri=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t+"://"+this.i()+this.o()+this.opts.path+this.u(n)},i.i=function(){var t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"},i.o=function(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""},i.u=function(t){var n=function(t){var n="";for(var i in t)t.hasOwnProperty(i)&&(n.length&&(n+="&"),n+=encodeURIComponent(i)+"="+encodeURIComponent(t[i]));return n}(t);return n.length?"?"+n:""},n}(C),X=function(t){function i(){var n;return(n=t.apply(this,arguments)||this).h=!1,n}e(i,t);var r=i.prototype;return r.doOpen=function(){this.p()},r.pause=function(t){var n=this;this.readyState="pausing";var i=function(){n.readyState="paused",t()};if(this.h||!this.writable){var r=0;this.h&&(r++,this.once("pollComplete",(function(){--r||i()}))),this.writable||(r++,this.once("drain",(function(){--r||i()})))}else i()},r.p=function(){this.h=!0,this.doPoll(),this.emitReserved("poll")},r.onData=function(t){var n=this;(function(t,n){for(var i=t.split(T),r=[],e=0;e<i.length;e++){var o=E(i[e],n);if(r.push(o),"error"===o.type)break}return r})(t,this.socket.binaryType).forEach((function(t){if("opening"===n.readyState&&"open"===t.type&&n.onOpen(),"close"===t.type)return n.onClose({description:"transport closed by the server"}),!1;n.onPacket(t)})),"closed"!==this.readyState&&(this.h=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.p())},r.doClose=function(){var t=this,n=function(){t.write([{type:"close"}])};"open"===this.readyState?n():this.once("open",n)},r.write=function(t){var n=this;this.writable=!1,function(t,n){var i=t.length,r=new Array(i),e=0;t.forEach((function(t,o){b(t,!1,(function(t){r[o]=t,++e===i&&n(r.join(T))}))}))}(t,(function(t){n.doWrite(t,(function(){n.writable=!0,n.emitReserved("drain")}))}))},r.uri=function(){var t=this.opts.secure?"https":"http",n=this.query||{};return!1!==this.opts.timestampRequests&&(n[this.opts.timestampParam]=q()),this.supportsBinary||n.sid||(n.b64=1),this.createUri(t,n)},n(i,[{key:"name",get:function(){return"polling"}}])}(V),H=!1;try{H="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}var F=H;function z(){}var G=function(t){function n(n){var i;if(i=t.call(this,n)||this,"undefined"!=typeof location){var r="https:"===location.protocol,e=location.port;e||(e=r?"443":"80"),i.xd="undefined"!=typeof location&&n.hostname!==location.hostname||e!==n.port}return i}e(n,t);var i=n.prototype;return i.doWrite=function(t,n){var i=this,r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(function(t,n){i.onError("xhr post error",t,n)}))},i.doPoll=function(){var t=this,n=this.request();n.on("data",this.onData.bind(this)),n.on("error",(function(n,i){t.onError("xhr poll error",n,i)})),this.pollXhr=n},n}(X),J=function(t){function n(n,i,r){var e;return(e=t.call(this)||this).createRequest=n,$(e,r),e.l=r,e.v=r.method||"GET",e.m=i,e.k=void 0!==r.data?r.data:null,e.A(),e}e(n,t);var i=n.prototype;return i.A=function(){var t,i=this,r=D(this.l,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.l.xd;var e=this.j=this.createRequest(r);try{e.open(this.v,this.m,!0);try{if(this.l.extraHeaders)for(var o in e.setDisableHeaderCheck&&e.setDisableHeaderCheck(!0),this.l.extraHeaders)this.l.extraHeaders.hasOwnProperty(o)&&e.setRequestHeader(o,this.l.extraHeaders[o])}catch(t){}if("POST"===this.v)try{e.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{e.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.l.cookieJar)||void 0===t||t.addCookies(e),"withCredentials"in e&&(e.withCredentials=this.l.withCredentials),this.l.requestTimeout&&(e.timeout=this.l.requestTimeout),e.onreadystatechange=function(){var t;3===e.readyState&&(null===(t=i.l.cookieJar)||void 0===t||t.parseCookies(e.getResponseHeader("set-cookie"))),4===e.readyState&&(200===e.status||1223===e.status?i.B():i.setTimeoutFn((function(){i.O("number"==typeof e.status?e.status:0)}),0))},e.send(this.k)}catch(t){return void this.setTimeoutFn((function(){i.O(t)}),0)}"undefined"!=typeof document&&(this.U=n.requestsCount++,n.requests[this.U]=this)},i.O=function(t){this.emitReserved("error",t,this.j),this.T(!0)},i.T=function(t){if(void 0!==this.j&&null!==this.j){if(this.j.onreadystatechange=z,t)try{this.j.abort()}catch(t){}"undefined"!=typeof document&&delete n.requests[this.U],this.j=null}},i.B=function(){var t=this.j.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.T())},i.abort=function(){this.T()},n}(C);if(J.requestsCount=0,J.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",W);else if("function"==typeof addEventListener){addEventListener("onpagehide"in R?"pagehide":"unload",W,!1)}function W(){for(var t in J.requests)J.requests.hasOwnProperty(t)&&J.requests[t].abort()}var K,Q=(K=Z({xdomain:!1}))&&null!==K.responseType,Y=function(t){function n(n){var i;i=t.call(this,n)||this;var r=n&&n.forceBase64;return i.supportsBinary=Q&&!r,i}return e(n,t),n.prototype.request=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return i(t,{xd:this.xd},this.opts),new J(Z,this.uri(),t)},n}(G);function Z(t){var n=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!n||F))return new XMLHttpRequest}catch(t){}if(!n)try{return new(R[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}var _="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),tt=function(t){function i(){return t.apply(this,arguments)||this}e(i,t);var r=i.prototype;return r.doOpen=function(){var t=this.uri(),n=this.opts.protocols,i=_?{}:D(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(i.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(t,n,i)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()},r.addEventListeners=function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws.S.unref(),t.onOpen()},this.ws.onclose=function(n){return t.onClose({description:"websocket connection closed",context:n})},this.ws.onmessage=function(n){return t.onData(n.data)},this.ws.onerror=function(n){return t.onError("websocket error",n)}},r.write=function(t){var n=this;this.writable=!1;for(var i=function(){var i=t[r],e=r===t.length-1;b(i,n.supportsBinary,(function(t){try{n.doWrite(i,t)}catch(t){}e&&L((function(){n.writable=!0,n.emitReserved("drain")}),n.setTimeoutFn)}))},r=0;r<t.length;r++)i()},r.doClose=function(){void 0!==this.ws&&(this.ws.onerror=function(){},this.ws.close(),this.ws=null)},r.uri=function(){var t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=q()),this.supportsBinary||(n.b64=1),this.createUri(t,n)},n(i,[{key:"name",get:function(){return"websocket"}}])}(V),nt=R.WebSocket||R.MozWebSocket,it=function(t){function n(){return t.apply(this,arguments)||this}e(n,t);var i=n.prototype;return i.createSocket=function(t,n,i){return _?new nt(t,n,i):n?new nt(t,n):new nt(t)},i.doWrite=function(t,n){this.ws.send(n)},n}(tt),rt=function(t){function i(){return t.apply(this,arguments)||this}e(i,t);var r=i.prototype;return r.doOpen=function(){var t=this;try{this.M=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(t){return this.emitReserved("error",t)}this.M.closed.then((function(){t.onClose()})).catch((function(n){t.onError("webtransport error",n)})),this.M.ready.then((function(){t.M.createBidirectionalStream().then((function(n){var i=function(t,n){j||(j=new TextDecoder);var i=[],r=0,e=-1,o=!1;return new TransformStream({transform:function(s,u){for(i.push(s);;){if(0===r){if(M(i)<1)break;var f=x(i,1);o=!(128&~f[0]),e=127&f[0],r=e<126?3:126===e?1:2}else if(1===r){if(M(i)<2)break;var h=x(i,2);e=new DataView(h.buffer,h.byteOffset,h.length).getUint16(0),r=3}else if(2===r){if(M(i)<8)break;var c=x(i,8),a=new DataView(c.buffer,c.byteOffset,c.length),p=a.getUint32(0);if(p>Math.pow(2,21)-1){u.enqueue(l);break}e=p*Math.pow(2,32)+a.getUint32(4),r=3}else{if(M(i)<e)break;var v=x(i,e);u.enqueue(E(o?v:j.decode(v),n)),r=0}if(0===e||e>t){u.enqueue(l);break}}}})}(Number.MAX_SAFE_INTEGER,t.socket.binaryType),r=n.readable.pipeThrough(i).getReader(),e=S();e.readable.pipeTo(n.writable),t.C=e.writable.getWriter();!function n(){r.read().then((function(i){var r=i.done,e=i.value;r||(t.onPacket(e),n())})).catch((function(t){}))}();var o={type:"open"};t.query.sid&&(o.data='{"sid":"'.concat(t.query.sid,'"}')),t.C.write(o).then((function(){return t.onOpen()}))}))}))},r.write=function(t){var n=this;this.writable=!1;for(var i=function(){var i=t[r],e=r===t.length-1;n.C.write(i).then((function(){e&&L((function(){n.writable=!0,n.emitReserved("drain")}),n.setTimeoutFn)}))},r=0;r<t.length;r++)i()},r.doClose=function(){var t;null===(t=this.M)||void 0===t||t.close()},n(i,[{key:"name",get:function(){return"webtransport"}}])}(V),et={websocket:it,webtransport:rt,polling:Y},ot=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,st=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function ut(t){if(t.length>8e3)throw"URI too long";var n=t,i=t.indexOf("["),r=t.indexOf("]");-1!=i&&-1!=r&&(t=t.substring(0,i)+t.substring(i,r).replace(/:/g,";")+t.substring(r,t.length));for(var e,o,s=ot.exec(t||""),u={},f=14;f--;)u[st[f]]=s[f]||"";return-1!=i&&-1!=r&&(u.source=n,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=function(t,n){var i=/\/{2,9}/g,r=n.replace(i,"/").split("/");"/"!=n.slice(0,1)&&0!==n.length||r.splice(0,1);"/"==n.slice(-1)&&r.splice(r.length-1,1);return r}(0,u.path),u.queryKey=(e=u.query,o={},e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,n,i){n&&(o[n]=i)})),o),u}var ft="function"==typeof addEventListener&&"function"==typeof removeEventListener,ht=[];ft&&addEventListener("offline",(function(){ht.forEach((function(t){return t()}))}),!1);var ct=function(t){function n(n,r){var e;if((e=t.call(this)||this).binaryType="arraybuffer",e.writeBuffer=[],e.L=0,e.R=-1,e.D=-1,e.P=-1,e.I=1/0,n&&"object"===f(n)&&(r=n,n=null),n){var o=ut(n);r.hostname=o.host,r.secure="https"===o.protocol||"wss"===o.protocol,r.port=o.port,o.query&&(r.query=o.query)}else r.host&&(r.hostname=ut(r.host).host);return $(e,r),e.secure=null!=r.secure?r.secure:"undefined"!=typeof location&&"https:"===location.protocol,r.hostname&&!r.port&&(r.port=e.secure?"443":"80"),e.hostname=r.hostname||("undefined"!=typeof location?location.hostname:"localhost"),e.port=r.port||("undefined"!=typeof location&&location.port?location.port:e.secure?"443":"80"),e.transports=[],e.$={},r.transports.forEach((function(t){var n=t.prototype.name;e.transports.push(n),e.$[n]=t})),e.opts=i({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},r),e.opts.path=e.opts.path.replace(/\/$/,"")+(e.opts.addTrailingSlash?"/":""),"string"==typeof e.opts.query&&(e.opts.query=function(t){for(var n={},i=t.split("&"),r=0,e=i.length;r<e;r++){var o=i[r].split("=");n[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return n}(e.opts.query)),ft&&(e.opts.closeOnBeforeunload&&(e.q=function(){e.transport&&(e.transport.removeAllListeners(),e.transport.close())},addEventListener("beforeunload",e.q,!1)),"localhost"!==e.hostname&&(e.N=function(){e.V("transport close",{description:"network connection lost"})},ht.push(e.N))),e.opts.withCredentials&&(e.X=void 0),e.H(),e}e(n,t);var r=n.prototype;return r.createTransport=function(t){var n=i({},this.opts.query);n.EIO=4,n.transport=t,this.id&&(n.sid=this.id);var r=i({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this.$[t](r)},r.H=function(){var t=this;if(0!==this.transports.length){var i=this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket")?"websocket":this.transports[0];this.readyState="opening";var r=this.createTransport(i);r.open(),this.setTransport(r)}else this.setTimeoutFn((function(){t.emitReserved("error","No transports available")}),0)},r.setTransport=function(t){var n=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.F.bind(this)).on("packet",this.G.bind(this)).on("error",this.O.bind(this)).on("close",(function(t){return n.V("transport close",t)}))},r.onOpen=function(){this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush()},r.G=function(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.J("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this.W();break;case"error":var n=new Error("server error");n.code=t.data,this.O(n);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}},r.onHandshake=function(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.R=t.pingInterval,this.D=t.pingTimeout,this.P=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.W()},r.W=function(){var t=this;this.clearTimeoutFn(this.K);var n=this.R+this.D;this.I=Date.now()+n,this.K=this.setTimeoutFn((function(){t.V("ping timeout")}),n),this.opts.autoUnref&&this.K.unref()},r.F=function(){this.writeBuffer.splice(0,this.L),this.L=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()},r.flush=function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var t=this.Y();this.transport.send(t),this.L=t.length,this.emitReserved("flush")}},r.Y=function(){if(!(this.P&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var t,n=1,i=0;i<this.writeBuffer.length;i++){var r=this.writeBuffer[i].data;if(r&&(n+="string"==typeof(t=r)?function(t){for(var n=0,i=0,r=0,e=t.length;r<e;r++)(n=t.charCodeAt(r))<128?i+=1:n<2048?i+=2:n<55296||n>=57344?i+=3:(r++,i+=4);return i}(t):Math.ceil(1.33*(t.byteLength||t.size))),i>0&&n>this.P)return this.writeBuffer.slice(0,i);n+=2}return this.writeBuffer},r.Z=function(){var t=this;if(!this.I)return!0;var n=Date.now()>this.I;return n&&(this.I=0,L((function(){t.V("ping timeout")}),this.setTimeoutFn)),n},r.write=function(t,n,i){return this.J("message",t,n,i),this},r.send=function(t,n,i){return this.J("message",t,n,i),this},r.J=function(t,n,i,r){if("function"==typeof n&&(r=n,n=void 0),"function"==typeof i&&(r=i,i=null),"closing"!==this.readyState&&"closed"!==this.readyState){(i=i||{}).compress=!1!==i.compress;var e={type:t,data:n,options:i};this.emitReserved("packetCreate",e),this.writeBuffer.push(e),r&&this.once("flush",r),this.flush()}},r.close=function(){var t=this,n=function(){t.V("forced close"),t.transport.close()},i=function i(){t.off("upgrade",i),t.off("upgradeError",i),n()},r=function(){t.once("upgrade",i),t.once("upgradeError",i)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?r():n()})):this.upgrading?r():n()),this},r.O=function(t){if(n.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&"opening"===this.readyState)return this.transports.shift(),this.H();this.emitReserved("error",t),this.V("transport error",t)},r.V=function(t,n){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState){if(this.clearTimeoutFn(this.K),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),ft&&(this.q&&removeEventListener("beforeunload",this.q,!1),this.N)){var i=ht.indexOf(this.N);-1!==i&&ht.splice(i,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.L=0}},n}(C);ct.protocol=4;var at=function(t){function n(){var n;return(n=t.apply(this,arguments)||this)._=[],n}e(n,t);var i=n.prototype;return i.onOpen=function(){if(t.prototype.onOpen.call(this),"open"===this.readyState&&this.opts.upgrade)for(var n=0;n<this._.length;n++)this.tt(this._[n])},i.tt=function(t){var n=this,i=this.createTransport(t),r=!1;ct.priorWebsocketSuccess=!1;var e=function(){r||(i.send([{type:"ping",data:"probe"}]),i.once("packet",(function(t){if(!r)if("pong"===t.type&&"probe"===t.data){if(n.upgrading=!0,n.emitReserved("upgrading",i),!i)return;ct.priorWebsocketSuccess="websocket"===i.name,n.transport.pause((function(){r||"closed"!==n.readyState&&(c(),n.setTransport(i),i.send([{type:"upgrade"}]),n.emitReserved("upgrade",i),i=null,n.upgrading=!1,n.flush())}))}else{var e=new Error("probe error");e.transport=i.name,n.emitReserved("upgradeError",e)}})))};function o(){r||(r=!0,c(),i.close(),i=null)}var s=function(t){var r=new Error("probe error: "+t);r.transport=i.name,o(),n.emitReserved("upgradeError",r)};function u(){s("transport closed")}function f(){s("socket closed")}function h(t){i&&t.name!==i.name&&o()}var c=function(){i.removeListener("open",e),i.removeListener("error",s),i.removeListener("close",u),n.off("close",f),n.off("upgrading",h)};i.once("open",e),i.once("error",s),i.once("close",u),this.once("close",f),this.once("upgrading",h),-1!==this._.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn((function(){r||i.open()}),200):i.open()},i.onHandshake=function(n){this._=this.nt(n.upgrades),t.prototype.onHandshake.call(this,n)},i.nt=function(t){for(var n=[],i=0;i<t.length;i++)~this.transports.indexOf(t[i])&&n.push(t[i]);return n},n}(ct),pt=function(t){function n(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="object"===f(n)?n:i;return(!r.transports||r.transports&&"string"==typeof r.transports[0])&&(r.transports=(r.transports||["polling","websocket","webtransport"]).map((function(t){return et[t]})).filter((function(t){return!!t}))),t.call(this,n,r)||this}return e(n,t),n}(at);return function(t,n){return new pt(t,n)}}));
18651
18917
  //# sourceMappingURL=engine.io.min.js.map
18652
18918
  ;
18653
18919
  function BindingHelper(handlerContext) {
@@ -18749,6 +19015,7 @@ define( 'helpers/binding',[],function() { return BindingHelper });
18749
19015
  * file that was distributed with this source code.
18750
19016
  */
18751
19017
 
19018
+
18752
19019
  // nodejs dependencies
18753
19020
  if ( typeof(module) !== 'undefined' && module.exports) {
18754
19021
  var fs = require('fs');
@@ -19045,7 +19312,7 @@ function Domain(options, cb) {
19045
19312
  return host
19046
19313
  }
19047
19314
 
19048
- console.debug('[DOMAIN][getFQDN] UQDN: ' + host);
19315
+ console.debug('[DOMAIN][getFQDN] FQDN: ' + host);
19049
19316
  var ipObj = null
19050
19317
  , err = null
19051
19318
  ;
@@ -19094,6 +19361,7 @@ function Domain(options, cb) {
19094
19361
  if ( typeof(jsonFormat) == 'undefined' ) {
19095
19362
  jsonFormat = false
19096
19363
  }
19364
+ urlOrHostname = urlOrHostname.trim();
19097
19365
  var isSLD = false
19098
19366
  , isRegisteredTldOrSld = false
19099
19367
  , rootDomain = urlOrHostname.replace(/^(.*)\:\/\/|\/(.*)/g, '')