tnp-helpers 13.0.8 → 13.0.11

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 (79) hide show
  1. package/app.js +48 -2
  2. package/app.js.map +1 -1
  3. package/browser/esm2020/lib/base-component.mjs +1 -1
  4. package/browser/esm2020/lib/base-formly-component.mjs +4 -2
  5. package/browser/esm2020/lib/condition-wait.mjs +1 -1
  6. package/browser/esm2020/lib/constants.mjs +1 -1
  7. package/browser/esm2020/lib/dual-component-ctrl.mjs +3 -1
  8. package/browser/esm2020/lib/helpers-array-obj.mjs +1 -1
  9. package/browser/esm2020/lib/helpers-environment.mjs +12 -2
  10. package/browser/esm2020/lib/helpers-strings-regexes.mjs +1 -1
  11. package/browser/esm2020/lib/helpers-strings.mjs +1 -1
  12. package/browser/esm2020/lib/helpers.mjs +164 -2
  13. package/browser/esm2020/lib/index.mjs +3 -1
  14. package/browser/esm2020/lib/long-press.directive.mjs +8 -2
  15. package/browser/esm2020/lib/project.mjs +314 -2
  16. package/browser/esm2020/lib/resize-service.mjs +1 -1
  17. package/browser/fesm2015/tnp-helpers.mjs +484 -2
  18. package/browser/fesm2015/tnp-helpers.mjs.map +1 -1
  19. package/browser/fesm2020/tnp-helpers.mjs +485 -3
  20. package/browser/fesm2020/tnp-helpers.mjs.map +1 -1
  21. package/browser/lib/project.d.ts +2 -0
  22. package/client/esm2020/lib/base-component.mjs +1 -1
  23. package/client/esm2020/lib/base-formly-component.mjs +4 -2
  24. package/client/esm2020/lib/condition-wait.mjs +1 -1
  25. package/client/esm2020/lib/constants.mjs +1 -1
  26. package/client/esm2020/lib/dual-component-ctrl.mjs +3 -1
  27. package/client/esm2020/lib/helpers-array-obj.mjs +1 -1
  28. package/client/esm2020/lib/helpers-environment.mjs +12 -2
  29. package/client/esm2020/lib/helpers-strings-regexes.mjs +1 -1
  30. package/client/esm2020/lib/helpers-strings.mjs +1 -1
  31. package/client/esm2020/lib/helpers.mjs +164 -2
  32. package/client/esm2020/lib/index.mjs +3 -1
  33. package/client/esm2020/lib/long-press.directive.mjs +8 -2
  34. package/client/esm2020/lib/project.mjs +314 -2
  35. package/client/esm2020/lib/resize-service.mjs +1 -1
  36. package/client/fesm2015/tnp-helpers.mjs +484 -2
  37. package/client/fesm2015/tnp-helpers.mjs.map +1 -1
  38. package/client/fesm2020/tnp-helpers.mjs +485 -3
  39. package/client/fesm2020/tnp-helpers.mjs.map +1 -1
  40. package/client/lib/project.d.ts +2 -0
  41. package/index.js +2 -3
  42. package/lib/base-component.js +3 -3
  43. package/lib/base-component.js.map +1 -1
  44. package/lib/base-formly-component.js +3 -3
  45. package/lib/base-formly-component.js.map +1 -1
  46. package/lib/condition-wait.js +2 -3
  47. package/lib/constants.js +2 -3
  48. package/lib/dual-component-ctrl.js +2 -3
  49. package/lib/git-project.js +2 -3
  50. package/lib/helpers-array-obj.js +2 -3
  51. package/lib/helpers-cli-tool.backend.js +2 -3
  52. package/lib/helpers-dependencies.backend.js +2 -3
  53. package/lib/helpers-environment.js +2 -3
  54. package/lib/helpers-file-folders.backend.js +2 -3
  55. package/lib/helpers-git.backend.js +2 -3
  56. package/lib/helpers-json5.backend.js +2 -3
  57. package/lib/helpers-morphi-framework.backend.js +2 -3
  58. package/lib/helpers-network.backend.js +2 -3
  59. package/lib/helpers-npm.backend.js +2 -3
  60. package/lib/helpers-path.backend.js +2 -3
  61. package/lib/helpers-process.backend.d.ts +1 -0
  62. package/lib/helpers-process.backend.js +5 -3
  63. package/lib/helpers-process.backend.js.map +1 -1
  64. package/lib/helpers-strings-regexes.js +2 -3
  65. package/lib/helpers-strings.js +2 -3
  66. package/lib/helpers-system-terminal.backend.js +2 -3
  67. package/lib/helpers.js +2 -3
  68. package/lib/index.js +15 -4
  69. package/lib/long-press.directive.js +2 -3
  70. package/lib/merge-helpers.backend.js +2 -3
  71. package/lib/project.d.ts +2 -0
  72. package/lib/project.js +2 -3
  73. package/lib/project.js.map +1 -1
  74. package/lib/resize-service.js +2 -3
  75. package/lib/ts-code/index.js +2 -3
  76. package/lib/ts-code/ts-code-extractor.js +2 -3
  77. package/lib/ts-code/ts-code-modifier.backend.js +2 -3
  78. package/package.json +1 -1
  79. package/tmp-environment.json +12 -9
@@ -58,4 +58,4 @@ export class HelpersStrings {
58
58
  return s?.replace(/(\r\n|\r|\n){2,}/g, '$1\n');
59
59
  }
