tnp-helpers 18.0.19 → 18.0.21

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 (532) 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-bower-json.mjs +14 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  5. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  6. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +14 -4
  7. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  8. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  9. package/browser/esm2022/lib/base/classes/base-git.mjs +244 -4
  10. package/browser/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  11. package/browser/esm2022/lib/base/classes/base-library-build.mjs +35 -10
  12. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  13. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  14. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -430
  15. package/browser/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  16. package/browser/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  17. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +2 -11
  18. package/browser/esm2022/lib/base/classes/base-project.mjs +83 -87
  19. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  20. package/browser/esm2022/lib/base/classes/base-release-process.mjs +34 -36
  21. package/browser/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  22. package/browser/esm2022/lib/base/classes/base-vscode.mjs +31 -1
  23. package/browser/esm2022/lib/base/classes/index.mjs +5 -1
  24. package/browser/esm2022/lib/base/commit-data.mjs +21 -4
  25. package/browser/esm2022/lib/base/core-project.mjs +3 -3
  26. package/browser/esm2022/lib/base/linked-project.mjs +4 -4
  27. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  28. package/browser/esm2022/lib/base/translate.mjs +566 -0
  29. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  30. package/browser/esm2022/lib/helpers/helpers.mjs +12 -6
  31. package/browser/esm2022/lib/index.mjs +2 -4
  32. package/browser/esm2022/lib/models.mjs +173 -3
  33. package/browser/esm2022/lib/utils.mjs +402 -41
  34. package/browser/fesm2022/tnp-helpers.mjs +4616 -2904
  35. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  36. package/browser/lib/base/classes/base-bower-json.d.ts +35 -0
  37. package/browser/lib/base/classes/base-cli-worker.d.ts +2 -2
  38. package/browser/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  39. package/browser/lib/base/classes/base-feature-for-project.d.ts +2 -1
  40. package/browser/lib/base/classes/base-git.d.ts +42 -5
  41. package/browser/lib/base/classes/base-json-file-reader.d.ts +72 -0
  42. package/browser/lib/base/classes/base-library-build.d.ts +8 -11
  43. package/browser/lib/base/classes/base-linked-projects.d.ts +1 -2
  44. package/browser/lib/base/classes/base-node-modules.d.ts +56 -0
  45. package/browser/lib/base/classes/base-npm-helpers.d.ts +29 -108
  46. package/browser/lib/base/classes/base-package-json.d.ts +107 -0
  47. package/browser/lib/base/classes/base-process-manager.d.ts +31 -0
  48. package/browser/lib/base/classes/base-project-resolver.d.ts +2 -2
  49. package/browser/lib/base/classes/base-project.d.ts +17 -18
  50. package/browser/lib/base/classes/base-quick-fixes.d.ts +3 -1
  51. package/browser/lib/base/classes/base-release-process.d.ts +15 -13
  52. package/browser/lib/base/classes/{base-github-pages.d.ts → base-static-pages.d.ts} +3 -3
  53. package/browser/lib/base/classes/base-vscode.d.ts +4 -0
  54. package/browser/lib/base/classes/index.d.ts +5 -1
  55. package/browser/lib/base/commit-data.d.ts +14 -1
  56. package/browser/lib/base/core-project.d.ts +1 -1
  57. package/browser/lib/base/linked-project.d.ts +1 -1
  58. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  59. package/browser/lib/base/translate.d.ts +228 -0
  60. package/browser/lib/helpers/helpers-array-obj.d.ts +3 -0
  61. package/browser/lib/helpers/helpers.d.ts +12 -8
  62. package/browser/lib/index.d.ts +1 -3
  63. package/browser/lib/models.d.ts +68 -8
  64. package/browser/lib/utils.d.ts +72 -13
  65. package/client/README.md +24 -24
  66. package/client/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  67. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  68. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  69. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +14 -4
  70. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  71. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  72. package/client/esm2022/lib/base/classes/base-git.mjs +244 -4
  73. package/client/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  74. package/client/esm2022/lib/base/classes/base-library-build.mjs +35 -10
  75. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  76. package/client/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  77. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -430
  78. package/client/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  79. package/client/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  80. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +2 -11
  81. package/client/esm2022/lib/base/classes/base-project.mjs +83 -87
  82. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  83. package/client/esm2022/lib/base/classes/base-release-process.mjs +34 -36
  84. package/client/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  85. package/client/esm2022/lib/base/classes/base-vscode.mjs +31 -1
  86. package/client/esm2022/lib/base/classes/index.mjs +5 -1
  87. package/client/esm2022/lib/base/commit-data.mjs +21 -4
  88. package/client/esm2022/lib/base/core-project.mjs +3 -3
  89. package/client/esm2022/lib/base/linked-project.mjs +4 -4
  90. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  91. package/client/esm2022/lib/base/translate.mjs +566 -0
  92. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  93. package/client/esm2022/lib/helpers/helpers.mjs +12 -6
  94. package/client/esm2022/lib/index.mjs +2 -4
  95. package/client/esm2022/lib/models.mjs +173 -3
  96. package/client/esm2022/lib/utils.mjs +402 -41
  97. package/client/fesm2022/tnp-helpers.mjs +4616 -2904
  98. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  99. package/client/lib/base/classes/base-bower-json.d.ts +35 -0
  100. package/client/lib/base/classes/base-cli-worker.d.ts +2 -2
  101. package/client/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  102. package/client/lib/base/classes/base-feature-for-project.d.ts +2 -1
  103. package/client/lib/base/classes/base-git.d.ts +42 -5
  104. package/client/lib/base/classes/base-json-file-reader.d.ts +72 -0
  105. package/client/lib/base/classes/base-library-build.d.ts +8 -11
  106. package/client/lib/base/classes/base-linked-projects.d.ts +1 -2
  107. package/client/lib/base/classes/base-node-modules.d.ts +56 -0
  108. package/client/lib/base/classes/base-npm-helpers.d.ts +29 -108
  109. package/client/lib/base/classes/base-package-json.d.ts +107 -0
  110. package/client/lib/base/classes/base-process-manager.d.ts +31 -0
  111. package/client/lib/base/classes/base-project-resolver.d.ts +2 -2
  112. package/client/lib/base/classes/base-project.d.ts +17 -18
  113. package/client/lib/base/classes/base-quick-fixes.d.ts +3 -1
  114. package/client/lib/base/classes/base-release-process.d.ts +15 -13
  115. package/{websql/lib/base/classes/base-github-pages.d.ts → client/lib/base/classes/base-static-pages.d.ts} +3 -3
  116. package/client/lib/base/classes/base-vscode.d.ts +4 -0
  117. package/client/lib/base/classes/index.d.ts +5 -1
  118. package/client/lib/base/commit-data.d.ts +14 -1
  119. package/client/lib/base/core-project.d.ts +1 -1
  120. package/client/lib/base/linked-project.d.ts +1 -1
  121. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  122. package/client/lib/base/translate.d.ts +228 -0
  123. package/client/lib/helpers/helpers-array-obj.d.ts +3 -0
  124. package/client/lib/helpers/helpers.d.ts +12 -8
  125. package/client/lib/index.d.ts +1 -3
  126. package/client/lib/models.d.ts +68 -8
  127. package/client/lib/utils.d.ts +72 -13
  128. package/index.js +15 -2
  129. package/index.js.map +1 -1
  130. package/lib/base/base-cli-worker-config.d.ts +27 -0
  131. package/lib/base/base-cli-worker-config.js +53 -0
  132. package/lib/base/base-cli-worker-config.js.map +1 -0
  133. package/lib/base/base-cli-worker-controller.d.ts +15 -0
  134. package/lib/base/base-cli-worker-controller.js +154 -0
  135. package/lib/base/base-cli-worker-controller.js.map +1 -0
  136. package/lib/base/base-cli-worker.d.ts +82 -0
  137. package/lib/base/base-cli-worker.js +654 -0
  138. package/lib/base/base-cli-worker.js.map +1 -0
  139. package/lib/base/base-command-line.backend.d.ts +174 -0
  140. package/lib/base/base-command-line.backend.js +2221 -0
  141. package/lib/base/base-command-line.backend.js.map +1 -0
  142. package/lib/base/base-compiler-for-project.d.ts +7 -0
  143. package/lib/base/base-compiler-for-project.js +62 -0
  144. package/lib/base/base-compiler-for-project.js.map +1 -0
  145. package/lib/base/base-db.d.ts +12 -0
  146. package/lib/base/base-db.js +74 -0
  147. package/lib/base/base-db.js.map +1 -0
  148. package/lib/base/base-debounce-compiler-for-project.d.ts +28 -0
  149. package/lib/base/base-debounce-compiler-for-project.js +82 -0
  150. package/lib/base/base-debounce-compiler-for-project.js.map +1 -0
  151. package/lib/base/base-detached-service.d.ts +6 -0
  152. package/lib/base/base-detached-service.js +16 -0
  153. package/lib/base/base-detached-service.js.map +1 -0
  154. package/lib/base/base-feature-for-project.d.ts +5 -0
  155. package/lib/base/base-feature-for-project.js +11 -0
  156. package/lib/base/base-feature-for-project.js.map +1 -0
  157. package/lib/base/base-git.d.ts +148 -0
  158. package/lib/base/base-git.js +1202 -0
  159. package/lib/base/base-git.js.map +1 -0
  160. package/{client/lib/base/classes → lib/base}/base-github-pages.d.ts +4 -5
  161. package/lib/base/base-github-pages.js +173 -0
  162. package/lib/base/base-github-pages.js.map +1 -0
  163. package/lib/base/base-ignore-hide.d.ts +14 -0
  164. package/lib/base/base-ignore-hide.js +55 -0
  165. package/lib/base/base-ignore-hide.js.map +1 -0
  166. package/lib/base/base-library-build.d.ts +65 -0
  167. package/lib/base/base-library-build.js +717 -0
  168. package/lib/base/base-library-build.js.map +1 -0
  169. package/lib/base/base-linked-projects.d.ts +24 -0
  170. package/lib/base/base-linked-projects.js +408 -0
  171. package/lib/base/base-linked-projects.js.map +1 -0
  172. package/lib/base/base-npm-helpers.d.ts +128 -0
  173. package/lib/base/base-npm-helpers.js +774 -0
  174. package/lib/base/base-npm-helpers.js.map +1 -0
  175. package/lib/base/base-project-resolver.d.ts +41 -0
  176. package/lib/base/base-project-resolver.js +308 -0
  177. package/lib/base/base-project-resolver.js.map +1 -0
  178. package/lib/base/base-project.d.ts +244 -0
  179. package/lib/base/base-project.js +1223 -0
  180. package/lib/base/base-project.js.map +1 -0
  181. package/lib/base/base-quick-fixes.d.ts +6 -0
  182. package/lib/base/base-quick-fixes.js +31 -0
  183. package/lib/base/base-quick-fixes.js.map +1 -0
  184. package/lib/base/base-release-process.d.ts +69 -0
  185. package/lib/base/base-release-process.js +913 -0
  186. package/lib/base/base-release-process.js.map +1 -0
  187. package/lib/base/base-start-config.backend.d.ts +36 -0
  188. package/lib/base/base-start-config.backend.js +167 -0
  189. package/lib/base/base-start-config.backend.js.map +1 -0
  190. package/lib/base/base-vscode.d.ts +12 -0
  191. package/lib/base/base-vscode.js +139 -0
  192. package/lib/base/base-vscode.js.map +1 -0
  193. package/lib/base/classes/base-bower-json.d.ts +34 -0
  194. package/lib/base/classes/base-bower-json.js +19 -0
  195. package/lib/base/classes/base-bower-json.js.map +1 -0
  196. package/lib/base/classes/base-cli-worker-config.js +35 -24
  197. package/lib/base/classes/base-cli-worker-config.js.map +1 -1
  198. package/lib/base/classes/base-cli-worker-controller.js +98 -128
  199. package/lib/base/classes/base-cli-worker-controller.js.map +1 -1
  200. package/lib/base/classes/base-cli-worker.d.ts +2 -2
  201. package/lib/base/classes/base-cli-worker.js +402 -606
  202. package/lib/base/classes/base-cli-worker.js.map +1 -1
  203. package/lib/base/classes/base-command-line-feature.backend.d.ts +5 -9
  204. package/lib/base/classes/base-command-line-feature.backend.js +73 -132
  205. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -1
  206. package/lib/base/classes/base-command-line.backend.d.ts +175 -0
  207. package/lib/base/classes/base-command-line.backend.js +2235 -0
  208. package/lib/base/classes/base-command-line.backend.js.map +1 -0
  209. package/lib/base/classes/base-compiler-for-project.js +27 -32
  210. package/lib/base/classes/base-compiler-for-project.js.map +1 -1
  211. package/lib/base/classes/base-db.js +43 -60
  212. package/lib/base/classes/base-db.js.map +1 -1
  213. package/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  214. package/lib/base/classes/base-debounce-compiler-for-project.js +44 -70
  215. package/lib/base/classes/base-debounce-compiler-for-project.js.map +1 -1
  216. package/lib/base/classes/base-detached-service.js.map +1 -1
  217. package/lib/base/classes/base-feature-for-project.d.ts +2 -1
  218. package/lib/base/classes/base-feature-for-project.js +7 -4
  219. package/lib/base/classes/base-feature-for-project.js.map +1 -1
  220. package/lib/base/classes/base-git.d.ts +40 -3
  221. package/lib/base/classes/base-git.js +885 -943
  222. package/lib/base/classes/base-git.js.map +1 -1
  223. package/lib/base/classes/base-github-pages.js.map +1 -1
  224. package/lib/base/classes/base-global-command-line.backend.d.ts +10 -2
  225. package/lib/base/classes/base-global-command-line.backend.js +1058 -2011
  226. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  227. package/lib/base/classes/base-ignore-hide.d.ts +2 -2
  228. package/lib/base/classes/base-ignore-hide.js +24 -28
  229. package/lib/base/classes/base-ignore-hide.js.map +1 -1
  230. package/lib/base/classes/base-json-file-reader.d.ts +71 -0
  231. package/lib/base/classes/base-json-file-reader.js +141 -0
  232. package/lib/base/classes/base-json-file-reader.js.map +1 -0
  233. package/lib/base/classes/base-library-build.d.ts +8 -12
  234. package/lib/base/classes/base-library-build.js +433 -638
  235. package/lib/base/classes/base-library-build.js.map +1 -1
  236. package/lib/base/classes/base-linked-projects.d.ts +1 -3
  237. package/lib/base/classes/base-linked-projects.js +200 -314
  238. package/lib/base/classes/base-linked-projects.js.map +1 -1
  239. package/lib/base/classes/base-node-modules.d.ts +55 -0
  240. package/lib/base/classes/base-node-modules.js +415 -0
  241. package/lib/base/classes/base-node-modules.js.map +1 -0
  242. package/lib/base/classes/base-npm-helpers.d.ts +29 -97
  243. package/lib/base/classes/base-npm-helpers.js +178 -729
  244. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  245. package/lib/base/classes/base-package-json.d.ts +106 -0
  246. package/lib/base/classes/base-package-json.js +381 -0
  247. package/lib/base/classes/base-package-json.js.map +1 -0
  248. package/lib/base/classes/base-process-manager.d.ts +30 -0
  249. package/lib/base/classes/base-process-manager.js +269 -0
  250. package/lib/base/classes/base-process-manager.js.map +1 -0
  251. package/lib/base/classes/base-project-resolver.d.ts +2 -3
  252. package/lib/base/classes/base-project-resolver.js +102 -119
  253. package/lib/base/classes/base-project-resolver.js.map +1 -1
  254. package/lib/base/classes/base-project.d.ts +20 -17
  255. package/lib/base/classes/base-project.js +553 -760
  256. package/lib/base/classes/base-project.js.map +1 -1
  257. package/lib/base/classes/base-quick-fixes.d.ts +3 -1
  258. package/lib/base/classes/base-quick-fixes.js +45 -17
  259. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  260. package/lib/base/classes/base-release-process.d.ts +15 -13
  261. package/lib/base/classes/base-release-process.js +487 -835
  262. package/lib/base/classes/base-release-process.js.map +1 -1
  263. package/lib/base/classes/base-start-config.backend.js +116 -100
  264. package/lib/base/classes/base-start-config.backend.js.map +1 -1
  265. package/lib/base/classes/base-static-pages.d.ts +14 -0
  266. package/lib/base/classes/base-static-pages.js +105 -0
  267. package/lib/base/classes/base-static-pages.js.map +1 -0
  268. package/lib/base/classes/base-vscode.d.ts +4 -0
  269. package/lib/base/classes/base-vscode.js +446 -424
  270. package/lib/base/classes/base-vscode.js.map +1 -1
  271. package/lib/base/classes/index copy.d.ts +22 -0
  272. package/lib/base/classes/index copy.js +28 -0
  273. package/lib/base/classes/index copy.js.map +1 -0
  274. package/lib/base/classes/index.d.ts +4 -0
  275. package/lib/base/classes/index.js +36 -19
  276. package/lib/base/classes/index.js.map +1 -1
  277. package/lib/base/command-line-feature.backend.d.ts +51 -0
  278. package/lib/base/command-line-feature.backend.js +206 -0
  279. package/lib/base/command-line-feature.backend.js.map +1 -0
  280. package/lib/base/commit-data.d.ts +14 -1
  281. package/lib/base/commit-data.js +411 -464
  282. package/lib/base/commit-data.js.map +1 -1
  283. package/lib/base/config-database.js +33 -61
  284. package/lib/base/config-database.js.map +1 -1
  285. package/lib/base/core-project.d.ts +1 -1
  286. package/lib/base/core-project.js +110 -146
  287. package/lib/base/core-project.js.map +1 -1
  288. package/lib/base/gh-temp-code.d.ts +1 -0
  289. package/lib/base/gh-temp-code.js +62 -104
  290. package/lib/base/gh-temp-code.js.map +1 -1
  291. package/lib/base/index-rebuilder.backend.d.ts +1 -0
  292. package/lib/base/index-rebuilder.backend.js.map +1 -1
  293. package/lib/base/index.js +20 -7
  294. package/lib/base/index.js.map +1 -1
  295. package/lib/base/linked-project.d.ts +1 -1
  296. package/lib/base/linked-project.js +59 -38
  297. package/lib/base/linked-project.js.map +1 -1
  298. package/lib/base/ports-worker.d.ts +32 -0
  299. package/lib/base/ports-worker.js +244 -0
  300. package/lib/base/ports-worker.js.map +1 -0
  301. package/lib/base/project-database.js +12 -22
  302. package/lib/base/project-database.js.map +1 -1
  303. package/lib/base/tcp-udp-ports/index.js +17 -4
  304. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  305. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +1 -0
  306. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  307. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  308. package/lib/base/tcp-udp-ports/port.entity.d.ts +0 -0
  309. package/lib/base/tcp-udp-ports/port.entity.js +5 -0
  310. package/lib/base/tcp-udp-ports/port.entity.js.map +1 -0
  311. package/lib/base/tcp-udp-ports/ports.controller.js +195 -283
  312. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  313. package/lib/base/tcp-udp-ports/ports.entity.d.ts +2 -2
  314. package/lib/base/tcp-udp-ports/ports.entity.js +74 -62
  315. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  316. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +11 -14
  317. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  318. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +244 -427
  319. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  320. package/lib/base/tcp-upd-ports.worker.d.ts +13 -0
  321. package/lib/base/tcp-upd-ports.worker.js +99 -0
  322. package/lib/base/tcp-upd-ports.worker.js.map +1 -0
  323. package/lib/base/translate.d.ts +1 -1
  324. package/lib/base/translate.js +90 -119
  325. package/lib/base/translate.js.map +1 -1
  326. package/lib/build-info._auto-generated_.js.map +1 -1
  327. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +109 -115
  328. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  329. package/lib/helpers/for-backend/helpers-console-gui.js +55 -102
  330. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  331. package/lib/helpers/for-backend/helpers-dependencies.backend.js +28 -45
  332. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
  333. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +2 -2
  334. package/lib/helpers/for-backend/helpers-file-folders.backend.js +277 -266
  335. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
  336. package/lib/helpers/for-backend/helpers-git.backend.d.ts +38 -3
  337. package/lib/helpers/for-backend/helpers-git.backend.js +806 -807
  338. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  339. package/lib/helpers/for-backend/helpers-network.backend.js +15 -18
  340. package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
  341. package/lib/helpers/for-backend/helpers-npm.backend.js +5 -8
  342. package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
  343. package/lib/helpers/for-backend/helpers-path.backend.js +18 -26
  344. package/lib/helpers/for-backend/helpers-path.backend.js.map +1 -1
  345. package/lib/helpers/for-backend/helpers-process.backend.d.ts +2 -2
  346. package/lib/helpers/for-backend/helpers-process.backend.js +285 -363
  347. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  348. package/lib/helpers/for-backend/helpers-system-terminal.backend.js +25 -42
  349. package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
  350. package/lib/helpers/for-backend/helpers-vscode.backend.js +9 -12
  351. package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
  352. package/lib/helpers/for-backend/ts-code/index.js +0 -2
  353. package/lib/helpers/for-backend/ts-code/index.js.map +1 -1
  354. package/lib/helpers/for-backend/ts-code/ts-code-extractor.d.ts +26 -0
  355. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js +62 -0
  356. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +1 -0
  357. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.d.ts +19 -0
  358. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js +81 -0
  359. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -0
  360. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js +2 -2
  361. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -1
  362. package/lib/helpers/for-browser/angular.helper.js +2 -2
  363. package/lib/helpers/for-browser/angular.helper.js.map +1 -1
  364. package/lib/helpers/for-browser/helpers-browser.js +27 -40
  365. package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
  366. package/lib/helpers/helpers-array-obj.d.ts +3 -0
  367. package/lib/helpers/helpers-array-obj.js +49 -61
  368. package/lib/helpers/helpers-array-obj.js.map +1 -1
  369. package/lib/helpers/helpers-json5.backend.js +44 -55
  370. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  371. package/lib/helpers/helpers-numbers.js +7 -10
  372. package/lib/helpers/helpers-numbers.js.map +1 -1
  373. package/lib/helpers/helpers-strings-regexes.js +40 -47
  374. package/lib/helpers/helpers-strings-regexes.js.map +1 -1
  375. package/lib/helpers/helpers-strings.js +38 -41
  376. package/lib/helpers/helpers-strings.js.map +1 -1
  377. package/lib/helpers/helpers.d.ts +12 -8
  378. package/lib/helpers/helpers.js +313 -393
  379. package/lib/helpers/helpers.js.map +1 -1
  380. package/lib/index._auto-generated_.d.ts +1 -0
  381. package/lib/index._auto-generated_.js.map +1 -1
  382. package/lib/index.d.ts +3 -4
  383. package/lib/index.js +21 -10
  384. package/lib/index.js.map +1 -1
  385. package/lib/lowdb/adapters/Memory.js +14 -20
  386. package/lib/lowdb/adapters/Memory.js.map +1 -1
  387. package/lib/lowdb/adapters/browser/LocalStorage.js +5 -8
  388. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  389. package/lib/lowdb/adapters/browser/SessionStorage.js +5 -8
  390. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  391. package/lib/lowdb/adapters/browser/WebStorage.js +10 -9
  392. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  393. package/lib/lowdb/adapters/node/DataFile.js +29 -38
  394. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  395. package/lib/lowdb/adapters/node/JSONFile.js +13 -18
  396. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  397. package/lib/lowdb/adapters/node/TextFile.js +36 -44
  398. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  399. package/lib/lowdb/adapters/node/steno.js +72 -122
  400. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  401. package/lib/lowdb/browser.js +17 -4
  402. package/lib/lowdb/browser.js.map +1 -1
  403. package/lib/lowdb/core/Low.js +30 -60
  404. package/lib/lowdb/core/Low.js.map +1 -1
  405. package/lib/lowdb/examples/browser.js.map +1 -1
  406. package/lib/lowdb/examples/cli.d.ts +1 -0
  407. package/lib/lowdb/examples/cli.js.map +1 -1
  408. package/lib/lowdb/examples/in-memory.d.ts +1 -0
  409. package/lib/lowdb/examples/in-memory.js.map +1 -1
  410. package/lib/lowdb/examples/server.d.ts +1 -0
  411. package/lib/lowdb/examples/server.js.map +1 -1
  412. package/lib/lowdb/index.js +16 -3
  413. package/lib/lowdb/index.js.map +1 -1
  414. package/lib/lowdb/node.js +18 -5
  415. package/lib/lowdb/node.js.map +1 -1
  416. package/lib/lowdb/presets/browser.js +7 -7
  417. package/lib/lowdb/presets/browser.js.map +1 -1
  418. package/lib/lowdb/presets/node.js +12 -23
  419. package/lib/lowdb/presets/node.js.map +1 -1
  420. package/lib/models.d.ts +68 -8
  421. package/lib/models.js +197 -3
  422. package/lib/models.js.map +1 -1
  423. package/lib/old/base-component.d.ts +1 -0
  424. package/lib/old/base-component.js +2 -2
  425. package/lib/old/base-component.js.map +1 -1
  426. package/lib/old/base-formly-component.d.ts +1 -0
  427. package/lib/old/base-formly-component.js +2 -2
  428. package/lib/old/base-formly-component.js.map +1 -1
  429. package/lib/old/condition-wait.d.ts +1 -0
  430. package/lib/old/condition-wait.js.map +1 -1
  431. package/lib/old/dual-component-ctrl.d.ts +1 -0
  432. package/lib/old/dual-component-ctrl.js +2 -2
  433. package/lib/old/dual-component-ctrl.js.map +1 -1
  434. package/lib/old/execute-command.d.ts +11 -0
  435. package/lib/old/execute-command.js +564 -0
  436. package/lib/old/execute-command.js.map +1 -0
  437. package/lib/old/helpers.d.ts +62 -0
  438. package/lib/old/helpers.js +279 -0
  439. package/lib/old/helpers.js.map +1 -0
  440. package/lib/old/models.d.ts +80 -0
  441. package/lib/old/models.js +57 -0
  442. package/lib/old/models.js.map +1 -0
  443. package/lib/utils.d.ts +72 -13
  444. package/lib/utils.js +502 -179
  445. package/lib/utils.js.map +1 -1
  446. package/lib/validators/validators-firedev.js +5 -5
  447. package/lib/validators/validators-firedev.js.map +1 -1
  448. package/lib/validators/validators-git.js +2 -2
  449. package/lib/validators/validators-git.js.map +1 -1
  450. package/lib/validators/validators-network.js +1 -1
  451. package/lib/validators/validators-network.js.map +1 -1
  452. package/lib/validators/validators.js +2 -2
  453. package/lib/validators/validators.js.map +1 -1
  454. package/migrations/1736198527297_init.js +39 -58
  455. package/migrations/1736198527297_init.js.map +1 -1
  456. package/migrations/1736199486472_addingNotAssignablePorts.js +42 -93
  457. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  458. package/migrations/1736454437350_addFreePorts.js +48 -100
  459. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  460. package/migrations/index.js +15 -2
  461. package/migrations/index.js.map +1 -1
  462. package/migrations/migrations_index._auto-generated_.js +3 -3
  463. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  464. package/package.json +14 -61
  465. package/src.d.ts +1 -1
  466. package/taon.jsonc +34 -49
  467. package/tmp-environment.json +8 -389
  468. package/websql/README.md +24 -24
  469. package/websql/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  470. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  471. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  472. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +14 -4
  473. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  474. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  475. package/websql/esm2022/lib/base/classes/base-git.mjs +244 -4
  476. package/websql/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  477. package/websql/esm2022/lib/base/classes/base-library-build.mjs +35 -10
  478. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  479. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  480. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -430
  481. package/websql/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  482. package/websql/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  483. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +2 -10
  484. package/websql/esm2022/lib/base/classes/base-project.mjs +82 -87
  485. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  486. package/websql/esm2022/lib/base/classes/base-release-process.mjs +34 -36
  487. package/websql/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  488. package/websql/esm2022/lib/base/classes/base-vscode.mjs +31 -1
  489. package/websql/esm2022/lib/base/classes/index.mjs +5 -1
  490. package/websql/esm2022/lib/base/commit-data.mjs +21 -4
  491. package/websql/esm2022/lib/base/core-project.mjs +3 -3
  492. package/websql/esm2022/lib/base/linked-project.mjs +4 -4
  493. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  494. package/websql/esm2022/lib/base/translate.mjs +566 -0
  495. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  496. package/websql/esm2022/lib/helpers/helpers.mjs +12 -6
  497. package/websql/esm2022/lib/index.mjs +2 -4
  498. package/websql/esm2022/lib/models.mjs +173 -3
  499. package/websql/esm2022/lib/utils.mjs +402 -41
  500. package/websql/fesm2022/tnp-helpers.mjs +4744 -3032
  501. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  502. package/websql/lib/base/classes/base-bower-json.d.ts +35 -0
  503. package/websql/lib/base/classes/base-cli-worker.d.ts +2 -2
  504. package/websql/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  505. package/websql/lib/base/classes/base-feature-for-project.d.ts +2 -1
  506. package/websql/lib/base/classes/base-git.d.ts +42 -5
  507. package/websql/lib/base/classes/base-json-file-reader.d.ts +72 -0
  508. package/websql/lib/base/classes/base-library-build.d.ts +8 -11
  509. package/websql/lib/base/classes/base-linked-projects.d.ts +1 -2
  510. package/websql/lib/base/classes/base-node-modules.d.ts +56 -0
  511. package/websql/lib/base/classes/base-npm-helpers.d.ts +29 -108
  512. package/websql/lib/base/classes/base-package-json.d.ts +107 -0
  513. package/websql/lib/base/classes/base-process-manager.d.ts +31 -0
  514. package/websql/lib/base/classes/base-project-resolver.d.ts +2 -2
  515. package/websql/lib/base/classes/base-project.d.ts +17 -18
  516. package/websql/lib/base/classes/base-quick-fixes.d.ts +3 -1
  517. package/websql/lib/base/classes/base-release-process.d.ts +15 -13
  518. package/websql/lib/base/classes/base-static-pages.d.ts +15 -0
  519. package/websql/lib/base/classes/base-vscode.d.ts +4 -0
  520. package/websql/lib/base/classes/index.d.ts +5 -1
  521. package/websql/lib/base/commit-data.d.ts +14 -1
  522. package/websql/lib/base/core-project.d.ts +1 -1
  523. package/websql/lib/base/linked-project.d.ts +1 -1
  524. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  525. package/websql/lib/base/translate.d.ts +228 -0
  526. package/websql/lib/helpers/helpers-array-obj.d.ts +3 -0
  527. package/websql/lib/helpers/helpers.d.ts +12 -8
  528. package/websql/lib/index.d.ts +1 -3
  529. package/websql/lib/models.d.ts +68 -8
  530. package/websql/lib/utils.d.ts +72 -13
  531. package/browser/package.json +0 -25
  532. package/websql/package.json +0 -25
