tnp-core 18.0.46 → 18.0.49

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 (104) hide show
  1. package/README.md +20 -20
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/browser/README.md +24 -24
  4. package/browser/esm2022/lib/core-imports.mjs +65 -9
  5. package/browser/esm2022/lib/core-models.mjs +61 -9
  6. package/browser/esm2022/lib/helpers-messages.mjs +9 -4
  7. package/browser/esm2022/lib/helpers.mjs +164 -373
  8. package/browser/esm2022/lib/utils.mjs +769 -190
  9. package/browser/fesm2022/tnp-core.mjs +1548 -1062
  10. package/browser/fesm2022/tnp-core.mjs.map +1 -1
  11. package/browser/lib/core-imports.d.ts +41 -1
  12. package/browser/lib/core-models.d.ts +68 -38
  13. package/browser/lib/helpers-messages.d.ts +6 -3
  14. package/browser/lib/helpers.d.ts +22 -0
  15. package/browser/lib/utils.d.ts +77 -13
  16. package/cli.backend.d.ts +1 -0
  17. package/cli.backend.js +15 -2
  18. package/cli.backend.js.map +1 -1
  19. package/client/README.md +24 -24
  20. package/client/esm2022/lib/core-imports.mjs +65 -9
  21. package/client/esm2022/lib/core-models.mjs +61 -9
  22. package/client/esm2022/lib/helpers-messages.mjs +9 -4
  23. package/client/esm2022/lib/helpers.mjs +164 -373
  24. package/client/esm2022/lib/utils.mjs +769 -190
  25. package/client/fesm2022/tnp-core.mjs +1548 -1062
  26. package/client/fesm2022/tnp-core.mjs.map +1 -1
  27. package/client/lib/core-imports.d.ts +41 -1
  28. package/client/lib/core-models.d.ts +68 -38
  29. package/client/lib/helpers-messages.d.ts +6 -3
  30. package/client/lib/helpers.d.ts +22 -0
  31. package/client/lib/utils.d.ts +77 -13
  32. package/index.js +15 -2
  33. package/index.js.map +1 -1
  34. package/lib/build-info._auto-generated_.js.map +1 -1
  35. package/lib/command-exists.js +20 -20
  36. package/lib/command-exists.js.map +1 -1
  37. package/lib/core-cli.js +49 -66
  38. package/lib/core-cli.js.map +1 -1
  39. package/lib/core-config.js.map +1 -1
  40. package/lib/core-imports.d.ts +41 -25
  41. package/lib/core-imports.js +202 -80
  42. package/lib/core-imports.js.map +1 -1
  43. package/lib/core-models.d.ts +68 -38
  44. package/lib/core-models.js +62 -8
  45. package/lib/core-models.js.map +1 -1
  46. package/lib/framework-name.js +2 -2
  47. package/lib/framework-name.js.map +1 -1
  48. package/lib/helpers-isomorphic.js +33 -52
  49. package/lib/helpers-isomorphic.js.map +1 -1
  50. package/lib/helpers-messages.d.ts +6 -3
  51. package/lib/helpers-messages.js +79 -102
  52. package/lib/helpers-messages.js.map +1 -1
  53. package/lib/helpers.d.ts +21 -3
  54. package/lib/helpers.js +723 -971
  55. package/lib/helpers.js.map +1 -1
  56. package/lib/index._auto-generated_.js.map +1 -1
  57. package/lib/index.js +23 -10
  58. package/lib/index.js.map +1 -1
  59. package/lib/node-chalk-mock.js +2 -2
  60. package/lib/node-chalk-mock.js.map +1 -1
  61. package/lib/node-path-mock.js +2 -2
  62. package/lib/node-path-mock.js.map +1 -1
  63. package/lib/progress-data.js +21 -23
  64. package/lib/progress-data.js.map +1 -1
  65. package/lib/public-api.js +19 -6
  66. package/lib/public-api.js.map +1 -1
  67. package/lib/required-global-npm-packages.js.map +1 -1
  68. package/lib/required.d.ts +44 -0
  69. package/lib/safe-types/glob.d.ts +102 -0
  70. package/lib/safe-types/minimatch/assert-valid-pattern.d.ts +1 -0
  71. package/lib/safe-types/minimatch/ast.d.ts +17 -0
  72. package/lib/safe-types/minimatch/brace-expressions.d.ts +7 -0
  73. package/lib/safe-types/minimatch/escape.d.ts +11 -0
  74. package/lib/safe-types/minimatch/index.d copy.d.ts +93 -0
  75. package/lib/safe-types/minimatch/index.d.ts +93 -0
  76. package/lib/safe-types/minimatch/unescapd.d.ts +16 -0
  77. package/lib/safe-types/minimatch/unescape.d.ts +16 -0
  78. package/lib/safe-types/minimatch.d.ts +0 -0
  79. package/lib/safe-types/rimraf.d.ts +28 -0
  80. package/lib/utils.d.ts +89 -14
  81. package/lib/utils.js +1261 -1075
  82. package/lib/utils.js.map +1 -1
  83. package/migrations/index.js +15 -2
  84. package/migrations/index.js.map +1 -1
  85. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  86. package/package.json +25 -91
  87. package/src.d.ts +1 -1
  88. package/tmp-environment.json +8 -404
  89. package/websql/README.md +24 -24
  90. package/websql/esm2022/lib/core-imports.mjs +65 -9
  91. package/websql/esm2022/lib/core-models.mjs +61 -9
  92. package/websql/esm2022/lib/helpers-messages.mjs +9 -4
  93. package/websql/esm2022/lib/helpers.mjs +164 -373
  94. package/websql/esm2022/lib/utils.mjs +766 -187
  95. package/websql/fesm2022/tnp-core.mjs +1546 -1060
  96. package/websql/fesm2022/tnp-core.mjs.map +1 -1
  97. package/websql/lib/core-imports.d.ts +41 -1
  98. package/websql/lib/core-models.d.ts +68 -38
  99. package/websql/lib/helpers-messages.d.ts +6 -3
  100. package/websql/lib/helpers.d.ts +22 -0
  101. package/websql/lib/utils.d.ts +77 -13
  102. package/browser/package.json +0 -25
  103. package/taon.jsonc +0 -65
  104. package/websql/package.json +0 -25
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
- # taon-core ( tnp-core )
2
-
3
- - Part of [taon.dev](https://github.com/darekf77/taon)
4
- - JavasScript/Typescript most essential helpers
5
- - Basic taon releated helpers
6
- - Purpose:
7
- + lightweight most essential helpers library
8
- + crossplatform helpers for NodeJs/Browser
9
-
10
-
11
- ## Usage
12
- - in taon isomorphic libs/apps or any NodeJS apps/libs:
13
- ```ts
14
- import { Helpers } from 'tnp-core';
15
- ```
16
-
17
- - in any frontend browser apps (except taon lib/apps)
18
- ```ts
19
- import { Helpers } from 'tnp-core/browser';
20
- ```
1
+ # taon-core ( tnp-core )
2
+
3
+ - Part of [taon.dev](https://github.com/darekf77/taon)
4
+ - JavasScript/Typescript most essential helpers
5
+ - Basic taon releated helpers
6
+ - Purpose:
7
+ + lightweight most essential helpers library
8
+ + crossplatform helpers for NodeJs/Browser
9
+
10
+
11
+ ## Usage
12
+ - in taon isomorphic libs/apps or any NodeJS apps/libs:
13
+ ```ts
14
+ import { Helpers } from 'tnp-core';
15
+ ```
16
+
17
+ - in any frontend browser apps (except taon libs/apps)
18
+ ```ts
19
+ import { Helpers } from 'tnp-core/browser';
20
+ ```
@@ -1,6 +1,6 @@
1
1
  THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
2
2
 
3
- Assets from this folder are being shipped with this npm package (tnp-core@18.0.46)
3
+ Assets from this folder are being shipped with this npm package (tnp-core@18.0.44)
4
4
  created from this project.
5
5
 
6
6
  THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
package/browser/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -34,6 +34,8 @@ import * as moment from 'moment';
34
34
  import * as dateformat from 'dateformat';
35
35
  import * as json5 from 'json5';
36
36
  import { Helpers } from './index';
37
+ /* */
38
+ /* */
37
39
  let $;
38
40
  $ = jQuery;
39
41
  /* */
@@ -48,8 +50,69 @@ let chalk = void 0;
48
50
  /* */
49
51
  // @ts-ignore
50
52
  chalk = chalkMock;
53
+ let glob = void 0;
54
+ /* */
55
+ /* */
56
+ let fse = void 0;
57
+ /* */
58
+ /* */
59
+ let os = void 0;
60
+ /* */
61
+ /* */
62
+ let child_process = void 0;
63
+ /* */
64
+ /* */
65
+ let http = void 0;
66
+ /* */
67
+ /* */
68
+ let https = void 0;
51
69
  /* */
52
70
  /* */
71
+ let isRoot = void 0;
72
+ /* */
73
+ /* */
74
+ let isAdmin = void 0;
75
+ /* */
76
+ /* */
77
+ /**
78
+ * check if the current process is elevated
79
+ * - sudo in unix/macos
80
+ * - admin in windows
81
+ */
82
+ let isElevated = void 0;
83
+ /* */
84
+ /* */
85
+ let fkill = void 0;
86
+ /* */
87
+ /* */
88
+ let psList = void 0;
89
+ /* */
90
+ /* */
91
+ let net = void 0;
92
+ /* */
93
+ /* */
94
+ let spawn = void 0;
95
+ /* */
96
+ /* */
97
+ let minimatch = void 0;
98
+ /* */
99
+ /* */
100
+ let rimraf = void 0;
101
+ /* */
102
+ /* */
103
+ let chokidar = void 0;
104
+ /* */
105
+ /* */
106
+ let mkdirp = void 0;
107
+ /* */
108
+ /* */
109
+ let ncp = void 0;
110
+ /* */
111
+ /* */
112
+ let ps = void 0;
113
+ /* */
114
+ /* */
115
+ let fg = void 0;
53
116
  /* */
54
117
  /* */
55
118
  /**
@@ -108,14 +171,7 @@ const crossPlatformPath = (pathStringOrPathParts) => {
108
171
  }
109
172
  return pathStringOrPathParts;
110
173
  };
111
- export { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, json5, $, }; /* */
112
- /* */
113
- /* */
114
- /* */
115
- /* */
116
- /* */
117
- /* */
118
- /* */
174
+ export { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, json5, $, glob, fse, os, child_process, http, https, isElevated, fkill, psList, spawn, minimatch, fg, chokidar, mkdirp, ncp, rimraf, net, ps, }; /* */
119
175
  /* */
120
176
  /* */
121
177
  /* */
@@ -146,4 +202,4 @@ export { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, js
146
202
  /* */
147
203
  ;
148
204
  ({}); // @--end-of-file-for-module=tnp-core lib/core-imports.ts
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbXBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9jb3JlLWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0FBQ3ZCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUsvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBS2xDLElBQUksQ0FBYSxDQUFDO0FBRWxCLENBQUMsR0FBRyxNQUFNLENBQUM7QUFFWCxLQUFLO0FBQ0wsS0FBSztBQU1MLElBQUksSUFB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RyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQVlELE9BQU8scUJBQXFCLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBSUYsT0FBTyxFQUFJLENBQUMsRUFBSSxDQUFDLEVBQUksTUFBTSxFQUFJLFVBQVUsRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksSUFBSSxFQUFJLEtBQUssRUFBSSxLQUFLLEVBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxLQUFLO0FBQ25ILEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBSUosQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5sZXQgZm9yY2VUcmFjZSA9IGZhbHNlO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5pbXBvcnQgalF1ZXJ5IGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgeyBjaGFsayBhcyBjaGFsa01vY2sgfSBmcm9tICcuL25vZGUtY2hhbGstbW9jayc7XG5pbXBvcnQgeyBwYXRoIGFzIHBhdGhNb2NrIH0gZnJvbSAnLi9ub2RlLXBhdGgtbW9jayc7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAqIGFzIHEgZnJvbSAncSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCAqIGFzIGRhdGVmb3JtYXQgZnJvbSAnZGF0ZWZvcm1hdCc7XG5pbXBvcnQgeyBDaGFsayB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGpzb241IGZyb20gJ2pzb241JztcbmltcG9ydCB0eXBlIGpRdWVyeVR5cGUgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB0eXBlIGNoYWxrQmFzZVR5cGUgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHR5cGUgKiBhcyBwYXRoQmFzZVR5cGUgZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcblxuXG5cblxubGV0ICQ6IGpRdWVyeVR5cGU7XG5cbiQgPSBqUXVlcnk7XG5cbi8qICovXG4vKiAqL1xuICBcblxuXG5cblxubGV0IHBhdGggPSB2b2lkIDAgYXMgdHlwZW9mIHBhdGhCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG4vLyBAdHMtaWdub3JlXG5wYXRoID0gcGF0aE1vY2s7XG5cblxuXG5cblxubGV0IGNoYWxrOiBDaGFsayA9IHZvaWQgMCBhcyB0eXBlb2YgY2hhbGtCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG4vLyBAdHMtaWdub3JlXG5jaGFsayA9IGNoYWxrTW9jaztcblxuXG5cblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuLyoqXG4gKiB0cmFuc2Zvcm0gdW5peCBwYXRoIHRvIHdpbjMyIHBhdGhcbiAqL1xuY29uc3Qgd2luMzJQYXRoID0gKHA6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgaWYgKC9eXFwvW2Etel1cXC8vLnRlc3QocCkpIHtcbiAgICBwID0gcC5yZXBsYWNlKC9eXFwvW2Etel1cXC8vLCBgJHtwLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfTovYCk7XG4gIH1cbiAgcmV0dXJuIHBhdGgud2luMzIubm9ybWFsaXplKHApO1xufTtcblxuXG5cbi8qKlxuICogVGhpcyBmdW5jaXRvbiB3aWxsIHJlcGxhY2UgLy8gdG8gL1xuICovXG5jb25zdCBjcm9zc1BsYXRmb3JtUGF0aCA9IChcbiAgcGF0aFN0cmluZ09yUGF0aFBhcnRzOiBzdHJpbmcgfCBzdHJpbmdbXSxcbik6IHN0cmluZyA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdGhTdHJpbmdPclBhdGhQYXJ0cykpIHtcbiAgICBwYXRoU3RyaW5nT3JQYXRoUGFydHMgPSBwYXRoU3RyaW5nT3JQYXRoUGFydHMuam9pbignLycpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwYXRoU3RyaW5nT3JQYXRoUGFydHMgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhdGhTdHJpbmdPclBhdGhQYXJ0cztcbiAgfVxuXG5cblxuICBpZiAoXG4gICAgdHlwZW9mIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9PT0gJ3N0cmluZycgJiZcbiAgICAvXltBLVpdXFw6Ly50ZXN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cylcbiAgKSB7XG4gICAgcGF0aFN0cmluZ09yUGF0aFBhcnRzID0gXy5sb3dlckZpcnN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIH1cblxuICBjb25zdCBpc0V4dGVuZGVkTGVuZ3RoUGF0aCA9IC9eXFxcXFxcXFxcXD9cXFxcLy50ZXN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIGNvbnN0IGhhc05vbkFzY2lpID0gL1teXFx1MDAwMC1cXHUwMDgwXSsvLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIGlmIChpc0V4dGVuZGVkTGVuZ3RoUGF0aCkge1xuICAgIGNvbnNvbGUud2FybihgW3Rhb24tY29yZV1bY3Jvc3NQbGF0Zm9ybVBhdGhdOiBQYXRoIHN0YXJ0cyB3aXRoIFxcXFxcXFxcLFxuICAgIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBpbiBjcm9zc1BsYXRmb3JtUGF0aGApO1xuICAgIGlmIChmb3JjZVRyYWNlKSB7XG4gICAgICBjb25zb2xlLnRyYWNlKGBwYXRoOiBcIiR7cGF0aFN0cmluZ09yUGF0aFBhcnRzfVwiYCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGhhc05vbkFzY2lpKSB7XG4gICAgY29uc3QgYWxsTm9uQXNjaWkgPSBwYXRoU3RyaW5nT3JQYXRoUGFydHMubWF0Y2goL1teXFx1MDAwMC1cXHUwMDgwXSsvZykgfHwgJyc7XG4gICAgSGVscGVycy5sb2dXYXJuKFxuICAgICAgYFt0YW9uLWNvcmVdW2Nyb3NzUGxhdGZvcm1QYXRoXTogUGF0aCBjb250YWlucyBub24tYXNjaWkgY2hhcmFjdGVyczogJHthbGxOb25Bc2NpaX1gLFxuICAgICk7XG4gICAgSGVscGVycy5sb2dXYXJuKHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIH1cblxuICBwYXRoU3RyaW5nT3JQYXRoUGFydHMgPSAocGF0aFN0cmluZ09yUGF0aFBhcnRzIHx8ICcnKVxuICAgIC5yZXBsYWNlKC9cXFxcL2csICcvJylcbiAgICAucmVwbGFjZSgvXFwvXFwvL2csICcvJylcbiAgICAucmVwbGFjZSgvXFwvXFwvL2csICcvJyk7IC8vIFRPRE8gcHJvYmFibHkgbm90IG5lZWRlZFxuXG4gIGxldCBpc1dpbmRvd3MgPSBmYWxzZTtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gIGNvbnN0IHJlZ2V4V2luUGF0aDEgPSAvXihcXC8pW2EtekEtWl1cXDovO1xuXG5cbiAgaWYgKGlzV2luZG93cyAmJiByZWdleFdpblBhdGgxLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKSkge1xuICAgIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9IHBhdGhTdHJpbmdPclBhdGhQYXJ0cy5zbGljZSgxKTtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuXG5cbiAgcmV0dXJuIHBhdGhTdHJpbmdPclBhdGhQYXJ0cztcbn07XG5cblxuXG5leHBvcnQgeyAgIF8sICAgcSwgICBtb21lbnQsICAgZGF0ZWZvcm1hdCwgICBjcm9zc1BsYXRmb3JtUGF0aCwgICB3aW4zMlBhdGgsICAgcGF0aCwgICBjaGFsaywgICBqc29uNSwgICAkLCB9Oy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvY29yZS1pbXBvcnRzLnRzIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbXBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9jb3JlLWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0FBQ3ZCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBSUwsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQXFCL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdsQyxLQUFLO0FBQ0wsS0FBSztBQU9MLElBQUksQ0FBYSxDQUFDO0FBRWxCLENBQUMsR0FBRyxNQUFNLENBQUM7QUFFWCxLQUFLO0FB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S0FBSztBQUNMLEtBQUs7QUFLSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlEQUF5RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5sZXQgZm9yY2VUcmFjZSA9IGZhbHNlO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cbmltcG9ydCBqUXVlcnkgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB7IGNoYWxrIGFzIGNoYWxrTW9jayB9IGZyb20gJy4vbm9kZS1jaGFsay1tb2NrJztcbmltcG9ydCB7IHBhdGggYXMgcGF0aE1vY2sgfSBmcm9tICcuL25vZGUtcGF0aC1tb2NrJztcblxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICogYXMgcSBmcm9tICdxJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0ICogYXMgZGF0ZWZvcm1hdCBmcm9tICdkYXRlZm9ybWF0JztcbmltcG9ydCB7IENoYWxrIH0gZnJvbSAnY2hhbGsnO1xuaW1wb3J0ICogYXMganNvbjUgZnJvbSAnanNvbjUnO1xuaW1wb3J0IHR5cGUgalF1ZXJ5VHlwZSBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHR5cGUgY2hhbGtCYXNlVHlwZSBmcm9tICdjaGFsayc7XG5pbXBvcnQgdHlwZSAqIGFzIHBhdGhCYXNlVHlwZSBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlICogYXMgZ2xvYkJhc2VUeXBlIGZyb20gJ2dsb2InO1xuaW1wb3J0IHR5cGUgKiBhcyBmc2VCYXNlVHlwZSBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgdHlwZSAqIGFzIG9zQmFzZVR5cGUgZnJvbSAnb3MnO1xuaW1wb3J0IHR5cGUgKiBhcyBjaGlsZF9wcm9jZXNzVHlwZSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB0eXBlICogYXMgaHR0cEJhc2VUeXBlIGZyb20gJ2h0dHAnO1xuaW1wb3J0IHR5cGUgKiBhcyBodHRwc0Jhc2VUeXBlIGZyb20gJ2h0dHBzJztcbmltcG9ydCB0eXBlICogYXMgZmtpbGxCYXNlVHlwZSBmcm9tICdma2lsbCc7XG5pbXBvcnQgdHlwZSAqIGFzIHBzTGlzdEJhc2VUeXBlIGZyb20gJ3BzLWxpc3QnO1xuaW1wb3J0IHR5cGUgKiBhcyBuZXRCYXNlVHlwZSBmcm9tICduZXQnO1xuaW1wb3J0IHR5cGUgKiBhcyBzcGF3bkJhc2VUeXBlIGZyb20gJ2Nyb3NzLXNwYXduJztcbmltcG9ydCB0eXBlICogYXMgZmdCYXNlVHlwZSBmcm9tICdmYXN0LWdsb2InO1xuaW1wb3J0IHR5cGUgeyBtaW5pbWF0Y2ggYXMgbWluaW1hdGNoQmFzZVR5cGUgfSBmcm9tICdtaW5pbWF0Y2gnO1xuaW1wb3J0IHR5cGUgKiBhcyByaW1yYWZCYXNlVHlwZSBmcm9tICdyaW1yYWYnO1xuaW1wb3J0IHR5cGUgKiBhcyBjaG9raWRhckJhc2VUeXBlIGZyb20gJ2Nob2tpZGFyJztcbmltcG9ydCB0eXBlICogYXMgbWtkaXJwQmFzZVR5cGUgZnJvbSAnbWtkaXJwJztcbmltcG9ydCB0eXBlICogYXMgbmNwQmFzZVR5cGUgZnJvbSAnY29weS1wYXN0ZSc7XG5pbXBvcnQgdHlwZSAqIGFzIHBzQmFzZVR5cGUgZnJvbSAncHMtbm9kZSc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5cblxuLyogKi9cbi8qICovXG4gIFxuXG5cblxuXG5cbmxldCAkOiBqUXVlcnlUeXBlO1xuXG4kID0galF1ZXJ5O1xuXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5cbmxldCBwYXRoID0gdm9pZCAwIGFzIHR5cGVvZiBwYXRoQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuLy8gQHRzLWlnbm9yZVxucGF0aCA9IHBhdGhNb2NrO1xuXG5cblxuXG5cbmxldCBjaGFsazogQ2hhbGsgPSB2b2lkIDAgYXMgdHlwZW9mIGNoYWxrQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuLy8gQHRzLWlnbm9yZVxuY2hhbGsgPSBjaGFsa01vY2s7XG5cblxuXG5cbmxldCBnbG9iID0gdm9pZCAwIGFzIHR5cGVvZiBnbG9iQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5cblxuXG5sZXQgZnNlID0gdm9pZCAwIGFzIHR5cGVvZiBmc2VCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG5cblxuXG5cbmxldCBvcyA9IHZvaWQgMCBhcyB0eXBlb2Ygb3NCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG5cblxuXG5cbmxldCBjaGlsZF9wcm9jZXNzID0gdm9pZCAwIGFzIHR5cGVvZiBjaGlsZF9wcm9jZXNzVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG5cbmxldCBodHRwID0gdm9pZCAwIGFzIHR5cGVvZiBodHRwQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgaHR0cHMgPSB2b2lkIDAgYXMgdHlwZW9mIGh0dHBzQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgaXNSb290ID0gdm9pZCAwIGFzICgpID0+IFByb21pc2U8Ym9vbGVhbj47XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgaXNBZG1pbiA9IHZvaWQgMCBhcyAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuLyoqXG4gKiBjaGVjayBpZiB0aGUgY3VycmVudCBwcm9jZXNzIGlzIGVsZXZhdGVkXG4gKiAtIHN1ZG8gaW4gdW5peC9tYWNvc1xuICogLSBhZG1pbiBpbiB3aW5kb3dzXG4gKi9cbmxldCBpc0VsZXZhdGVkID0gdm9pZCAwIGFzICgpID0+IFByb21pc2U8Ym9vbGVhbj47XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgZmtpbGwgPSB2b2lkIDAgYXMgdHlwZW9mIGZraWxsQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgcHNMaXN0ID0gdm9pZCAwIGFzIHR5cGVvZiBwc0xpc3RCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG5cbmxldCBuZXQgPSB2b2lkIDAgYXMgdHlwZW9mIG5ldEJhc2VUeXBlO1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxubGV0IHNwYXduID0gdm9pZCAwIGFzIHR5cGVvZiBzcGF3bkJhc2VUeXBlO1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxubGV0IG1pbmltYXRjaCA9IHZvaWQgMCBhcyB0eXBlb2YgbWluaW1hdGNoQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgcmltcmFmID0gdm9pZCAwIGFzIHR5cGVvZiByaW1yYWZCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG5cbmxldCBjaG9raWRhciA9IHZvaWQgMCBhcyB0eXBlb2YgY2hva2lkYXJCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG5cbmxldCBta2RpcnAgPSB2b2lkIDAgYXMgdHlwZW9mIG1rZGlycEJhc2VUeXBlO1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxubGV0IG5jcCA9IHZvaWQgMCBhcyB0eXBlb2YgbmNwQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgcHMgPSB2b2lkIDAgYXMgdHlwZW9mIHBzQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5sZXQgZmcgPSB2b2lkIDAgYXMgdHlwZW9mIGZnQmFzZVR5cGU7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5cblxuXG5cbi8qKlxuICogdHJhbnNmb3JtIHVuaXggcGF0aCB0byB3aW4zMiBwYXRoXG4gKi9cbmNvbnN0IHdpbjMyUGF0aCA9IChwOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIGlmICgvXlxcL1thLXpdXFwvLy50ZXN0KHApKSB7XG4gICAgcCA9IHAucmVwbGFjZSgvXlxcL1thLXpdXFwvLywgYCR7cC5jaGFyQXQoMSkudG9VcHBlckNhc2UoKX06L2ApO1xuICB9XG4gIHJldHVybiBwYXRoLndpbjMyLm5vcm1hbGl6ZShwKTtcbn07XG5cblxuLyoqXG4gKiBUaGlzIGZ1bmNpdG9uIHdpbGwgcmVwbGFjZSAvLyB0byAvXG4gKi9cbmNvbnN0IGNyb3NzUGxhdGZvcm1QYXRoID0gKFxuICBwYXRoU3RyaW5nT3JQYXRoUGFydHM6IHN0cmluZyB8IHN0cmluZ1tdLFxuKTogc3RyaW5nID0+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocGF0aFN0cmluZ09yUGF0aFBhcnRzKSkge1xuICAgIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9IHBhdGhTdHJpbmdPclBhdGhQYXJ0cy5qb2luKCcvJyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGF0aFN0cmluZ09yUGF0aFBhcnRzO1xuICB9XG5cblxuXG4gIGlmIChcbiAgICB0eXBlb2YgcGF0aFN0cmluZ09yUGF0aFBhcnRzID09PSAnc3RyaW5nJyAmJlxuICAgIC9eW0EtWl1cXDovLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKVxuICApIHtcbiAgICBwYXRoU3RyaW5nT3JQYXRoUGFydHMgPSBfLmxvd2VyRmlyc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKTtcbiAgfVxuXG4gIGNvbnN0IGlzRXh0ZW5kZWRMZW5ndGhQYXRoID0gL15cXFxcXFxcXFxcP1xcXFwvLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKTtcbiAgY29uc3QgaGFzTm9uQXNjaWkgPSAvW15cXHUwMDAwLVxcdTAwODBdKy8udGVzdChwYXRoU3RyaW5nT3JQYXRoUGFydHMpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnRyb2wtcmVnZXhcbiAgaWYgKGlzRXh0ZW5kZWRMZW5ndGhQYXRoKSB7XG4gICAgY29uc29sZS53YXJuKGBbdGFvbi1jb3JlXVtjcm9zc1BsYXRmb3JtUGF0aF06IFBhdGggc3RhcnRzIHdpdGggXFxcXFxcXFwsXG4gICAgdGhpcyBpcyBub3Qgc3VwcG9ydGVkIGluIGNyb3NzUGxhdGZvcm1QYXRoYCk7XG4gICAgaWYgKGZvcmNlVHJhY2UpIHtcbiAgICAgIGNvbnNvbGUudHJhY2UoYHBhdGg6IFwiJHtwYXRoU3RyaW5nT3JQYXRoUGFydHN9XCJgKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzTm9uQXNjaWkpIHtcbiAgICBjb25zdCBhbGxOb25Bc2NpaSA9IHBhdGhTdHJpbmdPclBhdGhQYXJ0cy5tYXRjaCgvW15cXHUwMDAwLVxcdTAwODBdKy9nKSB8fCAnJztcbiAgICBIZWxwZXJzLmxvZ1dhcm4oXG4gICAgICBgW3Rhb24tY29yZV1bY3Jvc3NQbGF0Zm9ybVBhdGhdOiBQYXRoIGNvbnRhaW5zIG5vbi1hc2NpaSBjaGFyYWN0ZXJzOiAke2FsbE5vbkFzY2lpfWAsXG4gICAgKTtcbiAgICBIZWxwZXJzLmxvZ1dhcm4ocGF0aFN0cmluZ09yUGF0aFBhcnRzKTtcbiAgfVxuXG4gIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9IChwYXRoU3RyaW5nT3JQYXRoUGFydHMgfHwgJycpXG4gICAgLnJlcGxhY2UoL1xcXFwvZywgJy8nKVxuICAgIC5yZXBsYWNlKC9cXC9cXC8vZywgJy8nKVxuICAgIC5yZXBsYWNlKC9cXC9cXC8vZywgJy8nKTsgLy8gVE9ETyBwcm9iYWJseSBub3QgbmVlZGVkXG5cbiAgbGV0IGlzV2luZG93cyA9IGZhbHNlO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiAgY29uc3QgcmVnZXhXaW5QYXRoMSA9IC9eKFxcLylbYS16QS1aXVxcOi87XG5cblxuICBpZiAoaXNXaW5kb3dzICYmIHJlZ2V4V2luUGF0aDEudGVzdChwYXRoU3RyaW5nT3JQYXRoUGFydHMpKSB7XG4gICAgcGF0aFN0cmluZ09yUGF0aFBhcnRzID0gcGF0aFN0cmluZ09yUGF0aFBhcnRzLnNsaWNlKDEpO1xuICB9XG5cblxuXG5cblxuXG5cblxuXG5cblxuICByZXR1cm4gcGF0aFN0cmluZ09yUGF0aFBhcnRzO1xufTtcblxuXG5cbmV4cG9ydCB7ICAgXywgICBxLCAgIG1vbWVudCwgICBkYXRlZm9ybWF0LCAgIGNyb3NzUGxhdGZvcm1QYXRoLCAgIHdpbjMyUGF0aCwgICBwYXRoLCAgIGNoYWxrLCAgIGpzb241LCAgICQsICAgZ2xvYiwgICBmc2UsICAgb3MsICAgY2hpbGRfcHJvY2VzcywgICBodHRwLCAgIGh0dHBzLCAgIGlzRWxldmF0ZWQsICAgZmtpbGwsICAgcHNMaXN0LCAgIHNwYXduLCAgIG1pbmltYXRjaCwgICBmZywgICBjaG9raWRhciwgICBta2RpcnAsICAgbmNwLCAgIHJpbXJhZiwgICBuZXQsICAgcHMsIH07LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvY29yZS1pbXBvcnRzLnRzIl19
@@ -1,12 +1,6 @@
1
1
  export var CoreModels;
2
2
  (function (CoreModels) {
3
3
  CoreModels.InstalationTypeArr = ['-g', '--save', '--save-dev'];
4
- CoreModels.PackageJsonDependencyObjArr = [
5
- 'dependencies',
6
- 'devDependencies',
7
- 'peerDependencies',
8
- 'resolutions',
9
- ];
10
4
  CoreModels.NpmSpecialVersions = [
11
5
  'latest',
12
6
  'next',
@@ -15,6 +9,64 @@ export var CoreModels;
15
9
  'rc',
16
10
  'lts',
17
11
  ];
12
+ /**
13
+ * Available application environments.
14
+ */
15
+ CoreModels.EnvironmentName = Object.freeze({
16
+ /**
17
+ * Default environment, typically for artifact without application
18
+ * or for storing common data
19
+ */
20
+ __: '__',
21
+ /**
22
+ * Local development environment, typically the developer's machine.
23
+ */
24
+ LOCALHOST: 'localhost',
25
+ /**
26
+ * Development environment used by engineers to deploy and test new features.
27
+ */
28
+ DEV: 'dev',
29
+ /**
30
+ * Staging environment used for final validations before production.
31
+ */
32
+ STAGE: 'stage',
33
+ /**
34
+ * Production environment serving live users.
35
+ */
36
+ PROD: 'prod',
37
+ /**
38
+ * Automated test environment for running unit, integration, or automated tests.
39
+ */
40
+ TEST: 'test',
41
+ /**
42
+ * Quality assurance environment designated for manual and exploratory testing.
43
+ */
44
+ QA: 'qa',
45
+ /**
46
+ * Sandbox environment for experimenting and integration without affecting other environments.
47
+ */
48
+ SANDBOX: 'sandbox',
49
+ /**
50
+ * User Acceptance Testing environment where clients or stakeholders validate the release candidate.
51
+ */
52
+ UAT: 'uat',
53
+ /**
54
+ * Pre-production environment, closely mirroring production for final testing and validation.
55
+ */
56
+ PREPROD: 'preprod',
57
+ /**
58
+ * Demonstration environment specifically configured for client presentations and demos.
59
+ */
60
+ DEMO: 'demo',
61
+ /**
62
+ * Continuous Integration environment used by CI/CD pipelines for automated builds and deployments.
63
+ */
64
+ CI: 'ci',
65
+ /**
66
+ * Training environment dedicated to internal team onboarding and training activities.
67
+ */
68
+ TRAINING: 'training',
69
+ });
18
70
  CoreModels.ImageFileExtensionArr = [
19
71
  'jpg',
20
72
  'jpeg',
@@ -25,8 +77,8 @@ export var CoreModels;
25
77
  'typescript',
26
78
  'angular',
27
79
  'angular-lib',
28
- 'unknow',
29
- 'unknow-npm-project',
80
+ 'unknown',
81
+ 'unknown-npm-project',
30
82
  ];
31
83
  CoreModels.mimeTypes = {
32
84
  '.aac': 'audio/aac',
@@ -121,4 +173,4 @@ export var CoreModels;
121
173
  })(CoreModels || (CoreModels = {}));
122
174
  ;
123
175
  ({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtY29yZS9wcm9qZWN0cy90bnAtY29yZS9zcmMvbGliL2NvcmUtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sS0FBVyxVQUFVLENBb2xCMUI7QUFwbEJELFdBQWlCLFVBQVU7SUEwQ1osNkJBQWtCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBVXBELHNDQUEyQixHQUFHO1FBQ3pDLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7S0FDZ0IsQ0FBQztJQVVuQiw2QkFBa0IsR0FBRztRQUNoQyxRQUFRO1FBQ1IsTUFBTTtRQUNOLE1BQU07UUFDTixPQUFPO1FBQ1AsSUFBSTtRQUNKLEtBQUs7S0FDTixDQUFDO0lBb0VXLGdDQUFxQixHQUFvQztRQUNwRSxLQUFLO1FBQ0wsTUFBTTtRQUNOLEtBQUs7UUFDTCxLQUFLO0tBQ04sQ0FBQztJQTBDVyw2QkFBa0IsR0FBRztRQUNoQyxZQUFZO1FBQ1osU0FBUztRQUNULGFBQWE7UUFDYixRQUFRO1FBQ1Isb0JBQW9CO0tBQ3JCLENBQUM7SUFzSVcsb0JBQVMsR0FBRztRQUN2QixNQUFNLEVBQUUsV0FBVztRQUNuQixNQUFNLEVBQUUsdUJBQXVCO1FBQy9CLE1BQU0sRUFBRSx1QkFBdUI7UUFDL0IsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsOEJBQThCO1FBQ3RDLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsTUFBTSxFQUFFLFdBQVc7UUFDbkIsS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixNQUFNLEVBQUUscUJBQXFCO1FBQzdCLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixPQUFPLEVBQ0wseUVBQXlFO1FBQzNFLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxPQUFPLEVBQUUsWUFBWTtRQUNyQixNQUFNLEVBQUUsWUFBWTtRQUNwQixLQUFLLEVBQUUsaUJBQWlCO1FBQ3hCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsU0FBUyxFQUFFLHFCQUFxQjtRQUNoQyxNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsV0FBVztRQUNuQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUscUNBQXFDO1FBQzlDLE1BQU0sRUFBRSxpREFBaUQ7UUFDekQsTUFBTSxFQUFFLGdEQUFnRDtRQUN4RCxNQUFNLEVBQUUseUNBQXlDO1FBQ2pELE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsT0FBTyxFQUFFLFlBQVk7UUFDckIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsT0FBTyxFQUNMLDJFQUEyRTtRQUM3RSxNQUFNLEVBQUUscUJBQXFCO1FBQzdCLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsS0FBSyxFQUFFLGtCQUFrQjtRQUN6QixNQUFNLEVBQUUsZUFBZTtRQUN2QixNQUFNLEVBQUUsK0JBQStCO1FBQ3ZDLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsTUFBTSxFQUFFLFlBQVk7UUFDcEIsT0FBTyxFQUFFLFlBQVk7UUFDckIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFlBQVk7UUFDcEIsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsV0FBVztRQUNuQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsV0FBVztRQUNwQixRQUFRLEVBQUUsWUFBWTtRQUN0QixRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsT0FBTyxFQUNMLG1FQUFtRTtRQUNyRSxNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSxpQ0FBaUM7UUFDekMsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsYUFBYTtRQUNyQixLQUFLLEVBQUUsNkJBQTZCO0tBQzVCLENBQUM7SUFzQkUsMEJBQWUsR0FBRztRQUM3QixNQUFNO1FBQ04sT0FBTztRQUNQLE9BQU87UUFDUCxPQUFPO1FBQ1AsTUFBTTtRQUNOLGFBQWE7UUFDYixXQUFXO1FBQ1gsU0FBUztRQUNULE9BQU87S0FDTyxDQUFDO0lBR0osdUJBQVksR0FBRyxXQUFBLFNBQVMsQ0FBQztBQXdKeEMsQ0FBQyxFQXBsQmdCLFVBQVUsS0FBVixVQUFVLFFBb2xCMUI7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdEQUF3RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgbmFtZXNwYWNlIENvcmVNb2RlbHMge1xuXG4gIGV4cG9ydCB0eXBlIFBhY2thZ2UgPSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgaW5zdGFsbFR5cGU/OiBJbnN0YWxhdGlvblR5cGU7XG4gIH07XG5cblxuXG4gIGV4cG9ydCB0eXBlIE5wbUluc3RhbGxPcHRpb25zID0ge1xuICAgIHBrZz86IENvcmVNb2RlbHMuUGFja2FnZTtcbiAgICAvKipcbiAgICAgKiBmYWxzZSBieSBkZWZhdWx0XG4gICAgICovXG4gICAgc2lsZW50PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBmYWxzZSBieSBkZWZhdWx0XG4gICAgICovXG4gICAgdXNlWWFybj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogZmFsc2UgYnkgZGVmYXVsdFxuICAgICAqL1xuICAgIGZvcmNlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBSZWFzb24gZm9yIGluc3RhbGxpbmcgcGFja2FnZShzKVxuICAgICAqL1xuICAgIHJlYXNvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiB0cnVlIGJ5IGRlZmF1bHRcbiAgICAgKi9cbiAgICByZW1vdmVZYXJuT3JQYWNrYWdlSnNvbkxvY2s/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGZhbHNlIGJ5IGRlZmF1bHRcbiAgICAgKi9cbiAgICBnZW5lcmF0ZVlhcm5PclBhY2thZ2VKc29uTG9jaz86IGJvb2xlYW47XG4gIH07XG5cblxuXG4gIGV4cG9ydCB0eXBlIEluc3RhbGF0aW9uVHlwZSA9ICctZycgfCAnLS1zYXZlJyB8ICctLXNhdmUtZGV2JyB8ICdyZW1vdmUnO1xuXG4gIGV4cG9ydCBjb25zdCBJbnN0YWxhdGlvblR5cGVBcnIgPSBbJy1nJywgJy0tc2F2ZScsICctLXNhdmUtZGV2J107XG5cblxuXG4gIGV4cG9ydCB0eXBlIFBhY2thZ2VKc29uRGVwZW5kZW5jeU9iaiA9XG4gICAgfCAnZGVwZW5kZW5jaWVzJ1xuICAgIHwgJ2RldkRlcGVuZGVuY2llcydcbiAgICB8ICdwZWVyRGVwZW5kZW5jaWVzJ1xuICAgIHwgJ3Jlc29sdXRpb25zJztcblxuICBleHBvcnQgY29uc3QgUGFja2FnZUpzb25EZXBlbmRlbmN5T2JqQXJyID0gW1xuICAgICdkZXBlbmRlbmNpZXMnLFxuICAgICdkZXZEZXBlbmRlbmNpZXMnLFxuICAgICdwZWVyRGVwZW5kZW5jaWVzJyxcbiAgICAncmVzb2x1dGlvbnMnLFxuICBdIGFzIFBhY2thZ2VKc29uRGVwZW5kZW5jeU9ialtdO1xuXG5cblxuICBleHBvcnQgdHlwZSBMaWJyYXJ5VHlwZSA9ICdhbmd1bGFyJyB8ICd0eXBlc2NyaXB0JztcblxuXG5cbiAgZXhwb3J0IHR5cGUgUmVsZWFzZVR5cGUgPSAnbWFqb3InIHwgJ21pbm9yJyB8ICdwYXRjaCc7XG4gIGV4cG9ydCB0eXBlIFByZVJlbGVhc2VUeXBlID0gJ2FscGhhJyB8ICdiZXRhJyB8ICdyYycgfCAnbmV4dCc7XG4gIGV4cG9ydCBjb25zdCBOcG1TcGVjaWFsVmVyc2lvbnMgPSBbXG4gICAgJ2xhdGVzdCcsXG4gICAgJ25leHQnLFxuICAgICdiZXRhJyxcbiAgICAnYWxwaGEnLFxuICAgICdyYycsXG4gICAgJ2x0cycsXG4gIF07XG5cblxuXG4gIGV4cG9ydCB0eXBlIFBST0dSRVNTX0RBVEFfVFlQRSA9ICdpbmZvJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnZXZlbnQnO1xuXG5cblxuICBleHBvcnQgdHlwZSBFbnZpcm9ubWVudE5hbWUgPVxuICAgIHwgJ2xvY2FsJ1xuICAgIHwgJ3N0YXRpYydcbiAgICB8ICdkZXYnXG4gICAgfCAnc3RhZ2UnXG4gICAgfCAncHJvZCdcbiAgICB8ICdvbmxpbmUnXG4gICAgfCAndGVzdCdcbiAgICB8ICdxYSdcbiAgICB8ICdjdXN0b20nO1xuXG5cblxuICBleHBvcnQgdHlwZSBQVVNIVFlQRSA9XG4gICAgfCAnZmVhdCdcbiAgICB8ICdjaG9yZSdcbiAgICB8ICdmZWF0dXJlJ1xuICAgIHwgJ3JlZmFjdG9yJ1xuICAgIHwgJ3BlcmYnXG4gICAgfCAnc3R5bGVzJ1xuICAgIHwgJ2NpJ1xuICAgIHwgJ2J1aWxkJ1xuICAgIHwgJ2ZpeCdcbiAgICB8ICdidWdmaXgnXG4gICAgfCAncmVsZWFzZSdcbiAgICB8ICdkb2NzJztcblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgdHlwZSBVSUZyYW1ld29yayA9ICdib290c3RyYXAnIHwgJ21hdGVyaWFsJyB8ICdpb25pYyc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEZyYW1ld29ya1ZlcnNpb24gPVxuICAgIHwgJ3YxJ1xuICAgIHwgJ3YyJ1xuICAgIHwgJ3YzJ1xuICAgIHwgJ3Y0J1xuICAgIHwgJ3YxNidcbiAgICB8ICd2MTgnXG4gICAgfCAndjIwJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgQ3V0YWJsZUZpbGVFeHQgPVxuICAgIHwgJ3Njc3MnXG4gICAgfCAnY3NzJ1xuICAgIHwgJ2xlc3MnXG4gICAgfCAnc2FzcydcbiAgICB8ICdodG1sJ1xuICAgIHwgJ3RzJ1xuICAgIHwgJ3RzeCdcbiAgICB8ICdqcyc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEltYWdlRmlsZUV4dGVuc2lvbiA9ICdqcGcnIHwgJ2pwZWcnIHwgJ3BuZycgfCAnc3ZnJztcbiAgZXhwb3J0IGNvbnN0IEltYWdlRmlsZUV4dGVuc2lvbkFycjogQ29yZU1vZGVscy5JbWFnZUZpbGVFeHRlbnNpb25bXSA9IFtcbiAgICAnanBnJyxcbiAgICAnanBlZycsXG4gICAgJ3BuZycsXG4gICAgJ3N2ZycsXG4gIF07XG5cblxuXG4gIGV4cG9ydCB0eXBlIEZpbGVFeHRlbnNpb24gPVxuICAgIHwgJ2pzb24nXG4gICAgfCAnaHRtbCdcbiAgICB8IEltYWdlRmlsZUV4dGVuc2lvblxuICAgIHwgJ3R4dCdcbiAgICB8ICdtZCdcbiAgICB8IEN1dGFibGVGaWxlRXh0O1xuXG5cblxuICBleHBvcnQgdHlwZSBIdHRwTWV0aG9kID1cbiAgICB8ICdnZXQnXG4gICAgfCAncG9zdCdcbiAgICB8ICdwdXQnXG4gICAgfCAnZGVsZXRlJ1xuICAgIHwgJ3BhdGNoJ1xuICAgIHwgJ2hlYWQnXG4gICAgfCAnanNvbnAnO1xuXG5cblxuICBleHBvcnQgdHlwZSBQYXJhbVR5cGUgPSAnUGF0aCcgfCAnUXVlcnknIHwgJ0Nvb2tpZScgfCAnSGVhZGVyJyB8ICdCb2R5JztcblxuXG5cbiAgZXhwb3J0IHR5cGUgVHNVc2FnZSA9ICdpbXBvcnQnIHwgJ2V4cG9ydCc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEJhc2VQcm9qZWN0VHlwZSA9XG4gICAgfCAndHlwZXNjcmlwdCdcbiAgICB8ICdhbmd1bGFyJ1xuICAgIHwgJ2FuZ3VsYXItbGliJ1xuICAgIHwgJ3Vua25vdydcbiAgICB8ICd1bmtub3ctbnBtLXByb2plY3QnO1xuXG5cblxuICBleHBvcnQgY29uc3QgQmFzZVByb2plY3RUeXBlQXJyID0gW1xuICAgICd0eXBlc2NyaXB0JyxcbiAgICAnYW5ndWxhcicsXG4gICAgJ2FuZ3VsYXItbGliJyxcbiAgICAndW5rbm93JyxcbiAgICAndW5rbm93LW5wbS1wcm9qZWN0JyxcbiAgXTtcblxuXG5cbiAgZXhwb3J0IHR5cGUgTGliVHlwZSA9XG4gICAgfCBCYXNlUHJvamVjdFR5cGVcbiAgICB8ICdpc29tb3JwaGljLWxpYicgLy8gKyBodHRwczovL2dpdGh1Yi5jb20vbWF4aW1lZ3Jpcy9hbmd1bGFyLWVsZWN0cm9uXG4gICAgfCAnY29udGFpbmVyJ1xuICAgIHwgJ2RvY2tlcidcbiAgICB8ICd2c2NvZGUtZXh0J1xuICAgIHwgJ2Nocm9tZS1leHQnXG4gICAgfCAndW5rbm93LW5wbS1wcm9qZWN0JztcblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgdHlwZSBOZXdGYWN0b3J5VHlwZSA9IExpYlR5cGUgfCAnbW9kZWwnIHwgJ3NpbmdsZS1maWxlLXByb2plY3QnO1xuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCB0eXBlIENvcmVMaWJDYXRlZ29yeSA9IExpYlR5cGUgfCAnY29tbW9uJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgRmlsZUV2ZW50ID0gJ2NyZWF0ZWQnIHwgJ2NoYW5nZWQnIHwgJ3JlbW92ZWQnIHwgJ3JlbmFtZSc7XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgT3V0Rm9sZGVyID0gJ2Rpc3QnIHwgJ2Jyb3dzZXInO1xuXG5cblxuICBleHBvcnQgdHlwZSBEYXRhYmFzZVR5cGUgPSAnOmlubWVtb3J5JyB8ICdteXNxbCcgfCAnc3FsanMnO1xuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFVwbG9hZGVkQmFja2VuZEZpbGUge1xuICAgIGRhdGE6XG4gICAgICB8IGFueVxuLyogKi9cbi8qICovXG4gIFxuICAgIGVuY29kaW5nOiBzdHJpbmc7XG4gICAgbWQ1OiBzdHJpbmc7XG4gICAgdGVtcEZpbGVQYXRoOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IENvbnRlbnRUeXBlO1xuICAgIG12OiAocGF0aCwgY2FsbGJhY2spID0+IGFueTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHJ1bmNhdGVkOiBib29sZWFuO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBFeGVjdXRlT3B0aW9ucyB7XG4gICAgLyoqIEV4dHJhY3Qgc3RyaW5nIGZyb20gbGluZSAqL1xuICAgIGV4dHJhY3RGcm9tTGluZT86IChzdHJpbmcgfCBGdW5jdGlvbilbXTtcbiAgICAvKipcbiAgICAgKiBNb2RpZnkgb3V0cHV0IGxpbmUgYnkgbGluZVxuICAgICAqL1xuICAgIG91dHB1dExpbmVSZXBsYWNlPzogKG91dHB1dExpbmU6IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIHJlc29sdmVQcm9taXNlTXNnPzoge1xuICAgICAgc3Rkb3V0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICBzdGRlcnI/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHJlc29sdmVQcm9taXNlTXNnQ2FsbGJhY2s/OiB7XG4gICAgICBzdGRvdXQ/OiAoKSA9PiBhbnk7XG4gICAgICBzdGRlcnI/OiAoKSA9PiBhbnk7XG4gICAgfTtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgZGV0YWNoPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUcnkgY29tbWFuZCBhZ2FpbiBhZnRlciBmYWlsIGFmdGVyIG4gbWlsaXNlY29uZHNcbiAgICAgKi9cbiAgICB0cnlBZ2FpbldoZW5GYWlsQWZ0ZXI/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogIFRPRE8gQExBU1QgaW1wbGVtZW50IHRoaXNcbiAgICAgKlxuICAgICAqIE91dHB1dCBmcm9tIHByb2Nlc3NlIHdpdGggdGhpcyBrZXlcbiAgICAgKiB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQgdHdpY2Ugd2hlblxuICAgICAqIDIgcHJvY2Vzc2VzIGFyZSBydW5uaW5nIGF0IHRoZSBzYW1lIHRpbWVcbiAgICAgKi9cbiAgICBzaW1pbGFyUHJvY2Vzc0tleT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFVzZSBiaWcgYnVmZmVyIGZvciBiaWcgd2VicGFjayBsb2dzXG4gICAgICovXG4gICAgYmlnZ2VyQnVmZmVyPzogYm9vbGVhbjtcbiAgICBhc2tUb1RyeUFnYWluT25FcnJvcj86IGJvb2xlYW47XG4gICAgZXhpdE9uRXJyb3JDYWxsYmFjaz86IChjb2RlOiBudW1iZXIpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogRnJvbSBkaXNwbGF5aW5nIGluIGNvbnNvbGVcbiAgICAgKi9cbiAgICBoaWRlT3V0cHV0Pzoge1xuICAgICAgc3Rkb3V0PzogYm9vbGVhbjtcbiAgICAgIHN0ZGVycj86IGJvb2xlYW47XG4gICAgICBhY2NlcHRBbGxFeGl0Q29kZUFzU3VjY2Vzcz86IGJvb2xlYW47XG4gICAgfTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgUnVuT3B0aW9ucyBleHRlbmRzIEV4ZWN1dGVPcHRpb25zIHtcbiAgICBzaG93Q29tbWFuZD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHByb2Nlc3Mgb3V0cHV0XG4gICAgICovXG4gICAgb3V0cHV0PzogYm9vbGVhbjtcblxuICAgIHNpbGVuY2U/OiBib29sZWFuO1xuICAgIHN0ZGlvPzogYW55O1xuXG5cbiAgICBjd2Q/OiBzdHJpbmc7XG4gIH1cblxuXG5cblxuXG4gIGV4cG9ydCBjb25zdCBtaW1lVHlwZXMgPSB7XG4gICAgJy5hYWMnOiAnYXVkaW8vYWFjJyxcbiAgICAnLmFidyc6ICdhcHBsaWNhdGlvbi94LWFiaXdvcmQnLFxuICAgICcuYXJjJzogJ2FwcGxpY2F0aW9uL3gtZnJlZWFyYycsXG4gICAgJy5hdmknOiAndmlkZW8veC1tc3ZpZGVvJyxcbiAgICAnLmF6dyc6ICdhcHBsaWNhdGlvbi92bmQuYW1hem9uLmVib29rJyxcbiAgICAnLmJpbic6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLFxuICAgICcuYm1wJzogJ2ltYWdlL2JtcCcsXG4gICAgJy5ieic6ICdhcHBsaWNhdGlvbi94LWJ6aXAnLFxuICAgICcuYnoyJzogJ2FwcGxpY2F0aW9uL3gtYnppcDInLFxuICAgICcuY3NoJzogJ2FwcGxpY2F0aW9uL3gtY3NoJyxcbiAgICAnLmNzcyc6ICd0ZXh0L2NzcycsXG4gICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICcuZG9jJzogJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gICAgJy5kb2N4JzpcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXG4gICAgJy5lb3QnOiAnYXBwbGljYXRpb24vdm5kLm1zLWZvbnRvYmplY3QnLFxuICAgICcuZXB1Yic6ICdhcHBsaWNhdGlvbi9lcHViK3ppcCcsXG4gICAgJy5neic6ICdhcHBsaWNhdGlvbi9nemlwJyxcbiAgICAnLmdpZic6ICdpbWFnZS9naWYnLFxuICAgICcuaHRtJzogJ3RleHQvaHRtbCcsXG4gICAgJy5odG1sJzogJ3RleHQvaHRtbCcsXG4gICAgJy5pY28nOiAnaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uJyxcbiAgICAnLmljcyc6ICd0ZXh0L2NhbGVuZGFyJyxcbiAgICAnLmphcic6ICdhcHBsaWNhdGlvbi9qYXZhLWFyY2hpdmUnLFxuICAgICcuanBlZyc6ICdpbWFnZS9qcGVnJyxcbiAgICAnLmpwZyc6ICdpbWFnZS9qcGVnJyxcbiAgICAnLmpzJzogJ3RleHQvamF2YXNjcmlwdCcsXG4gICAgJy5qc29uJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICcuanNvbmxkJzogJ2FwcGxpY2F0aW9uL2xkK2pzb24nLFxuICAgICcubWlkJzogJ2FwcGxpY2F0aW9uL21pZGknLFxuICAgICcubWlkaSc6ICdhcHBsaWNhdGlvbi9taWRpJyxcbiAgICAnLm1qcyc6ICd0ZXh0L2phdmFzY3JpcHQnLFxuICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICcubXA0JzogJ3ZpZGVvL21wNCcsXG4gICAgJy5tcGVnJzogJ3ZpZGVvL21wZWcnLFxuICAgICcubXBrZyc6ICdhcHBsaWNhdGlvbi92bmQuYXBwbGUuaW5zdGFsbGVyK3htbCcsXG4gICAgJy5vZHAnOiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24nLFxuICAgICcub2RzJzogJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnLFxuICAgICcub2R0JzogJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dCcsXG4gICAgJy5vZ2EnOiAnYXVkaW8vb2dnJyxcbiAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICcub2d2JzogJ3ZpZGVvL29nZycsXG4gICAgJy5vZ3gnOiAnYXBwbGljYXRpb24vb2dnJyxcbiAgICAnLm9wdXMnOiAnYXVkaW8vb3B1cycsXG4gICAgJy5vdGYnOiAnZm9udC9vdGYnLFxuICAgICcucG5nJzogJ2ltYWdlL3BuZycsXG4gICAgJy5wZGYnOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAnLnBocCc6ICdhcHBsaWNhdGlvbi9waHAnLFxuICAgICcucHB0JzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JyxcbiAgICAnLnBwdHgnOlxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nLFxuICAgICcucmFyJzogJ2FwcGxpY2F0aW9uL3ZuZC5yYXInLFxuICAgICcucnRmJzogJ2FwcGxpY2F0aW9uL3J0ZicsXG4gICAgJy5zaCc6ICdhcHBsaWNhdGlvbi94LXNoJyxcbiAgICAnLnN2Zyc6ICdpbWFnZS9zdmcreG1sJyxcbiAgICAnLnN3Zic6ICdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcsXG4gICAgJy50YXInOiAnYXBwbGljYXRpb24veC10YXInLFxuICAgICcudGlmJzogJ2ltYWdlL3RpZmYnLFxuICAgICcudGlmZic6ICdpbWFnZS90aWZmJyxcbiAgICAnLnRzJzogJ3ZpZGVvL21wMnQnLFxuICAgICcudHRmJzogJ2ZvbnQvdHRmJyxcbiAgICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgICAnLnZzZCc6ICdhcHBsaWNhdGlvbi92bmQudmlzaW8nLFxuICAgICcud2F2JzogJ2F1ZGlvL3dhdicsXG4gICAgJy53ZWJhJzogJ2F1ZGlvL3dlYm0nLFxuICAgICcud2VibSc6ICd2aWRlby93ZWJtJyxcbiAgICAnLndlYnAnOiAnaW1hZ2Uvd2VicCcsXG4gICAgJy53b2ZmJzogJ2ZvbnQvd29mZicsXG4gICAgJy53b2ZmMic6ICdmb250L3dvZmYyJyxcbiAgICAnLnhodG1sJzogJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcsXG4gICAgJy54bHMnOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAnLnhsc3gnOlxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAnLnhtbCc6ICdhcHBsaWNhdGlvbi94bWwnLFxuICAgICcueHVsJzogJ2FwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWwnLFxuICAgICcuemlwJzogJ2FwcGxpY2F0aW9uL3ppcCcsXG4gICAgJy4zZ3AnOiAndmlkZW8vM2dwcCcsXG4gICAgJy4zZzInOiAndmlkZW8vM2dwcDInLFxuICAgICcuN3onOiAnYXBwbGljYXRpb24veC03ei1jb21wcmVzc2VkJyxcbiAgfSBhcyBjb25zdDtcblxuICBleHBvcnQgdHlwZSBDb250ZW50VHlwZUtleXMgPSBrZXlvZiB0eXBlb2YgbWltZVR5cGVzO1xuICBleHBvcnQgdHlwZSBDb250ZW50VHlwZSA9XG4gICAgfCAodHlwZW9mIG1pbWVUeXBlcylbQ29udGVudFR5cGVLZXlzXVxuICAgIHwgJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICB0eXBlIENvbnRlbnRUeXBlXyA9IENvbnRlbnRUeXBlO1xuXG4gIC8qKlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL01JTUVfdHlwZXNcbiAgICovXG4gIGV4cG9ydCB0eXBlIE1lZGlhVHlwZSA9XG4gICAgfCAndGV4dCdcbiAgICB8ICdpbWFnZSdcbiAgICB8ICdhdWRpbydcbiAgICB8ICdmb250J1xuICAgIHwgJ3ZpZGVvJ1xuICAgIHwgJ2FwcGxpY2F0aW9uJ1xuICAgIHwgJ211bHRpcGFydCdcbiAgICB8ICdtZXNzYWdlJ1xuICAgIHwgJ21vZGVsJztcblxuICBleHBvcnQgY29uc3QgTWVkaWFUeXBlQWxsQXJyID0gW1xuICAgICd0ZXh0JyxcbiAgICAnaW1hZ2UnLFxuICAgICdhdWRpbycsXG4gICAgJ3ZpZGVvJyxcbiAgICAnZm9udCcsXG4gICAgJ2FwcGxpY2F0aW9uJyxcbiAgICAnbXVsdGlwYXJ0JyxcbiAgICAnbWVzc2FnZScsXG4gICAgJ21vZGVsJyxcbiAgXSBhcyBNZWRpYVR5cGVbXTtcblxuICBleHBvcnQgdHlwZSBNaW1lVHlwZSA9IGtleW9mIHR5cGVvZiBtaW1lVHlwZXM7XG4gIGV4cG9ydCBjb25zdCBNaW1lVHlwZXNPYmogPSBtaW1lVHlwZXM7XG5cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgTWFuaWZlc3RJY29uIHtcbiAgICBzcmM6IHN0cmluZzsgLy8gXCJhc3NldHMvaWNvbnMvaWNvbi05Nng5Ni5wbmdcIixcbiAgICBzaXplczogc3RyaW5nOyAvLyBcIjk2eDk2XCIsXG4gICAgdHlwZTogc3RyaW5nOyAvLyBcImltYWdlL3BuZ1wiLFxuICAgIHB1cnBvc2U6IHN0cmluZzsgLy8gXCJtYXNrYWJsZSBhbnlcIlxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQd2FNYW5pZmVzdCB7XG4gICAgbmFtZTogc3RyaW5nOyAvLyAgXCJhcHBcIixcbiAgICBzaG9ydF9uYW1lOiBzdHJpbmc7IC8vICBcImFwcFwiLFxuICAgIHRoZW1lX2NvbG9yOiBzdHJpbmc7IC8vIFwiIzE5NzZkMlwiLFxuICAgIGJhY2tncm91bmRfY29sb3I6IHN0cmluZzsgLy8gIFwiI2ZhZmFmYVwiLFxuICAgIGRpc3BsYXk6ICdzdGFuZGFsb25lJztcbiAgICBzY29wZTogc3RyaW5nOyAvLyBcIi4vXCIsXG4gICAgc3RhcnRfdXJsOiBzdHJpbmc7IC8vICBcInN0YXJ0X3VybFwiOiBcIi4vXCIsID0+IFwic3RhcnRfdXJsXCIgXCJodHRwczovL2RhcmVrZjc3LmdpdGh1Yi5pby9iczQtYnJlYWtwb2ludC9cIlxuICAgIGljb25zOiBNYW5pZmVzdEljb25bXTtcbiAgfVxuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFZTQ29kZVNldHRpbmdzIHtcbiAgICAnZmlsZXMuZXhjbHVkZSc6IHsgW2ZpbGVzOiBzdHJpbmddOiBib29sZWFuIH07XG4gICAgJ3dvcmtiZW5jaC5jb2xvclRoZW1lJzogJ0RlZmF1bHQgTGlnaHQrJyB8ICdLaW1iaWUgRGFyayc7XG4gICAgJ3dvcmtiZW5jaC5jb2xvckN1c3RvbWl6YXRpb25zJzoge1xuICAgICAgJ2FjdGl2aXR5QmFyLmJhY2tncm91bmQnPzogc3RyaW5nO1xuICAgICAgJ2FjdGl2aXR5QmFyLmZvcmVncm91bmQnPzogc3RyaW5nO1xuICAgICAgJ3N0YXR1c0Jhci5iYWNrZ3JvdW5kJz86IHN0cmluZztcbiAgICB9O1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgU2l6ZSB7XG4gICAgdzogbnVtYmVyO1xuICAgIGg6IG51bWJlcjtcbiAgfVxuXG5cblxuICBpbnRlcmZhY2UgR2xvYmFsTnBtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGluc3RhbGxOYW1lPzogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmcgfCBudW1iZXI7XG4gIH1cblxuICBpbnRlcmZhY2UgR2xvYmFsQ29tbWFuZExpbmVQcm9ncmFtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHdlYnNpdGU6IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsRGVwZW5kZW5jaWVzIHtcbiAgICBucG0/OiBHbG9iYWxOcG1EZXBlbmRlbmN5W107XG4gICAgcHJvZ3JhbXM/OiBHbG9iYWxDb21tYW5kTGluZVByb2dyYW1EZXBlbmRlbmN5W107XG4gIH1cblxuXG5cbiAgaW50ZXJmYWNlIEFuZ3VsYXJDb21waWxlck9wdGlvbnMge1xuICAgIGZ1bGxUZW1wbGF0ZVR5cGVDaGVjazogYm9vbGVhbjtcbiAgICBzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzOiBib29sZWFuO1xuICAgIGNvbXBpbGF0aW9uTW9kZTogc3RyaW5nO1xuICAgIHByZXNlcnZlU3ltbGlua3M6IGJvb2xlYW47XG4gICAgZW5hYmxlSXZ5OiBib29sZWFuO1xuICB9XG5cbiAgaW50ZXJmYWNlIENvbXBpbGVyT3B0aW9ucyB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIG91dERpcjogc3RyaW5nO1xuICAgIHNvdXJjZU1hcDogYm9vbGVhbjtcbiAgICBkZWNsYXJhdGlvbjogYm9vbGVhbjtcbiAgICBzdHJpY3ROdWxsQ2hlY2tzOiBib29sZWFuO1xuICAgIGRvd25sZXZlbEl0ZXJhdGlvbjogYm9vbGVhbjtcbiAgICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiBib29sZWFuO1xuICAgIGVtaXREZWNvcmF0b3JNZXRhZGF0YTogYm9vbGVhbjtcbiAgICBlc01vZHVsZUludGVyb3A6IGJvb2xlYW47XG4gICAgbW9kdWxlOiBzdHJpbmc7XG4gICAgbW9kdWxlUmVzb2x1dGlvbjogc3RyaW5nO1xuICAgIGltcG9ydEhlbHBlcnM6IGJvb2xlYW47XG4gICAgc2tpcExpYkNoZWNrOiBib29sZWFuO1xuICAgIHRhcmdldDogc3RyaW5nO1xuICAgIHR5cGVSb290czogc3RyaW5nW107XG4gICAgdHlwZXM6IHN0cmluZ1tdO1xuICAgIGxpYjogc3RyaW5nW107XG4gICAgcGF0aHM6IHsgW2Z1bGxQYWNrYWdlTmFtZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgICB1c2VEZWZpbmVGb3JDbGFzc0ZpZWxkczogYm9vbGVhbjtcbiAgfVxuICBleHBvcnQgaW50ZXJmYWNlIFRzQ29uZmlnSnNvbiB7XG4gICAgZXh0ZW5kczogc3RyaW5nO1xuICAgIGV4Y2x1ZGU6IHN0cmluZ1tdO1xuICAgIGNvbXBpbGVPblNhdmU6IGJvb2xlYW47XG4gICAgY29tcGlsZXJPcHRpb25zOiBDb21waWxlck9wdGlvbnM7XG4gICAgYW5ndWxhckNvbXBpbGVyT3B0aW9uczogQW5ndWxhckNvbXBpbGVyT3B0aW9ucztcbiAgfVxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBUc2NDb21waWxlT3B0aW9ucyB7XG4gICAgY3dkOiBzdHJpbmc7XG4gICAgd2F0Y2g/OiBib29sZWFuO1xuICAgIG91dERpcj86ICdkaXN0JztcbiAgICBnZW5lcmF0ZURlY2xhcmF0aW9ucz86IGJvb2xlYW47XG4gICAgdHNFeGU/OiBzdHJpbmc7XG4gICAgZGlhZ25vc3RpY3M/OiBib29sZWFuO1xuICAgIGhpZGVFcnJvcnM/OiBib29sZWFuO1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgfVxuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFRhb25Kc29uIHtcbiAgICB0eXBlOiBDb3JlTW9kZWxzLkxpYlR5cGU7XG4gICAgdmVyc2lvbj86IENvcmVNb2RlbHMuRnJhbWV3b3JrVmVyc2lvbjtcbiAgICBzbWFydENvbnRhaW5lckJ1aWxkVGFyZ2V0Pzogc3RyaW5nO1xuICAgIHNtYXJ0PzogYm9vbGVhbjtcbiAgICBtb25vcmVwbz86IGJvb2xlYW47XG4gICAgbGliUmVsZWFzZU9wdGlvbnM6IHtcbiAgICAgIGNsaUJ1aWxkT2JzY3VyZT86IGJvb2xlYW47XG4gICAgICBjbGlCdWlsZFVnbGlmeT86IGJvb2xlYW47XG4gICAgICBjbGlCdWlsZE5vRHRzPzogYm9vbGVhbjtcbiAgICAgIGNsaUJ1aWxkSW5jbHVkZU5vZGVNb2R1bGVzPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIHByb2plY3QgaXMgdGVtcGxhdGUgZm9yIG90aGVyIHByb2plY3RcbiAgICAgKi9cbiAgICBpc0NvcmVQcm9qZWN0OiBib29sZWFuO1xuICAgIHNjcmlwdHM/OiB7IFtzY3JpcHQgaW4gc3RyaW5nXTogc3RyaW5nIH07XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgbGljZW5zZT86IHN0cmluZztcbiAgICBwcml2YXRlPzogYm9vbGVhbjtcbiAgICBhdXRob3I/OiBzdHJpbmc7XG4gICAgaG9tZXBhZ2U/OiBzdHJpbmc7XG4gICAgb3ZlcnJpZGVkOiB7XG4gICAgICBkZXBlbmRlbmNpZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICB9O1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1jb3JlIGxpYi9jb3JlLW1vZGVscy50cyJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtY29yZS9wcm9qZWN0cy90bnAtY29yZS9zcmMvbGliL2NvcmUtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sS0FBVyxVQUFVLENBa21CMUI7QUFsbUJELFdBQWlCLFVBQVU7SUEwQ1osNkJBQWtCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBS3BELDZCQUFrQixHQUFHO1FBQ2hDLFFBQVE7UUFDUixNQUFNO1FBQ04sTUFBTTtRQUNOLE9BQU87UUFDUCxJQUFJO1FBQ0osS0FBSztLQUNOLENBQUM7SUFPRjs7T0FFRztJQUNVLDBCQUFlLEdBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1Qzs7O1dBR0c7UUFDSCxFQUFFLEVBQUcsSUFBSTtRQUVUOztXQUVHO1FBQ0gsU0FBUyxFQUFHLFdBQVc7UUFFdkI7O1dBRUc7UUFDSCxHQUFHLEVBQUcsS0FBSztRQUVYOztXQUVHO1FBQ0gsS0FBSyxFQUFFLE9BQU87UUFFZDs7V0FFRztRQUNILElBQUksRUFBRyxNQUFNO1FBRWI7O1dBRUc7UUFDSCxJQUFJLEVBQUUsTUFBTTtRQUVaOztXQUVHO1FBQ0gsRUFBRSxFQUFHLElBQUk7UUFFVDs7V0FFRztRQUNILE9BQU8sRUFBRyxTQUFTO1FBRW5COztXQUVHO1FBQ0gsR0FBRyxFQUFHLEtBQUs7UUFFWDs7V0FFRztRQUNILE9BQU8sRUFBRyxTQUFTO1FBRW5COztXQUVHO1FBQ0gsSUFBSSxFQUFHLE1BQU07UUFFYjs7V0FFRztRQUNILEVBQUUsRUFBRSxJQUFJO1FBRVI7O1dBRUc7UUFDSCxRQUFRLEVBQUcsVUFBVTtLQUN0QixDQUFDLENBQUM7SUF1RFUsZ0NBQXFCLEdBQW9DO1FBQ3BFLEtBQUs7UUFDTCxNQUFNO1FBQ04sS0FBSztRQUNMLEtBQUs7S0FDTixD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RSwwQkFBZSxHQUFHO1FBQzdCLE1BQU07UUFDTixPQUFPO1FBQ1AsT0FBTztRQUNQLE9BQU87UUFDUCxNQUFNO1FBQ04sYUFBYTtRQUNiLFdBQVc7UUFDWCxTQUFTO1FBQ1QsT0FBTztLQUNPLENBQUM7SUFHSix1QkFBWSxHQUFHLFdBQUEsU0FBUyxDQUFDO0FBMEh4QyxDQUFDLEVBbG1CZ0IsVUFBVSxLQUFWLFVBQVUsUUFrbUIxQjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsd0RBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB0eXBlIHsgQ2hpbGRQcm9jZXNzIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5cbmltcG9ydCB7IFBhY2thZ2VKc29uIH0gZnJvbSAndHlwZS1mZXN0JztcblxuZXhwb3J0IG5hbWVzcGFjZSBDb3JlTW9kZWxzIHtcblxuICBleHBvcnQgdHlwZSBQYWNrYWdlID0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICAgIGluc3RhbGxUeXBlPzogSW5zdGFsYXRpb25UeXBlO1xuICB9O1xuXG5cblxuICBleHBvcnQgdHlwZSBOcG1JbnN0YWxsT3B0aW9ucyA9IHtcbiAgICBwa2c/OiBDb3JlTW9kZWxzLlBhY2thZ2U7XG4gICAgLyoqXG4gICAgICogZmFsc2UgYnkgZGVmYXVsdFxuICAgICAqL1xuICAgIHNpbGVudD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogZmFsc2UgYnkgZGVmYXVsdFxuICAgICAqL1xuICAgIHVzZVlhcm4/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGZhbHNlIGJ5IGRlZmF1bHRcbiAgICAgKi9cbiAgICBmb3JjZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogUmVhc29uIGZvciBpbnN0YWxsaW5nIHBhY2thZ2UocylcbiAgICAgKi9cbiAgICByZWFzb24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogdHJ1ZSBieSBkZWZhdWx0XG4gICAgICovXG4gICAgcmVtb3ZlWWFybk9yUGFja2FnZUpzb25Mb2NrPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBmYWxzZSBieSBkZWZhdWx0XG4gICAgICovXG4gICAgZ2VuZXJhdGVZYXJuT3JQYWNrYWdlSnNvbkxvY2s/OiBib29sZWFuO1xuICB9O1xuXG5cblxuICBleHBvcnQgdHlwZSBJbnN0YWxhdGlvblR5cGUgPSAnLWcnIHwgJy0tc2F2ZScgfCAnLS1zYXZlLWRldicgfCAncmVtb3ZlJztcblxuICBleHBvcnQgY29uc3QgSW5zdGFsYXRpb25UeXBlQXJyID0gWyctZycsICctLXNhdmUnLCAnLS1zYXZlLWRldiddO1xuXG5cbiAgZXhwb3J0IHR5cGUgUmVsZWFzZVZlcnNpb25UeXBlID0gJ21ham9yJyB8ICdtaW5vcicgfCAncGF0Y2gnO1xuICBleHBvcnQgdHlwZSBQcmVSZWxlYXNlVmVyc2lvblRhZyA9ICdhbHBoYScgfCAnYmV0YScgfCAncmMnIHwgJ25leHQnO1xuICBleHBvcnQgY29uc3QgTnBtU3BlY2lhbFZlcnNpb25zID0gW1xuICAgICdsYXRlc3QnLFxuICAgICduZXh0JyxcbiAgICAnYmV0YScsXG4gICAgJ2FscGhhJyxcbiAgICAncmMnLFxuICAgICdsdHMnLFxuICBdO1xuXG5cbiAgZXhwb3J0IHR5cGUgUFJPR1JFU1NfREFUQV9UWVBFID0gJ2luZm8nIHwgJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdldmVudCc7XG5cblxuXG4gIC8qKlxuICAgKiBBdmFpbGFibGUgYXBwbGljYXRpb24gZW52aXJvbm1lbnRzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEVudmlyb25tZW50TmFtZSA9ICBPYmplY3QuZnJlZXplKHtcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGVudmlyb25tZW50LCB0eXBpY2FsbHkgZm9yIGFydGlmYWN0IHdpdGhvdXQgYXBwbGljYXRpb25cbiAgICAgKiBvciBmb3Igc3RvcmluZyBjb21tb24gZGF0YVxuICAgICAqL1xuICAgIF9fIDogJ19fJyxcblxuICAgIC8qKlxuICAgICAqIExvY2FsIGRldmVsb3BtZW50IGVudmlyb25tZW50LCB0eXBpY2FsbHkgdGhlIGRldmVsb3BlcidzIG1hY2hpbmUuXG4gICAgICovXG4gICAgTE9DQUxIT1NUIDogJ2xvY2FsaG9zdCcsXG5cbiAgICAvKipcbiAgICAgKiBEZXZlbG9wbWVudCBlbnZpcm9ubWVudCB1c2VkIGJ5IGVuZ2luZWVycyB0byBkZXBsb3kgYW5kIHRlc3QgbmV3IGZlYXR1cmVzLlxuICAgICAqL1xuICAgIERFViA6ICdkZXYnLFxuXG4gICAgLyoqXG4gICAgICogU3RhZ2luZyBlbnZpcm9ubWVudCB1c2VkIGZvciBmaW5hbCB2YWxpZGF0aW9ucyBiZWZvcmUgcHJvZHVjdGlvbi5cbiAgICAgKi9cbiAgICBTVEFHRSA6J3N0YWdlJyxcblxuICAgIC8qKlxuICAgICAqIFByb2R1Y3Rpb24gZW52aXJvbm1lbnQgc2VydmluZyBsaXZlIHVzZXJzLlxuICAgICAqL1xuICAgIFBST0QgOiAncHJvZCcsXG5cbiAgICAvKipcbiAgICAgKiBBdXRvbWF0ZWQgdGVzdCBlbnZpcm9ubWVudCBmb3IgcnVubmluZyB1bml0LCBpbnRlZ3JhdGlvbiwgb3IgYXV0b21hdGVkIHRlc3RzLlxuICAgICAqL1xuICAgIFRFU1Q6ICd0ZXN0JyxcblxuICAgIC8qKlxuICAgICAqIFF1YWxpdHkgYXNzdXJhbmNlIGVudmlyb25tZW50IGRlc2lnbmF0ZWQgZm9yIG1hbnVhbCBhbmQgZXhwbG9yYXRvcnkgdGVzdGluZy5cbiAgICAgKi9cbiAgICBRQSA6ICdxYScsXG5cbiAgICAvKipcbiAgICAgKiBTYW5kYm94IGVudmlyb25tZW50IGZvciBleHBlcmltZW50aW5nIGFuZCBpbnRlZ3JhdGlvbiB3aXRob3V0IGFmZmVjdGluZyBvdGhlciBlbnZpcm9ubWVudHMuXG4gICAgICovXG4gICAgU0FOREJPWCA6ICdzYW5kYm94JyxcblxuICAgIC8qKlxuICAgICAqIFVzZXIgQWNjZXB0YW5jZSBUZXN0aW5nIGVudmlyb25tZW50IHdoZXJlIGNsaWVudHMgb3Igc3Rha2Vob2xkZXJzIHZhbGlkYXRlIHRoZSByZWxlYXNlIGNhbmRpZGF0ZS5cbiAgICAgKi9cbiAgICBVQVQgOiAndWF0JyxcblxuICAgIC8qKlxuICAgICAqIFByZS1wcm9kdWN0aW9uIGVudmlyb25tZW50LCBjbG9zZWx5IG1pcnJvcmluZyBwcm9kdWN0aW9uIGZvciBmaW5hbCB0ZXN0aW5nIGFuZCB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIFBSRVBST0QgOiAncHJlcHJvZCcsXG5cbiAgICAvKipcbiAgICAgKiBEZW1vbnN0cmF0aW9uIGVudmlyb25tZW50IHNwZWNpZmljYWxseSBjb25maWd1cmVkIGZvciBjbGllbnQgcHJlc2VudGF0aW9ucyBhbmQgZGVtb3MuXG4gICAgICovXG4gICAgREVNTyA6ICdkZW1vJyxcblxuICAgIC8qKlxuICAgICAqIENvbnRpbnVvdXMgSW50ZWdyYXRpb24gZW52aXJvbm1lbnQgdXNlZCBieSBDSS9DRCBwaXBlbGluZXMgZm9yIGF1dG9tYXRlZCBidWlsZHMgYW5kIGRlcGxveW1lbnRzLlxuICAgICAqL1xuICAgIENJIDonY2knLFxuXG4gICAgLyoqXG4gICAgICogVHJhaW5pbmcgZW52aXJvbm1lbnQgZGVkaWNhdGVkIHRvIGludGVybmFsIHRlYW0gb25ib2FyZGluZyBhbmQgdHJhaW5pbmcgYWN0aXZpdGllcy5cbiAgICAgKi9cbiAgICBUUkFJTklORyA6ICd0cmFpbmluZycsXG4gIH0pO1xuXG4gIGV4cG9ydCB0eXBlIEVudmlyb25tZW50TmFtZVRhb24gPVxuICAodHlwZW9mIEVudmlyb25tZW50TmFtZSlba2V5b2YgdHlwZW9mIEVudmlyb25tZW50TmFtZV07XG5cblxuXG5cbiAgZXhwb3J0IHR5cGUgUFVTSFRZUEUgPVxuICAgIHwgJ2ZlYXQnXG4gICAgfCAnY2hvcmUnXG4gICAgfCAnZmVhdHVyZSdcbiAgICB8ICdyZWZhY3RvcidcbiAgICB8ICdwZXJmJ1xuICAgIHwgJ3N0eWxlcydcbiAgICB8ICdjaSdcbiAgICB8ICdidWlsZCdcbiAgICB8ICdmaXgnXG4gICAgfCAnYnVnZml4J1xuICAgIHwgJ3JlbGVhc2UnXG4gICAgfCAnZG9jcyc7XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgVUlGcmFtZXdvcmsgPSAnYm9vdHN0cmFwJyB8ICdtYXRlcmlhbCcgfCAnaW9uaWMnO1xuXG5cblxuICBleHBvcnQgdHlwZSBGcmFtZXdvcmtWZXJzaW9uID1cbiAgICB8ICd2MSdcbiAgICB8ICd2MidcbiAgICB8ICd2MydcbiAgICB8ICd2NCdcbiAgICB8ICd2MTYnXG4gICAgfCAndjE4J1xuICAgIHwgJ3YyMCc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEN1dGFibGVGaWxlRXh0ID1cbiAgICB8ICdzY3NzJ1xuICAgIHwgJ2NzcydcbiAgICB8ICdsZXNzJ1xuICAgIHwgJ3Nhc3MnXG4gICAgfCAnaHRtbCdcbiAgICB8ICd0cydcbiAgICB8ICd0c3gnXG4gICAgfCAnanMnO1xuXG5cblxuICBleHBvcnQgdHlwZSBJbWFnZUZpbGVFeHRlbnNpb24gPSAnanBnJyB8ICdqcGVnJyB8ICdwbmcnIHwgJ3N2Zyc7XG4gIGV4cG9ydCBjb25zdCBJbWFnZUZpbGVFeHRlbnNpb25BcnI6IENvcmVNb2RlbHMuSW1hZ2VGaWxlRXh0ZW5zaW9uW10gPSBbXG4gICAgJ2pwZycsXG4gICAgJ2pwZWcnLFxuICAgICdwbmcnLFxuICAgICdzdmcnLFxuICBdO1xuXG5cblxuICBleHBvcnQgdHlwZSBGaWxlRXh0ZW5zaW9uID1cbiAgICB8ICdqc29uJ1xuICAgIHwgJ2h0bWwnXG4gICAgfCBJbWFnZUZpbGVFeHRlbnNpb25cbiAgICB8ICd0eHQnXG4gICAgfCAnbWQnXG4gICAgfCBDdXRhYmxlRmlsZUV4dDtcblxuXG5cbiAgZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9XG4gICAgfCAnZ2V0J1xuICAgIHwgJ3Bvc3QnXG4gICAgfCAncHV0J1xuICAgIHwgJ2RlbGV0ZSdcbiAgICB8ICdwYXRjaCdcbiAgICB8ICdoZWFkJ1xuICAgIHwgJ2pzb25wJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgUGFyYW1UeXBlID0gJ1BhdGgnIHwgJ1F1ZXJ5JyB8ICdDb29raWUnIHwgJ0hlYWRlcicgfCAnQm9keSc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIFRzVXNhZ2UgPSAnaW1wb3J0JyB8ICdleHBvcnQnO1xuXG5cblxuICBleHBvcnQgdHlwZSBCYXNlUHJvamVjdFR5cGUgPVxuICAgIHwgJ3R5cGVzY3JpcHQnXG4gICAgfCAnYW5ndWxhcidcbiAgICB8ICdhbmd1bGFyLWxpYidcbiAgICB8ICd1bmtub3duJ1xuICAgIHwgJ3Vua25vd24tbnBtLXByb2plY3QnO1xuXG5cblxuICBleHBvcnQgY29uc3QgQmFzZVByb2plY3RUeXBlQXJyID0gW1xuICAgICd0eXBlc2NyaXB0JyxcbiAgICAnYW5ndWxhcicsXG4gICAgJ2FuZ3VsYXItbGliJyxcbiAgICAndW5rbm93bicsXG4gICAgJ3Vua25vd24tbnBtLXByb2plY3QnLFxuICBdO1xuXG5cblxuICBleHBvcnQgdHlwZSBMaWJUeXBlID1cbiAgICB8IEJhc2VQcm9qZWN0VHlwZVxuICAgIHwgJ2lzb21vcnBoaWMtbGliJyAvLyArIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhpbWVncmlzL2FuZ3VsYXItZWxlY3Ryb25cbiAgICB8ICdjb250YWluZXInXG4gICAgfCAndW5rbm93bi1ucG0tcHJvamVjdCc7XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgTmV3RmFjdG9yeVR5cGUgPSBMaWJUeXBlIHwgJ21vZGVsJyB8ICdzaW5nbGUtZmlsZS1wcm9qZWN0JztcblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgdHlwZSBDb3JlTGliQ2F0ZWdvcnkgPSBMaWJUeXBlIHwgJ2NvbW1vbic7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEZpbGVFdmVudCA9ICdjcmVhdGVkJyB8ICdjaGFuZ2VkJyB8ICdyZW1vdmVkJyB8ICdyZW5hbWUnO1xuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCB0eXBlIE91dEZvbGRlciA9ICdkaXN0JyB8ICdicm93c2VyJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgRGF0YWJhc2VUeXBlID0gJzppbm1lbW9yeScgfCAnbXlzcWwnIHwgJ3NxbGpzJztcblxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBVcGxvYWRlZEJhY2tlbmRGaWxlIHtcbiAgICBkYXRhOlxuICAgICAgfCBhbnlcbi8qICovXG4vKiAqL1xuICBcbiAgICBlbmNvZGluZzogc3RyaW5nO1xuICAgIG1kNTogc3RyaW5nO1xuICAgIHRlbXBGaWxlUGF0aDogc3RyaW5nO1xuICAgIG1pbWV0eXBlOiBDb250ZW50VHlwZTtcbiAgICBtdjogKHBhdGgsIGNhbGxiYWNrKSA9PiBhbnk7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHRydW5jYXRlZDogYm9vbGVhbjtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZU9wdGlvbnMge1xuICAgIC8qKiBFeHRyYWN0IHN0cmluZyBmcm9tIGxpbmUgKi9cbiAgICBleHRyYWN0RnJvbUxpbmU/OiAoc3RyaW5nIHwgRnVuY3Rpb24pW107XG4gICAgLyoqXG4gICAgICogTW9kaWZ5IG91dHB1dCBsaW5lIGJ5IGxpbmVcbiAgICAgKi9cbiAgICBvdXRwdXRMaW5lUmVwbGFjZT86IChvdXRwdXRMaW5lOiBzdHJpbmcpID0+IHN0cmluZztcbiAgICByZXNvbHZlUHJvbWlzZU1zZz86IHtcbiAgICAgIHN0ZG91dD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgc3RkZXJyPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICByZXNvbHZlUHJvbWlzZU1zZ0NhbGxiYWNrPzoge1xuICAgICAgc3Rkb3V0PzogKCkgPT4gYW55O1xuICAgICAgc3RkZXJyPzogKCkgPT4gYW55O1xuICAgICAgZXhpdENvZGU/OiAoZXhpdENvZGU6IG51bWJlcikgPT4gYW55O1xuICAgIH07XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIGRldGFjaD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVHJ5IGNvbW1hbmQgYWdhaW4gYWZ0ZXIgZmFpbCBhZnRlciBuIG1pbGlzZWNvbmRzXG4gICAgICovXG4gICAgdHJ5QWdhaW5XaGVuRmFpbEFmdGVyPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqICBUT0RPIEBMQVNUIGltcGxlbWVudCB0aGlzXG4gICAgICpcbiAgICAgKiBPdXRwdXQgZnJvbSBwcm9jZXNzZSB3aXRoIHRoaXMga2V5XG4gICAgICogd2lsbCBub3QgYmUgZGlzcGxheWVkIHR3aWNlIHdoZW5cbiAgICAgKiAyIHByb2Nlc3NlcyBhcmUgcnVubmluZyBhdCB0aGUgc2FtZSB0aW1lXG4gICAgICovXG4gICAgc2ltaWxhclByb2Nlc3NLZXk/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBVc2UgYmlnIGJ1ZmZlciBmb3IgYmlnIHdlYnBhY2sgbG9nc1xuICAgICAqL1xuICAgIGJpZ2dlckJ1ZmZlcj86IGJvb2xlYW47XG4gICAgYXNrVG9UcnlBZ2Fpbk9uRXJyb3I/OiBib29sZWFuO1xuICAgIG9uQ2hpbGRQcm9jZXNzQ2hhbmdlPzogKGNoaWxkUHJvY2VzczogQ2hpbGRQcm9jZXNzKSA9PiB2b2lkO1xuICAgIGV4aXRPbkVycm9yQ2FsbGJhY2s/OiAoY29kZTogbnVtYmVyKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIEZyb20gZGlzcGxheWluZyBpbiBjb25zb2xlXG4gICAgICovXG4gICAgaGlkZU91dHB1dD86IHtcbiAgICAgIHN0ZG91dD86IGJvb2xlYW47XG4gICAgICBzdGRlcnI/OiBib29sZWFuO1xuICAgICAgYWNjZXB0QWxsRXhpdENvZGVBc1N1Y2Nlc3M/OiBib29sZWFuO1xuICAgIH07XG4gICAgb3V0cHV0QnVmZmVyPzogc3RyaW5nW107XG4gICAgb3V0cHV0QnVmZmVyTWF4U2l6ZT86IG51bWJlcjtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgUnVuT3B0aW9ucyBleHRlbmRzIEV4ZWN1dGVPcHRpb25zIHtcbiAgICBzaG93Q29tbWFuZD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHByb2Nlc3Mgb3V0cHV0XG4gICAgICovXG4gICAgb3V0cHV0PzogYm9vbGVhbjtcblxuICAgIHNpbGVuY2U/OiBib29sZWFuO1xuICAgIHN0ZGlvPzogYW55O1xuXG5cbiAgICBjd2Q/OiBzdHJpbmc7XG4gIH1cblxuXG5cblxuXG4gIGV4cG9ydCBjb25zdCBtaW1lVHlwZXMgPSB7XG4gICAgJy5hYWMnOiAnYXVkaW8vYWFjJyxcbiAgICAnLmFidyc6ICdhcHBsaWNhdGlvbi94LWFiaXdvcmQnLFxuICAgICcuYXJjJzogJ2FwcGxpY2F0aW9uL3gtZnJlZWFyYycsXG4gICAgJy5hdmknOiAndmlkZW8veC1tc3ZpZGVvJyxcbiAgICAnLmF6dyc6ICdhcHBsaWNhdGlvbi92bmQuYW1hem9uLmVib29rJyxcbiAgICAnLmJpbic6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLFxuICAgICcuYm1wJzogJ2ltYWdlL2JtcCcsXG4gICAgJy5ieic6ICdhcHBsaWNhdGlvbi94LWJ6aXAnLFxuICAgICcuYnoyJzogJ2FwcGxpY2F0aW9uL3gtYnppcDInLFxuICAgICcuY3NoJzogJ2FwcGxpY2F0aW9uL3gtY3NoJyxcbiAgICAnLmNzcyc6ICd0ZXh0L2NzcycsXG4gICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICcuZG9jJzogJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gICAgJy5kb2N4JzpcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXG4gICAgJy5lb3QnOiAnYXBwbGljYXRpb24vdm5kLm1zLWZvbnRvYmplY3QnLFxuICAgICcuZXB1Yic6ICdhcHBsaWNhdGlvbi9lcHViK3ppcCcsXG4gICAgJy5neic6ICdhcHBsaWNhdGlvbi9nemlwJyxcbiAgICAnLmdpZic6ICdpbWFnZS9naWYnLFxuICAgICcuaHRtJzogJ3RleHQvaHRtbCcsXG4gICAgJy5odG1sJzogJ3RleHQvaHRtbCcsXG4gICAgJy5pY28nOiAnaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uJyxcbiAgICAnLmljcyc6ICd0ZXh0L2NhbGVuZGFyJyxcbiAgICAnLmphcic6ICdhcHBsaWNhdGlvbi9qYXZhLWFyY2hpdmUnLFxuICAgICcuanBlZyc6ICdpbWFnZS9qcGVnJyxcbiAgICAnLmpwZyc6ICdpbWFnZS9qcGVnJyxcbiAgICAnLmpzJzogJ3RleHQvamF2YXNjcmlwdCcsXG4gICAgJy5qc29uJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICcuanNvbmxkJzogJ2FwcGxpY2F0aW9uL2xkK2pzb24nLFxuICAgICcubWlkJzogJ2FwcGxpY2F0aW9uL21pZGknLFxuICAgICcubWlkaSc6ICdhcHBsaWNhdGlvbi9taWRpJyxcbiAgICAnLm1qcyc6ICd0ZXh0L2phdmFzY3JpcHQnLFxuICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICcubXA0JzogJ3ZpZGVvL21wNCcsXG4gICAgJy5tcGVnJzogJ3ZpZGVvL21wZWcnLFxuICAgICcubXBrZyc6ICdhcHBsaWNhdGlvbi92bmQuYXBwbGUuaW5zdGFsbGVyK3htbCcsXG4gICAgJy5vZHAnOiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24nLFxuICAgICcub2RzJzogJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnLFxuICAgICcub2R0JzogJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dCcsXG4gICAgJy5vZ2EnOiAnYXVkaW8vb2dnJyxcbiAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICcub2d2JzogJ3ZpZGVvL29nZycsXG4gICAgJy5vZ3gnOiAnYXBwbGljYXRpb24vb2dnJyxcbiAgICAnLm9wdXMnOiAnYXVkaW8vb3B1cycsXG4gICAgJy5vdGYnOiAnZm9udC9vdGYnLFxuICAgICcucG5nJzogJ2ltYWdlL3BuZycsXG4gICAgJy5wZGYnOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAnLnBocCc6ICdhcHBsaWNhdGlvbi9waHAnLFxuICAgICcucHB0JzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JyxcbiAgICAnLnBwdHgnOlxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nLFxuICAgICcucmFyJzogJ2FwcGxpY2F0aW9uL3ZuZC5yYXInLFxuICAgICcucnRmJzogJ2FwcGxpY2F0aW9uL3J0ZicsXG4gICAgJy5zaCc6ICdhcHBsaWNhdGlvbi94LXNoJyxcbiAgICAnLnN2Zyc6ICdpbWFnZS9zdmcreG1sJyxcbiAgICAnLnN3Zic6ICdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcsXG4gICAgJy50YXInOiAnYXBwbGljYXRpb24veC10YXInLFxuICAgICcudGlmJzogJ2ltYWdlL3RpZmYnLFxuICAgICcudGlmZic6ICdpbWFnZS90aWZmJyxcbiAgICAnLnRzJzogJ3ZpZGVvL21wMnQnLFxuICAgICcudHRmJzogJ2ZvbnQvdHRmJyxcbiAgICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgICAnLnZzZCc6ICdhcHBsaWNhdGlvbi92bmQudmlzaW8nLFxuICAgICcud2F2JzogJ2F1ZGlvL3dhdicsXG4gICAgJy53ZWJhJzogJ2F1ZGlvL3dlYm0nLFxuICAgICcud2VibSc6ICd2aWRlby93ZWJtJyxcbiAgICAnLndlYnAnOiAnaW1hZ2Uvd2VicCcsXG4gICAgJy53b2ZmJzogJ2ZvbnQvd29mZicsXG4gICAgJy53b2ZmMic6ICdmb250L3dvZmYyJyxcbiAgICAnLnhodG1sJzogJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcsXG4gICAgJy54bHMnOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAnLnhsc3gnOlxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAnLnhtbCc6ICdhcHBsaWNhdGlvbi94bWwnLFxuICAgICcueHVsJzogJ2FwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWwnLFxuICAgICcuemlwJzogJ2FwcGxpY2F0aW9uL3ppcCcsXG4gICAgJy4zZ3AnOiAndmlkZW8vM2dwcCcsXG4gICAgJy4zZzInOiAndmlkZW8vM2dwcDInLFxuICAgICcuN3onOiAnYXBwbGljYXRpb24veC03ei1jb21wcmVzc2VkJyxcbiAgfSBhcyBjb25zdDtcblxuICBleHBvcnQgdHlwZSBDb250ZW50VHlwZUtleXMgPSBrZXlvZiB0eXBlb2YgbWltZVR5cGVzO1xuICBleHBvcnQgdHlwZSBDb250ZW50VHlwZSA9XG4gICAgfCAodHlwZW9mIG1pbWVUeXBlcylbQ29udGVudFR5cGVLZXlzXVxuICAgIHwgJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICB0eXBlIENvbnRlbnRUeXBlXyA9IENvbnRlbnRUeXBlO1xuXG4gIC8qKlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL01JTUVfdHlwZXNcbiAgICovXG4gIGV4cG9ydCB0eXBlIE1lZGlhVHlwZSA9XG4gICAgfCAndGV4dCdcbiAgICB8ICdpbWFnZSdcbiAgICB8ICdhdWRpbydcbiAgICB8ICdmb250J1xuICAgIHwgJ3ZpZGVvJ1xuICAgIHwgJ2FwcGxpY2F0aW9uJ1xuICAgIHwgJ211bHRpcGFydCdcbiAgICB8ICdtZXNzYWdlJ1xuICAgIHwgJ21vZGVsJztcblxuICBleHBvcnQgY29uc3QgTWVkaWFUeXBlQWxsQXJyID0gW1xuICAgICd0ZXh0JyxcbiAgICAnaW1hZ2UnLFxuICAgICdhdWRpbycsXG4gICAgJ3ZpZGVvJyxcbiAgICAnZm9udCcsXG4gICAgJ2FwcGxpY2F0aW9uJyxcbiAgICAnbXVsdGlwYXJ0JyxcbiAgICAnbWVzc2FnZScsXG4gICAgJ21vZGVsJyxcbiAgXSBhcyBNZWRpYVR5cGVbXTtcblxuICBleHBvcnQgdHlwZSBNaW1lVHlwZSA9IGtleW9mIHR5cGVvZiBtaW1lVHlwZXM7XG4gIGV4cG9ydCBjb25zdCBNaW1lVHlwZXNPYmogPSBtaW1lVHlwZXM7XG5cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgTWFuaWZlc3RJY29uIHtcbiAgICBzcmM6IHN0cmluZzsgLy8gXCJhc3NldHMvaWNvbnMvaWNvbi05Nng5Ni5wbmdcIixcbiAgICBzaXplczogc3RyaW5nOyAvLyBcIjk2eDk2XCIsXG4gICAgdHlwZTogc3RyaW5nOyAvLyBcImltYWdlL3BuZ1wiLFxuICAgIHB1cnBvc2U6IHN0cmluZzsgLy8gXCJtYXNrYWJsZSBhbnlcIlxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQd2FNYW5pZmVzdCB7XG4gICAgbmFtZTogc3RyaW5nOyAvLyAgXCJhcHBcIixcbiAgICBzaG9ydF9uYW1lOiBzdHJpbmc7IC8vICBcImFwcFwiLFxuICAgIHRoZW1lX2NvbG9yOiBzdHJpbmc7IC8vIFwiIzE5NzZkMlwiLFxuICAgIGJhY2tncm91bmRfY29sb3I6IHN0cmluZzsgLy8gIFwiI2ZhZmFmYVwiLFxuICAgIGRpc3BsYXk6ICdzdGFuZGFsb25lJztcbiAgICBzY29wZTogc3RyaW5nOyAvLyBcIi4vXCIsXG4gICAgc3RhcnRfdXJsOiBzdHJpbmc7IC8vICBcInN0YXJ0X3VybFwiOiBcIi4vXCIsID0+IFwic3RhcnRfdXJsXCIgXCJodHRwczovL2RhcmVrZjc3LmdpdGh1Yi5pby9iczQtYnJlYWtwb2ludC9cIlxuICAgIGljb25zOiBNYW5pZmVzdEljb25bXTtcbiAgfVxuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFZTQ29kZVNldHRpbmdzIHtcbiAgICAnZmlsZXMuZXhjbHVkZSc6IHsgW2ZpbGVzOiBzdHJpbmddOiBib29sZWFuIH07XG4gICAgJ3dvcmtiZW5jaC5jb2xvclRoZW1lJzogJ0RlZmF1bHQgTGlnaHQrJyB8ICdLaW1iaWUgRGFyayc7XG4gICAgJ3dvcmtiZW5jaC5jb2xvckN1c3RvbWl6YXRpb25zJzoge1xuICAgICAgJ2FjdGl2aXR5QmFyLmJhY2tncm91bmQnPzogc3RyaW5nO1xuICAgICAgJ2FjdGl2aXR5QmFyLmZvcmVncm91bmQnPzogc3RyaW5nO1xuICAgICAgJ3N0YXR1c0Jhci5iYWNrZ3JvdW5kJz86IHN0cmluZztcbiAgICB9O1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgU2l6ZSB7XG4gICAgdzogbnVtYmVyO1xuICAgIGg6IG51bWJlcjtcbiAgfVxuXG5cblxuICBpbnRlcmZhY2UgR2xvYmFsTnBtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGluc3RhbGxOYW1lPzogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmcgfCBudW1iZXI7XG4gIH1cblxuICBpbnRlcmZhY2UgR2xvYmFsQ29tbWFuZExpbmVQcm9ncmFtRGVwZW5kZW5jeSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHdlYnNpdGU6IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsRGVwZW5kZW5jaWVzIHtcbiAgICBucG0/OiBHbG9iYWxOcG1EZXBlbmRlbmN5W107XG4gICAgcHJvZ3JhbXM/OiBHbG9iYWxDb21tYW5kTGluZVByb2dyYW1EZXBlbmRlbmN5W107XG4gIH1cblxuXG5cbiAgaW50ZXJmYWNlIEFuZ3VsYXJDb21waWxlck9wdGlvbnMge1xuICAgIGZ1bGxUZW1wbGF0ZVR5cGVDaGVjazogYm9vbGVhbjtcbiAgICBzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzOiBib29sZWFuO1xuICAgIGNvbXBpbGF0aW9uTW9kZTogc3RyaW5nO1xuICAgIHByZXNlcnZlU3ltbGlua3M6IGJvb2xlYW47XG4gICAgZW5hYmxlSXZ5OiBib29sZWFuO1xuICB9XG5cbiAgaW50ZXJmYWNlIENvbXBpbGVyT3B0aW9ucyB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIG91dERpcjogc3RyaW5nO1xuICAgIHNvdXJjZU1hcDogYm9vbGVhbjtcbiAgICBkZWNsYXJhdGlvbjogYm9vbGVhbjtcbiAgICBzdHJpY3ROdWxsQ2hlY2tzOiBib29sZWFuO1xuICAgIGRvd25sZXZlbEl0ZXJhdGlvbjogYm9vbGVhbjtcbiAgICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiBib29sZWFuO1xuICAgIGVtaXREZWNvcmF0b3JNZXRhZGF0YTogYm9vbGVhbjtcbiAgICBlc01vZHVsZUludGVyb3A6IGJvb2xlYW47XG4gICAgbW9kdWxlOiBzdHJpbmc7XG4gICAgbW9kdWxlUmVzb2x1dGlvbjogc3RyaW5nO1xuICAgIGltcG9ydEhlbHBlcnM6IGJvb2xlYW47XG4gICAgc2tpcExpYkNoZWNrOiBib29sZWFuO1xuICAgIHRhcmdldDogc3RyaW5nO1xuICAgIHR5cGVSb290czogc3RyaW5nW107XG4gICAgdHlwZXM6IHN0cmluZ1tdO1xuICAgIGxpYjogc3RyaW5nW107XG4gICAgcGF0aHM6IHsgW2Z1bGxQYWNrYWdlTmFtZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgICB1c2VEZWZpbmVGb3JDbGFzc0ZpZWxkczogYm9vbGVhbjtcbiAgfVxuICBleHBvcnQgaW50ZXJmYWNlIFRzQ29uZmlnSnNvbiB7XG4gICAgZXh0ZW5kczogc3RyaW5nO1xuICAgIGV4Y2x1ZGU6IHN0cmluZ1tdO1xuICAgIGNvbXBpbGVPblNhdmU6IGJvb2xlYW47XG4gICAgY29tcGlsZXJPcHRpb25zOiBDb21waWxlck9wdGlvbnM7XG4gICAgYW5ndWxhckNvbXBpbGVyT3B0aW9uczogQW5ndWxhckNvbXBpbGVyT3B0aW9ucztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVHNjQ29tcGlsZU9wdGlvbnMge1xuICAgIGN3ZDogc3RyaW5nO1xuICAgIHdhdGNoPzogYm9vbGVhbjtcbiAgICBvdXREaXI/OiAnZGlzdCc7XG4gICAgZ2VuZXJhdGVEZWNsYXJhdGlvbnM/OiBib29sZWFuO1xuICAgIHRzRXhlPzogc3RyaW5nO1xuICAgIGRpYWdub3N0aWNzPzogYm9vbGVhbjtcbiAgICBoaWRlRXJyb3JzPzogYm9vbGVhbjtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL2NvcmUtbW9kZWxzLnRzIl19
@@ -93,11 +93,16 @@ export class HelpersMessages extends HelpersIsomorphic {
93
93
  }
94
94
  }
95
95
  /**
96
- * Throw error and exit process
97
- * make sure browser or nodejs will not continue
98
- * @param details
96
+ * throw error
99
97
  */
100
98
  throw(details) {
99
+ throw new Error(details);
100
+ }
101
+ /**
102
+ * throw error and stop application
103
+ * @param details
104
+ */
105
+ stopApplication(details) {
101
106
  if (this.isBrowser) {
102
107
  document.body.innerHTML =
103
108
  '<h1>Application has encountered an error and stopped.</h1>';
@@ -543,4 +548,4 @@ export class HelpersMessages extends HelpersIsomorphic {
543
548
  }
544
549
  ;
545
550
  ({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts
546
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFLTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXpELE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFO0lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtJQUMzQixjQUFjLEVBQUUsTUFBTSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ3BCLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQUU7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQzNCLGNBQWMsRUFBRSxNQUFNLEVBQUU7Q0FDekIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDcEIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFDbEIsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUN0QixpQkFBaUIsRUFBRSxNQUFNLEVB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QUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUlELElBQUksQ0FBQyxPQUFlLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDMUMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBSUQsT0FBTyxDQUFDLE9BQXFCO1FBQzNCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLE9BQXFCLEVBQUUsWUFBcUIsS0FBSztRQUMzRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0QsUUFBUSxDQUFDLE9BQXNCLEVBQUUsZUFBZSxHQUFHLEtBQUs7UUFDdEQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0QsSUFBSSxhQUFhO1FBRWYsT0FBTyxJQUFJLENBQUMsQ0FBQyxnQ0FBZ0M7UUFFakQsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0Q7O09BRUc7SUFDSCxHQUFHLENBQUMsT0FBWSxFQUFFLFVBQVUsR0FBRyxDQUFDO1FBQzlCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFHRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxPQUFxQjtRQUNsQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDN0MsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsT0FBWSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDeEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR0Q7O09BRUc7SUFDSCxPQUFPLENBQUMsT0FBZSxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3hDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUdELElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDakMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZEQUE2RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgXyB9IGZyb20gJy4vY29yZS1pbXBvcnRzJztcblxuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBIZWxwZXJzSXNvbW9ycGhpYyB9IGZyb20gJy4vaGVscGVycy1pc29tb3JwaGljJztcbmltcG9ydCB7IFBST0dSRVNTX0RBVEEgfSBmcm9tICcuL3Byb2dyZXNzLWRhdGEnO1xuaW1wb3J0IHsgZnJhbWV3b3JrTmFtZSB9IGZyb20gJy4vZnJhbWV3b3JrLW5hbWUnO1xuXG5cblxuY29uc3QgS0VZID0ge1xuICBMQVNUX0VSUk9SOiBTeW1ib2woKSxcbiAgTEFTVF9JTkZPOiBTeW1ib2woKSxcbiAgTEFTVF9XQVJOOiBTeW1ib2woKSxcbiAgTEFTVF9MT0c6IFN5bWJvbCgpLFxuICBMQVNUX1NVQ0NFU1M6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfU1RBUlRFRDogU3ltYm9sKCksXG4gIExBU1RfVEFTS19ET05FOiBTeW1ib2woKSxcbn07XG5cbmNvbnN0IEtFWV9DT1VOVCA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59O1xuXG5jb25zdCBLRVlfSU1QT1JUQU5UQ0UgPSB7XG4gIExBU1RfRVJST1I6IFN5bWJvbCgpLFxuICBMQVNUX0lORk86IFN5bWJvbCgpLFxuICBMQVNUX1dBUk46IFN5bWJvbCgpLFxuICBMQVNUX0xPRzogU3ltYm9sKCksXG4gIExBU1RfU1VDQ0VTUzogU3ltYm9sKCksXG4gIExBU1RfVEFTS19TVEFSVEVEOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX0RPTkU6IFN5bWJvbCgpLFxufTtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuY29uc3QgTElNSVQgPSAxMDtcblxuXG4vKipcbiAqIEBwYXJhbSBkZXRhaWxzIGFueSBkYXRhIHRvIGJlIHRyYW5zZm9ybWVkXG4gKiBAcmV0dXJucyBzdHJpbmcgcmVhZHkgdG8gYmUgZGlzcGxheWVkXG4gKi9cbmNvbnN0IHRyYW5zZm9ybURhdGEgPSAoZGV0YWlsczogYW55KTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiBkZXRhaWxzID09PSAnb2JqZWN0Jykge1xuXG5cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkoZGV0YWlscywgbnVsbCwgMik7XG4gICAgICBkZXRhaWxzID0ganNvbjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgfVxuICB9XG4gIHJldHVybiBkZXRhaWxzO1xufTtcblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc01lc3NhZ2VzIGV4dGVuZHMgSGVscGVyc0lzb21vcnBoaWMge1xuICBtc2dDYWNoZUNsZWFyKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgcmVuZGVyRXJyb3IoZXJyOiBFcnJvcikge1xuICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBlbHNlIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRocm93IGVycm9yIGFuZCBleGl0IHByb2Nlc3NcbiAgICogbWFrZSBzdXJlIGJyb3dzZXIgb3Igbm9kZWpzIHdpbGwgbm90IGNvbnRpbnVlXG4gICAqIEBwYXJhbSBkZXRhaWxzXG4gICAqL1xuICB0aHJvdyhkZXRhaWxzOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcblxuICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPVxuICAgICAgICAnPGgxPkFwcGxpY2F0aW9uIGhhcyBlbmNvdW50ZXJlZCBhbiBlcnJvciBhbmQgc3RvcHBlZC48L2gxPic7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoZGV0YWlscyk7XG4gIH1cblxuICB0cnlDYXRjaEVycm9yKGVycm9yOiBhbnkpIHtcbiAgICBIZWxwZXJzLmVycm9yKGVycm9yLCB0cnVlLCB0cnVlKTtcbiAgfVxuXG4gIGVycm9yKGRldGFpbHM6IGFueSwgbm9FeGl0ID0gZmFsc2UsIG5vVHJhY2UgPSBmYWxzZSkge1xuXG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgaW5mbyhkZXRhaWxzOiBzdHJpbmcsIHJlcGVhdGFibGUgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBzdWNjZXNzKGRldGFpbHM6IGFueSB8IHN0cmluZykge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGRldGFpbHNcbiAgICogQHBhcmFtIGlzTG9nVGFzayBpcyBsZXNzIGltcG9ydGFudCBsb2cgdGFza1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgdGFza1N0YXJ0ZWQoZGV0YWlsczogYW55IHwgc3RyaW5nLCBpc0xvZ1Rhc2s6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgdGFza0RvbmUoZGV0YWlscz86IGFueSB8IHN0cmluZywgaXNMZXNzSW1wb3J0YW50ID0gZmFsc2UpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgZ2V0IGlzVmVyYm9zZU1vZGUoKSB7XG5cbiAgICByZXR1cm4gdHJ1ZTsgLy8gVE9ETyB3aGF0IGl0IG1lYW5zIGluIGJyb3dzZXJcblxuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuICAvKipcbiAgICogbG9nIG1lc3NhZ2VzIG9ubHkgYXZhaWxhYmxlIGluIHZlcmJvc2UgbW9kZVxuICAgKi9cbiAgbG9nKGRldGFpbHM6IGFueSwgZGVidWdMZXZlbCA9IDApIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUubG9nKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExvZ3Mgbm90IHZpc2libGUgaW4gbm9ybWFsIHVzZSBvZiB0YW9uLWNsaVxuICAgKi9cbiAgbG9nU3VjY2VzcyhkZXRhaWxzOiBhbnkgfCBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ0luZm8oZGV0YWlsczogc3RyaW5nLCByZXBlYXRhYmxlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ0Vycm9yKGRldGFpbHM6IGFueSwgbm9FeGl0ID0gZmFsc2UsIG5vVHJhY2UgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dXYXJuKGRldGFpbHM6IHN0cmluZywgdHJhY2UgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICB3YXJuKGRldGFpbHM6IHN0cmluZywgdHJhY2UgPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS53YXJuKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL2hlbHBlcnMtbWVzc2FnZXMudHMiXX0=
551
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFLTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXpELE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFO0lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtJQUMzQixjQUFjLEVBQUUsTUFBTSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ3BCLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQUU7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQzNCLGNBQWMsRUFBRSxNQUFNLEVBQUU7Q0FDekIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDcEIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFDbEIsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUN0QixpQkFBaUIsRUFBRSxNQUFNLEVBQUU7SUFDM0IsY0FBYyxFQUFFLE1BQU0sRUFBRTtDQUN6QixDQUFDO0FBRUYsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBR2pCOzs7R0FHRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBWSxFQUFVLEVBQUU7SUFDN0MsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUloQyxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBR0YsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQWlCO0lBQ3BELGFBQWE7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUVuQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ1osS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1FBRUQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFlO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxPQUFlO1FBQzdCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRW5CLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDckIsNERBQTRELENBQUM7WUFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztZQUVqRCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1FBRUQsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLE9BQU8sR0FBRyxLQUFLO1FBRWpELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFHTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxJQUFJLENBQUMsT0FBZSxFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUlELE9BQU8sQ0FBQyxPQUFxQjtRQUMzQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFHRDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxPQUFxQixFQUFFLFlBQXFCLEtBQUs7UUFDM0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUdELFFBQVEsQ0FBQyxPQUFzQixFQUFFLGVBQWUsR0FBRyxLQUFLO1FBQ3RELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUdELElBQUksYUFBYTtRQUVmLE9BQU8sSUFBSSxDQUFDLENBQUMsZ0NBQWdDO1FBRWpELEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUdEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLE9BQVksRUFBRSxVQUFVLEdBQUcsQ0FBQztRQUM5QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0Q7O09BRUc7SUFDSCxVQUFVLENBQUMsT0FBcUI7UUFDbEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQzdDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLE9BQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLE9BQU8sR0FBRyxLQUFLO1FBQ3hELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUdEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE9BQWUsRUFBRSxLQUFLLEdBQUcsS0FBSztRQUN4QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFHRCxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ2pDLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IF8gfSBmcm9tICcuL2NvcmUtaW1wb3J0cyc7XG5cblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgSGVscGVyc0lzb21vcnBoaWMgfSBmcm9tICcuL2hlbHBlcnMtaXNvbW9ycGhpYyc7XG5pbXBvcnQgeyBQUk9HUkVTU19EQVRBIH0gZnJvbSAnLi9wcm9ncmVzcy1kYXRhJztcbmltcG9ydCB7IGZyYW1ld29ya05hbWUgfSBmcm9tICcuL2ZyYW1ld29yay1uYW1lJztcblxuXG5cbmNvbnN0IEtFWSA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59O1xuXG5jb25zdCBLRVlfQ09VTlQgPSB7XG4gIExBU1RfRVJST1I6IFN5bWJvbCgpLFxuICBMQVNUX0lORk86IFN5bWJvbCgpLFxuICBMQVNUX1dBUk46IFN5bWJvbCgpLFxuICBMQVNUX0xPRzogU3ltYm9sKCksXG4gIExBU1RfU1VDQ0VTUzogU3ltYm9sKCksXG4gIExBU1RfVEFTS19TVEFSVEVEOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX0RPTkU6IFN5bWJvbCgpLFxufTtcblxuY29uc3QgS0VZX0lNUE9SVEFOVENFID0ge1xuICBMQVNUX0VSUk9SOiBTeW1ib2woKSxcbiAgTEFTVF9JTkZPOiBTeW1ib2woKSxcbiAgTEFTVF9XQVJOOiBTeW1ib2woKSxcbiAgTEFTVF9MT0c6IFN5bWJvbCgpLFxuICBMQVNUX1NVQ0NFU1M6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfU1RBUlRFRDogU3ltYm9sKCksXG4gIExBU1RfVEFTS19ET05FOiBTeW1ib2woKSxcbn07XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbmNvbnN0IExJTUlUID0gMTA7XG5cblxuLyoqXG4gKiBAcGFyYW0gZGV0YWlscyBhbnkgZGF0YSB0byBiZSB0cmFuc2Zvcm1lZFxuICogQHJldHVybnMgc3RyaW5nIHJlYWR5IHRvIGJlIGRpc3BsYXllZFxuICovXG5jb25zdCB0cmFuc2Zvcm1EYXRhID0gKGRldGFpbHM6IGFueSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgZGV0YWlscyA9PT0gJ29iamVjdCcpIHtcblxuXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KGRldGFpbHMsIG51bGwsIDIpO1xuICAgICAgZGV0YWlscyA9IGpzb247XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBkZXRhaWxzO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZGV0YWlscztcbn07XG5cblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNNZXNzYWdlcyBleHRlbmRzIEhlbHBlcnNJc29tb3JwaGljIHtcbiAgbXNnQ2FjaGVDbGVhcigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIHJlbmRlckVycm9yKGVycjogRXJyb3IpIHtcbiAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcblxuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIH0gZWxzZSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0aHJvdyBlcnJvclxuICAgKi9cbiAgdGhyb3coZGV0YWlsczogc3RyaW5nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGRldGFpbHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRocm93IGVycm9yIGFuZCBzdG9wIGFwcGxpY2F0aW9uXG4gICAqIEBwYXJhbSBkZXRhaWxzXG4gICAqL1xuICBzdG9wQXBwbGljYXRpb24oZGV0YWlsczogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID1cbiAgICAgICAgJzxoMT5BcHBsaWNhdGlvbiBoYXMgZW5jb3VudGVyZWQgYW4gZXJyb3IgYW5kIHN0b3BwZWQuPC9oMT4nO1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGRldGFpbHMpO1xuICB9XG5cbiAgdHJ5Q2F0Y2hFcnJvcihlcnJvcjogYW55KSB7XG4gICAgSGVscGVycy5lcnJvcihlcnJvciwgdHJ1ZSwgdHJ1ZSk7XG4gIH1cblxuICBlcnJvcihkZXRhaWxzOiBhbnksIG5vRXhpdCA9IGZhbHNlLCBub1RyYWNlID0gZmFsc2UpIHtcblxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5lcnJvcihkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGluZm8oZGV0YWlsczogc3RyaW5nLCByZXBlYXRhYmxlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgc3VjY2VzcyhkZXRhaWxzOiBhbnkgfCBzdHJpbmcpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBkZXRhaWxzXG4gICAqIEBwYXJhbSBpc0xvZ1Rhc2sgaXMgbGVzcyBpbXBvcnRhbnQgbG9nIHRhc2tcbiAgICogQHJldHVybnNcbiAgICovXG4gIHRhc2tTdGFydGVkKGRldGFpbHM6IGFueSB8IHN0cmluZywgaXNMb2dUYXNrOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIHRhc2tEb25lKGRldGFpbHM/OiBhbnkgfCBzdHJpbmcsIGlzTGVzc0ltcG9ydGFudCA9IGZhbHNlKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIGdldCBpc1ZlcmJvc2VNb2RlKCkge1xuXG4gICAgcmV0dXJuIHRydWU7IC8vIFRPRE8gd2hhdCBpdCBtZWFucyBpbiBicm93c2VyXG5cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgLyoqXG4gICAqIGxvZyBtZXNzYWdlcyBvbmx5IGF2YWlsYWJsZSBpbiB2ZXJib3NlIG1vZGVcbiAgICovXG4gIGxvZyhkZXRhaWxzOiBhbnksIGRlYnVnTGV2ZWwgPSAwKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmxvZyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ1N1Y2Nlc3MoZGV0YWlsczogYW55IHwgc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dJbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dFcnJvcihkZXRhaWxzOiBhbnksIG5vRXhpdCA9IGZhbHNlLCBub1RyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExvZ3Mgbm90IHZpc2libGUgaW4gbm9ybWFsIHVzZSBvZiB0YW9uLWNsaVxuICAgKi9cbiAgbG9nV2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgd2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUud2FybihkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1jb3JlIGxpYi9oZWxwZXJzLW1lc3NhZ2VzLnRzIl19