60
60
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1zdHJpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMtc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckMsTUFBTSxPQUFPLGNBQWM7SUFFekI7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsaUJBQWlCLENBQVUsS0FBYTtRQUN0QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLDREQUE0RCxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xGLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPO1lBQ0wsY0FBYyxDQUFDLFVBQWE7Z0JBQzFCLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO29CQUNsQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUM3RSxPQUFPLEtBQUssQ0FBQztpQkFDZDtnQkFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQ2hELElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsQ0FBUSxDQUFDLENBQUM7WUFDWixDQUFDO1NBQ0YsQ0FBQTtJQUVILENBQUM7SUFFRCxRQUFRLENBQUMsU0FBaUI7UUFDeEIsaUNBQWlDO1FBQ2pDLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLFdBQThCO1FBQ3hDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMxQixHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDeEIsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzQixHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4QztRQUNELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsQ0FBUztRQUNwQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzU3RyaW5ncyB7XG5cbiAgLyoqXG4gICAqIEV4YW1wbGU6XG4gICAqXG4gICAqIGNvbnN0IHJlc3VsdCA9IGludGVycG9sYXRlU3RyaW5nKFwiSSdtIHthZ2V9IHllYXJzIG9sZCFcIilcbiAgICogLndpdGhQYXJhbWV0ZXJzKHsgYWdlOiAyOSB9KTtcbiAgICpcbiAgICogY29uc3QgcmVzdWx0ID0gaW50ZXJwb2xhdGVTdHJpbmcoXCJUaGUge2F9IHNheXMge259LCB7bn0sIHtufSFcIilcbiAgICogLndpdGhQYXJhbWV0ZXJzKHsgYTogJ2NvdycsIG46ICdtb28nIH0pO1xuICAgKlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nIHRvIGludGVycG9sYXRlXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIG9iamVjdCB3aXRoIHBhcmFtZXRlc1xuICAgKi9cbiAgaW50ZXJwb2xhdGVTdHJpbmc8VCA9IGFueT4odmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tzcy1sb2dpY11baGVscGVyXSBWYWx1ZSBmb3IgaW50ZXJwb2xhdGlvbiBpcyBub3Qgc3RyaW5nOiAnLCB2YWx1ZSk7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpdGhQYXJhbWV0ZXJzKHBhcmFtZXRlcnM6IFQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBwYXJhbWV0ZXJzICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnNvbGUud2FybignW3NzLWxvZ2ljXVtoZWxwZXJdIFBhcmFtZXRlcnMgYXJlIG5vdCBhIG9iamVjdDogJywgcGFyYW1ldGVycyk7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC97KFtee31dKil9L2csIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgICAgdmFyIHIgPSBwYXJhbWV0ZXJzW2JdO1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgciA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHIgPT09ICdudW1iZXInID8gciA6IGE7XG4gICAgICAgIH0gYXMgYW55KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIG51bVZhbHVlKHBpeGVsc0Nzczogc3RyaW5nKSB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnJhZGl4XG4gICAgcmV0dXJuIHBhcnNlSW50KHBpeGVsc0Nzcy5yZXBsYWNlKCdweCcsICcnKSk7XG4gIH1cblxuICAvKipcbiAgICogZXhhbXBsZXM6XG4gICAqICdhYSBiYiBiYicgPT4gWydhYScsJ2JiJywnY2MnXSxcbiAgICogJ2FhJyA9PiBbJ2FhJ11cbiAgICogWydhYSddID0+IFsnYWEnXVxuICAgKi9cbiAgc3BsaXRJZk5lZWQoc3RyaW5nT3JBcnI6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGxldCByZXMgPSBbXTtcbiAgICBpZiAoXy5pc0FycmF5KHN0cmluZ09yQXJyKSkge1xuICAgICAgcmVzID0gc3RyaW5nT3JBcnIubWFwKHMgPT4ge1xuICAgICAgICByZXR1cm4gcy50cmltKCk7XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhzdHJpbmdPckFycikpIHtcbiAgICAgIHJlcyA9IHN0cmluZ09yQXJyLnNwbGl0KC9cXHMqW1xccyxdXFxzKi8pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzLmZpbHRlcihmID0+ICEhZiAmJiAoZi50cmltKCkgIT09ICcnKSk7XG4gIH1cblxuICByZW1vdmVEb3VibGVPck1vcmVFbXB0eUxpbmVzKHM6IHN0cmluZykge1xuICAgIHMgPSBzPy5zcGxpdCgnXFxuJykubWFwKGYgPT4gZi50cmltUmlnaHQoKSkuam9pbignXFxuJyk7XG4gICAgcmV0dXJuIHM/LnJlcGxhY2UoLyhcXHJcXG58XFxyfFxcbil7Mix9L2csICckMVxcbicpO1xuICB9XG5cbn1cblxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1zdHJpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMtc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckMsTUFBTSxPQUFPLGNBQWM7SUFFekI7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsaUJBQWlCLENBQVUsS0FBYTtRQUN0QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLDREQUE0RCxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xGLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPO1lBQ0wsY0FBYyxDQUFDLFVBQWE7Z0JBQzFCLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO29CQUNsQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUM3RSxPQUFPLEtBQUssQ0FBQztpQkFDZDtnQkFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQ2hELElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsQ0FBUSxDQUFDLENBQUM7WUFDWixDQUFDO1NBQ0YsQ0FBQTtJQUVILENBQUM7SUFFRCxRQUFRLENBQUMsU0FBaUI7UUFDeEIsaUNBQWlDO1FBQ2pDLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLFdBQThCO1FBQ3hDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMxQixHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDeEIsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzQixHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4QztRQUNELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsQ0FBUztRQUNwQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNTdHJpbmdzIHtcblxuICAvKipcbiAgICogRXhhbXBsZTpcbiAgICpcbiAgICogY29uc3QgcmVzdWx0ID0gaW50ZXJwb2xhdGVTdHJpbmcoXCJJJ20ge2FnZX0geWVhcnMgb2xkIVwiKVxuICAgKiAud2l0aFBhcmFtZXRlcnMoeyBhZ2U6IDI5IH0pO1xuICAgKlxuICAgKiBjb25zdCByZXN1bHQgPSBpbnRlcnBvbGF0ZVN0cmluZyhcIlRoZSB7YX0gc2F5cyB7bn0sIHtufSwge259IVwiKVxuICAgKiAud2l0aFBhcmFtZXRlcnMoeyBhOiAnY293JywgbjogJ21vbycgfSk7XG4gICAqXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmcgdG8gaW50ZXJwb2xhdGVcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgb2JqZWN0IHdpdGggcGFyYW1ldGVzXG4gICAqL1xuICBpbnRlcnBvbGF0ZVN0cmluZzxUID0gYW55Pih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnNvbGUud2FybignW3NzLWxvZ2ljXVtoZWxwZXJdIFZhbHVlIGZvciBpbnRlcnBvbGF0aW9uIGlzIG5vdCBzdHJpbmc6ICcsIHZhbHVlKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2l0aFBhcmFtZXRlcnMocGFyYW1ldGVyczogVCkge1xuICAgICAgICBpZiAodHlwZW9mIHBhcmFtZXRlcnMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdbc3MtbG9naWNdW2hlbHBlcl0gUGFyYW1ldGVycyBhcmUgbm90IGEgb2JqZWN0OiAnLCBwYXJhbWV0ZXJzKTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL3soW157fV0qKX0vZywgZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICB2YXIgciA9IHBhcmFtZXRlcnNbYl07XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgciA9PT0gJ251bWJlcicgPyByIDogYTtcbiAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgbnVtVmFsdWUocGl4ZWxzQ3NzOiBzdHJpbmcpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cmFkaXhcbiAgICByZXR1cm4gcGFyc2VJbnQocGl4ZWxzQ3NzLnJlcGxhY2UoJ3B4JywgJycpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleGFtcGxlczpcbiAgICogJ2FhIGJiIGJiJyA9PiBbJ2FhJywnYmInLCdjYyddLFxuICAgKiAnYWEnID0+IFsnYWEnXVxuICAgKiBbJ2FhJ10gPT4gWydhYSddXG4gICAqL1xuICBzcGxpdElmTmVlZChzdHJpbmdPckFycjogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgbGV0IHJlcyA9IFtdO1xuICAgIGlmIChfLmlzQXJyYXkoc3RyaW5nT3JBcnIpKSB7XG4gICAgICByZXMgPSBzdHJpbmdPckFyci5tYXAocyA9PiB7XG4gICAgICAgIHJldHVybiBzLnRyaW0oKTtcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChfLmlzU3RyaW5nKHN0cmluZ09yQXJyKSkge1xuICAgICAgcmVzID0gc3RyaW5nT3JBcnIuc3BsaXQoL1xccypbXFxzLF1cXHMqLyk7XG4gICAgfVxuICAgIHJldHVybiByZXMuZmlsdGVyKGYgPT4gISFmICYmIChmLnRyaW0oKSAhPT0gJycpKTtcbiAgfVxuXG4gIHJlbW92ZURvdWJsZU9yTW9yZUVtcHR5TGluZXMoczogc3RyaW5nKSB7XG4gICAgcyA9IHM/LnNwbGl0KCdcXG4nKS5tYXAoZiA9PiBmLnRyaW1SaWdodCgpKS5qb2luKCdcXG4nKTtcbiAgICByZXR1cm4gcz8ucmVwbGFjZSgvKFxcclxcbnxcXHJ8XFxuKXsyLH0vZywgJyQxXFxuJyk7XG4gIH1cblxufVxuXG4iXX0=
@@ -17,11 +17,102 @@ export function applyMixins(derivedCtor, baseCtors) {
17
17
  }
