tnp-helpers 18.0.25 → 19.0.0

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 (357) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  5. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  6. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  7. package/browser/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  8. package/browser/esm2022/lib/base/classes/base-vscode.mjs +1 -4
  9. package/browser/esm2022/lib/base/classes/index.mjs +1 -3
  10. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  11. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  12. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  13. package/browser/esm2022/lib/models.mjs +1 -1
  14. package/browser/fesm2022/tnp-helpers.mjs +460 -443
  15. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  16. package/{client/lib/base/classes → browser/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  17. package/browser/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  18. package/browser/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  19. package/browser/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  20. package/browser/lib/base/classes/index.d.ts +0 -2
  21. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  22. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  23. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  24. package/browser/lib/models.d.ts +3 -1
  25. package/client/README.md +24 -24
  26. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  27. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  28. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  29. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  30. package/client/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  31. package/client/esm2022/lib/base/classes/base-vscode.mjs +1 -4
  32. package/client/esm2022/lib/base/classes/index.mjs +1 -3
  33. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  34. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  35. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  36. package/client/esm2022/lib/models.mjs +1 -1
  37. package/client/fesm2022/tnp-helpers.mjs +460 -443
  38. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  39. package/{websql/lib/base/classes → client/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  40. package/client/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  41. package/client/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  42. package/client/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  43. package/client/lib/base/classes/index.d.ts +0 -2
  44. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  45. package/client/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  46. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  47. package/client/lib/models.d.ts +3 -1
  48. package/index.js.map +1 -1
  49. package/lib/base/classes/base-bower-json.js.map +1 -1
  50. package/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +1 -1
  51. package/lib/base/classes/base-cli-worker/base-cli-worker-config.js.map +1 -0
  52. package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js.map +1 -0
  53. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +39 -0
  54. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js +148 -0
  55. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js.map +1 -0
  56. package/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +9 -41
  57. package/lib/base/classes/{base-cli-worker.js → base-cli-worker/base-cli-worker.js} +43 -176
  58. package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -0
  59. package/lib/base/classes/base-cli-worker/index.d.ts +4 -0
  60. package/lib/base/classes/base-cli-worker/index.js +21 -0
  61. package/lib/base/classes/base-cli-worker/index.js.map +1 -0
  62. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -1
  63. package/lib/base/classes/base-compiler-for-project.js.map +1 -1
  64. package/lib/base/classes/base-db.js.map +1 -1
  65. package/lib/base/classes/base-debounce-compiler-for-project.js.map +1 -1
  66. package/lib/base/classes/base-feature-for-project.js.map +1 -1
  67. package/lib/base/classes/base-git.js.map +1 -1
  68. package/lib/base/classes/base-global-command-line.backend.js +1 -1
  69. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  70. package/lib/base/classes/base-ignore-hide.js.map +1 -1
  71. package/lib/base/classes/base-json-file-reader.js.map +1 -1
  72. package/lib/base/classes/base-library-build.js.map +1 -1
  73. package/lib/base/classes/base-linked-projects.js.map +1 -1
  74. package/lib/base/classes/base-node-modules.js.map +1 -1
  75. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  76. package/lib/base/classes/base-package-json.js.map +1 -1
  77. package/lib/base/classes/base-powershell.js.map +1 -1
  78. package/lib/base/classes/base-process-manager.js.map +1 -1
  79. package/lib/base/classes/base-project-resolver.js.map +1 -1
  80. package/lib/base/classes/base-project.js.map +1 -1
  81. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  82. package/lib/base/classes/base-release-process.js.map +1 -1
  83. package/lib/base/classes/base-start-config.backend.js.map +1 -1
  84. package/lib/base/classes/base-static-pages.js.map +1 -1
  85. package/lib/base/classes/base-vscode.js +8 -12
  86. package/lib/base/classes/base-vscode.js.map +1 -1
  87. package/lib/base/classes/index.d.ts +0 -2
  88. package/lib/base/classes/index.js +0 -2
  89. package/lib/base/classes/index.js.map +1 -1
  90. package/lib/base/commit-data.js.map +1 -1
  91. package/lib/base/config-database.js.map +1 -1
  92. package/lib/base/core-project.js.map +1 -1
  93. package/lib/base/gh-temp-code.js.map +1 -1
  94. package/lib/base/index-rebuilder.backend.js.map +1 -1
  95. package/lib/base/index.js.map +1 -1
  96. package/lib/base/linked-project.js.map +1 -1
  97. package/lib/base/project-database.js.map +1 -1
  98. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  99. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  100. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  101. package/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  102. package/lib/base/tcp-udp-ports/ports.controller.js +2 -2
  103. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  104. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  105. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  106. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +32 -0
  107. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js +256 -0
  108. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js.map +1 -0
  109. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +4 -29
  110. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +7 -257
  111. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  112. package/lib/base/translate.js.map +1 -1
  113. package/lib/build-info._auto-generated_.js.map +1 -1
  114. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  115. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  116. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
  117. package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
  118. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  119. package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
  120. package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
  121. package/lib/helpers/for-backend/helpers-path.backend.js.map +1 -1
  122. package/lib/helpers/for-backend/helpers-process.js.map +1 -1
  123. package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
  124. package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
  125. package/lib/helpers/for-browser/angular.helper.js +2 -2
  126. package/lib/helpers/for-browser/angular.helper.js.map +1 -1
  127. package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
  128. package/lib/helpers/helpers-array-obj.js.map +1 -1
  129. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  130. package/lib/helpers/helpers-numbers.js.map +1 -1
  131. package/lib/helpers/helpers-strings-regexes.js.map +1 -1
  132. package/lib/helpers/helpers-strings.js.map +1 -1
  133. package/lib/helpers/helpers.js.map +1 -1
  134. package/lib/index._auto-generated_.js.map +1 -1
  135. package/lib/index.js.map +1 -1
  136. package/lib/lowdb/adapters/Memory.js.map +1 -1
  137. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  138. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  139. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  140. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  141. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  142. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  143. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  144. package/lib/lowdb/browser.js.map +1 -1
  145. package/lib/lowdb/core/Low.js.map +1 -1
  146. package/lib/lowdb/examples/browser.js.map +1 -1
  147. package/lib/lowdb/examples/cli.js.map +1 -1
  148. package/lib/lowdb/examples/in-memory.js.map +1 -1
  149. package/lib/lowdb/examples/server.js.map +1 -1
  150. package/lib/lowdb/index.js.map +1 -1
  151. package/lib/lowdb/node.js.map +1 -1
  152. package/lib/lowdb/presets/browser.js.map +1 -1
  153. package/lib/lowdb/presets/node.js.map +1 -1
  154. package/lib/models.d.ts +2 -0
  155. package/lib/models.js.map +1 -1
  156. package/lib/old/base-component.js +2 -2
  157. package/lib/old/base-component.js.map +1 -1
  158. package/lib/old/base-formly-component.js +2 -2
  159. package/lib/old/base-formly-component.js.map +1 -1
  160. package/lib/old/condition-wait.js.map +1 -1
  161. package/lib/old/dual-component-ctrl.js +2 -2
  162. package/lib/old/dual-component-ctrl.js.map +1 -1
  163. package/lib/old/execute-command.js.map +1 -1
  164. package/lib/old/helpers.js.map +1 -1
  165. package/lib/old/models.js.map +1 -1
  166. package/lib/utils.js.map +1 -1
  167. package/lib/validators/validators-firedev.js.map +1 -1
  168. package/lib/validators/validators-git.js.map +1 -1
  169. package/lib/validators/validators-network.js.map +1 -1
  170. package/lib/validators/validators.js.map +1 -1
  171. package/migrations/1736198527297_init.js.map +1 -1
  172. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  173. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  174. package/migrations/index.js.map +1 -1
  175. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  176. package/package.json +2 -2
  177. package/tmp-environment.json +3 -3
  178. package/websql/README.md +24 -24
  179. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  180. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  181. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  182. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  183. package/websql/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  184. package/websql/esm2022/lib/base/classes/base-vscode.mjs +1 -4
  185. package/websql/esm2022/lib/base/classes/index.mjs +1 -3
  186. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  187. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  188. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  189. package/websql/esm2022/lib/models.mjs +1 -1
  190. package/websql/fesm2022/tnp-helpers.mjs +460 -443
  191. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  192. package/{browser/lib/base/classes → websql/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  193. package/websql/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  194. package/websql/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  195. package/websql/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  196. package/websql/lib/base/classes/index.d.ts +0 -2
  197. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  198. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  199. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  200. package/websql/lib/models.d.ts +3 -1
  201. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  202. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  203. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  204. package/cli.d.ts +0 -6
  205. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  206. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  207. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  208. package/env.d.ts +0 -3
  209. package/environments/angular-node-app/env.angular-node-app.__.d.ts +0 -3
  210. package/environments/angular-node-app/env.angular-node-app.prod.d.ts +0 -3
  211. package/environments/docs-webapp/env.docs-webapp.__.d.ts +0 -3
  212. package/environments/electron-app/env.electron-app.__.d.ts +0 -3
  213. package/environments/electron-app/env.electron-app.prod.d.ts +0 -3
  214. package/environments/mobile-app/env.mobile-app.__.d.ts +0 -3
  215. package/environments/mobile-app/env.mobile-app.prod.d.ts +0 -3
  216. package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.__.d.ts +0 -3
  217. package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.prod.d.ts +0 -3
  218. package/environments/vscode-plugin/env.vscode-plugin.__.d.ts +0 -6
  219. package/environments/vscode-plugin/env.vscode-plugin.prod.d.ts +0 -4
  220. package/global-typings.d.ts +0 -41
  221. package/lib/base/classes/base-cli-worker-config.js.map +0 -1
  222. package/lib/base/classes/base-cli-worker-controller.js.map +0 -1
  223. package/lib/base/classes/base-cli-worker.js.map +0 -1
  224. package/lib/base/classes/base-detached-service.d.ts +0 -5
  225. package/lib/base/classes/base-detached-service.js +0 -12
  226. package/lib/base/classes/base-detached-service.js.map +0 -1
  227. package/lib/base/classes/base-github-pages.d.ts +0 -14
  228. package/lib/constants.d.ts +0 -77
  229. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +0 -104
  230. package/lib/helpers/for-backend/helpers-file-folders.backend.js +0 -956
  231. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +0 -1
  232. package/lib/helpers/for-backend/helpers-process.backend.d.ts +0 -87
  233. package/lib/helpers/for-backend/helpers-process.backend.js +0 -496
  234. package/lib/helpers/for-backend/helpers-process.backend.js.map +0 -1
  235. package/lib/helpers/for-backend/ts-code/index.d.ts +0 -1
  236. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.d.ts +0 -29
  237. package/lib/helpers.d.ts +0 -0
  238. package/lib/options.d.ts +0 -252
  239. package/lib/project/abstract/artifacts/__helpers__/artifacts-helpers.d.ts +0 -28
  240. package/lib/project/abstract/artifacts/__helpers__/branding.d.ts +0 -13
  241. package/lib/project/abstract/artifacts/__helpers__/environment-config/environment-config.d.ts +0 -26
  242. package/lib/project/abstract/artifacts/angular-node-app/artifact-angular-node-app.d.ts +0 -53
  243. package/lib/project/abstract/artifacts/angular-node-app/index.d.ts +0 -1
  244. package/lib/project/abstract/artifacts/angular-node-app/tools/assets-list-file-generator.d.ts +0 -19
  245. package/lib/project/abstract/artifacts/angular-node-app/tools/assets-manager.d.ts +0 -5
  246. package/lib/project/abstract/artifacts/angular-node-app/tools/basename-manager.d.ts +0 -17
  247. package/lib/project/abstract/artifacts/angular-node-app/tools/docs-app-build-config.d.ts +0 -21
  248. package/lib/project/abstract/artifacts/angular-node-app/tools/inside-struct-angular13-app.d.ts +0 -6
  249. package/lib/project/abstract/artifacts/angular-node-app/tools/migrations-helper.d.ts +0 -18
  250. package/lib/project/abstract/artifacts/artifacts-manager.d.ts +0 -39
  251. package/lib/project/abstract/artifacts/base-artifact.d.ts +0 -52
  252. package/lib/project/abstract/artifacts/docs-webapp/artifact-docs-webapp.d.ts +0 -27
  253. package/lib/project/abstract/artifacts/docs-webapp/docs.d.ts +0 -55
  254. package/lib/project/abstract/artifacts/docs-webapp/index.d.ts +0 -1
  255. package/lib/project/abstract/artifacts/electron-app/artifact-electron-app.d.ts +0 -22
  256. package/lib/project/abstract/artifacts/electron-app/index.d.ts +0 -1
  257. package/lib/project/abstract/artifacts/mobile-app/artifact-mobile-app.d.ts +0 -16
  258. package/lib/project/abstract/artifacts/mobile-app/index.d.ts +0 -1
  259. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/artifact-npm-lib-and-cli-tool.d.ts +0 -82
  260. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/index.d.ts +0 -1
  261. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/browser-code-cut.d.ts +0 -102
  262. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/code-cut.d.ts +0 -41
  263. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/code-split-process.enum.d.ts +0 -44
  264. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/cut-fn.d.ts +0 -1
  265. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/file-split-process.d.ts +0 -14
  266. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/compilation-backend.d.ts +0 -60
  267. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/compilation-browser.d.ts +0 -41
  268. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/incremental-build-process.d.ts +0 -23
  269. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/base-copy-manager.d.ts +0 -85
  270. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-helpers.d.ts +0 -12
  271. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-organization.d.ts +0 -0
  272. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-standalone.d.ts +0 -77
  273. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager.d.ts +0 -7
  274. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/mjs-fesm-module-spliter.d.ts +0 -46
  275. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/source-maping-url.d.ts +0 -11
  276. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/typescript-dts-fixer.d.ts +0 -25
  277. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/files-recreator.d.ts +0 -133
  278. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/files-templates.d.ts +0 -8
  279. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/index.d.ts +0 -2
  280. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/index-autogen-provider.d.ts +0 -15
  281. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-struct-angular13-lib.d.ts +0 -6
  282. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/inside-struct.d.ts +0 -44
  283. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/inside-structures.d.ts +0 -17
  284. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/base-inside-struct.d.ts +0 -12
  285. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/inside-struct-constants.d.ts +0 -2
  286. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/inside-struct-helpers.d.ts +0 -12
  287. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/image-loader.d.ts +0 -1
  288. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-default.d.ts +0 -1
  289. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-ellipsis.d.ts +0 -1
  290. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-facebook.d.ts +0 -1
  291. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-grid.d.ts +0 -1
  292. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-heart.d.ts +0 -1
  293. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-ripple.d.ts +0 -1
  294. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loaders.d.ts +0 -2
  295. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/lib-project/lib-project-base.d.ts +0 -9
  296. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/lib-project/lib-project-standalone.d.ts +0 -9
  297. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/singular-build.d.ts +0 -0
  298. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/cypress-test-runner.d.ts +0 -7
  299. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/index.d.ts +0 -3
  300. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/jest-test-runner.d.ts +0 -8
  301. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/mocha-test-runner.d.ts +0 -7
  302. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/webpack-backend-compilation.d.ts +0 -0
  303. package/lib/project/abstract/artifacts/vscode-plugin/artifact-vscode-plugin.d.ts +0 -33
  304. package/lib/project/abstract/artifacts/vscode-plugin/index.d.ts +0 -1
  305. package/lib/project/abstract/framework.d.ts +0 -61
  306. package/lib/project/abstract/git.d.ts +0 -26
  307. package/lib/project/abstract/library-build.d.ts +0 -9
  308. package/lib/project/abstract/linked-projects.d.ts +0 -4
  309. package/lib/project/abstract/linter.d.ts +0 -9
  310. package/lib/project/abstract/node-modules.d.ts +0 -35
  311. package/lib/project/abstract/npm-helpers.d.ts +0 -22
  312. package/lib/project/abstract/package-json.d.ts +0 -14
  313. package/lib/project/abstract/packages-recognition.d.ts +0 -16
  314. package/lib/project/abstract/project-resolve.d.ts +0 -37
  315. package/lib/project/abstract/project.d.ts +0 -63
  316. package/lib/project/abstract/quick-fixes.d.ts +0 -18
  317. package/lib/project/abstract/release-process/index.d.ts +0 -1
  318. package/lib/project/abstract/release-process/release-config.d.ts +0 -0
  319. package/lib/project/abstract/release-process/release-process.d.ts +0 -26
  320. package/lib/project/abstract/taon-worker/taon-build.controller.d.ts +0 -5
  321. package/lib/project/abstract/taon-worker/taon-build.entity.d.ts +0 -8
  322. package/lib/project/abstract/taon-worker/taon-env.entity.d.ts +0 -10
  323. package/lib/project/abstract/taon-worker/taon-project.entity.d.ts +0 -8
  324. package/lib/project/abstract/taon-worker/taon.context.d.ts +0 -56
  325. package/lib/project/abstract/taon-worker/taon.controller.d.ts +0 -7
  326. package/lib/project/abstract/taon-worker/taon.worker.d.ts +0 -40
  327. package/lib/project/abstract/taonJson.d.ts +0 -49
  328. package/lib/project/abstract/vscode.d.ts +0 -80
  329. package/lib/project/cli/base-cli.d.ts +0 -8
  330. package/lib/project/cli/cli-BRANDING.d.ts +0 -23
  331. package/lib/project/cli/cli-BUILD.d.ts +0 -4
  332. package/lib/project/cli/cli-DOCS.d.ts +0 -4
  333. package/lib/project/cli/cli-INIT.d.ts +0 -13
  334. package/lib/project/cli/cli-LINK.d.ts +0 -23
  335. package/lib/project/cli/cli-MIGRATION.d.ts +0 -4
  336. package/lib/project/cli/cli-NEW.d.ts +0 -15
  337. package/lib/project/cli/cli-OPEN.d.ts +0 -15
  338. package/lib/project/cli/cli-RELEASE.d.ts +0 -4
  339. package/lib/project/cli/cli-TEST.d.ts +0 -23
  340. package/lib/project/cli/cli-VERSION.d.ts +0 -16
  341. package/lib/project/cli/cli-VSCODE.d.ts +0 -17
  342. package/lib/project/cli/cli-_GLOBAL_.d.ts +0 -85
  343. package/lib/project/cli/index.d.ts +0 -29
  344. package/lib/project/index.d.ts +0 -0
  345. package/lib/templates.d.ts +0 -1
  346. package/migrations/1737301724542_addingSampleData.d.ts +0 -14
  347. package/start.backend.d.ts +0 -2
  348. package/taon.jsonc +0 -34
  349. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  350. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  351. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  352. /package/browser/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  353. /package/client/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  354. /package/lib/base/classes/{base-cli-worker-config.js → base-cli-worker/base-cli-worker-config.js} +0 -0
  355. /package/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  356. /package/lib/base/classes/{base-cli-worker-controller.js → base-cli-worker/base-cli-worker-controller.js} +0 -0
  357. /package/websql/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
@@ -1,523 +0,0 @@
1
- import { _, UtilsTerminal, } from 'tnp-core/websql'; /* */
2
- /* */
3
- /* */
4
- /* */
5
- /* */
6
- /* */
7
- /* */
8
- /* */
9
- /* */
10
- import { Helpers } from '../../index';
11
- const WORKER_INIT_START_TIME_LIMIT = 25; // 15 seconds max to start worker
12
- const START_PORT_FOR_SERVICES = 3600;
13
- export class BaseCliWorker {
14
- constructor(
15
- /**
16
- * unique id for service
17
- */
18
- serviceID,
19
- /**
20
- * external command that will start service
21
- */
22
- startCommand,
23
- /**
24
- * unique id for service
25
- */
26
- serviceVersion) {
27
- this.serviceID = serviceID;
28
- this.startCommand = startCommand;
29
- this.serviceVersion = serviceVersion;
30
- this.SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';
31
- }
32
- get pathToProcessLocalInfoJson() {
33
- /* */
34
- /* */
35
- /* */
36
- /* */
37
- /* */
38
- /* */
39
- /* */
40
- /* */
41
- return (void 0);
42
- }
43
- get processLocalInfoObj() {
44
- /* */
45
- /* */
46
- /* */
47
- /* */
48
- /* */
49
- /* */
50
- return (void 0);
51
- }
52
- async startDetachedIfNeedsToBeStarted(options) {
53
- /* */
54
- /* */
55
- /* */
56
- /* */
57
- /* */
58
- /* */
59
- /* */
60
- /* */
61
- /* */
62
- /* */
63
- /* */
64
- /* */
65
- /* */
66
- /* */
67
- /* */
68
- /* */
69
- return (void 0);
70
- }
71
- /**
72
- * stop if started
73
- */
74
- async kill(options) {
75
- /* */
76
- /* */
77
- /* */
78
- /* */
79
- /* */
80
- /* */
81
- /* */
82
- /* */
83
- /* */
84
- /* */
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- /* */
93
- /* */
94
- /* */
95
- return (void 0);
96
- }
97
- /**
98
- * kill detached process and start again
99
- * @param options.detached - default true
100
- */
101
- async restart(options) {
102
- options = options || {};
103
- options.detached = _.isUndefined(options.detached) ? true : false;
104
- await this.kill();
105
- //longer because os is disposing process previous process
106
- if (options.detached) {
107
- Helpers.info(`Restarting service "${this.serviceID}" in detached mode...`);
108
- await this.startDetached(options);
109
- }
110
- else {
111
- Helpers.info(`Restarting service "${this.serviceID}" in current process...`);
112
- await this.startNormallyInCurrentProcess();
113
- }
114
- }
115
- /**
116
- * only for cli start
117
- * @param cliParams on from cli
118
- */
119
- async cliStartProcedure(cliParams) {
120
- const instance = this;
121
- const detached = !!cliParams['detached'] || !!cliParams['detach'];
122
- /* */
123
- /* */
124
- /* */
125
- /* */
126
- /* */
127
- /* */
128
- /* */
129
- /* */
130
- /* */
131
- /* */
132
- /* */
133
- /* */
134
- /* */
135
- /* */
136
- /* */
137
- /* */
138
- /* */
139
- /* */
140
- /* */
141
- return (void 0);
142
- }
143
- preventExternalConfigChange() {
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- /* */
150
- /* */
151
- /* */
152
- /* */
153
- /* */
154
- /* */
155
- /* */
156
- /* */
157
- return (void 0);
158
- }
159
- async preventStartIfAlreadyStarted() {
160
- /* */
161
- /* */
162
- /* */
163
- /* */
164
- /* */
165
- /* */
166
- /* */
167
- /* */
168
- /* */
169
- /* */
170
- /* */
171
- /* */
172
- /* */
173
- return (void 0);
174
- }
175
- async killWorkerWithLowerVersion() {
176
- /* */
177
- /* */
178
- /* */
179
- /* */
180
- /* */
181
- /* */
182
- /* */
183
- /* */
184
- /* */
185
- /* */
186
- /* */
187
- /* */
188
- /* */
189
- /* */
190
- /* */
191
- /* */
192
- /* */
193
- /* */
194
- /* */
195
- return (void 0);
196
- }
197
- /**
198
- * This has 2 purposes:
199
- * - infinite check when when detached process finished starting
200
- * - quick check if service is healthy / already started
201
- */
202
- async isServiceHealthy(options) {
203
- /* */
204
- /* */
205
- /* */
206
- /* */
207
- /* */
208
- /* */
209
- /* */
210
- /* */
211
- /* */
212
- /* */
213
- /* */
214
- /* */
215
- /* */
216
- /* */
217
- /* */
218
- /* */
219
- /* */
220
- /* */
221
- /* */
222
- /* */
223
- /* */
224
- /* */
225
- /* */
226
- /* */
227
- /* */
228
- /* */
229
- /* */
230
- /* */
231
- /* */
232
- /* */
233
- /* */
234
- /* */
235
- /* */
236
- /* */
237
- /* */
238
- /* */
239
- /* */
240
- /* */
241
- /* */
242
- /* */
243
- /* */
244
- /* */
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- /* */
251
- /* */
252
- /* */
253
- /* */
254
- /* */
255
- /* */
256
- /* */
257
- /* */
258
- /* */
259
- /* */
260
- /* */
261
- /* */
262
- /* */
263
- /* */
264
- /* */
265
- /* */
266
- /* */
267
- /* */
268
- /* */
269
- /* */
270
- /* */
271
- /* */
272
- /* */
273
- /* */
274
- /* */
275
- /* */
276
- /* */
277
- return (void 0);
278
- }
279
- /**
280
- * start if not started detached process
281
- */
282
- async startDetached(options) {
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- /* */
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- /* */
297
- /* */
298
- /* */
299
- /* */
300
- /* */
301
- /* */
302
- /* */
303
- /* */
304
- /* */
305
- /* */
306
- /* */
307
- /* */
308
- /* */
309
- /* */
310
- /* */
311
- /* */
312
- return (void 0);
313
- }
314
- async headerText() {
315
- return _.startCase(this.serviceID);
316
- }
317
- textHeaderStyle() {
318
- return 'block';
319
- }
320
- headerTextAlign() {
321
- return 'left';
322
- }
323
- /**
324
- * override whole terminal header
325
- */
326
- async header() {
327
- /* */
328
- /* */
329
- /* */
330
- /* */
331
- /* */
332
- /* */
333
- /* */
334
- /* */
335
- /* */
336
- /* */
337
- /* */
338
- /* */
339
- /* */
340
- /* */
341
- /* */
342
- /* */
343
- /* */
344
- return (void 0);
345
- }
346
- async infoMessageBelowHeader() {
347
- /* */
348
- /* */
349
- /* */
350
- /* */
351
- /* */
352
- /* */
353
- /* */
354
- /* */
355
- /* */
356
- /* */
357
- /* */
358
- /* */
359
- return (void 0);
360
- }
361
- get backAction() {
362
- return {
363
- back: {
364
- name: 'Back',
365
- },
366
- };
367
- }
368
- get chooseAction() {
369
- return {
370
- emptyAction: {
371
- name: ' -- choose any action below --',
372
- action: async () => { },
373
- },
374
- };
375
- }
376
- displaySpecialWorkerReadyMessage() {
377
- console.log(this.SPECIAL_WORKER_READY_MESSAGE);
378
- }
379
- getWorkerTerminalActions(options) {
380
- /* */
381
- /* */
382
- /* */
383
- /* */
384
- /* */
385
- /* */
386
- /* */
387
- /* */
388
- /* */
389
- /* */
390
- /* */
391
- /* */
392
- /* */
393
- /* */
394
- /* */
395
- /* */
396
- /* */
397
- /* */
398
- /* */
399
- /* */
400
- /* */
401
- /* */
402
- /* */
403
- /* */
404
- /* */
405
- /* */
406
- /* */
407
- /* */
408
- /* */
409
- /* */
410
- /* */
411
- /* */
412
- /* */
413
- /* */
414
- /* */
415
- /* */
416
- /* */
417
- return (void 0);
418
- }
419
- async infoScreen(options) {
420
- options = options || {};
421
- while (true) {
422
- Helpers.clearConsole();
423
- await this.header();
424
- await this.infoMessageBelowHeader();
425
- const choices = this.getWorkerTerminalActions(options);
426
- const choice = await UtilsTerminal.select({
427
- choices,
428
- question: 'Choose action',
429
- });
430
- const action = choices[choice].action;
431
- const result = await action();
432
- if (choice === 'exit' && result) {
433
- break;
434
- }
435
- }
436
- }
437
- saveProcessInfo(processConfig) {
438
- /* */
439
- /* */
440
- /* */
441
- /* */
442
- /* */
443
- /* */
444
- /* */
445
- /* */
446
- /* */
447
- /* */
448
- /* */
449
- /* */
450
- /* */
451
- /* */
452
- /* */
453
- return (void 0);
454
- }
455
- async initializeWorkerMetadata() {
456
- /* */
457
- /* */
458
- /* */
459
- /* */
460
- /* */
461
- /* */
462
- /* */
463
- /* */
464
- /* */
465
- /* */
466
- /* */
467
- /* */
468
- /* */
469
- /* */
470
- /* */
471
- /* */
472
- /* */
473
- /* */
474
- /* */
475
- /* */
476
- /* */
477
- return (void 0);
478
- }
479
- async waitForProcessPortSavedToDisk() {
480
- /* */
481
- /* */
482
- /* */
483
- /* */
484
- /* */
485
- /* */
486
- /* */
487
- /* */
488
- /* */
489
- /* */
490
- /* */
491
- /* */
492
- /* */
493
- /* */
494
- /* */
495
- /* */
496
- /* */
497
- /* */
498
- /* */
499
- /* */
500
- /* */
501
- /* */
502
- return (void 0);
503
- }
504
- async getServicePort() {
505
- /* */
506
- /* */
507
- /* */
508
- /* */
509
- /* */
510
- /* */
511
- /* */
512
- /* */
513
- /* */
514
- /* */
515
- /* */
516
- /* */
517
- /* */
518
- return (void 0);
519
- }
520
- }
521
- ;
522
- ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker.ts
523
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jbGktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jbGFzc2VzL2Jhc2UtY2xpLXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQWtDLENBQUMsRUFBK0MsYUFBYSxHQUFHLE1BQU0saUJBQWlCLENBQUMsQ0FBQSxLQUFLO0FBQ3RJLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU90QyxNQUFNLDRCQUE0QixHQUFHLEVBQUUsQ0FBQyxDQUFDLGlDQUFpQztBQUMxRSxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQztBQXFCckMsTUFBTSxPQUFnQixhQUFhO0lBTWpDO0lBQ0U7O09BRUc7SUFDZ0IsU0FBaUI7SUFDcEM7O09BRUc7SUFDZ0IsWUFBb0I7SUFDdkM7O09BRUc7SUFDZ0IsY0FBc0I7UUFSdEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUlqQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUlwQixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQWZqQyxpQ0FBNEIsR0FBRyxzQkFBc0IsQ0FBQztJQWdCN0QsQ0FBQztJQVlKLElBQWMsMEJBQTBCO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQWMsbUJBQW1CO1FBQ25DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFD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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsMEJBQTBCO1FBQzVDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7Ozs7T0FJRztJQUNPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUVoQztRQUNILEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNM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c0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy93ZWJzcWwnO1xuaW1wb3J0IHsgICBjaGFsaywgICBjcm9zc1BsYXRmb3JtUGF0aCwgICBfLCAgIG9zLCAgIGNob2tpZGFyLCAgIFV0aWxzUHJvY2VzcywgICBVdGlscywgICBVdGlsc1Rlcm1pbmFsLCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi8uLi9pbmRleCc7XG5cbmltcG9ydCB7IEJhc2VDbGlXb3JrZXJDb25maWcgfSBmcm9tICcuL2Jhc2UtY2xpLXdvcmtlci1jb25maWcnO1xuaW1wb3J0IHR5cGUgeyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlciB9IGZyb20gJy4vYmFzZS1jbGktd29ya2VyLWNvbnRyb2xsZXInO1xuXG5cblxuY29uc3QgV09SS0VSX0lOSVRfU1RBUlRfVElNRV9MSU1JVCA9IDI1OyAvLyAxNSBzZWNvbmRzIG1heCB0byBzdGFydCB3b3JrZXJcbmNvbnN0IFNUQVJUX1BPUlRfRk9SX1NFUlZJQ0VTID0gMzYwMDtcblxuXG5cbmV4cG9ydCB0eXBlIENmb250U3R5bGUgPVxuICB8ICdibG9jaydcbiAgfCAnc2xpY2snXG4gIHwgJ3RpbnknXG4gIHwgJ2dyaWQnXG4gIHwgJ3BhbGxldCdcbiAgfCAnc2hhZGUnXG4gIHwgJ2Nocm9tZSdcbiAgfCAnc2ltcGxlJ1xuICB8ICdzaW1wbGVCbG9jaydcbiAgfCAnM2QnXG4gIHwgJ3NpbXBsZTNkJ1xuICB8ICdodWdlJztcblxuZXhwb3J0IHR5cGUgQ2ZvbnRBbGlnbiA9ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyB8ICdibG9jayc7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDbGlXb3JrZXI8XG4gIFJFTU9URV9DVFJMIGV4dGVuZHMgQmFzZUNsaVdvcmtlckNvbnRyb2xsZXIgPSBCYXNlQ2xpV29ya2VyQ29udHJvbGxlcixcbj4ge1xuICBwcm90ZWN0ZWQgU1BFQ0lBTF9XT1JLRVJfUkVBRFlfTUVTU0FHRSA9ICckJCQgV09SS0VSX1JFQURZICQkJCc7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiB1bmlxdWUgaWQgZm9yIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VydmljZUlEOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogZXh0ZXJuYWwgY29tbWFuZCB0aGF0IHdpbGwgc3RhcnQgc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGFydENvbW1hbmQ6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiB1bmlxdWUgaWQgZm9yIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VydmljZVZlcnNpb246IHN0cmluZyxcbiAgKSB7fVxuXG5cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc3RhcnROb3JtYWxseUluQ3VycmVudFByb2Nlc3Mob3B0aW9ucz86IHt9KTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZ2V0Q29udHJvbGxlckZvclJlbW90ZUNvbm5lY3Rpb24oKTogUHJvbWlzZTxSRU1PVEVfQ1RSTD47XG5cblxuXG5cblxuICBwcm90ZWN0ZWQgZ2V0IHBhdGhUb1Byb2Nlc3NMb2NhbEluZm9Kc29uKCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGdldCBwcm9jZXNzTG9jYWxJbmZvT2JqKCk6IEJhc2VDbGlXb3JrZXJDb25maWcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG5cblxuXG4gIHB1YmxpYyBhc3luYyBzdGFydERldGFjaGVkSWZOZWVkc1RvQmVTdGFydGVkKG9wdGlvbnM/OiB7XG4gICAgdXNlQ3VycmVudFdpbmRvd0ZvckRldGFjaD86IGJvb2xlYW47XG4gIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzdG9wIGlmIHN0YXJ0ZWRcbiAgICovXG4gIGFzeW5jIGtpbGwob3B0aW9ucz86IHsgZG9udFJlbW92ZUNvbmZpZ0ZpbGU/OiBib29sZWFuIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICoga2lsbCBkZXRhY2hlZCBwcm9jZXNzIGFuZCBzdGFydCBhZ2FpblxuICAgKiBAcGFyYW0gb3B0aW9ucy5kZXRhY2hlZCAtIGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYXN5bmMgcmVzdGFydChvcHRpb25zPzoge1xuICAgIGRldGFjaGVkPzogYm9vbGVhbjtcbiAgICB1c2VDdXJyZW50V2luZG93Rm9yRGV0YWNoPzogYm9vbGVhbjtcbiAgfSkge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMuZGV0YWNoZWQgPSBfLmlzVW5kZWZpbmVkKG9wdGlvbnMuZGV0YWNoZWQpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIGF3YWl0IHRoaXMua2lsbCgpO1xuICAgIC8vbG9uZ2VyIGJlY2F1c2Ugb3MgaXMgZGlzcG9zaW5nIHByb2Nlc3MgcHJldmlvdXMgcHJvY2Vzc1xuXG4gICAgaWYgKG9wdGlvbnMuZGV0YWNoZWQpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhcbiAgICAgICAgYFJlc3RhcnRpbmcgc2VydmljZSBcIiR7dGhpcy5zZXJ2aWNlSUR9XCIgaW4gZGV0YWNoZWQgbW9kZS4uLmAsXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5zdGFydERldGFjaGVkKG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBIZWxwZXJzLmluZm8oXG4gICAgICAgIGBSZXN0YXJ0aW5nIHNlcnZpY2UgXCIke3RoaXMuc2VydmljZUlEfVwiIGluIGN1cnJlbnQgcHJvY2Vzcy4uLmAsXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5zdGFydE5vcm1hbGx5SW5DdXJyZW50UHJvY2VzcygpO1xuICAgIH1cbiAgfVxuXG5cblxuICAvKipcbiAgICogb25seSBmb3IgY2xpIHN0YXJ0XG4gICAqIEBwYXJhbSBjbGlQYXJhbXMgb24gZnJvbSBjbGlcbiAgICovXG4gIGFzeW5jIGNsaVN0YXJ0UHJvY2VkdXJlKGNsaVBhcmFtczogYW55KSB7XG4gICAgY29uc3QgaW5zdGFuY2U6IEJhc2VDbGlXb3JrZXIgPSB0aGlzO1xuICAgIGNvbnN0IGRldGFjaGVkID0gISFjbGlQYXJhbXNbJ2RldGFjaGVkJ10gfHwgISFjbGlQYXJhbXNbJ2RldGFjaCddO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG5cblxuXG4gIHByb3RlY3RlZCBwcmV2ZW50RXh0ZXJuYWxDb25maWdDaGFuZ2UoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgcHJldmVudFN0YXJ0SWZBbHJlYWR5U3RhcnRlZCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBraWxsV29ya2VyV2l0aExvd2VyVmVyc2lvbigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUaGlzIGhhcyAyIHB1cnBvc2VzOlxuICAgKiAtIGluZmluaXRlIGNoZWNrIHdoZW4gd2hlbiBkZXRhY2hlZCBwcm9jZXNzIGZpbmlzaGVkIHN0YXJ0aW5nXG4gICAqIC0gcXVpY2sgY2hlY2sgaWYgc2VydmljZSBpcyBoZWFsdGh5IC8gYWxyZWFkeSBzdGFydGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaXNTZXJ2aWNlSGVhbHRoeShvcHRpb25zOiB7XG4gICAgaGVhbHRoQ2hlY2tSZXF1ZXN0VHJ5cz86IG51bWJlcjtcbiAgfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzdGFydCBpZiBub3Qgc3RhcnRlZCBkZXRhY2hlZCBwcm9jZXNzXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgc3RhcnREZXRhY2hlZChvcHRpb25zPzoge1xuICAgIHVzZUN1cnJlbnRXaW5kb3dGb3JEZXRhY2g/OiBib29sZWFuO1xuICB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhlYWRlclRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gXy5zdGFydENhc2UodGhpcy5zZXJ2aWNlSUQpO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCB0ZXh0SGVhZGVyU3R5bGUoKTogQ2ZvbnRTdHlsZSB7XG4gICAgcmV0dXJuICdibG9jayc7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGhlYWRlclRleHRBbGlnbigpOiBDZm9udEFsaWduIHtcbiAgICByZXR1cm4gJ2xlZnQnO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBvdmVycmlkZSB3aG9sZSB0ZXJtaW5hbCBoZWFkZXJcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBoZWFkZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgaW5mb01lc3NhZ2VCZWxvd0hlYWRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGdldCBiYWNrQWN0aW9uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBiYWNrOiB7XG4gICAgICAgIG5hbWU6ICdCYWNrJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgZ2V0IGNob29zZUFjdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZW1wdHlBY3Rpb246IHtcbiAgICAgICAgbmFtZTogJyAtLSBjaG9vc2UgYW55IGFjdGlvbiBiZWxvdyAtLScsXG4gICAgICAgIGFjdGlvbjogYXN5bmMgKCkgPT4ge30sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGRpc3BsYXlTcGVjaWFsV29ya2VyUmVhZHlNZXNzYWdlKCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuU1BFQ0lBTF9XT1JLRVJfUkVBRFlfTUVTU0FHRSk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGdldFdvcmtlclRlcm1pbmFsQWN0aW9ucyhvcHRpb25zPzoge1xuICAgIGV4aXRJc09ubHlSZXR1cm4/OiBib29sZWFuO1xuICAgIGNob29zZUFjdGlvbj86IGJvb2xlYW47XG4gIH0pOiB7XG4gICAgW3VuaXFlQWN0aW9uTmFtZTogc3RyaW5nXToge1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgYWN0aW9uOiAoKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPjtcbiAgICB9O1xuICB9IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBhc3luYyBpbmZvU2NyZWVuKG9wdGlvbnM/OiB7IGV4aXRJc09ubHlSZXR1cm4/OiBib29sZWFuIH0pIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgSGVscGVycy5jbGVhckNvbnNvbGUoKTtcblxuICAgICAgYXdhaXQgdGhpcy5oZWFkZXIoKTtcblxuICAgICAgYXdhaXQgdGhpcy5pbmZvTWVzc2FnZUJlbG93SGVhZGVyKCk7XG4gICAgICBjb25zdCBjaG9pY2VzID0gdGhpcy5nZXRXb3JrZXJUZXJtaW5hbEFjdGlvbnMob3B0aW9ucyk7XG4gICAgICBjb25zdCBjaG9pY2UgPSBhd2FpdCBVdGlsc1Rlcm1pbmFsLnNlbGVjdDxrZXlvZiB0eXBlb2YgY2hvaWNlcz4oe1xuICAgICAgICBjaG9pY2VzLFxuICAgICAgICBxdWVzdGlvbjogJ0Nob29zZSBhY3Rpb24nLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBhY3Rpb24gPSBjaG9pY2VzW2Nob2ljZV0uYWN0aW9uO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWN0aW9uKCk7XG4gICAgICBpZiAoY2hvaWNlID09PSAnZXhpdCcgJiYgcmVzdWx0KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICBwcml2YXRlIHNhdmVQcm9jZXNzSW5mbyhwcm9jZXNzQ29uZmlnOiBQYXJ0aWFsPEJhc2VDbGlXb3JrZXJDb25maWc+KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBpbml0aWFsaXplV29ya2VyTWV0YWRhdGEoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyB3YWl0Rm9yUHJvY2Vzc1BvcnRTYXZlZFRvRGlzaygpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldFNlcnZpY2VQb3J0KCk6IFByb21pc2U8bnVtYmVyPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLWNsaS13b3JrZXIudHMiXX0=