@@ -1,7 +1,7 @@
1
+ import { config } from 'tnp-config/websql';
1
2
  /* */
2
3
  /* */
3
4
  /* */
4
- import { config } from 'tnp-config/websql';
5
5
  import { BaseFeatureForProject } from './base-feature-for-project';
6
6
  /**
7
7
  * Base library build for standard angular/typescript projects
@@ -159,6 +159,13 @@ export class BaseLibraryBuild extends BaseFeatureForProject {
159
159
  /* */
160
160
  /* */
161
161
  /* */
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
162
169
  return (void 0);
163
170
  }
164
171
  /**
@@ -194,7 +201,9 @@ export class BaseLibraryBuild extends BaseFeatureForProject {
194
201
  /**
195
202
  * Angular library build
196
203
  */
197
- async buildLibraries({ watch = false, strategy, releaseBuild = false, buildType, copylink_to_node_modules, outputLineReplace, libraries, useLastUserConfiguration, } = {}) {
204
+ async buildLibraries({ watch = false, strategy, releaseBuild = false, copylink_to_node_modules, outputLineReplace, libraries, useLastUserConfiguration, } = {}) {
205
+ /* */
206
+ /* */
198
207
  /* */
199
208
  /* */
200
209
  /* */
@@ -313,12 +322,15 @@ export class BaseLibraryBuild extends BaseFeatureForProject {
313
322
  /* */
314
323
  /* */
315
324
  /* */
316
- }
317
- async libWatchBuildProcess({ lib, locationsForNodeModules, strategy, buildType, outputLineReplace, }) {
318
325
  /* */
319
326
  /* */
320
327
  /* */
321
328
  /* */
329
+ }
330
+ async libWatchBuildProcess({ lib, locationsForNodeModules, strategy, outputLineReplace, }) {
331
+ /* */
332
+ /* */
333
+ /* */
322
334
  /* */
323
335
  /* */
324
336
  /* */
@@ -370,7 +382,11 @@ export class BaseLibraryBuild extends BaseFeatureForProject {
370
382
  /* */
371
383
  return (void 0);
372
384
  }
373
- async libNormalBuildProcess({ lib, locationsForNodeModules, strategy, buildType, outputLineReplace, }) {
385
+ async libNormalBuildProcess({ lib, locationsForNodeModules, strategy, outputLineReplace, }) {
386
+ /* */
387
+ /* */
388
+ /* */
389
+ /* */
374
390
  /* */
375
391
  /* */
376
392
  /* */
@@ -453,9 +469,6 @@ export class BaseLibraryBuild extends BaseFeatureForProject {
453
469
  /* */
454
470
  /* */
455
471
  /* */
456
- return (void 0);
457
- }
458
- getLibraryBuildComamnd(options) {
459
472
  /* */
460
473
  /* */
461
474
  /* */
@@ -472,9 +485,21 @@ export class BaseLibraryBuild extends BaseFeatureForProject {
472
485
  /* */
473
486
  return (void 0);
474
487
  }
475
- get getLibraryBuildSuccessComamnds() {
488
+ getLibraryBuildCommand(options) {
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
476
493
  /* */
477
494
  /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ return (void 0);
501
+ }
502
+ get getLibraryBuildSuccessComamnds() {
478
503
  /* */
479
504
  /* */
480
505
  /* */
@@ -585,4 +610,4 @@ export class BaseLibraryBuild extends BaseFeatureForProject {
585
610
  }
586
611
  ;
587
612
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-library-build.ts
588
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saWJyYXJ5LWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jbGFzc2VzL2Jhc2UtbGlicmFyeS1idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxPQUFPLEVBQUUsTUFBTSxFQUFjLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFVbkU7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGdCQUVwQixTQUFRLHFCQUFxQjtJQUYvQjs7UUFHVSxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLGdCQUFnQixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBcXBCNUUsQ0FBQztJQWxwQlcsVUFBVSxDQUFDLFNBQW9CO1FBQzNDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUFLLENBQUMsc0JBQXNCLENBRTFCLEVBQ0UsWUFBWSxFQUNaLEtBQUssRUFDTCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHdCQUF3QixHQU96QjtRQUVMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNTLFlBQVk7UUFDeEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYyxDQUV6QixFQUNFLEtBQUssR0FBRyxLQUFLLEVBQ2IsUUFBUSxFQUNSLFlBQVksR0FBRyxLQUFLLEVBQ3BCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsTUFDZ0MsRUFBUztRQUV2RSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUlTLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUNuQyxHQUFHLEVBQ0gsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixTQUFTLEVBQ1QsaUJBQWlCLEdBT2xCO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQ3BDLEdBQUcsRUFDSCx1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsR0FPbEI7UUFDSCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELHNCQUFzQixDQUNwQixPQUFvQztRQUV4QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLDhCQUE4QjtRQUNwQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLG9CQUFvQjtRQUM1QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sS0FBSyxDQUFDLCtCQUErQjtRQUMvQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sS0FBSyxDQUFDLHNCQUFzQjtRQUN0QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sS0FBSyxDQUFDLHVCQUF1QjtRQUN2QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IENvcmVNb2RlbHMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgcGF0aCwgY3Jvc3NQbGF0Zm9ybVBhdGggfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgY29uZmlnLCBGaWxlc05hbWVzIH0gZnJvbSAndG5wLWNvbmZpZy93ZWJzcWwnO1xuaW1wb3J0IHsgXywgVXRpbHNUZXJtaW5hbCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgICBMaWJyYXJpZXNCdWlsZE9wdGlvbnMsICAgTGlicmFyeUJ1aWxkQ29tbWFuZE9wdGlvbnMsICAgTmdQcm9qZWN0LCB9IGZyb20gJy4uLy4uL21vZGVscyc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcblxuXG4vKipcbiAqIEJhc2UgbGlicmFyeSBidWlsZCBmb3Igc3RhbmRhcmQgYW5ndWxhci90eXBlc2NyaXB0IHByb2plY3RzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTGlicmFyeUJ1aWxkPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3Q8QmFzZVByb2plY3QsIGFueT4sXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcbiAgcHJpdmF0ZSBjYWNoZTogYW55ID0ge307XG4gIHByaXZhdGUgdGVtcE9yZ1RzQ29uZmlnRmlsZSA9IGB0bXAtb3JpZ2luYWwtJHtjb25maWcuZmlsZS50c2NvbmZpZ19qc29ufWA7XG5cblxuICBwcm90ZWN0ZWQgc29ydEJ5RGVwcyhsaWJyYXJpZXM6IFBST0pFQ1RbXSk6IFBST0pFQ1RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFVzZSBjYXNlczpcbiAgICogMS4gYnVpbGQgYWxsIGxpYnJhcmllcyBpbiBub3JtYWwgbW9kZVxuICAgKiAyLiBidWlsZCBhbGwgbGlicmFyaWVzIGluIHdhdGNoIG1vZGVcbiAgICogMy4gYnVpbGQgc2VsZWN0ZWQgbGlicmFyaWVzIGluIG5vcm1hbCBtb2RlXG4gICAqICAgKHdpdGggZmlyc3QgdGltZSBhbGwgbGlicmFyaWVzIHdpbGwgYmUgYnVpbGQpXG4gICAqIDQuIGJ1aWxkIHNlbGVjdGVkIGxpYnJhcmllcyBpbiB3YXRjaCBtb2RlXG4gICAqICAgICh1c2Ugbm9ybWFsIGJ1aWxkIGZvciBub3Qgc2VsZWN0ZWQgbGlicmFyaWVzKVxuICAgKiA1LiBidWlsZCBzZWxlY3RlZCBsaWJyYXJpZXMgaW4gd2F0Y2ggbW9kZVxuICAgKiAgICAoc2tpcCBub3JtYWwgYnVpbGQgZm9yIG5vdCBzZWxlY3RlZCBsaWJyYXJpZXMpXG4gICAqL1xuICBhc3luYyBzZWxlY3RBbmRTYXZlTGlicmFyaWVzKFxuXG4gICAge1xuICAgICAgc2VsZWN0ZWRMaWJzLFxuICAgICAgd2F0Y2gsXG4gICAgICB3YXRjaEJ1aWxkU3VwcG9ydGVkLFxuICAgICAgc2tpcEFsbExpYnNRdWVzdGlvbixcbiAgICAgIHVzZUxhc3RVc2VyQ29uZmlndXJhdGlvbixcbiAgICB9OiB7XG4gICAgICBzZWxlY3RlZExpYnM6IFBST0pFQ1RbXTtcbiAgICAgIHdhdGNoOiBib29sZWFuO1xuICAgICAgd2F0Y2hCdWlsZFN1cHBvcnRlZD86IGJvb2xlYW47XG4gICAgICBza2lwQWxsTGlic1F1ZXN0aW9uPzogYm9vbGVhbjtcbiAgICAgIHVzZUxhc3RVc2VyQ29uZmlndXJhdGlvbj86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogUHJvbWlzZTx7IHNlbGVjdGVkTGliczogUFJPSkVDVFtdOyBza2lwUmVidWlsZGluZ0FsbEZvcldhdGNoOiBib29sZWFuIH0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBhbmd1bGFyIGxpYnJhcmllcyBmcm9tIGFuZ3VsYXIuanNvblxuICAgKi9cbiAgZ2V0IGxpYnJhcmllcygpOiBQUk9KRUNUW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgcHJvdGVjdGVkIGdldExpYnJhcmllcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQW5ndWxhciBsaWJyYXJ5IGJ1aWxkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYnVpbGRMaWJyYXJpZXMoXG5cbiAgICB7XG4gICAgICB3YXRjaCA9IGZhbHNlLFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICByZWxlYXNlQnVpbGQgPSBmYWxzZSxcbiAgICAgIGJ1aWxkVHlwZSxcbiAgICAgIGNvcHlsaW5rX3RvX25vZGVfbW9kdWxlcyxcbiAgICAgIG91dHB1dExpbmVSZXBsYWNlLFxuICAgICAgbGlicmFyaWVzLFxuICAgICAgdXNlTGFzdFVzZXJDb25maWd1cmF0aW9uLFxuICAgIH06IExpYnJhcmllc0J1aWxkT3B0aW9uczxQUk9KRUNUPiAmIHsgd2F0Y2g/OiBib29sZWFuIH0gPSB7fSBhcyBhbnksXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGxpYldhdGNoQnVpbGRQcm9jZXNzKHtcbiAgICBsaWIsXG4gICAgbG9jYXRpb25zRm9yTm9kZU1vZHVsZXMsXG4gICAgc3RyYXRlZ3ksXG4gICAgYnVpbGRUeXBlLFxuICAgIG91dHB1dExpbmVSZXBsYWNlLFxuICB9OiB7XG4gICAgbGliOiBQUk9KRUNUO1xuICAgIGxvY2F0aW9uc0Zvck5vZGVNb2R1bGVzOiBzdHJpbmdbXTtcbiAgICBzdHJhdGVneTogJ2xpbmsnIHwgJ2NvcHknO1xuICAgIGJ1aWxkVHlwZTogQ29yZU1vZGVscy5MaWJyYXJ5VHlwZTtcbiAgICBvdXRwdXRMaW5lUmVwbGFjZT86IChvdXRwdXRMaW5lOiBzdHJpbmcpID0+IHN0cmluZztcbiAgfSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBsaWJOb3JtYWxCdWlsZFByb2Nlc3Moe1xuICAgIGxpYixcbiAgICBsb2NhdGlvbnNGb3JOb2RlTW9kdWxlcyxcbiAgICBzdHJhdGVneSxcbiAgICBidWlsZFR5cGUsXG4gICAgb3V0cHV0TGluZVJlcGxhY2UsXG4gIH06IHtcbiAgICBsaWI6IFBST0pFQ1Q7XG4gICAgbG9jYXRpb25zRm9yTm9kZU1vZHVsZXM6IHN0cmluZ1tdO1xuICAgIHN0cmF0ZWd5OiAnbGluaycgfCAnY29weSc7XG4gICAgYnVpbGRUeXBlOiBDb3JlTW9kZWxzLkxpYnJhcnlUeXBlO1xuICAgIG91dHB1dExpbmVSZXBsYWNlPzogKG91dHB1dExpbmU6IHN0cmluZykgPT4gc3RyaW5nO1xuICB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXRMaWJyYXJ5QnVpbGRDb21hbW5kKFxuICAgIG9wdGlvbnM/OiBMaWJyYXJ5QnVpbGRDb21tYW5kT3B0aW9ucyxcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgZ2V0TGlicmFyeUJ1aWxkU3VjY2Vzc0NvbWFtbmRzKCk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgc2VsZWN0Q29weXRvUHJvamVjdHMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIGNoYW5nZVRzQ29uZmlnRm9yTGlicmFyaWVzVHlwZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgcmVwbGFjZVRzQ29uZmlnc1BhdGhlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhc3luYyByZXN0b3JlT3JpZ2luYWxUc0NvbmZpZygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jbGFzc2VzL2Jhc2UtbGlicmFyeS1idWlsZC50cyJdfQ==
613
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saWJyYXJ5LWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jbGFzc2VzL2Jhc2UtbGlicmFyeS1idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsTUFBTSxFQUFjLE1BQU0sbUJBQW1CLENBQUM7QUFRdkQsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbkU7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGdCQUVwQixTQUFRLHFCQUE4QjtJQUZ4Qzs7UUFHVSxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ0wsd0JBQW1CLEdBQUcsZ0JBQWdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUF5cUJ2RixDQUFDO0lBdHFCVyxVQUFVLENBQUMsU0FBb0I7UUFDM0MsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxzQkFBc0IsQ0FFMUIsRUFDRSxZQUFZLEVBQ1osS0FBSyxFQUNMLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsd0JBQXdCLEdBT3pCO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNTLFlBQVk7UUFDeEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYyxDQUV6QixFQUNFLEtBQUssR0FBRyxLQUFLLEVBQ2IsUUFBUSxFQUNSLFlBQVksR0FBRyxLQUFLLEVBQ3BCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixNQUNnQyxFQUFTO1FBRXZFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBSVMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQ25DLEdBQUcsRUFDSCx1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLGlCQUFpQixHQU1sQjtRQUNILEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQ3BDLEdBQUcsRUFDSCx1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLGlCQUFpQixHQU1sQjtRQUNILEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsc0JBQXNCLENBQ3BCLE9BQW9DO1FBRXhDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksOEJBQThCO1FBQ3BDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLG9CQUFvQjtRQUM1QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sS0FBSyxDQUFDLCtCQUErQjtRQUMvQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLHNCQUFzQjtRQUN4QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sS0FBSyxDQUFDLHVCQUF1QjtRQUN2QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgY29uZmlnLCBGaWxlc05hbWVzIH0gZnJvbSAndG5wLWNvbmZpZy93ZWJzcWwnO1xuaW1wb3J0IHsgY2hhbGsgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgQ29yZU1vZGVscyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBwYXRoLCBjcm9zc1BsYXRmb3JtUGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBfLCBVdGlsc1Rlcm1pbmFsIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7ICAgTGlicmFyaWVzQnVpbGRPcHRpb25zLCAgIExpYnJhcnlCdWlsZENvbW1hbmRPcHRpb25zLCAgIE5nUHJvamVjdCwgfSBmcm9tICcuLi8uLi9tb2RlbHMnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cblxuaW1wb3J0IHsgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLWZlYXR1cmUtZm9yLXByb2plY3QnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcblxuXG4vKipcbiAqIEJhc2UgbGlicmFyeSBidWlsZCBmb3Igc3RhbmRhcmQgYW5ndWxhci90eXBlc2NyaXB0IHByb2plY3RzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTGlicmFyeUJ1aWxkPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3Q8QmFzZVByb2plY3QsIGFueT4sXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0PFBST0pFQ1Q+IHtcbiAgcHJpdmF0ZSBjYWNoZTogYW55ID0ge307XG4gIHByb3RlY3RlZCByZWFkb25seSB0ZW1wT3JnVHNDb25maWdGaWxlID0gYHRtcC1vcmlnaW5hbC0ke2NvbmZpZy5maWxlLnRzY29uZmlnX2pzb259YDtcblxuXG4gIHByb3RlY3RlZCBzb3J0QnlEZXBzKGxpYnJhcmllczogUFJPSkVDVFtdKTogUFJPSkVDVFtdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVXNlIGNhc2VzOlxuICAgKiAxLiBidWlsZCBhbGwgbGlicmFyaWVzIGluIG5vcm1hbCBtb2RlXG4gICAqIDIuIGJ1aWxkIGFsbCBsaWJyYXJpZXMgaW4gd2F0Y2ggbW9kZVxuICAgKiAzLiBidWlsZCBzZWxlY3RlZCBsaWJyYXJpZXMgaW4gbm9ybWFsIG1vZGVcbiAgICogICAod2l0aCBmaXJzdCB0aW1lIGFsbCBsaWJyYXJpZXMgd2lsbCBiZSBidWlsZClcbiAgICogNC4gYnVpbGQgc2VsZWN0ZWQgbGlicmFyaWVzIGluIHdhdGNoIG1vZGVcbiAgICogICAgKHVzZSBub3JtYWwgYnVpbGQgZm9yIG5vdCBzZWxlY3RlZCBsaWJyYXJpZXMpXG4gICAqIDUuIGJ1aWxkIHNlbGVjdGVkIGxpYnJhcmllcyBpbiB3YXRjaCBtb2RlXG4gICAqICAgIChza2lwIG5vcm1hbCBidWlsZCBmb3Igbm90IHNlbGVjdGVkIGxpYnJhcmllcylcbiAgICovXG4gIGFzeW5jIHNlbGVjdEFuZFNhdmVMaWJyYXJpZXMoXG5cbiAgICB7XG4gICAgICBzZWxlY3RlZExpYnMsXG4gICAgICB3YXRjaCxcbiAgICAgIHdhdGNoQnVpbGRTdXBwb3J0ZWQsXG4gICAgICBza2lwQWxsTGlic1F1ZXN0aW9uLFxuICAgICAgdXNlTGFzdFVzZXJDb25maWd1cmF0aW9uLFxuICAgIH06IHtcbiAgICAgIHNlbGVjdGVkTGliczogUFJPSkVDVFtdO1xuICAgICAgd2F0Y2g6IGJvb2xlYW47XG4gICAgICB3YXRjaEJ1aWxkU3VwcG9ydGVkPzogYm9vbGVhbjtcbiAgICAgIHNraXBBbGxMaWJzUXVlc3Rpb24/OiBib29sZWFuO1xuICAgICAgdXNlTGFzdFVzZXJDb25maWd1cmF0aW9uPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBQcm9taXNlPHsgc2VsZWN0ZWRMaWJzOiBQUk9KRUNUW107IHNraXBSZWJ1aWxkaW5nQWxsRm9yV2F0Y2g6IGJvb2xlYW4gfT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBhbmd1bGFyIGxpYnJhcmllcyBmcm9tIGFuZ3VsYXIuanNvblxuICAgKi9cbiAgZ2V0IGxpYnJhcmllcygpOiBQUk9KRUNUW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgcHJvdGVjdGVkIGdldExpYnJhcmllcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQW5ndWxhciBsaWJyYXJ5IGJ1aWxkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYnVpbGRMaWJyYXJpZXMoXG5cbiAgICB7XG4gICAgICB3YXRjaCA9IGZhbHNlLFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICByZWxlYXNlQnVpbGQgPSBmYWxzZSxcbiAgICAgIGNvcHlsaW5rX3RvX25vZGVfbW9kdWxlcyxcbiAgICAgIG91dHB1dExpbmVSZXBsYWNlLFxuICAgICAgbGlicmFyaWVzLFxuICAgICAgdXNlTGFzdFVzZXJDb25maWd1cmF0aW9uLFxuICAgIH06IExpYnJhcmllc0J1aWxkT3B0aW9uczxQUk9KRUNUPiAmIHsgd2F0Y2g/OiBib29sZWFuIH0gPSB7fSBhcyBhbnksXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGxpYldhdGNoQnVpbGRQcm9jZXNzKHtcbiAgICBsaWIsXG4gICAgbG9jYXRpb25zRm9yTm9kZU1vZHVsZXMsXG4gICAgc3RyYXRlZ3ksXG4gICAgb3V0cHV0TGluZVJlcGxhY2UsXG4gIH06IHtcbiAgICBsaWI6IFBST0pFQ1Q7XG4gICAgbG9jYXRpb25zRm9yTm9kZU1vZHVsZXM6IHN0cmluZ1tdO1xuICAgIHN0cmF0ZWd5OiAnbGluaycgfCAnY29weSc7XG4gICAgb3V0cHV0TGluZVJlcGxhY2U/OiAob3V0cHV0TGluZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBsaWJOb3JtYWxCdWlsZFByb2Nlc3Moe1xuICAgIGxpYixcbiAgICBsb2NhdGlvbnNGb3JOb2RlTW9kdWxlcyxcbiAgICBzdHJhdGVneSxcbiAgICBvdXRwdXRMaW5lUmVwbGFjZSxcbiAgfToge1xuICAgIGxpYjogUFJPSkVDVDtcbiAgICBsb2NhdGlvbnNGb3JOb2RlTW9kdWxlczogc3RyaW5nW107XG4gICAgc3RyYXRlZ3k6ICdsaW5rJyB8ICdjb3B5JztcbiAgICBvdXRwdXRMaW5lUmVwbGFjZT86IChvdXRwdXRMaW5lOiBzdHJpbmcpID0+IHN0cmluZztcbiAgfSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0TGlicmFyeUJ1aWxkQ29tbWFuZChcbiAgICBvcHRpb25zPzogTGlicmFyeUJ1aWxkQ29tbWFuZE9wdGlvbnMsXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGdldExpYnJhcnlCdWlsZFN1Y2Nlc3NDb21hbW5kcygpOiBzdHJpbmdbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBzZWxlY3RDb3B5dG9Qcm9qZWN0cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgY2hhbmdlVHNDb25maWdGb3JMaWJyYXJpZXNUeXBlcygpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJlcGxhY2VUc0NvbmZpZ3NQYXRoZXMoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgcmVzdG9yZU9yaWdpbmFsVHNDb25maWcoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLWxpYnJhcnktYnVpbGQudHMiXX0=
@@ -1,5 +1,4 @@
1
- /* */
2
- /* */
1
+ import { config } from 'tnp-config/websql';
3
2
  import { _, crossPlatformPath } from 'tnp-core/websql';
4
3
  import { Helpers, LinkedProject, } from '../../index'; /* */
5
4
  /* */
@@ -7,7 +6,6 @@ import { Helpers, LinkedProject, } from '../../index'; /* */
7
6
  /* */
8
7
  /* */
9
8
  import { BaseFeatureForProject } from './base-feature-for-project';
10
- import { config } from 'tnp-config/websql';
11
9
  export class BaseLinkedProjects extends BaseFeatureForProject {
12
10
  constructor() {
13
11
  super(...arguments);
@@ -87,7 +85,12 @@ export class BaseLinkedProjects extends BaseFeatureForProject {
87
85
  await linkedPorj.linkedProjects.saveLocationToDB();
88
86
  }
89
87
  else {
90
- Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);
88
+ Helpers.warn(`
89
+ In project ${proj.genericName}
90
+
91
+ Folder ${link.relativeClonePath} is missing projects...
92
+
93
+ `);
91
94
  }
92
95
  }
93
96
  }
@@ -317,4 +320,4 @@ export class BaseLinkedProjects extends BaseFeatureForProject {
317
320
  }
318
321
  ;
319
322
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-linked-projects.ts
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saW5rZWQtcHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NsYXNzZXMvYmFzZS1saW5rZWQtcHJvamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsQ0FBQyxFQUFTLGlCQUFpQixFQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFJLE9BQU8sRUFBNEIsYUFBYSxHQUFzQixNQUFNLGFBQWEsQ0FBQyxDQUFBLEtBQUs7QUFDMUcsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczQyxNQUFNLE9BQU8sa0JBRVgsU0FBUSxxQkFBcUI7SUFGL0I7O1FBR1UsVUFBSyxHQUFRLEVBQUUsQ0FBQztJQXdXMUIsQ0FBQztJQXBXQyxJQUFJLGVBQWU7UUFDakIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUM1QyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENB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LEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlGQUFpRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IF8sIGNoYWxrLCBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyAgIEhlbHBlcnMsICAgTGlua2VkUG9yamVjdHNDb25maWcsICAgTGlua2VkUHJvamVjdCwgICBVdGlsc1R5cGVzY3JpcHQsIH0gZnJvbSAnLi4vLi4vaW5kZXgnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0ICogYXMganNvbjVXcml0ZSBmcm9tICdqc29uMTAtd3JpdGVyL3dlYnNxbCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VMaW5rZWRQcm9qZWN0czxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdCB7XG4gIHByaXZhdGUgY2FjaGU6IGFueSA9IHt9O1xuICBwcm9qZWN0OiBQUk9KRUNUO1xuXG5cbiAgZ2V0IGVtYmVkZGVkUHJvamVjdCgpOiBQUk9KRUNUIHtcbiAgICBjb25zdCBjYWNoZUtleSA9ICdlbWJlZGRlZFByb2plY3QnICsgXy5rZWJhYkNhc2UodGhpcy5wcm9qZWN0LmxvY2F0aW9uKTtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5jYWNoZVtjYWNoZUtleV0pKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVtjYWNoZUtleV07XG4gICAgfVxuXG4gICAgY29uc3QgbmVhcnNldFByb2ogPSB0aGlzLnByb2plY3QuaW5zLm5lYXJlc3RUbyhcbiAgICAgIGNyb3NzUGxhdGZvcm1QYXRoKFt0aGlzLnByb2plY3QubG9jYXRpb24sICcuLiddKSxcbiAgICApIGFzIFBST0pFQ1Q7XG4gICAgY29uc3QgbGlua2VkUG9yaiA9IG5lYXJzZXRQcm9qPy5saW5rZWRQcm9qZWN0cz8ubGlua2VkUHJvamVjdHMuZmluZChsID0+IHtcbiAgICAgIGNvbnN0IGNvcGFyZVRvID0gY3Jvc3NQbGF0Zm9ybVBhdGgoW1xuICAgICAgICBuZWFyc2V0UHJvai5sb2NhdGlvbixcbiAgICAgICAgbC5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIF0pO1xuICAgICAgaWYgKHRoaXMucHJvamVjdC5sb2NhdGlvbiA9PT0gY29wYXJlVG8pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAobC5yZW1vdGVVcmwoKSA9PT0gdGhpcy5wcm9qZWN0LmdpdC5vcmlnaW5VUkwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKCFsaW5rZWRQb3JqIHx8ICFsaW5rZWRQb3JqLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXRoVG9FbWJlZGVkUHJvaiA9IGNyb3NzUGxhdGZvcm1QYXRoKFtcbiAgICAgIG5lYXJzZXRQcm9qLmxvY2F0aW9uLFxuICAgICAgbGlua2VkUG9yai5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIGxpbmtlZFBvcmouaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoIHx8ICcnLFxuICAgIF0pO1xuICAgIGNvbnN0IGVtYmRlZHJlc3VsdCA9IHRoaXMucHJvamVjdC5pbnMuRnJvbShwYXRoVG9FbWJlZGVkUHJvaikgYXMgUFJPSkVDVDtcblxuICAgIHRoaXMuY2FjaGVbY2FjaGVLZXldID0gZW1iZGVkcmVzdWx0O1xuICAgIHJldHVybiB0aGlzLmNhY2hlW2NhY2hlS2V5XTtcbiAgfVxuXG5cblxuICBnZXQgcHJvamVjdHNEYkxvY2F0aW9uKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNhdmVMb2NhdGlvblRvREIoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBzYXZlQWxsTGlua2VkUHJvamVjdHNUb0RCKCkge1xuICAgIGNvbnN0IHByb2ogPSB0aGlzLnByb2plY3Q7XG4gICAgYXdhaXQgcHJvai5saW5rZWRQcm9qZWN0cy5zYXZlTG9jYXRpb25Ub0RCKCk7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIHByb2oubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHMpIHtcbiAgICAgIGNvbnN0IGxpbmtlZFBvcmogPSB0aGlzLnByb2plY3QuaW5zLkZyb20oW1xuICAgICAgICBwcm9qLmxvY2F0aW9uLFxuICAgICAgICBsaW5rLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgICBsaW5rLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCB8fCAnJyxcbiAgICAgIF0pIGFzIFBST0pFQ1Q7XG5cbiAgICAgIGlmIChsaW5rZWRQb3JqKSB7XG4gICAgICAgIGF3YWl0IGxpbmtlZFBvcmoubGlua2VkUHJvamVjdHMuc2F2ZUxvY2F0aW9uVG9EQigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgSGVscGVycy53YXJuKGBGb2xkZXIgJHtsaW5rLnJlbGF0aXZlQ2xvbmVQYXRofSBpcyBtaXNzaW5nIHByb2plY3RzLi4uYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIGFkZExpbmtlZFByb2plY3QobGlua2VkUHJvajogTGlua2VkUHJvamVjdCB8IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmtlZFByb2plY3Q6IExpbmtlZFByb2plY3QgPSBfLmlzU3RyaW5nKGxpbmtlZFByb2opXG4gICAgICA/IExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvailcbiAgICAgIDogbGlua2VkUHJvajtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhZGRMaW5rZWRQcm9qZWN0cyhsaW5rZWRQcm9qczogTGlua2VkUHJvamVjdFtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzZXRMaW5rZWRQcm9qZWN0c0NvbmZpZyhsaW5rZWRQb3JqZWN0c0NvbmZpZzogUGFydGlhbDxMaW5rZWRQb3JqZWN0c0NvbmZpZz4pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgZ2V0IGxpbmtlZFByb2plY3RzQ29uZmlnUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoY29uZmlnLmZpbGUubGlua2VkX3Byb2plY3RzX2pzb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbGlua2VkUHJvamVjdHNDb25maWdUZW1wUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoW2B0bXAtJHtjb25maWcuZmlsZS5saW5rZWRfcHJvamVjdHNfanNvbn1gXSk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIHJlY3JlYXRlTGlua2VkUHJvamVjdHNDb25maWcoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXRMaW5rZWRQcm9qZWN0c0NvbmZpZygpOiBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzKCk6IExpbmtlZFByb2plY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlua2VkUHJvamVjdHNDb25maWcoKS5wcm9qZWN0cyB8fCBbXTtcbiAgfVxuXG5cblxuICBnZXQgZGV0ZWN0ZWRMaW5rZWRQcm9qZWN0cygpOiBMaW5rZWRQcm9qZWN0W10ge1xuICAgIGNvbnN0IGRldGVjdGVkTGlua2VkUHJvamVjdHMgPSBMaW5rZWRQcm9qZWN0LmRldGVjdChcbiAgICAgIHRoaXMucHJvamVjdC5sb2NhdGlvbixcbiAgICAgIHRydWUsIC8vIFRPT0QgZml4IHJlY3J1c2l2ZVxuICAgICk7XG4gICAgcmV0dXJuIGRldGVjdGVkTGlua2VkUHJvamVjdHM7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzUHJlZml4KCkge1xuICAgIHJldHVybiB0aGlzLmdldExpbmtlZFByb2plY3RzQ29uZmlnKCkucHJlZml4O1xuICB9XG5cblxuXG4gIHJlc2V0TGlua2VkUHJvamVjdHNPbmx5VG9Db3JlQnJhbmNoZXMoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIGFzeW5jIGNsb25lVW5leGlzdGVkTGlua2VkUHJvamVjdHMoXG4gICAgYWN0aW9uVHlwZTogJ3B1bGwnIHwgJ3B1c2gnLFxuICAgIHNldE9yaWdpbjogJ3NzaCcgfCAnaHR0cCcsXG4gICAgY2xvbmVDaGlsZHJlbiA9IGZhbHNlLFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLWxpbmtlZC1wcm9qZWN0cy50cyJdfQ==
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saW5rZWQtcHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NsYXNzZXMvYmFzZS1saW5rZWQtcHJvamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxDQUFDLEVBQVMsaUJBQWlCLEVBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRSxPQUFPLEVBQUksT0FBTyxFQUE0QixhQUFhLEdBQXNCLE1BQU0sYUFBYSxDQUFDLENBQUEsS0FBSztBQUMxRyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbkUsTUFBTSxPQUFPLGtCQUVYLFNBQVEscUJBQThCO0lBRnhDOztRQUdVLFVBQUssR0FBUSxFQUFFLENBQUM7SUE0VzFCLENBQUM7SUF6V0MsSUFBSSxlQUFlO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FDNUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENB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QUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlGQUFpRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IGxvYWQgfSBmcm9tICdqc29uMTAtd3JpdGVyL3dlYnNxbCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5pbXBvcnQgeyBfLCBjaGFsaywgY3Jvc3NQbGF0Zm9ybVBhdGgsIHBhdGggfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG5pbXBvcnQgeyAgIEhlbHBlcnMsICAgTGlua2VkUG9yamVjdHNDb25maWcsICAgTGlua2VkUHJvamVjdCwgICBVdGlsc1R5cGVzY3JpcHQsIH0gZnJvbSAnLi4vLi4vaW5kZXgnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbmltcG9ydCB7IEJhc2VGZWF0dXJlRm9yUHJvamVjdCB9IGZyb20gJy4vYmFzZS1mZWF0dXJlLWZvci1wcm9qZWN0JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VMaW5rZWRQcm9qZWN0czxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdDxQUk9KRUNUPiB7XG4gIHByaXZhdGUgY2FjaGU6IGFueSA9IHt9O1xuXG5cbiAgZ2V0IGVtYmVkZGVkUHJvamVjdCgpOiBQUk9KRUNUIHtcbiAgICBjb25zdCBjYWNoZUtleSA9ICdlbWJlZGRlZFByb2plY3QnICsgXy5rZWJhYkNhc2UodGhpcy5wcm9qZWN0LmxvY2F0aW9uKTtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5jYWNoZVtjYWNoZUtleV0pKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVtjYWNoZUtleV07XG4gICAgfVxuXG4gICAgY29uc3QgbmVhcnNldFByb2ogPSB0aGlzLnByb2plY3QuaW5zLm5lYXJlc3RUbyhcbiAgICAgIGNyb3NzUGxhdGZvcm1QYXRoKFt0aGlzLnByb2plY3QubG9jYXRpb24sICcuLiddKSxcbiAgICApIGFzIFBST0pFQ1Q7XG4gICAgY29uc3QgbGlua2VkUG9yaiA9IG5lYXJzZXRQcm9qPy5saW5rZWRQcm9qZWN0cz8ubGlua2VkUHJvamVjdHMuZmluZChsID0+IHtcbiAgICAgIGNvbnN0IGNvcGFyZVRvID0gY3Jvc3NQbGF0Zm9ybVBhdGgoW1xuICAgICAgICBuZWFyc2V0UHJvai5sb2NhdGlvbixcbiAgICAgICAgbC5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIF0pO1xuICAgICAgaWYgKHRoaXMucHJvamVjdC5sb2NhdGlvbiA9PT0gY29wYXJlVG8pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAobC5yZW1vdGVVcmwoKSA9PT0gdGhpcy5wcm9qZWN0LmdpdC5vcmlnaW5VUkwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKCFsaW5rZWRQb3JqIHx8ICFsaW5rZWRQb3JqLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXRoVG9FbWJlZGVkUHJvaiA9IGNyb3NzUGxhdGZvcm1QYXRoKFtcbiAgICAgIG5lYXJzZXRQcm9qLmxvY2F0aW9uLFxuICAgICAgbGlua2VkUG9yai5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIGxpbmtlZFBvcmouaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoIHx8ICcnLFxuICAgIF0pO1xuICAgIGNvbnN0IGVtYmRlZHJlc3VsdCA9IHRoaXMucHJvamVjdC5pbnMuRnJvbShwYXRoVG9FbWJlZGVkUHJvaikgYXMgUFJPSkVDVDtcblxuICAgIHRoaXMuY2FjaGVbY2FjaGVLZXldID0gZW1iZGVkcmVzdWx0O1xuICAgIHJldHVybiB0aGlzLmNhY2hlW2NhY2hlS2V5XTtcbiAgfVxuXG5cblxuICBnZXQgcHJvamVjdHNEYkxvY2F0aW9uKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNhdmVMb2NhdGlvblRvREIoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBzYXZlQWxsTGlua2VkUHJvamVjdHNUb0RCKCkge1xuICAgIGNvbnN0IHByb2ogPSB0aGlzLnByb2plY3Q7XG4gICAgYXdhaXQgcHJvai5saW5rZWRQcm9qZWN0cy5zYXZlTG9jYXRpb25Ub0RCKCk7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIHByb2oubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHMpIHtcbiAgICAgIGNvbnN0IGxpbmtlZFBvcmogPSB0aGlzLnByb2plY3QuaW5zLkZyb20oW1xuICAgICAgICBwcm9qLmxvY2F0aW9uLFxuICAgICAgICBsaW5rLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgICBsaW5rLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCB8fCAnJyxcbiAgICAgIF0pIGFzIFBST0pFQ1Q7XG5cbiAgICAgIGlmIChsaW5rZWRQb3JqKSB7XG4gICAgICAgIGF3YWl0IGxpbmtlZFBvcmoubGlua2VkUHJvamVjdHMuc2F2ZUxvY2F0aW9uVG9EQigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgSGVscGVycy53YXJuKGBcbiAgICAgICAgICBJbiBwcm9qZWN0ICR7cHJvai5nZW5lcmljTmFtZX1cblxuICAgICAgICAgIEZvbGRlciAke2xpbmsucmVsYXRpdmVDbG9uZVBhdGh9IGlzIG1pc3NpbmcgcHJvamVjdHMuLi5cblxuICAgICAgICAgIGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICBhZGRMaW5rZWRQcm9qZWN0KGxpbmtlZFByb2o6IExpbmtlZFByb2plY3QgfCBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rZWRQcm9qZWN0OiBMaW5rZWRQcm9qZWN0ID0gXy5pc1N0cmluZyhsaW5rZWRQcm9qKVxuICAgICAgPyBMaW5rZWRQcm9qZWN0LmZyb21OYW1lKGxpbmtlZFByb2opXG4gICAgICA6IGxpbmtlZFByb2o7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYWRkTGlua2VkUHJvamVjdHMobGlua2VkUHJvanM6IExpbmtlZFByb2plY3RbXSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc2V0TGlua2VkUHJvamVjdHNDb25maWcobGlua2VkUG9yamVjdHNDb25maWc6IFBhcnRpYWw8TGlua2VkUG9yamVjdHNDb25maWc+KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldCBsaW5rZWRQcm9qZWN0c0NvbmZpZ1BhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdC5wYXRoRm9yKGNvbmZpZy5maWxlLmxpbmtlZF9wcm9qZWN0c19qc29uKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGxpbmtlZFByb2plY3RzQ29uZmlnVGVtcFBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdC5wYXRoRm9yKFtgdG1wLSR7Y29uZmlnLmZpbGUubGlua2VkX3Byb2plY3RzX2pzb259YF0pO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCByZWNyZWF0ZUxpbmtlZFByb2plY3RzQ29uZmlnKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0TGlua2VkUHJvamVjdHNDb25maWcoKTogTGlua2VkUG9yamVjdHNDb25maWcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBsaW5rZWRQcm9qZWN0cygpOiBMaW5rZWRQcm9qZWN0W10ge1xuICAgIHJldHVybiB0aGlzLmdldExpbmtlZFByb2plY3RzQ29uZmlnKCkucHJvamVjdHMgfHwgW107XG4gIH1cblxuXG5cbiAgZ2V0IGRldGVjdGVkTGlua2VkUHJvamVjdHMoKTogTGlua2VkUHJvamVjdFtdIHtcbiAgICBjb25zdCBkZXRlY3RlZExpbmtlZFByb2plY3RzID0gTGlua2VkUHJvamVjdC5kZXRlY3QoXG4gICAgICB0aGlzLnByb2plY3QubG9jYXRpb24sXG4gICAgICB0cnVlLCAvLyBUT09EIGZpeCByZWNydXNpdmVcbiAgICApO1xuICAgIHJldHVybiBkZXRlY3RlZExpbmtlZFByb2plY3RzO1xuICB9XG5cblxuXG4gIGdldCBsaW5rZWRQcm9qZWN0c1ByZWZpeCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaW5rZWRQcm9qZWN0c0NvbmZpZygpLnByZWZpeDtcbiAgfVxuXG5cblxuICByZXNldExpbmtlZFByb2plY3RzT25seVRvQ29yZUJyYW5jaGVzKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG5cblxuICBhc3luYyBjbG9uZVVuZXhpc3RlZExpbmtlZFByb2plY3RzKFxuICAgIGFjdGlvblR5cGU6ICdwdWxsJyB8ICdwdXNoJyxcbiAgICBzZXRPcmlnaW46ICdzc2gnIHwgJ2h0dHAnLFxuICAgIGNsb25lQ2hpbGRyZW4gPSBmYWxzZSxcbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NsYXNzZXMvYmFzZS1saW5rZWQtcHJvamVjdHMudHMiXX0=