18
18
  // @ts-ignore
19
19
  export class HelpersTnp extends CoreHelpers {
20
- constructor(arrays = new HelpersArrayObj(), strings = new HelpersStrings()) {
20
+ constructor(
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ arrays = new HelpersArrayObj(), strings = new HelpersStrings()) {
21
34
  super();
22
35
  this.arrays = arrays;
23
36
  this.strings = strings;
24
37
  this.conditionWait = conditionWait;
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
25
116
  this.applyMixins = applyMixins;
26
117
  }
27
118
  static get Instance() {
@@ -34,8 +125,67 @@ export class HelpersTnp extends CoreHelpers {
34
125
  CLASS.setName(f, name);
35
126
  return f;
36
127
  }
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ /* */
37
159
  async isElevated() {
160
+ /* */
161
+ /* */
162
+ /* */
163
+ /* */
38
164
  }
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
169
+ /* */
170
+ /* */
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ /* */
176
+ /* */
177
+ /* */
178
+ /* */
179
+ /* */
180
+ /* */
181
+ /* */
182
+ /* */
183
+ /* */
184
+ /* */
185
+ /* */
186
+ /* */
187
+ /* */
188
+ /* */
39
189
  async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
40
190
  var start = new Date();
41
191
  await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);
@@ -44,6 +194,8 @@ export class HelpersTnp extends CoreHelpers {
44
194
  if (Morphi.IsBrowser) {
45
195
  Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
46
196
  }
197
+ /* */
198
+ /* */
47
199
  return end;
48
200
  }
49
201
  mesureExectionInMsSync(description, functionToExecute) {
@@ -54,6 +206,8 @@ export class HelpersTnp extends CoreHelpers {
54
206
  if (Morphi.IsBrowser) {
55
207
  Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
56
208
  }
209
+ /* */
210
+ /* */
57
211
  return end;
58
212
  }
59
213
  waitForCondition(conditionFn, howOfftenCheckInMs = 1000) {
@@ -72,6 +226,11 @@ export class HelpersTnp extends CoreHelpers {
72
226
  });
73
227
  }
74
228
  getBrowserVerPath(moduleName) {
229
+ /* */
230
+ /* */
231
+ /* */
232
+ /* */
233
+ /* */
75
234
  }
76
235
  getMethodName(obj, method) {
77
236
  var methodName = null;
@@ -102,5 +261,8 @@ export class HelpersTnp extends CoreHelpers {
102
261
  applyMixins(HelpersTnp, [
103
262
  HelpersStringsRegexes,
104
263
  HelpersEnvironment,
264
+ /* */
265
+ /* */
266
+ /* */
105
267
  ]);
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBZ0IsRUFBRSxTQUFnQjtJQUM1RCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoSCxDQUFDLENBQUMsQ0FB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SSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFO2dCQUN4QixVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDdkIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM3QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFXO1FBQ3ZCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFXLENBQVEsQ0FBQztZQUMvQixJQUFJLEtBQUssS0FBSyxNQUFNO2dCQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxLQUFLLEtBQUssT0FBTztnQkFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQU1GO0FBU0QsV0FBVyxDQUFDLFVBQVUsRUFBRTtJQUN0QixxQkFBcUI7SUFDckIsa0JBQWtCO0NBRW5CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzQXJyYXlPYmogfSBmcm9tICcuL2hlbHBlcnMtYXJyYXktb2JqJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzUmVnZXhlcyB9IGZyb20gJy4vaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMnO1xuaW1wb3J0IHsgSGVscGVyc0Vudmlyb25tZW50IH0gZnJvbSAnLi9oZWxwZXJzLWVudmlyb25tZW50JztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzIH0gZnJvbSAnLi9oZWxwZXJzLXN0cmluZ3MnO1xuaW1wb3J0IHsgY29uZGl0aW9uV2FpdCB9IGZyb20gJy4vY29uZGl0aW9uLXdhaXQnO1xuXG5pbXBvcnQgeyBjb25maWcsIENvbmZpZ01vZGVscyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbmltcG9ydCB7IE1vcnBoaSB9IGZyb20gJ21vcnBoaS9icm93c2VyJztcbmltcG9ydCB7IENvcmVIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseU1peGlucyhkZXJpdmVkQ3RvcjogYW55LCBiYXNlQ3RvcnM6IGFueVtdKSB7XG4gIGJhc2VDdG9ycy5mb3JFYWNoKGJhc2VDdG9yID0+IHtcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhiYXNlQ3Rvci5wcm90b3R5cGUpLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVyaXZlZEN0b3IucHJvdG90eXBlLCBuYW1lLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2VDdG9yLnByb3RvdHlwZSwgbmFtZSkpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNsYXNzIEhlbHBlcnNUbnAgZXh0ZW5kcyBDb3JlSGVscGVycyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBIZWxwZXJzVG5wICYgQ29yZUhlbHBlcnM7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IEluc3RhbmNlKCkge1xuICAgIGlmICghSGVscGVyc1RucC5faW5zdGFuY2UpIHtcbiAgICAgIEhlbHBlcnNUbnAuX2luc3RhbmNlID0gbmV3IEhlbHBlcnNUbnAoKTtcbiAgICB9XG4gICAgcmV0dXJuIEhlbHBlcnNUbnAuX2luc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcblxuICAgIHB1YmxpYyBhcnJheXMgPSBuZXcgSGVscGVyc0FycmF5T2JqKCksXG4gICAgcHVibGljIHN0cmluZ3MgPSBuZXcgSGVscGVyc1N0cmluZ3MoKSxcblxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgQ0xJV1JBUChmOiBGdW5jdGlvbiwgbmFtZTogc3RyaW5nKSB7XG4gICAgQ0xBU1Muc2V0TmFtZShmLCBuYW1lKTtcbiAgICByZXR1cm4gZjtcbiAgfVxuXG5cblxuXG5cbiAgYXN5bmMgaXNFbGV2YXRlZCgpIHtcblxuICB9XG5cblxuXG5cblxuXG5cbiAgYXN5bmMgbWVzdXJlRXhlY3Rpb25Jbk1zKFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGU6IEZ1bmN0aW9uLFxuICAgIC4uLmZ1bmN0aW9uQXJndW1lbnRzOiBhbnlbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKVxuICAgIGF3YWl0IEhlbHBlcnMucnVuU3luY09yQXN5bmMoZnVuY3Rpb25Ub0V4ZWN1dGUsIC4uLmZ1bmN0aW9uQXJndW1lbnRzKTtcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB2YXIgZW5kID0gbmV3IERhdGUoKSAtIHN0YXJ0XG4gICAgaWYgKE1vcnBoaS5Jc0Jyb3dzZXIpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgRXhlY3V0aW9uIHRpbWU6ICR7ZW5kLnRvU3RyaW5nKCl9bXMgZm9yIFwiJHtkZXNjcmlwdGlvbn1cImApO1xuICAgIH1cblxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuICBtZXN1cmVFeGVjdGlvbkluTXNTeW5jKFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGU6ICgpID0+IHZvaWQpOiBudW1iZXIge1xuICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKClcbiAgICBmdW5jdGlvblRvRXhlY3V0ZSgpO1xuICAgIC8vQHRzLWlnbm9yZVxuICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpIC0gc3RhcnRcbiAgICBpZiAoTW9ycGhpLklzQnJvd3Nlcikge1xuICAgICAgSGVscGVycy5pbmZvKGBFeGVjdXRpb24gdGltZTogJHtlbmQudG9TdHJpbmcoKX1tcyBmb3IgXCIke2Rlc2NyaXB0aW9ufVwiYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVuZDtcbiAgfVxuXG4gIGNvbmRpdGlvbldhaXQgPSBjb25kaXRpb25XYWl0O1xuXG4gIHdhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm46IChhbnkpID0+IGJvb2xlYW4sIGhvd09mZnRlbkNoZWNrSW5NcyA9IDEwMDApIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKGNvbmRpdGlvbkZuKTtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmVzb2x2ZSh2b2lkIDApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBIZWxwZXJzLndhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm4sIGhvd09mZnRlbkNoZWNrSW5NcykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHZvaWQgMCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgfSwgaG93T2ZmdGVuQ2hlY2tJbk1zKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0QnJvd3NlclZlclBhdGgobW9kdWxlTmFtZT86IHN0cmluZykge1xuXG4gIH1cblxuICBnZXRNZXRob2ROYW1lKG9iaiwgbWV0aG9kKTogc3RyaW5nIHtcbiAgICB2YXIgbWV0aG9kTmFtZSA9IG51bGw7XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgaWYgKG9ialtwcm9wXSA9PT0gbWV0aG9kKSB7XG4gICAgICAgIG1ldGhvZE5hbWUgPSBwcm9wO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtZXRob2ROYW1lO1xuICAgIH1cblxuICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopO1xuICAgIGlmIChwcm90bykge1xuICAgICAgcmV0dXJuIEhlbHBlcnMuZ2V0TWV0aG9kTmFtZShwcm90bywgbWV0aG9kKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmaXhXZWJwYWNrRW52KGVudjogT2JqZWN0KSB7XG4gICAgXy5mb3JJbihlbnYsICh2LCBrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdiBhcyBhbnk7XG4gICAgICBpZiAodmFsdWUgPT09ICd0cnVlJykgZW52W2tdID0gdHJ1ZTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykgZW52W2tdID0gZmFsc2U7XG4gICAgfSlcbiAgfVxuXG5cblxuXG4gIHB1YmxpYyBhcHBseU1peGlucyA9IGFwcGx5TWl4aW5zO1xufVxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgaW50ZXJmYWNlIEhlbHBlcnNUbnAgZXh0ZW5kc1xuICBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMsXG4gIEhlbHBlcnNFbnZpcm9ubWVudFxuXG57IH1cblxuYXBwbHlNaXhpbnMoSGVscGVyc1RucCwgW1xuICBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMsXG4gIEhlbHBlcnNFbnZpcm9ubWVudCxcblxuXSk7XG4iXX0=
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQXNCakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLFVBQVUsV0FBVyxDQUFDLFdBQWdCLEVBQUUsU0FBZ0I7SUFDNUQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUMzQixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1RCxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDLENB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QVUsQ0FBQztTQUNuQjtRQUVELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVc7UUFDdkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQVcsQ0FBUSxDQUFDO1lBQy9CLElBQUksS0FBSyxLQUFLLE1BQU07Z0JBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNwQyxJQUFJLEtBQUssS0FBSyxPQUFPO2dCQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBb0ZGO0FBYUQsV0FBVyxDQUFDLFVBQVUsRUFBRTtJQUN0QixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ3BCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztDQUVKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnNBcnJheU9iaiB9IGZyb20gJy4vaGVscGVycy1hcnJheS1vYmonO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3NSZWdleGVzIH0gZnJvbSAnLi9oZWxwZXJzLXN0cmluZ3MtcmVnZXhlcyc7XG5pbXBvcnQgeyBIZWxwZXJzRW52aXJvbm1lbnQgfSBmcm9tICcuL2hlbHBlcnMtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3MgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncyc7XG5pbXBvcnQgeyBjb25kaXRpb25XYWl0IH0gZnJvbSAnLi9jb25kaXRpb24td2FpdCc7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IGNvbmZpZywgQ29uZmlnTW9kZWxzIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL2Jyb3dzZXInO1xuaW1wb3J0IHsgTW9ycGhpIH0gZnJvbSAnbW9ycGhpL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWl4aW5zKGRlcml2ZWRDdG9yOiBhbnksIGJhc2VDdG9yczogYW55W10pIHtcbiAgYmFzZUN0b3JzLmZvckVhY2goYmFzZUN0b3IgPT4ge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2VDdG9yLnByb3RvdHlwZSkuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXJpdmVkQ3Rvci5wcm90b3R5cGUsIG5hbWUsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZUN0b3IucHJvdG90eXBlLCBuYW1lKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY2xhc3MgSGVscGVyc1RucCBleHRlbmRzIENvcmVIZWxwZXJzIHtcblxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IEhlbHBlcnNUbnAgJiBDb3JlSGVscGVycztcbiAgcHVibGljIHN0YXRpYyBnZXQgSW5zdGFuY2UoKSB7XG4gICAgaWYgKCFIZWxwZXJzVG5wLl9pbnN0YW5jZSkge1xuICAgICAgSGVscGVyc1RucC5faW5zdGFuY2UgPSBuZXcgSGVscGVyc1RucCgpO1xuICAgIH1cbiAgICByZXR1cm4gSGVscGVyc1RucC5faW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICBwdWJsaWMgYXJyYXlzID0gbmV3IEhlbHBlcnNBcnJheU9iaigpLFxuICAgIHB1YmxpYyBzdHJpbmdzID0gbmV3IEhlbHBlcnNTdHJpbmdzKCksXG5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIENMSVdSQVAoZjogRnVuY3Rpb24sIG5hbWU6IHN0cmluZykge1xuICAgIENMQVNTLnNldE5hbWUoZiwgbmFtZSk7XG4gICAgcmV0dXJuIGY7XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiAgYXN5bmMgaXNFbGV2YXRlZCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4gIGFzeW5jIG1lc3VyZUV4ZWN0aW9uSW5NcyhcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGZ1bmN0aW9uVG9FeGVjdXRlOiBGdW5jdGlvbixcbiAgICAuLi5mdW5jdGlvbkFyZ3VtZW50czogYW55W10pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKClcbiAgICBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKGZ1bmN0aW9uVG9FeGVjdXRlLCAuLi5mdW5jdGlvbkFyZ3VtZW50cyk7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgdmFyIGVuZCA9IG5ldyBEYXRlKCkgLSBzdGFydFxuICAgIGlmIChNb3JwaGkuSXNCcm93c2VyKSB7XG4gICAgICBIZWxwZXJzLmluZm8oYEV4ZWN1dGlvbiB0aW1lOiAke2VuZC50b1N0cmluZygpfW1zIGZvciBcIiR7ZGVzY3JpcHRpb259XCJgKTtcbiAgICB9XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcmV0dXJuIGVuZDtcbiAgfVxuXG4gIG1lc3VyZUV4ZWN0aW9uSW5Nc1N5bmMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogKCkgPT4gdm9pZCk6IG51bWJlciB7XG4gICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKVxuICAgIGZ1bmN0aW9uVG9FeGVjdXRlKCk7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgdmFyIGVuZCA9IG5ldyBEYXRlKCkgLSBzdGFydFxuICAgIGlmIChNb3JwaGkuSXNCcm93c2VyKSB7XG4gICAgICBIZWxwZXJzLmluZm8oYEV4ZWN1dGlvbiB0aW1lOiAke2VuZC50b1N0cmluZygpfW1zIGZvciBcIiR7ZGVzY3JpcHRpb259XCJgKTtcbiAgICB9XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcmV0dXJuIGVuZDtcbiAgfVxuXG4gIGNvbmRpdGlvbldhaXQgPSBjb25kaXRpb25XYWl0O1xuXG4gIHdhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm46IChhbnkpID0+IGJvb2xlYW4sIGhvd09mZnRlbkNoZWNrSW5NcyA9IDEwMDApIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKGNvbmRpdGlvbkZuKTtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmVzb2x2ZSh2b2lkIDApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBIZWxwZXJzLndhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm4sIGhvd09mZnRlbkNoZWNrSW5NcykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHZvaWQgMCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgfSwgaG93T2ZmdGVuQ2hlY2tJbk1zKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0QnJvd3NlclZlclBhdGgobW9kdWxlTmFtZT86IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgZ2V0TWV0aG9kTmFtZShvYmosIG1ldGhvZCk6IHN0cmluZyB7XG4gICAgdmFyIG1ldGhvZE5hbWUgPSBudWxsO1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIGlmIChvYmpbcHJvcF0gPT09IG1ldGhvZCkge1xuICAgICAgICBtZXRob2ROYW1lID0gcHJvcDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChtZXRob2ROYW1lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbWV0aG9kTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgICBpZiAocHJvdG8pIHtcbiAgICAgIHJldHVybiBIZWxwZXJzLmdldE1ldGhvZE5hbWUocHJvdG8sIG1ldGhvZCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZml4V2VicGFja0VudihlbnY6IE9iamVjdCkge1xuICAgIF8uZm9ySW4oZW52LCAodiwgaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHYgYXMgYW55O1xuICAgICAgaWYgKHZhbHVlID09PSAndHJ1ZScpIGVudltrXSA9IHRydWU7XG4gICAgICBpZiAodmFsdWUgPT09ICdmYWxzZScpIGVudltrXSA9IGZhbHNlO1xuICAgIH0pXG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuICBcbiAgcHVibGljIGFwcGx5TWl4aW5zID0gYXBwbHlNaXhpbnM7XG59XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBpbnRlcmZhY2UgSGVscGVyc1RucCBleHRlbmRzXG4gIEhlbHBlcnNTdHJpbmdzUmVnZXhlcyxcbiAgSGVscGVyc0Vudmlyb25tZW50XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbnsgfVxuXG5hcHBseU1peGlucyhIZWxwZXJzVG5wLCBbXG4gIEhlbHBlcnNTdHJpbmdzUmVnZXhlcyxcbiAgSGVscGVyc0Vudmlyb25tZW50LFxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbl0pO1xuIl19
@@ -1,5 +1,7 @@
1
1
  import { HelpersTnp as Base } from './helpers';
2
2
  export * from './constants';
3
+ /* */
4
+ /* */
3
5
  // export * from './git-project';
4
6
  export const Helpers = Base.Instance;
5
7
  export * from './project';
@@ -10,4 +12,4 @@ export { DualComponentController } from './dual-component-ctrl';
10
12
  export { ResizeService } from './resize-service';
11
13
  export { LongPress } from './long-press.directive';
12
14
  //#endregion
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsY0FBYyxhQUFhLENBQUM7QUFHNUIsaUNBQWlDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ3JDLGNBQWMsV0FBVyxDQUFDO0FBRTFCLGtCQUFrQjtBQUNsQixPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEhlbHBlcnNUbnAgYXMgQmFzZSB9IGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgeyBDb25kaXRpb24gfSBmcm9tICcuL2NvbmRpdGlvbi13YWl0JztcblxuLy8gZXhwb3J0ICogZnJvbSAnLi9naXQtcHJvamVjdCc7XG5leHBvcnQgY29uc3QgSGVscGVycyA9IEJhc2UuSW5zdGFuY2U7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3QnO1xuXG4vLyNyZWdpb24gQGJyb3dzZXJcbmV4cG9ydCB7IEJhc2VDb21wb25lbnQsIEJhc2VDb21wb25lbnRGb3JSb3V0ZXIgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50JztcbmV4cG9ydCB7IEJhc2VGb3JtbHlDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZm9ybWx5LWNvbXBvbmVudCc7XG5leHBvcnQgeyBEdWFsQ29tcG9uZW50Q29udHJvbGxlciB9IGZyb20gJy4vZHVhbC1jb21wb25lbnQtY3RybCc7XG5leHBvcnQgeyBSZXNpemVTZXJ2aWNlIH0gZnJvbSAnLi9yZXNpemUtc2VydmljZSc7XG5leHBvcnQgeyBMb25nUHJlc3MgfSBmcm9tICcuL2xvbmctcHJlc3MuZGlyZWN0aXZlJztcbi8vI2VuZHJlZ2lvblxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsY0FBYyxhQUFhLENBQUM7QUFFNUIsS0FBSztBQUNMLEtBQUs7QUFFTCxpQ0FBaUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDckMsY0FBYyxXQUFXLENBQUM7QUFFMUIsa0JBQWtCO0FBQ2xCLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWxwZXJzVG5wIGFzIEJhc2UgfSBmcm9tICcuL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0IHsgQ29uZGl0aW9uIH0gZnJvbSAnLi9jb25kaXRpb24td2FpdCc7XG4vKiAqL1xuLyogKi9cbiAgXG4vLyBleHBvcnQgKiBmcm9tICcuL2dpdC1wcm9qZWN0JztcbmV4cG9ydCBjb25zdCBIZWxwZXJzID0gQmFzZS5JbnN0YW5jZTtcbmV4cG9ydCAqIGZyb20gJy4vcHJvamVjdCc7XG5cbi8vI3JlZ2lvbiBAYnJvd3NlclxuZXhwb3J0IHsgQmFzZUNvbXBvbmVudCwgQmFzZUNvbXBvbmVudEZvclJvdXRlciB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQnO1xuZXhwb3J0IHsgQmFzZUZvcm1seUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1mb3JtbHktY29tcG9uZW50JztcbmV4cG9ydCB7IER1YWxDb21wb25lbnRDb250cm9sbGVyIH0gZnJvbSAnLi9kdWFsLWNvbXBvbmVudC1jdHJsJztcbmV4cG9ydCB7IFJlc2l6ZVNlcnZpY2UgfSBmcm9tICcuL3Jlc2l6ZS1zZXJ2aWNlJztcbmV4cG9ydCB7IExvbmdQcmVzcyB9IGZyb20gJy4vbG9uZy1wcmVzcy5kaXJlY3RpdmUnO1xuLy8jZW5kcmVnaW9uXG4iXX0=
@@ -1,4 +1,10 @@
1
- import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';
1
+ import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core'; /* */
2
+ /* */
3
+ /* */
4
+ /* */
5
+ /* */
6
+ /* */
7
+ /* */
2
8
  import { _ } from 'tnp-core/browser';
3
9
  import { Log, Level } from 'ng2-logger/browser';
4
10
  import * as i0 from "@angular/core";
@@ -103,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
103
109
  type: HostListener,
104
110
  args: ['mouseup']
105
111
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1wcmVzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbG9uZy1wcmVzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFJLFNBQVMsRUFBSSxLQUFLLEVBQUksTUFBTSxFQUFJLFlBQVksRUFBSSxXQUFXLEVBQUksWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlHLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLDBCQUEwQixFQUM3QyxLQUFLLENBQUMsU0FBUyxDQUNsQixDQUFBO0FBR0QsTUFBTSxPQUFPLFNBQVM7SUFEdEI7UUFHVyxrQkFBYSxHQUFXLElBQUksQ0FBQztRQUU1QixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt6RCxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFRM0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7S0FvRVI7SUE3RUMsSUFDSSxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUVyQyxJQUNJLFNBQVMsS0FBSyxP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MkZBQVQsU0FBUztrQkFEckIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUU7OEJBRzVCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBU0gsS0FBSztzQkFEUixXQUFXO3VCQUFDLGFBQWE7Z0JBSXRCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxpQkFBaUI7Z0JBUzlCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkJyQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9DckMsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgICBEaXJlY3RpdmUsICAgSW5wdXQsICAgT3V0cHV0LCAgIEV2ZW50RW1pdHRlciwgICBIb3N0QmluZGluZywgICBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBMb2csIExldmVsIH0gZnJvbSAnbmcyLWxvZ2dlci9icm93c2VyJztcbmNvbnN0IGxvZyA9IExvZy5jcmVhdGUoYFt0bnAtaGVscGVyc10gbG9uZy1wcmVzc2BcbiAgLCBMZXZlbC5fX05PVEhJTkdcbilcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2xvbmctcHJlc3NdJyB9KVxuZXhwb3J0IGNsYXNzIExvbmdQcmVzcyB7XG5cbiAgQElucHV0KCkgcHJlc3NEdXJhdGlvbjogbnVtYmVyID0gMTAwMDtcblxuICBAT3V0cHV0KCkgb25Mb25nUHJlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Mb25nUHJlc3Npbmc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Mb25nUHJlc3NFbmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgcHJlc3Npbmc6IGJvb2xlYW47XG4gIHByaXZhdGUgbG9uZ1ByZXNzaW5nOiBib29sZWFuO1xuICBwcml2YXRlIHRpbWVvdXQ6IGFueTtcbiAgcHJpdmF0ZSBtb3VzZVg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgbW91c2VZOiBudW1iZXIgPSAwO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucHJlc3MnKVxuICBnZXQgcHJlc3MoKSB7IHJldHVybiB0aGlzLnByZXNzaW5nOyB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sb25ncHJlc3MnKVxuICBnZXQgbG9uZ1ByZXNzKCkgeyByZXR1cm4gdGhpcy5sb25nUHJlc3Npbmc7IH1cblxuICBhbGxvd1RyaWdnZXIgPSBmYWxzZTtcbiAgdHJpZ2dlckVuZCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgIHRoaXMuZW5kUHJlc3MoKTtcbiAgfSwgNTAwKVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VEb3duKGV2ZW50KSB7XG4gICAgLy8gZG9uJ3QgZG8gcmlnaHQvbWlkZGxlIGNsaWNrc1xuICAgIGxvZy5kKGBNT1VTRSBET1dOIGApO1xuXG4gICAgaWYgKGV2ZW50LndoaWNoICE9PSAxKSByZXR1cm47XG4gICAgdGhpcy5hbGxvd1RyaWdnZXIgPSB0cnVlO1xuXG4gICAgdGhpcy5tb3VzZVggPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMubW91c2VZID0gZXZlbnQuY2xpZW50WTtcblxuICAgIHRoaXMucHJlc3NpbmcgPSB0cnVlO1xuICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFsbG93VHJpZ2dlcikge1xuICAgICAgICB0aGlzLmxvbmdQcmVzc2luZyA9IHRydWU7XG4gICAgICAgIGxvZy5kKGBsb25nIHByZXNzaW5nIHN0YXJ0ICBwcmVzc0R1cmF0aW9uOiR7dGhpcy5wcmVzc0R1cmF0aW9ufSBgKTtcbiAgICAgICAgdGhpcy5vbkxvbmdQcmVzcy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgICAgIH1cbiAgICB9LCB0aGlzLnByZXNzRHVyYXRpb24pO1xuXG4gICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VNb3ZlKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMucHJlc3NpbmcgJiYgIXRoaXMubG9uZ1ByZXNzaW5nKSB7XG4gICAgICBjb25zdCB4VGhyZXMgPSAoZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VYKSA+IDEwO1xuICAgICAgY29uc3QgeVRocmVzID0gKGV2ZW50LmNsaWVudFkgLSB0aGlzLm1vdXNlWSkgPiAxMDtcbiAgICAgIGlmICh4VGhyZXMgfHwgeVRocmVzKSB7XG4gICAgICAgIHRoaXMuZW5kUHJlc3MoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsb29wKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMubG9uZ1ByZXNzaW5nKSB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgbG9nLmQoYGVtaWwgbG9uZ3ByZXNzaW5nYClcbiAgICAgICAgdGhpcy50cmlnZ2VyRW5kKCk7XG4gICAgICAgIHRoaXMub25Mb25nUHJlc3NpbmcuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMubG9vcChldmVudCk7XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgZW5kUHJlc3MoZW1pdCA9IHRydWUpIHtcbiAgICB0aGlzLmFsbG93VHJpZ2dlciA9IGZhbHNlO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gZmFsc2U7XG4gICAgdGhpcy5wcmVzc2luZyA9IGZhbHNlO1xuICAgIGlmIChlbWl0KSB7XG4gICAgICBsb2cuZChgRU1JVCBFTkRgKVxuICAgICAgdGhpcy5vbkxvbmdQcmVzc0VuZC5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZChgTk9UIEVNSVQgRU5EYClcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZXVwJylcbiAgb25Nb3VzZVVwKCkge1xuICAgIHRoaXMuZW5kUHJlc3MoZmFsc2UpO1xuICB9XG5cbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1wcmVzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbG9uZy1wcmVzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFJLFNBQVMsRUFBSSxLQUFLLEVBQUksTUFBTSxFQUFJLFlBQVksRUFBSSxXQUFXLEVBQUksWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDLENBQUEsS0FBSztBQUNuSCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFDaEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFDN0MsS0FBSyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQTtBQUdELE1BQU0sT0FBTyxTQUFTO0lBRHRCO1FBR1csa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFFNUIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFLekQsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBUTNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0tBb0VSO0lBN0VDLElB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SUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOztzR0F6RlUsU0FBUzswRkFBVCxTQUFTOzJGQUFULFNBQVM7a0JBRHJCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFOzhCQUc1QixhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQVNILEtBQUs7c0JBRFIsV0FBVzt1QkFBQyxhQUFhO2dCQUl0QixTQUFTO3NCQURaLFdBQVc7dUJBQUMsaUJBQWlCO2dCQVM5QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTJCckMsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFvQ3JDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgICBEaXJlY3RpdmUsICAgSW5wdXQsICAgT3V0cHV0LCAgIEV2ZW50RW1pdHRlciwgICBIb3N0QmluZGluZywgICBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZShgW3RucC1oZWxwZXJzXSBsb25nLXByZXNzYFxuICAsIExldmVsLl9fTk9USElOR1xuKVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbG9uZy1wcmVzc10nIH0pXG5leHBvcnQgY2xhc3MgTG9uZ1ByZXNzIHtcblxuICBASW5wdXQoKSBwcmVzc0R1cmF0aW9uOiBudW1iZXIgPSAxMDAwO1xuXG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc2luZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc0VuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBwcmVzc2luZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBsb25nUHJlc3Npbmc6IGJvb2xlYW47XG4gIHByaXZhdGUgdGltZW91dDogYW55O1xuICBwcml2YXRlIG1vdXNlWDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBtb3VzZVk6IG51bWJlciA9IDA7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmVzcycpXG4gIGdldCBwcmVzcygpIHsgcmV0dXJuIHRoaXMucHJlc3Npbmc7IH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvbmdwcmVzcycpXG4gIGdldCBsb25nUHJlc3MoKSB7IHJldHVybiB0aGlzLmxvbmdQcmVzc2luZzsgfVxuXG4gIGFsbG93VHJpZ2dlciA9IGZhbHNlO1xuICB0cmlnZ2VyRW5kID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgdGhpcy5lbmRQcmVzcygpO1xuICB9LCA1MDApXG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZURvd24oZXZlbnQpIHtcbiAgICAvLyBkb24ndCBkbyByaWdodC9taWRkbGUgY2xpY2tzXG4gICAgbG9nLmQoYE1PVVNFIERPV04gYCk7XG5cbiAgICBpZiAoZXZlbnQud2hpY2ggIT09IDEpIHJldHVybjtcbiAgICB0aGlzLmFsbG93VHJpZ2dlciA9IHRydWU7XG5cbiAgICB0aGlzLm1vdXNlWCA9IGV2ZW50LmNsaWVudFg7XG4gICAgdGhpcy5tb3VzZVkgPSBldmVudC5jbGllbnRZO1xuXG4gICAgdGhpcy5wcmVzc2luZyA9IHRydWU7XG4gICAgdGhpcy5sb25nUHJlc3NpbmcgPSBmYWxzZTtcblxuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYWxsb3dUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gdHJ1ZTtcbiAgICAgICAgbG9nLmQoYGxvbmcgcHJlc3Npbmcgc3RhcnQgIHByZXNzRHVyYXRpb246JHt0aGlzLnByZXNzRHVyYXRpb259IGApO1xuICAgICAgICB0aGlzLm9uTG9uZ1ByZXNzLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLmxvb3AoZXZlbnQpO1xuICAgICAgfVxuICAgIH0sIHRoaXMucHJlc3NEdXJhdGlvbik7XG5cbiAgICB0aGlzLmxvb3AoZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZU1vdmUoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcmVzc2luZyAmJiAhdGhpcy5sb25nUHJlc3NpbmcpIHtcbiAgICAgIGNvbnN0IHhUaHJlcyA9IChldmVudC5jbGllbnRYIC0gdGhpcy5tb3VzZVgpID4gMTA7XG4gICAgICBjb25zdCB5VGhyZXMgPSAoZXZlbnQuY2xpZW50WSAtIHRoaXMubW91c2VZKSA+IDEwO1xuICAgICAgaWYgKHhUaHJlcyB8fCB5VGhyZXMpIHtcbiAgICAgICAgdGhpcy5lbmRQcmVzcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvb3AoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5sb25nUHJlc3NpbmcpIHtcbiAgICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBsb2cuZChgZW1pbCBsb25ncHJlc3NpbmdgKVxuICAgICAgICB0aGlzLnRyaWdnZXJFbmQoKTtcbiAgICAgICAgdGhpcy5vbkxvbmdQcmVzc2luZy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgICAgIH0sIDUwKTtcbiAgICB9XG4gIH1cblxuICBlbmRQcmVzcyhlbWl0ID0gdHJ1ZSkge1xuICAgIHRoaXMuYWxsb3dUcmlnZ2VyID0gZmFsc2U7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgdGhpcy5sb25nUHJlc3NpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnByZXNzaW5nID0gZmFsc2U7XG4gICAgaWYgKGVtaXQpIHtcbiAgICAgIGxvZy5kKGBFTUlUIEVORGApXG4gICAgICB0aGlzLm9uTG9uZ1ByZXNzRW5kLmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5kKGBOT1QgRU1JVCBFTkRgKVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKVxuICBvbk1vdXNlVXAoKSB7XG4gICAgdGhpcy5lbmRQcmVzcyhmYWxzZSk7XG4gIH1cblxufVxuIl19