tnp-helpers 16.0.9 → 16.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base-project.mjs +309 -0
  4. package/browser/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  5. package/browser/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  6. package/browser/esm2022/lib/helpers-array-obj.mjs +1 -1
  7. package/browser/esm2022/lib/helpers-numbers.mjs +1 -1
  8. package/browser/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  9. package/browser/esm2022/lib/helpers-strings.mjs +1 -1
  10. package/browser/esm2022/lib/helpers.mjs +4 -7
  11. package/browser/esm2022/lib/index.mjs +2 -1
  12. package/browser/esm2022/lib/models.mjs +1 -1
  13. package/browser/esm2022/lib/project.mjs +10 -34
  14. package/browser/esm2022/lib/validators/validators-git.mjs +1 -1
  15. package/browser/esm2022/lib/validators/validators-network.mjs +1 -1
  16. package/browser/esm2022/lib/validators/validators.mjs +1 -1
  17. package/browser/fesm2022/tnp-helpers.mjs +322 -134
  18. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  19. package/browser/lib/base-project.d.ts +55 -0
  20. package/browser/lib/helpers.d.ts +0 -2
  21. package/browser/lib/index.d.ts +1 -0
  22. package/browser/lib/project.d.ts +5 -12
  23. package/client/README.md +24 -24
  24. package/client/esm2022/lib/base-project.mjs +309 -0
  25. package/client/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  26. package/client/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  27. package/client/esm2022/lib/helpers-array-obj.mjs +1 -1
  28. package/client/esm2022/lib/helpers-numbers.mjs +1 -1
  29. package/client/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  30. package/client/esm2022/lib/helpers-strings.mjs +1 -1
  31. package/client/esm2022/lib/helpers.mjs +4 -7
  32. package/client/esm2022/lib/index.mjs +2 -1
  33. package/client/esm2022/lib/models.mjs +1 -1
  34. package/client/esm2022/lib/project.mjs +10 -34
  35. package/client/esm2022/lib/validators/validators-git.mjs +1 -1
  36. package/client/esm2022/lib/validators/validators-network.mjs +1 -1
  37. package/client/esm2022/lib/validators/validators.mjs +1 -1
  38. package/client/fesm2022/tnp-helpers.mjs +322 -134
  39. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  40. package/client/lib/base-project.d.ts +55 -0
  41. package/client/lib/helpers.d.ts +0 -2
  42. package/client/lib/index.d.ts +1 -0
  43. package/client/lib/project.d.ts +5 -12
  44. package/client/package.json +29 -16
  45. package/index.js.map +1 -1
  46. package/lib/base-project.d.ts +64 -0
  47. package/lib/base-project.js +365 -0
  48. package/lib/base-project.js.map +1 -0
  49. package/lib/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  50. package/lib/for-backend/helpers-cli-tool.backend.js +1 -1
  51. package/lib/for-backend/helpers-cli-tool.backend.js.map +1 -1
  52. package/lib/for-backend/helpers-console-gui.js.map +1 -1
  53. package/lib/for-backend/helpers-dependencies.backend.js.map +1 -1
  54. package/lib/for-backend/helpers-file-folders.backend.d.ts +6 -0
  55. package/lib/for-backend/helpers-file-folders.backend.js +12 -1
  56. package/lib/for-backend/helpers-file-folders.backend.js.map +1 -1
  57. package/lib/for-backend/helpers-git.backend.d.ts +6 -0
  58. package/lib/for-backend/helpers-git.backend.js +32 -9
  59. package/lib/for-backend/helpers-git.backend.js.map +1 -1
  60. package/lib/for-backend/helpers-network.backend.js.map +1 -1
  61. package/lib/for-backend/helpers-npm.backend.js.map +1 -1
  62. package/lib/for-backend/helpers-path.backend.js.map +1 -1
  63. package/lib/for-backend/helpers-process.backend.js.map +1 -1
  64. package/lib/for-backend/helpers-system-terminal.backend.js.map +1 -1
  65. package/lib/for-backend/helpers-vscode.backend.js.map +1 -1
  66. package/lib/for-backend/ts-code/index.js.map +1 -1
  67. package/lib/for-backend/ts-code/ts-code-extractor.js.map +1 -1
  68. package/lib/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -1
  69. package/lib/for-browser/angular.helper.js +3 -3
  70. package/lib/for-browser/angular.helper.js.map +1 -1
  71. package/lib/for-browser/helpers-browser.js.map +1 -1
  72. package/lib/git-project.d.ts +3 -1
  73. package/lib/git-project.js +6 -0
  74. package/lib/git-project.js.map +1 -1
  75. package/lib/helpers-array-obj.js.map +1 -1
  76. package/lib/helpers-json5.backend.js.map +1 -1
  77. package/lib/helpers-numbers.js.map +1 -1
  78. package/lib/helpers-strings-regexes.js.map +1 -1
  79. package/lib/helpers-strings.js.map +1 -1
  80. package/lib/helpers.d.ts +0 -2
  81. package/lib/helpers.js +3 -7
  82. package/lib/helpers.js.map +1 -1
  83. package/lib/index.d.ts +1 -0
  84. package/lib/index.js +1 -0
  85. package/lib/index.js.map +1 -1
  86. package/lib/models.js.map +1 -1
  87. package/lib/old/base-component.js +3 -3
  88. package/lib/old/base-component.js.map +1 -1
  89. package/lib/old/base-formly-component.js +3 -3
  90. package/lib/old/base-formly-component.js.map +1 -1
  91. package/lib/old/condition-wait.js.map +1 -1
  92. package/lib/old/dual-component-ctrl.js +3 -3
  93. package/lib/old/dual-component-ctrl.js.map +1 -1
  94. package/lib/project.d.ts +5 -12
  95. package/lib/project.js +13 -36
  96. package/lib/project.js.map +1 -1
  97. package/lib/validators/validators-firedev.js.map +1 -1
  98. package/lib/validators/validators-git.js.map +1 -1
  99. package/lib/validators/validators-network.js.map +1 -1
  100. package/lib/validators/validators.js.map +1 -1
  101. package/package.json +4 -6
  102. package/package.json_devDependencies.json +222 -222
  103. package/package.json_tnp.json5 +48 -49
  104. package/tmp-environment.json +35 -24
  105. package/websql/README.md +24 -24
  106. package/websql/esm2022/lib/base-project.mjs +296 -0
  107. package/websql/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  108. package/websql/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  109. package/websql/esm2022/lib/helpers-array-obj.mjs +1 -1
  110. package/websql/esm2022/lib/helpers-numbers.mjs +1 -1
  111. package/websql/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  112. package/websql/esm2022/lib/helpers-strings.mjs +1 -1
  113. package/websql/esm2022/lib/helpers.mjs +4 -7
  114. package/websql/esm2022/lib/index.mjs +2 -1
  115. package/websql/esm2022/lib/models.mjs +1 -1
  116. package/websql/esm2022/lib/project.mjs +10 -34
  117. package/websql/esm2022/lib/validators/validators-git.mjs +1 -1
  118. package/websql/esm2022/lib/validators/validators-network.mjs +1 -1
  119. package/websql/esm2022/lib/validators/validators.mjs +1 -1
  120. package/websql/fesm2022/tnp-helpers.mjs +308 -135
  121. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  122. package/websql/lib/base-project.d.ts +55 -0
  123. package/websql/lib/helpers.d.ts +0 -2
  124. package/websql/lib/index.d.ts +1 -0
  125. package/websql/lib/project.d.ts +5 -12
  126. package/browser/esm2022/lib/helpers-binary.mjs +0 -93
  127. package/browser/lib/helpers-binary.d.ts +0 -27
  128. package/client/esm2022/lib/helpers-binary.mjs +0 -93
  129. package/client/lib/helpers-binary.d.ts +0 -27
  130. package/lib/helpers-binary.d.ts +0 -28
  131. package/lib/helpers-binary.js +0 -127
  132. package/lib/helpers-binary.js.map +0 -1
  133. package/websql/esm2022/lib/helpers-binary.mjs +0 -93
  134. package/websql/lib/helpers-binary.d.ts +0 -27
@@ -0,0 +1,309 @@
1
+ /* */
2
+ /* */
3
+ /* */
4
+ /* */
5
+ /* */
6
+ import { HelpersFiredev } from './helpers';
7
+ const Helpers = HelpersFiredev.Instance;
8
+ const takenPorts = [];
9
+ export class BaseProjectResolver {
10
+ constructor(classFn) {
11
+ this.classFn = classFn;
12
+ this.NPM_PROJECT_KEY = 'npm';
13
+ this.projects = [];
14
+ this.emptyLocations = [];
15
+ }
16
+ get allowedTypes() {
17
+ /* */
18
+ /* */
19
+ /* */
20
+ return (void 0);
21
+ }
22
+ get Current() {
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ return (void 0);
35
+ }
36
+ /**
37
+ * override this
38
+ */
39
+ typeFrom(location) {
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ return (void 0);
46
+ }
47
+ From(locationOfProject) {
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ return (void 0);
98
+ }
99
+ nearestTo(absoluteLocation, options) {
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
116
+ /* */
117
+ /* */
118
+ /* */
119
+ /* */
120
+ /* */
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ return (void 0);
159
+ }
160
+ unload(project) {
161
+ this.projects = this.projects.filter(f => f !== project);
162
+ }
163
+ allProjectFrom(absoluteLocation, stopOnCwd = '/') {
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
169
+ /* */
170
+ /* */
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ /* */
176
+ /* */
177
+ /* */
178
+ /* */
179
+ /* */
180
+ /* */
181
+ /* */
182
+ /* */
183
+ /* */
184
+ /* */
185
+ /* */
186
+ /* */
187
+ /* */
188
+ /* */
189
+ /* */
190
+ return (void 0);
191
+ }
192
+ }
193
+ class BaseProject {
194
+ static { this.ins = new BaseProjectResolver(BaseProject); }
195
+ get name() {
196
+ return this.packageJSON?.name;
197
+ }
198
+ get version() {
199
+ return this.packageJSON?.version;
200
+ }
201
+ get parent() {
202
+ /* */
203
+ /* */
204
+ return (void 0);
205
+ }
206
+ get genericName() {
207
+ /* */
208
+ /* */
209
+ /* */
210
+ /* */
211
+ /* */
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ /* */
218
+ /* */
219
+ return (void 0);
220
+ }
221
+ /**
222
+ * try run but continue when it fails
223
+ * @param command
224
+ * @param options
225
+ * @returns
226
+ */
227
+ tryRunSync(command
228
+ /* */
229
+ /* */
230
+ ) {
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ return (void 0);
238
+ }
239
+ pathFor(relativePath) {
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ return (void 0);
246
+ }
247
+ writeJson(relativePath, json) {
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ return (void 0);
254
+ }
255
+ run(command
256
+ /* */
257
+ /* */
258
+ ) {
259
+ /* */
260
+ /* */
261
+ /* */
262
+ /* */
263
+ /* */
264
+ return (void 0);
265
+ }
266
+ outputFrom(command
267
+ /* */
268
+ /* */
269
+ ) {
270
+ /* */
271
+ /* */
272
+ return (void 0);
273
+ }
274
+ remove(relativePath, exactPath = true) {
275
+ /* */
276
+ /* */
277
+ return (void 0);
278
+ }
279
+ async assignFreePort(startFrom = 4200) {
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
285
+ /* */
286
+ /* */
287
+ /* */
288
+ /* */
289
+ /* */
290
+ /* */
291
+ /* */
292
+ /* */
293
+ /* */
294
+ /* */
295
+ /* */
296
+ /* */
297
+ /* */
298
+ /* */
299
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ return (void 0);
304
+ }
305
+ }
306
+ export { BaseProject };
307
+ ;
308
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base-project.ts
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQU1MLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHM0MsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztBQUd4QyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFzQixPQUFZO1FBQVosWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUhmLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBd0IsRUFBRSxDQUFDO1FBQ25DLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0lBQ0YsQ0FBQztJQUN2QyxJQUFJLFlBQVk7UUFDbEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksT0FBTztRQUNiLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFJLFFBQWdCO1FBQzlCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUdELElBQUksQ0FBQyxpQkFBb0M7UUFJM0MsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxTQUFTLENBQ1AsZ0JBQXdCLEVBQ3hCLE9BQWlHO1FBQ3JHLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxL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VUFBVSxDQUFDLE9BQWU7SUFDNUIsS0FBSztJQUNMLEtBQUs7O1FBR0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQW9CLEVBQUUsU0FBUyxHQUFHLElBQUk7UUFDL0MsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFvQixJQUFJO1FBQy9DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7U0E3SVUsV0FBVztBQW1KdkIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBDTEkgfSBmcm9tICd0bnAtY2xpL2Jyb3dzZXInO1xuaW1wb3J0IHsgcGF0aCwgY3Jvc3NQbGF0Zm9ybVBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzRmlyZWRldiB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICd0bnAtbW9kZWxzL2Jyb3dzZXInO1xuXG5jb25zdCBIZWxwZXJzID0gSGVscGVyc0ZpcmVkZXYuSW5zdGFuY2U7XG5cblxuY29uc3QgdGFrZW5Qb3J0cyA9IFtdO1xuXG5leHBvcnQgY2xhc3MgQmFzZVByb2plY3RSZXNvbHZlcjxUPiB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IE5QTV9QUk9KRUNUX0tFWSA9ICducG0nO1xuICBwcm90ZWN0ZWQgcHJvamVjdHM6IChUICYgQmFzZVByb2plY3QpW10gPSBbXTtcbiAgcHJvdGVjdGVkIGVtcHR5TG9jYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xhc3NGbjogYW55KSB7IH1cbiAgZ2V0IGFsbG93ZWRUeXBlcygpOiBzdHJpbmdbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgZ2V0IEN1cnJlbnQoKTogVCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogb3ZlcnJpZGUgdGhpc1xuICAgKi9cbiAgdHlwZUZyb208VD4obG9jYXRpb246IHN0cmluZyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIEZyb20obG9jYXRpb25PZlByb2plY3Q6IHN0cmluZyB8IHN0cmluZ1tdKTogVCB7XG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgbmVhcmVzdFRvKFxuICAgIGFic29sdXRlTG9jYXRpb246IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyB0eXBlPzogKHN0cmluZyB8IHN0cmluZ1tdKTsgZmluZEdpdFJvb3Q/OiBib29sZWFuOyBvbmx5T3V0U2lkZU5vZGVNb2R1bGVzPzogYm9vbGVhbiB9KTogVCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICB1bmxvYWQocHJvamVjdDogVCkge1xuICAgIHRoaXMucHJvamVjdHMgPSB0aGlzLnByb2plY3RzLmZpbHRlcihmID0+IGYgIT09IHByb2plY3QpO1xuICB9XG5cblxuICBhbGxQcm9qZWN0RnJvbShhYnNvbHV0ZUxvY2F0aW9uOiBzdHJpbmcsIHN0b3BPbkN3ZDogc3RyaW5nID0gJy8nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG59XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VQcm9qZWN0PFQgPSBhbnk+XG4vKiAqL1xuLyogKi9cbiAgXG57XG4gIHN0YXRpYyBpbnMgPSBuZXcgQmFzZVByb2plY3RSZXNvbHZlcjxCYXNlUHJvamVjdD4oQmFzZVByb2plY3QpO1xuICByZWFkb25seSBpbnM6IEJhc2VQcm9qZWN0UmVzb2x2ZXI8VD47XG4gIC8qKlxuICAgKiBpdCBkbyBub3QgbmVlZCB0byBiZSByZWFsdCBwYXRoXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBiYXNlbmFtZTogc3RyaW5nO1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWNrYWdlSlNPTj8ubmFtZTtcbiAgfVxuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gIGdldCB2ZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnBhY2thZ2VKU09OPy52ZXJzaW9uO1xuICB9XG4gIHByb3RlY3RlZCByZWFkb25seSBwYWNrYWdlSlNPTjogTW9kZWxzLm5wbS5JUGFja2FnZUpTT047XG4gIC8qKlxuICAgKiBvbmx5IGF2YWlsYWJsZSBhZnRlciBleGVjdXRpbmcgKnRoaXMuYXNzaWduRnJlZVBvcnQoKSpcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IHN0cmluZztcblxuXG4gIGdldCBwYXJlbnQoKTogVCB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBnZXQgZ2VuZXJpY05hbWUoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIHRyeSBydW4gYnV0IGNvbnRpbnVlIHdoZW4gaXQgZmFpbHNcbiAgICogQHBhcmFtIGNvbW1hbmRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHRyeVJ1blN5bmMoY29tbWFuZDogc3RyaW5nXG4vKiAqL1xuLyogKi9cbiAgXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHBhdGhGb3IocmVsYXRpdmVQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHdyaXRlSnNvbihyZWxhdGl2ZVBhdGg6IHN0cmluZywganNvbjogb2JqZWN0KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIHJ1bihjb21tYW5kOiBzdHJpbmdcbi8qICovXG4vKiAqL1xuICBcbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBvdXRwdXRGcm9tKGNvbW1hbmQ6IHN0cmluZ1xuLyogKi9cbi8qICovXG4gIFxuICApIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHJlbW92ZShyZWxhdGl2ZVBhdGg6IHN0cmluZywgZXhhY3RQYXRoID0gdHJ1ZSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgYXN5bmMgYXNzaWduRnJlZVBvcnQoc3RhcnRGcm9tOiBudW1iZXIgPSA0MjAwKTogUHJvbWlzZTxOdW1iZXI+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UtcHJvamVjdC50cyJdfQ==
@@ -86,4 +86,4 @@ export var HelpersAngular;
86
86
  })(HelpersAngular || (HelpersAngular = {}));
87
87
  ;
88
88
  ({}); // @--end-of-file-for-module=tnp-helpers lib/for-browser/angular.helper.ts
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3hDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBR3RDLE1BQU0sS0FBVyxjQUFjLENBcUY5QjtBQXJGRCxXQUFpQixjQUFjO0lBRTdCLE1BQWEsaUJBQWlCO1FBQzVCLFlBQ1MsRUFBVTtZQUFWLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixDQUFDO0tBQ047SUFKWSxnQ0FBaUIsb0JBSTdCLENBQUE7SUFHRCxTQUFTLFNBQVMsQ0FBQyxjQUE0QjtRQUM3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDM0MsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUM7U0FDakQ7UUFDRCxPQUFPLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFzQjtRQUM5QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRmUsd0JBQVMsWUFFeEIsQ0FBQTtJQUVEOztPQUVHO0lBQ0gsU0FBZ0IsV0FBVyxDQUFDLFFBQWdDO1FBQzFELElBQUksUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNoQixNQUFNLGtCQUFrQixHQUFHLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLGtCQUFrQixDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBRUQsU0FBZ0IsV0FBVyxDQUFDLFFBQXNCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDdEIsT0FBTywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckQsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBSUQ7Ozs7Ozs7Ozs7Ozs7OztTQWVLO0lBQ0wsU0FBZ0IsUUFBUSxDQUFDLE1BQWM7UUFDckMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkMsT0FBTztZQUNMLFdBQVcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM1QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztxQkFDL0I7aUJBQ0Y7WUFDSCxDQUFDO1lBQ0QsV0FBVyxFQUFFLENBQUMsSUFBWSxFQUFVLEVBQUU7Z0JBQ3BDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUNqRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO3dCQUNwQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3pEO2lCQUNGO1lBQ0gsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBdEJlLHVCQUFRLFdBc0J2QixDQUFBO0FBQ0gsQ0FBQyxFQXJGZ0IsY0FBYyxLQUFkLGNBQWMsUUFxRjlCO0FBSUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwRUFBMEUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5jb25zdCBjb21wb25lbnRDb250ZXh0U3ltYm9sID0gU3ltYm9sKCk7XG5jb25zdCBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0cyA9IHt9O1xuXG5cbmV4cG9ydCBuYW1lc3BhY2UgSGVscGVyc0FuZ3VsYXIge1xuXG4gIGV4cG9ydCBjbGFzcyBTZXJpYWxpemVkU3ViamVjdDxUPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgaWQ6IHN0cmluZ1xuICAgICkgeyB9XG4gIH1cblxuXG4gIGZ1bmN0aW9uIHN1YmplY3RJZChkZXN0cm95U3ViamVjdDogU3ViamVjdDxhbnk+KTogU2VyaWFsaXplZFN1YmplY3Q8YW55PiB7XG4gICAgY29uc3QgaWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XG4gICAgaWYgKCFkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXSkge1xuICAgICAgZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF0gPSBuZXcgU2VyaWFsaXplZFN1YmplY3QoaWQpO1xuICAgICAgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbaWRdID0gZGVzdHJveVN1YmplY3Q7XG4gICAgfVxuICAgIHJldHVybiBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZiB5b3UgYXJlIHVzaW5nIHRoaXMuLiBwbGVhc2UgY2FsbCBIZWxwZXJzLm5nLnVuc3Vic2NyaWJlKHRoaXMuJGRlc3Ryb3kpIGluIG5nT25EZXN0cm95KCk7XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplKGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4pOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+IHtcbiAgICByZXR1cm4gc3ViamVjdElkKGRlc3Ryb3kkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZiB5b3UgYXJlIHVzaW5nIHRoaXMuLiBwbGVhc2UgY2FsbCBIZWxwZXJzLm5nLnVuc3Vic2NyaWJlKHRoaXMuJGRlc3Ryb3kpIGluIG5nT25EZXN0cm95KCk7XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemUoZGVzdHJveSQ6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4pOiBTdWJqZWN0PGFueT4ge1xuICAgIGlmIChkZXN0cm95JD8uaWQpIHtcbiAgICAgIGNvbnN0IHJlYWxEZXN0cm95U3ViamVjdCA9IGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzW2Rlc3Ryb3kkLmlkXTtcbiAgICAgIHJldHVybiByZWFsRGVzdHJveVN1YmplY3Q7XG4gICAgfVxuICAgIHJldHVybiBuZXcgU3ViamVjdCgpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHVuc3Vic2NyaWJlKGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4pIHtcbiAgICBjb25zdCBkZXN0cm95U3ViamVjdCA9IHN1YmplY3RJZChkZXN0cm95JCk7XG4gICAgaWYgKGRlc3Ryb3lTdWJqZWN0Py5pZCkge1xuICAgICAgZGVsZXRlIGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzW2Rlc3Ryb3lTdWJqZWN0LmlkXTtcbiAgICAgIGRlbGV0ZSBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXTtcbiAgICB9XG4gIH1cblxuXG5cbiAgLyoqXG4gIGdldCBwcm9wZXJ0aWVzIGZyb20gc2NzcyBmaWxlXG5cblxuICBpbXBvcnQgc3R5bGVzIGZyb20gJy4vdGFza3MtbmdyeC1kYXRhLmNvbXBvbmVudC5zY3NzJztcblxuICBleHBvcnQgY2xhc3MgRXhhbXBsZUNvbXBvbmVudCB7XG4gICAgc2Fzc0ZpbGUgPSBzYXNzRmlsZShzdHlsZXMpO1xuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLnRhc2tzU2VydmljZS5nZXRBbGwoKTtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2Fzc0ZpbGUuc3RyaW5nVmFsdWUoJy0tbWF4LWNvbnRhaW5lci1zaXplJykpXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnNhc3NGaWxlLm51bWJlclZhbHVlKCctLW1heC1jb250YWluZXItc2l6ZScpKVxuICAgIH1cbiAgfVxuICAgICAqL1xuICBleHBvcnQgZnVuY3Rpb24gc2Fzc0ZpbGUoc3R5bGVzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5lcyA9IChzdHlsZXMuc3BsaXQoJ1xcbicpKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3RyaW5nVmFsdWU6IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxpbmVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IGwgPSBsaW5lc1tpbmRleF07XG4gICAgICAgICAgY29uc3QgW3Zhck5hbWUsIHZhbHVlXSA9IGwudHJpbSgpLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgaWYgKHZhck5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKCc7JywgJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG51bWJlclZhbHVlOiAobmFtZTogc3RyaW5nKTogbnVtYmVyID0+IHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxpbmVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IGwgPSBsaW5lc1tpbmRleF07XG4gICAgICAgICAgY29uc3QgW3Zhck5hbWUsIHZhbHVlXSA9IGwudHJpbSgpLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgaWYgKHZhck5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUucmVwbGFjZSgncHgnLCAnJykucmVwbGFjZSgnOycsICcnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyLnRzIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3hDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBR3RDLE1BQU0sS0FBVyxjQUFjLENBcUY5QjtBQXJGRCxXQUFpQixjQUFjO0lBRTdCLE1BQWEsaUJBQWlCO1FBQzVCLFlBQ1MsRUFBVTtZQUFWLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixDQUFDO0tBQ047SUFKWSxnQ0FBaUIsb0JBSTdCLENBQUE7SUFHRCxTQUFTLFNBQVMsQ0FBQyxjQUE0QjtRQUM3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDM0MsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUM7U0FDakQ7UUFDRCxPQUFPLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFzQjtRQUM5QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRmUsd0JBQVMsWUFFeEIsQ0FBQTtJQUVEOztPQUVHO0lBQ0gsU0FBZ0IsV0FBVyxDQUFDLFFBQWdDO1FBQzFELElBQUksUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNoQixNQUFNLGtCQUFrQixHQUFHLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLGtCQUFrQixDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBRUQsU0FBZ0IsV0FBVyxDQUFDLFFBQXNCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDdEIsT0FBTywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckQsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBSUQ7Ozs7Ozs7Ozs7Ozs7OztTQWVLO0lBQ0wsU0FBZ0IsUUFBUSxDQUFDLE1BQWM7UUFDckMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkMsT0FBTztZQUNMLFdBQVcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM1QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztxQkFDL0I7aUJBQ0Y7WUFDSCxDQUFDO1lBQ0QsV0FBVyxFQUFFLENBQUMsSUFBWSxFQUFVLEVBQUU7Z0JBQ3BDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUNqRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO3dCQUNwQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3pEO2lCQUNGO1lBQ0gsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBdEJlLHVCQUFRLFdBc0J2QixDQUFBO0FBQ0gsQ0FBQyxFQXJGZ0IsY0FBYyxLQUFkLGNBQWMsUUFxRjlCO0FBSUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwRUFBMEUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuY29uc3QgY29tcG9uZW50Q29udGV4dFN5bWJvbCA9IFN5bWJvbCgpO1xuY29uc3QgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHMgPSB7fTtcblxuXG5leHBvcnQgbmFtZXNwYWNlIEhlbHBlcnNBbmd1bGFyIHtcblxuICBleHBvcnQgY2xhc3MgU2VyaWFsaXplZFN1YmplY3Q8VD4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGlkOiBzdHJpbmdcbiAgICApIHsgfVxuICB9XG5cblxuICBmdW5jdGlvbiBzdWJqZWN0SWQoZGVzdHJveVN1YmplY3Q6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIGNvbnN0IGlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuICAgIGlmICghZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF0pIHtcbiAgICAgIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdID0gbmV3IFNlcmlhbGl6ZWRTdWJqZWN0KGlkKTtcbiAgICAgIGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzW2lkXSA9IGRlc3Ryb3lTdWJqZWN0O1xuICAgIH1cbiAgICByZXR1cm4gZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF07XG4gIH1cblxuICAvKipcbiAgICogaWYgeW91IGFyZSB1c2luZyB0aGlzLi4gcGxlYXNlIGNhbGwgSGVscGVycy5uZy51bnN1YnNjcmliZSh0aGlzLiRkZXN0cm95KSBpbiBuZ09uRGVzdHJveSgpO1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZShkZXN0cm95JDogU3ViamVjdDxhbnk+KTogU2VyaWFsaXplZFN1YmplY3Q8YW55PiB7XG4gICAgcmV0dXJuIHN1YmplY3RJZChkZXN0cm95JCk7XG4gIH1cblxuICAvKipcbiAgICogaWYgeW91IGFyZSB1c2luZyB0aGlzLi4gcGxlYXNlIGNhbGwgSGVscGVycy5uZy51bnN1YnNjcmliZSh0aGlzLiRkZXN0cm95KSBpbiBuZ09uRGVzdHJveSgpO1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplKGRlc3Ryb3kkOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+KTogU3ViamVjdDxhbnk+IHtcbiAgICBpZiAoZGVzdHJveSQ/LmlkKSB7XG4gICAgICBjb25zdCByZWFsRGVzdHJveVN1YmplY3QgPSBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tkZXN0cm95JC5pZF07XG4gICAgICByZXR1cm4gcmVhbERlc3Ryb3lTdWJqZWN0O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFN1YmplY3QoKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiB1bnN1YnNjcmliZShkZXN0cm95JDogU3ViamVjdDxhbnk+KSB7XG4gICAgY29uc3QgZGVzdHJveVN1YmplY3QgPSBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICAgIGlmIChkZXN0cm95U3ViamVjdD8uaWQpIHtcbiAgICAgIGRlbGV0ZSBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tkZXN0cm95U3ViamVjdC5pZF07XG4gICAgICBkZWxldGUgZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF07XG4gICAgfVxuICB9XG5cblxuXG4gIC8qKlxuICBnZXQgcHJvcGVydGllcyBmcm9tIHNjc3MgZmlsZVxuXG5cbiAgaW1wb3J0IHN0eWxlcyBmcm9tICcuL3Rhc2tzLW5ncngtZGF0YS5jb21wb25lbnQuc2Nzcyc7XG5cbiAgZXhwb3J0IGNsYXNzIEV4YW1wbGVDb21wb25lbnQge1xuICAgIHNhc3NGaWxlID0gc2Fzc0ZpbGUoc3R5bGVzKTtcblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy50YXNrc1NlcnZpY2UuZ2V0QWxsKCk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnNhc3NGaWxlLnN0cmluZ1ZhbHVlKCctLW1heC1jb250YWluZXItc2l6ZScpKVxuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5udW1iZXJWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICB9XG4gIH1cbiAgICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNhc3NGaWxlKHN0eWxlczogc3RyaW5nKSB7XG4gICAgY29uc3QgbGluZXMgPSAoc3R5bGVzLnNwbGl0KCdcXG4nKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0cmluZ1ZhbHVlOiAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBjb25zdCBsID0gbGluZXNbaW5kZXhdO1xuICAgICAgICAgIGNvbnN0IFt2YXJOYW1lLCB2YWx1ZV0gPSBsLnRyaW0oKS5zcGxpdCgnOicpO1xuICAgICAgICAgIGlmICh2YXJOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgnOycsICcnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBudW1iZXJWYWx1ZTogKG5hbWU6IHN0cmluZyk6IG51bWJlciA9PiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBjb25zdCBsID0gbGluZXNbaW5kZXhdO1xuICAgICAgICAgIGNvbnN0IFt2YXJOYW1lLCB2YWx1ZV0gPSBsLnRyaW0oKS5zcGxpdCgnOicpO1xuICAgICAgICAgIGlmICh2YXJOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlLnJlcGxhY2UoJ3B4JywgJycpLnJlcGxhY2UoJzsnLCAnJykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlci50cyJdfQ==
@@ -45,4 +45,4 @@ class HelpersBrowser {
45
45
  export { HelpersBrowser };
46
46
  ;
47
47
  ({}); // @--end-of-file-for-module=tnp-helpers lib/for-browser/helpers-browser.ts
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUUxRCxNQUFhLGNBQWM7YUFFVixjQUFTLEdBQUcsRUFBRSxBQUFMLENBQU07SUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFzQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQVksbUJBQW1CO1FBQzdCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBY0QsWUFBb0IsR0FBVztRQVQvQixTQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBRXJCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BDO1lBQ0QsY0FBYyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUlILEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBRWQsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRTtnQkFDN0IsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QztpQkFDSTtnQkFDSCxhQUFhO2dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDM0U7WUFDRCxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBR0osQ0FBQztJQUdELE1BQU0sS0FBSyxRQUFRO1FBQ2pCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDOztTQXpEVSxjQUFjO0FBa0UxQixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJFQUEyRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmNvbnN0IGtleSA9IFN5bWJvbCgnW2ZpcmVkZXYtaGVscGVyc10gaGVscGVyIGJyb3dzZXIga2V5JylcblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNCcm93c2VyIHtcblxuICBwcml2YXRlIHN0YXRpYyBjYWxsYmFja3MgPSBbXTtcbiAgc3RhdGljIG9uSW5pdChjYWxsYmFjazogKGluczogSGVscGVyc0Jyb3dzZXIpID0+IGFueSkge1xuICAgIHRoaXMuY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICB9XG5cbiAgZ2V0IHdpbigpIHtcbiAgICBsZXQgd2luID0gd2luZG93O1xuICAgIHJldHVybiB3aW47XG4gIH1cblxuICBwcml2YXRlIGdldCB0YWJJZFNlc3Npb25TdG9yYWdlKCkge1xuICAgIHJldHVybiBOdW1iZXIodGhpcy53aW4uc2Vzc2lvblN0b3JhZ2U/LnRhYklkKSB8fCAwO1xuICB9XG5cbiAgcmVhZG9ubHkgdGFiSWQ6IG51bWJlcjtcblxuICBwcml2YXRlIHN0YXRpYyBpbnN0OiBIZWxwZXJzQnJvd3NlcjtcbiAgaW5pdCA9ICgoKSA9PiB7XG4gICAgY29uc3Qgd2luID0gdGhpcy53aW47XG5cbiAgICBpZiAoIXdpbltrZXldKSB7XG4gICAgICB3aW5ba2V5XSA9IG5ldyBIZWxwZXJzQnJvd3Nlcih3aW4pO1xuICAgIH1cbiAgICBIZWxwZXJzQnJvd3Nlci5pbnN0ID0gd2luW2tleV07XG4gIH0pKCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih3aW46IFdpbmRvdykge1xuXG4gICAgd2luLmFkZEV2ZW50TGlzdGVuZXIoXCJiZWZvcmV1bmxvYWRcIiwgKGUpID0+IHtcbiAgICAgIHdpbi5zZXNzaW9uU3RvcmFnZS50YWJJZCA9IHRoaXMudGFiSWQ7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXG4gICAgICBpZiAod2luLnNlc3Npb25TdG9yYWdlPy50YWJJZCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMudGFiSWQgPSBOdW1iZXIod2luLnNlc3Npb25TdG9yYWdlLnRhYklkKTtcbiAgICAgICAgd2luLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oXCJ0YWJJZFwiKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMudGFiSWQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKSArIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XG4gICAgICB9XG4gICAgICBIZWxwZXJzQnJvd3Nlci5jYWxsYmFja3MuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICBjKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfSlcblxuXG4gIH1cblxuXG4gIHN0YXRpYyBnZXQgaW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIEhlbHBlcnNCcm93c2VyLmluc3Q7XG4gIH1cblxufVxuXG5cblxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXIudHMiXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUUxRCxNQUFhLGNBQWM7YUFFVixjQUFTLEdBQUcsRUFBRSxBQUFMLENBQU07SUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFzQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQVksbUJBQW1CO1FBQzdCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBY0QsWUFBb0IsR0FBVztRQVQvQixTQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBRXJCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BDO1lBQ0QsY0FBYyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUlILEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBRWQsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRTtnQkFDN0IsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QztpQkFDSTtnQkFDSCxhQUFhO2dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDM0U7WUFDRCxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBR0osQ0FBQztJQUdELE1BQU0sS0FBSyxRQUFRO1FBQ2pCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDOztTQXpEVSxjQUFjO0FBa0UxQixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJFQUEyRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cblxuXG5jb25zdCBrZXkgPSBTeW1ib2woJ1tmaXJlZGV2LWhlbHBlcnNdIGhlbHBlciBicm93c2VyIGtleScpXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzQnJvd3NlciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2FsbGJhY2tzID0gW107XG4gIHN0YXRpYyBvbkluaXQoY2FsbGJhY2s6IChpbnM6IEhlbHBlcnNCcm93c2VyKSA9PiBhbnkpIHtcbiAgICB0aGlzLmNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGdldCB3aW4oKSB7XG4gICAgbGV0IHdpbiA9IHdpbmRvdztcbiAgICByZXR1cm4gd2luO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGFiSWRTZXNzaW9uU3RvcmFnZSgpIHtcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMud2luLnNlc3Npb25TdG9yYWdlPy50YWJJZCkgfHwgMDtcbiAgfVxuXG4gIHJlYWRvbmx5IHRhYklkOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdDogSGVscGVyc0Jyb3dzZXI7XG4gIGluaXQgPSAoKCkgPT4ge1xuICAgIGNvbnN0IHdpbiA9IHRoaXMud2luO1xuXG4gICAgaWYgKCF3aW5ba2V5XSkge1xuICAgICAgd2luW2tleV0gPSBuZXcgSGVscGVyc0Jyb3dzZXIod2luKTtcbiAgICB9XG4gICAgSGVscGVyc0Jyb3dzZXIuaW5zdCA9IHdpbltrZXldO1xuICB9KSgpO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3Iod2luOiBXaW5kb3cpIHtcblxuICAgIHdpbi5hZGRFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsIChlKSA9PiB7XG4gICAgICB3aW4uc2Vzc2lvblN0b3JhZ2UudGFiSWQgPSB0aGlzLnRhYklkO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcblxuICAgICAgaWYgKHdpbi5zZXNzaW9uU3RvcmFnZT8udGFiSWQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLnRhYklkID0gTnVtYmVyKHdpbi5zZXNzaW9uU3RvcmFnZS50YWJJZCk7XG4gICAgICAgIHdpbi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwidGFiSWRcIik7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLnRhYklkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMCkgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xuICAgICAgfVxuICAgICAgSGVscGVyc0Jyb3dzZXIuY2FsbGJhY2tzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgYyh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH0pXG5cblxuICB9XG5cblxuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIHJldHVybiBIZWxwZXJzQnJvd3Nlci5pbnN0O1xuICB9XG5cbn1cblxuXG5cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyLnRzIl19
@@ -79,4 +79,4 @@ export class HelpersArrayObj {
79
79
  }
80
80
  ;
81
81
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers-array-obj.ts
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1hcnJheS1vYmouanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy1hcnJheS1vYmoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE1BQU0sT0FBTyxlQUFlO0lBRTFCLElBQUksQ0FBQyxDQUFvQjtRQUN2QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsc0JBQXNCLENBQVUsR0FBVSxFQUFFLENBQU0sRUFBRSxDQUFNLEVBQUUsSUFBYztRQUN4RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7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Q0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbkcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDLENBQUM7U0FDakQ7UUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUVBQWlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0ICogYXMgZnV6enkgZnJvbSAnZnV6enknO1xuXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzQXJyYXlPYmoge1xuXG4gIGZyb20oczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgaWYgKF8uaXNBcnJheShzKSkge1xuICAgICAgcmV0dXJuIHM7XG4gICAgfVxuICAgIGlmIChfLmlzU3RyaW5nKHMpKSB7XG4gICAgICByZXR1cm4gcy5zcGxpdCgnICcpXG4gICAgfVxuICB9XG5cbiAgc2Vjb25kKGFycikge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhcnIpIHx8IGFyci5sZW5ndGggPCAyKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICByZXR1cm4gIGFyclsxXTtcbiAgfVxuXG4gIGFycmF5TW92ZUVsZW1lbnRCZWZvcmU8VCA9IGFueT4oYXJyOiBhbnlbXSwgYTogYW55LCBiOiBhbnksIHByb3A/OiBrZXlvZiBUKSB7XG4gICAgbGV0IGluZGV4QSA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYVtwcm9wXSkgOiBhcnIuaW5kZXhPZihhKTtcbiAgICBfLnB1bGxBdChhcnIsIGluZGV4QSk7XG4gICAgbGV0IGluZGV4QiA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYltwcm9wXSkgOiBhcnIuaW5kZXhPZihiKTtcbiAgICBpZiAoaW5kZXhCID09PSAwKSB7XG4gICAgICBhcnIudW5zaGlmdChhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJyLnNwbGljZShpbmRleEIgLSAxLCAwLCBhKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuICBhcnJheU1vdmVFbGVtZW50QWZ0ZXJCPFQgPSBhbnk+KGFycjogYW55W10sIGE6IGFueSwgYjogYW55LCBwcm9wPzoga2V5b2YgVCkge1xuICAgIGxldCBpbmRleEEgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGFbcHJvcF0pIDogYXJyLmluZGV4T2YoYSk7XG4gICAgXy5wdWxsQXQoYXJyLCBpbmRleEEpO1xuICAgIGxldCBpbmRleEIgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGJbcHJvcF0pIDogYXJyLmluZGV4T2YoYik7XG4gICAgaWYgKGluZGV4QiA9PT0gYXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgIGFyci5wdXNoKGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnIuc3BsaWNlKGluZGV4QiArIDEsIDAsIGEpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG5cbiAgdW5pcUFycmF5PFQgPSBhbnk+KGFycmF5OiBhbnlbXSwgdW5pcXVlUHJvcGVydHk/OiAoa2V5b2YgVCkpIHtcbiAgICB2YXIgc2VlbiA9IHt9O1xuICAgIHJldHVybiBhcnJheVxuICAgICAgLmZpbHRlcihmID0+ICEhZilcbiAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIHNlZW4uaGFzT3duUHJvcGVydHkodW5pcXVlUHJvcGVydHkgPyBpdGVtW3VuaXF1ZVByb3BlcnR5XSA6IGl0ZW0pID8gZmFsc2VcbiAgICAgICAgICA6IChzZWVuW3VuaXF1ZVByb3BlcnR5ID8gaXRlbVt1bmlxdWVQcm9wZXJ0eV0gOiBpdGVtXSA9IHRydWUpO1xuICAgICAgfSkgYXMgVFtdO1xuICB9XG5cbiAgc29ydEtleXMob2JqKSB7XG4gICAgaWYgKF8uaXNBcnJheShvYmopKSB7XG4gICAgICByZXR1cm4gb2JqLm1hcCh0aGlzLnNvcnRLZXlzKTtcbiAgICB9XG4gICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgcmV0dXJuIF8uZnJvbVBhaXJzKF8ua2V5cyhvYmopLnNvcnQoKS5tYXAoa2V5ID0+IFtrZXksIHRoaXMuc29ydEtleXMob2JqW2tleV0pXSkpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGdXp6eSBzZWFyY2hcbiAgICovXG4gIGZ1enp5PFQgPSBhbnk+KHF1ZXJ5OiBzdHJpbmcsIGxpc3Q6IFRbXSwgdmFsdWVGbj86IChtb2RlbEZyb21MaXN0OiBUKSA9PiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXN1bHRzRnV6enkgPSBmdXp6eS5maWx0ZXIoXG4gICAgICBxdWVyeSxcbiAgICAgIGxpc3QubWFwKGsgPT4gdmFsdWVGbiA/IHZhbHVlRm4oaykgOiBrKSxcbiAgICApXG4gICAgY29uc3QgcmVzdWx0c0Z1enp5S2ViYWIgPSBmdXp6eS5maWx0ZXIoXG4gICAgICBfLmtlYmFiQ2FzZShxdWVyeSksXG4gICAgICBsaXN0Lm1hcChrID0+IF8ua2ViYWJDYXNlKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSkpLFxuICAgIClcbiAgICBjb25zdCBtYXRjaGVzID0gcmVzdWx0c0Z1enp5Lm1hcCgoZWwpID0+IGVsLnN0cmluZyk7XG4gICAgY29uc3QgbWF0Y2hlc0tlYmFiID0gcmVzdWx0c0Z1enp5S2ViYWIubWFwKChlbCkgPT4gZWwuc3RyaW5nKTtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSAocmVzdWx0c0Z1enp5Lmxlbmd0aCA9PT0gMCkgPyBbXSA6IGxpc3QuZmlsdGVyKGsgPT4ge1xuICAgICAgcmV0dXJuIG1hdGNoZXMuaW5jbHVkZXMoKHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogaykgYXMgYW55KTtcbiAgICB9KVxuXG4gICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAwICYmIG1hdGNoZXNLZWJhYi5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBtID0gbGlzdC5maW5kKGsgPT4gXy5rZWJhYkNhc2UoKHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogaykgYXMgYW55KSA9PT0gXy5maXJzdChtYXRjaGVzS2ViYWIpKTtcbiAgICAgIHJlc3VsdHMucHVzaChtKTtcbiAgICAgIG1hdGNoZXMucHVzaCgodmFsdWVGbiA/IHZhbHVlRm4obSkgOiBtKSBhcyBhbnkpO1xuICAgIH1cblxuICAgIHJldHVybiB7IG1hdGNoZXMsIHJlc3VsdHMgfTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy1hcnJheS1vYmoudHMiXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1hcnJheS1vYmouanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy1hcnJheS1vYmoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE1BQU0sT0FBTyxlQUFlO0lBRTFCLElBQUksQ0FBQyxDQUFvQjtRQUN2QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsc0JBQXNCLENBQVUsR0FBVSxFQUFFLENBQU0sRUFBRSxDQUFNLEVBQUUsSUFBYztRQUN4RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7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Q0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbkcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDLENBQUM7U0FDakQ7UUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUVBQWlFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCAqIGFzIGZ1enp5IGZyb20gJ2Z1enp5JztcblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc0FycmF5T2JqIHtcblxuICBmcm9tKHM6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGlmIChfLmlzQXJyYXkocykpIHtcbiAgICAgIHJldHVybiBzO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhzKSkge1xuICAgICAgcmV0dXJuIHMuc3BsaXQoJyAnKVxuICAgIH1cbiAgfVxuXG4gIHNlY29uZChhcnIpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyKSB8fCBhcnIubGVuZ3RoIDwgMikge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgcmV0dXJuICBhcnJbMV07XG4gIH1cblxuICBhcnJheU1vdmVFbGVtZW50QmVmb3JlPFQgPSBhbnk+KGFycjogYW55W10sIGE6IGFueSwgYjogYW55LCBwcm9wPzoga2V5b2YgVCkge1xuICAgIGxldCBpbmRleEEgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGFbcHJvcF0pIDogYXJyLmluZGV4T2YoYSk7XG4gICAgXy5wdWxsQXQoYXJyLCBpbmRleEEpO1xuICAgIGxldCBpbmRleEIgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGJbcHJvcF0pIDogYXJyLmluZGV4T2YoYik7XG4gICAgaWYgKGluZGV4QiA9PT0gMCkge1xuICAgICAgYXJyLnVuc2hpZnQoYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyci5zcGxpY2UoaW5kZXhCIC0gMSwgMCwgYSk7XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG4gIH1cbiAgYXJyYXlNb3ZlRWxlbWVudEFmdGVyQjxUID0gYW55PihhcnI6IGFueVtdLCBhOiBhbnksIGI6IGFueSwgcHJvcD86IGtleW9mIFQpIHtcbiAgICBsZXQgaW5kZXhBID0gcHJvcCA/IGFyci5maW5kSW5kZXgoZWxlbSA9PiBlbGVtW3Byb3BdID09PSBhW3Byb3BdKSA6IGFyci5pbmRleE9mKGEpO1xuICAgIF8ucHVsbEF0KGFyciwgaW5kZXhBKTtcbiAgICBsZXQgaW5kZXhCID0gcHJvcCA/IGFyci5maW5kSW5kZXgoZWxlbSA9PiBlbGVtW3Byb3BdID09PSBiW3Byb3BdKSA6IGFyci5pbmRleE9mKGIpO1xuICAgIGlmIChpbmRleEIgPT09IGFyci5sZW5ndGggLSAxKSB7XG4gICAgICBhcnIucHVzaChhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJyLnNwbGljZShpbmRleEIgKyAxLCAwLCBhKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIHVuaXFBcnJheTxUID0gYW55PihhcnJheTogYW55W10sIHVuaXF1ZVByb3BlcnR5PzogKGtleW9mIFQpKSB7XG4gICAgdmFyIHNlZW4gPSB7fTtcbiAgICByZXR1cm4gYXJyYXlcbiAgICAgIC5maWx0ZXIoZiA9PiAhIWYpXG4gICAgICAuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgIHJldHVybiBzZWVuLmhhc093blByb3BlcnR5KHVuaXF1ZVByb3BlcnR5ID8gaXRlbVt1bmlxdWVQcm9wZXJ0eV0gOiBpdGVtKSA/IGZhbHNlXG4gICAgICAgICAgOiAoc2Vlblt1bmlxdWVQcm9wZXJ0eSA/IGl0ZW1bdW5pcXVlUHJvcGVydHldIDogaXRlbV0gPSB0cnVlKTtcbiAgICAgIH0pIGFzIFRbXTtcbiAgfVxuXG4gIHNvcnRLZXlzKG9iaikge1xuICAgIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgICAgcmV0dXJuIG9iai5tYXAodGhpcy5zb3J0S2V5cyk7XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIHJldHVybiBfLmZyb21QYWlycyhfLmtleXMob2JqKS5zb3J0KCkubWFwKGtleSA9PiBba2V5LCB0aGlzLnNvcnRLZXlzKG9ialtrZXldKV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfTtcblxuICAvKipcbiAgICogRnV6enkgc2VhcmNoXG4gICAqL1xuICBmdXp6eTxUID0gYW55PihxdWVyeTogc3RyaW5nLCBsaXN0OiBUW10sIHZhbHVlRm4/OiAobW9kZWxGcm9tTGlzdDogVCkgPT4gc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0c0Z1enp5ID0gZnV6enkuZmlsdGVyKFxuICAgICAgcXVlcnksXG4gICAgICBsaXN0Lm1hcChrID0+IHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogayksXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdHNGdXp6eUtlYmFiID0gZnV6enkuZmlsdGVyKFxuICAgICAgXy5rZWJhYkNhc2UocXVlcnkpLFxuICAgICAgbGlzdC5tYXAoayA9PiBfLmtlYmFiQ2FzZSgodmFsdWVGbiA/IHZhbHVlRm4oaykgOiBrKSBhcyBhbnkpKSxcbiAgICApXG4gICAgY29uc3QgbWF0Y2hlcyA9IHJlc3VsdHNGdXp6eS5tYXAoKGVsKSA9PiBlbC5zdHJpbmcpO1xuICAgIGNvbnN0IG1hdGNoZXNLZWJhYiA9IHJlc3VsdHNGdXp6eUtlYmFiLm1hcCgoZWwpID0+IGVsLnN0cmluZyk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gKHJlc3VsdHNGdXp6eS5sZW5ndGggPT09IDApID8gW10gOiBsaXN0LmZpbHRlcihrID0+IHtcbiAgICAgIHJldHVybiBtYXRjaGVzLmluY2x1ZGVzKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSk7XG4gICAgfSlcblxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMCAmJiBtYXRjaGVzS2ViYWIubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbSA9IGxpc3QuZmluZChrID0+IF8ua2ViYWJDYXNlKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSkgPT09IF8uZmlyc3QobWF0Y2hlc0tlYmFiKSk7XG4gICAgICByZXN1bHRzLnB1c2gobSk7XG4gICAgICBtYXRjaGVzLnB1c2goKHZhbHVlRm4gPyB2YWx1ZUZuKG0pIDogbSkgYXMgYW55KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBtYXRjaGVzLCByZXN1bHRzIH07XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMtYXJyYXktb2JqLnRzIl19
@@ -9,4 +9,4 @@ export class HelpersNumber {
9
9
  }
10
10
  ;
11
11
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers-numbers.ts
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1udW1iZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMtbnVtYmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNFOzs7V0FHRztRQUNILGtCQUFhLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUc5RSxDQUFDO0NBQUE7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtEQUErRCIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNsYXNzIEhlbHBlcnNOdW1iZXIge1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIF8ucmFuZG9tKClcbiAgICovXG4gIHJhbmRvbUludGVnZXIgPSAobWF4LCBtaW4pID0+IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4pKSArIG1pbjtcblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy1udW1iZXJzLnRzIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1udW1iZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMtbnVtYmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNFOzs7V0FHRztRQUNILGtCQUFhLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUc5RSxDQUFDO0NBQUE7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtEQUErRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzTnVtYmVyIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIHVzZSBfLnJhbmRvbSgpXG4gICAqL1xuICByYW5kb21JbnRlZ2VyID0gKG1heCwgbWluKSA9PiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluKSkgKyBtaW47XG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMtbnVtYmVycy50cyJdfQ==
@@ -48,4 +48,4 @@ export class HelpersStringsRegexes {
48
48
  }
49
49
  ;
50
50
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers-strings-regexes.ts
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsb0JBQW9CLENBQUMsQ0FBUztRQUM1QixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWMsQ0FBQyxDQUFTLEVBQUUsS0FBYTtRQUNyQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEMsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU87WUFDTDs7Ozs7Ozs7YUFRQztZQUNELElBQUksbUJBQW1CO2dCQUNyQixNQUFNLEtBQUssR0FBRyw0TEFBNEwsQ0FBQztnQkFDM00sT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0Q7Ozs7Ozs7Ozs7WUFVQTtZQUNBLElBQUksdUJBQXVCO2dCQUN6QixNQUFNLEtBQUssR0FBRyxrSUFBa0ksQ0FBQztnQkFDakosT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUVBQXVFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuZXhwb3J0IGNsYXNzIEhlbHBlcnNTdHJpbmdzUmVnZXhlcyB7XG5cblxuXG4gIGVzY2FwZVN0cmluZ0ZvclJlZ0V4KHM6IHN0cmluZykge1xuICAgIHJldHVybiBzLnJlcGxhY2UoL1stXFwvXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpO1xuICB9XG5cbiAgbWF0Y2hFeGFjdE9uY2Uoczogc3RyaW5nLCByZWdleDogUmVnRXhwKTogc3RyaW5nIHtcbiAgICBpZiAoIV8uaXNTdHJpbmcocykgfHwgIV8uaXNSZWdFeHAocmVnZXgpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBzLm1hdGNoKHJlZ2V4KTtcbiAgICBpZiAoXy5pc05pbChyZXN1bHQpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA+PSAxID8gXy5maXJzdChyZXN1bHQpIDogdm9pZCAwO1xuICB9XG5cbiAgZ2V0IHJlZ2V4KCkge1xuICAgIHJldHVybiB7XG4gICAgICAvKipcbiAgICAgKiBtYXRoZXNcbiAgICAgKiB4eHgueHh4Lnh4eC54eHhcbiAgICAgKiB4eHgueHh4Lnh4eC54eHg6cG9ydFxuICAgICAqIGh0dHA6Ly94eHgueHh4Lnh4eC54eHg6cG9ydFxuICAgICAqIGh0dHA6Ly94eHgueHh4Lnh4eC54eHhcbiAgICAgKiBodHRwczovL3h4eC54eHgueHh4Lnh4eDpwb3J0XG4gICAgICogaHR0cHM6Ly94eHgueHh4Lnh4eC54eHggICAqXG4gICAgICovXG4gICAgICBnZXQgZm9yU3RyaW5nV2l0aElwSG9zdCgpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKGh0dHAocyk/XFw6XFwvXFwvKT8oMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKDI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4oMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KShcXDpbMC05XSspPy87XG4gICAgICAgIHJldHVybiByZWdleDtcbiAgICAgIH0sXG4gICAgICAvKipcbiAgICAqIG1hdGhlc1xuICAgICogaHR0cDovL2RvbWFpbi5jb206cG9ydFxuICAgICogaHR0cDovL2RvbWFpbi5jb21cbiAgICAqIGh0dHA6Ly9kb21haW46cG9ydFxuICAgICogaHR0cDovL2RvbWFpblxuICAgICogaHR0cHM6Ly9kb21haW4uY29tOnBvcnRcbiAgICAqIGh0dHBzOi8vZG9tYWluLmNvbVxuICAgICogaHR0cHM6Ly9kb21haW46cG9ydFxuICAgICogaHR0cHM6Ly9kb21haW5cbiAgICAqL1xuICAgICAgZ2V0IGZvclN0cmluZ1dpdGhEb21haW5Ib3N0KCkge1xuICAgICAgICBjb25zdCByZWdleCA9IC8oKChodHRwKHMpP1xcOlxcL1xcLyk/W2EtekEtWjAtOV1bYS16QS1aMC05LV17MSw2MX1bYS16QS1aMC05XSg/OlxcLlthLXpBLVpdezIsfSkrKFxcOlswLTldKyk/KXwoKGh0dHAocyk/XFw6XFwvXFwvKVthLXpBLVowLTktXXsxLDYxfSkpLztcbiAgICAgICAgcmV0dXJuIHJlZ2V4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMtc3RyaW5ncy1yZWdleGVzLnRzIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsb0JBQW9CLENBQUMsQ0FBUztRQUM1QixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWMsQ0FBQyxDQUFTLEVBQUUsS0FBYTtRQUNyQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEMsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU87WUFDTDs7Ozs7Ozs7YUFRQztZQUNELElBQUksbUJBQW1CO2dCQUNyQixNQUFNLEtBQUssR0FBRyw0TEFBNEwsQ0FBQztnQkFDM00sT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0Q7Ozs7Ozs7Ozs7WUFVQTtZQUNBLElBQUksdUJBQXVCO2dCQUN6QixNQUFNLEtBQUssR0FBRyxrSUFBa0ksQ0FBQztnQkFDakosT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUVBQXVFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmV4cG9ydCBjbGFzcyBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMge1xuXG5cblxuICBlc2NhcGVTdHJpbmdGb3JSZWdFeChzOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcy5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcbiAgfVxuXG4gIG1hdGNoRXhhY3RPbmNlKHM6IHN0cmluZywgcmVnZXg6IFJlZ0V4cCk6IHN0cmluZyB7XG4gICAgaWYgKCFfLmlzU3RyaW5nKHMpIHx8ICFfLmlzUmVnRXhwKHJlZ2V4KSkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gcy5tYXRjaChyZWdleCk7XG4gICAgaWYgKF8uaXNOaWwocmVzdWx0KSkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdC5sZW5ndGggPj0gMSA/IF8uZmlyc3QocmVzdWx0KSA6IHZvaWQgMDtcbiAgfVxuXG4gIGdldCByZWdleCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLyoqXG4gICAgICogbWF0aGVzXG4gICAgICogeHh4Lnh4eC54eHgueHh4XG4gICAgICogeHh4Lnh4eC54eHgueHh4OnBvcnRcbiAgICAgKiBodHRwOi8veHh4Lnh4eC54eHgueHh4OnBvcnRcbiAgICAgKiBodHRwOi8veHh4Lnh4eC54eHgueHh4XG4gICAgICogaHR0cHM6Ly94eHgueHh4Lnh4eC54eHg6cG9ydFxuICAgICAqIGh0dHBzOi8veHh4Lnh4eC54eHgueHh4ICAgKlxuICAgICAqL1xuICAgICAgZ2V0IGZvclN0cmluZ1dpdGhJcEhvc3QoKSB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyhodHRwKHMpP1xcOlxcL1xcLyk/KDI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4oMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKDI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPykoXFw6WzAtOV0rKT8vO1xuICAgICAgICByZXR1cm4gcmVnZXg7XG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgKiBtYXRoZXNcbiAgICAqIGh0dHA6Ly9kb21haW4uY29tOnBvcnRcbiAgICAqIGh0dHA6Ly9kb21haW4uY29tXG4gICAgKiBodHRwOi8vZG9tYWluOnBvcnRcbiAgICAqIGh0dHA6Ly9kb21haW5cbiAgICAqIGh0dHBzOi8vZG9tYWluLmNvbTpwb3J0XG4gICAgKiBodHRwczovL2RvbWFpbi5jb21cbiAgICAqIGh0dHBzOi8vZG9tYWluOnBvcnRcbiAgICAqIGh0dHBzOi8vZG9tYWluXG4gICAgKi9cbiAgICAgIGdldCBmb3JTdHJpbmdXaXRoRG9tYWluSG9zdCgpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKCgoaHR0cChzKT9cXDpcXC9cXC8pP1thLXpBLVowLTldW2EtekEtWjAtOS1dezEsNjF9W2EtekEtWjAtOV0oPzpcXC5bYS16QS1aXXsyLH0pKyhcXDpbMC05XSspPyl8KChodHRwKHMpP1xcOlxcL1xcLylbYS16QS1aMC05LV17MSw2MX0pKS87XG4gICAgICAgIHJldHVybiByZWdleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzLXN0cmluZ3MtcmVnZXhlcy50cyJdfQ==
@@ -255,4 +255,4 @@ export class HelpersStrings {
255
255
  }
256
256
  ;
257
257
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers-strings.ts
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1zdHJpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMtc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxNQUFNLE9BQU8sY0FBYztJQUV6Qjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxpQkFBaUIsQ0FBVSxLQUFhO1FBQ3RDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakYsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU87WUFDTCxjQUFjLENBQUMsVUFBYTtnQkFDMUIsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7b0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBaUIsQ0FBQyxDQUFDO29CQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2dCQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN0QixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxDQUFRLENBQUMsQ0FBQztZQUNaLENBQUM7U0FDRixDQUFBO0lBRUgsQ0FBQztJQUVEOzs7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WUFBWTtZQUNaLFlBQVk7WUFDWixPQUFPO1lBQ1AsTUFBTTtZQUNOLEtBQUs7WUFDTCxNQUFNO1NBQ1AsQ0FBQTtRQUVELElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUVELEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDbkQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFBO1lBQ2pCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTthQUN0QztTQUNGO1FBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7WUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3BDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTthQUM1QztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0NBRUY7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtEQUErRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNTdHJpbmdzIHtcblxuICAvKipcbiAgICogRXhhbXBsZTpcbiAgICpcbiAgICogY29uc3QgcmVzdWx0ID0gaW50ZXJwb2xhdGVTdHJpbmcoXCJJJ20ge2FnZX0geWVhcnMgb2xkIVwiKVxuICAgKiAud2l0aFBhcmFtZXRlcnMoeyBhZ2U6IDI5IH0pO1xuICAgKlxuICAgKiBjb25zdCByZXN1bHQgPSBpbnRlcnBvbGF0ZVN0cmluZyhcIlRoZSB7YX0gc2F5cyB7bn0sIHtufSwge259IVwiKVxuICAgKiAud2l0aFBhcmFtZXRlcnMoeyBhOiAnY293JywgbjogJ21vbycgfSk7XG4gICAqXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmcgdG8gaW50ZXJwb2xhdGVcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgb2JqZWN0IHdpdGggcGFyYW1ldGVzXG4gICAqL1xuICBpbnRlcnBvbGF0ZVN0cmluZzxUID0gYW55Pih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIEhlbHBlcnMud2FybignW2ZpcmVkZXYtaGVsZXByc10gVmFsdWUgZm9yIGludGVycG9sYXRpb24gaXMgbm90IHN0cmluZzogJywgdmFsdWUpO1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB3aXRoUGFyYW1ldGVycyhwYXJhbWV0ZXJzOiBUKSB7XG4gICAgICAgIGlmICh0eXBlb2YgcGFyYW1ldGVycyAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBIZWxwZXJzLmxvZyhwYXJhbWV0ZXJzIGFzIGFueSk7XG4gICAgICAgICAgSGVscGVycy53YXJuKCdbZmlyZWRldi1oZWxlcHJzXSBQYXJhbWV0ZXJzIGFyZSBub3QgYSBvYmplY3Q6ICcpO1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgveyhbXnt9XSopfS9nLCBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgIHZhciByID0gcGFyYW1ldGVyc1tiXTtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIHIgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiByID09PSAnbnVtYmVyJyA/IHIgOiBhO1xuICAgICAgICB9IGFzIGFueSk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHBpeGVsc0NzcyBleG1hcGxlOiAxMDBweFxuICAgKiBAcmV0dXJucyBudW1iZXIgdmFsdWVcbiAgICovXG4gIG51bVZhbHVlKHBpeGVsc0Nzczogc3RyaW5nKSB7XG5cbiAgICByZXR1cm4gcGFyc2VJbnQocGl4ZWxzQ3NzLnJlcGxhY2UoJ3B4JywgJycpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleGFtcGxlczpcbiAgICogJ2FhIGJiIGJiJyA9PiBbJ2FhJywnYmInLCdjYyddLFxuICAgKiAnYWEnID0+IFsnYWEnXVxuICAgKiBbJ2FhJ10gPT4gWydhYSddXG4gICAqL1xuICBzcGxpdElmTmVlZChzdHJpbmdPckFycjogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgbGV0IHJlcyA9IFtdO1xuICAgIGlmIChfLmlzQXJyYXkoc3RyaW5nT3JBcnIpKSB7XG4gICAgICByZXMgPSBzdHJpbmdPckFyci5tYXAocyA9PiB7XG4gICAgICAgIHJldHVybiBzLnRyaW0oKTtcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChfLmlzU3RyaW5nKHN0cmluZ09yQXJyKSkge1xuICAgICAgcmVzID0gc3RyaW5nT3JBcnIuc3BsaXQoL1xccypbXFxzLF1cXHMqLyk7XG4gICAgfVxuICAgIHJldHVybiByZXMuZmlsdGVyKGYgPT4gISFmICYmIChmLnRyaW0oKSAhPT0gJycpKTtcbiAgfVxuXG4gIHJlbW92ZURvdWJsZU9yTW9yZUVtcHR5TGluZXMoczogc3RyaW5nKSB7XG4gICAgcyA9IHM/LnNwbGl0KCdcXG4nKS5tYXAoZiA9PiBmLnRyaW1SaWdodCgpKS5qb2luKCdcXG4nKTtcbiAgICByZXR1cm4gcz8ucmVwbGFjZSgvKFxcclxcbnxcXHJ8XFxuKXsyLH0vZywgJyQxXFxuJyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU3MTI5NzAzLzEzNDUxMDFcbiAgICpcbiAgICogUmV0dXJucyB0aGUgcGx1cmFsIG9mIGFuIEVuZ2xpc2ggd29yZC5cbiAgICpcbiAgICogQGV4cG9ydFxuICAgKiBAcGFyYW0ge3N0cmluZ30gd29yZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2Ftb3VudF1cbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIHBsdXJhbCh3b3JkOiBzdHJpbmcsIGFtb3VudD86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGFtb3VudCAhPT0gdW5kZWZpbmVkICYmIGFtb3VudCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHdvcmRcbiAgICB9XG4gICAgY29uc3QgcGx1cmFsOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgICAgJyhxdWl6KSQnOiBcIiQxemVzXCIsXG4gICAgICAnXihveCkkJzogXCIkMWVuXCIsXG4gICAgICAnKFttfGxdKW91c2UkJzogXCIkMWljZVwiLFxuICAgICAgJyhtYXRyfHZlcnR8aW5kKWl4fGV4JCc6IFwiJDFpY2VzXCIsXG4gICAgICAnKHh8Y2h8c3N8c2gpJCc6IFwiJDFlc1wiLFxuICAgICAgJyhbXmFlaW91eV18cXUpeSQnOiBcIiQxaWVzXCIsXG4gICAgICAnKGhpdmUpJCc6IFwiJDFzXCIsXG4gICAgICAnKD86KFteZl0pZmV8KFtscl0pZikkJzogXCIkMSQydmVzXCIsXG4gICAgICAnKHNoZWF8bGVhfGxvYXx0aGllKWYkJzogXCIkMXZlc1wiLFxuICAgICAgJ3NpcyQnOiBcInNlc1wiLFxuICAgICAgJyhbdGldKXVtJCc6IFwiJDFhXCIsXG4gICAgICAnKHRvbWF0fHBvdGF0fGVjaHxoZXJ8dmV0KW8kJzogXCIkMW9lc1wiLFxuICAgICAgJyhidSlzJCc6IFwiJDFzZXNcIixcbiAgICAgICcoYWxpYXMpJCc6IFwiJDFlc1wiLFxuICAgICAgJyhvY3RvcCl1cyQnOiBcIiQxaVwiLFxuICAgICAgJyhheHx0ZXN0KWlzJCc6IFwiJDFlc1wiLFxuICAgICAgJyh1cykkJzogXCIkMWVzXCIsXG4gICAgICAnKFtec10rKSQnOiBcIiQxc1wiXG4gICAgfVxuICAgIGNvbnN0IGlycmVndWxhcjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICdtb3ZlJzogJ21vdmVzJyxcbiAgICAgICdmb290JzogJ2ZlZXQnLFxuICAgICAgJ2dvb3NlJzogJ2dlZXNlJyxcbiAgICAgICdzZXgnOiAnc2V4ZXMnLFxuICAgICAgJ2NoaWxkJzogJ2NoaWxkcmVuJyxcbiAgICAgICdtYW4nOiAnbWVuJyxcbiAgICAgICd0b290aCc6ICd0ZWV0aCcsXG4gICAgICAncGVyc29uJzogJ3Blb3BsZSdcbiAgICB9XG4gICAgY29uc3QgdW5jb3VudGFibGU6IHN0cmluZ1tdID0gW1xuICAgICAgJ3NoZWVwJyxcbiAgICAgICdmaXNoJyxcbiAgICAgICdkZWVyJyxcbiAgICAgICdtb29zZScsXG4gICAgICAnc2VyaWVzJyxcbiAgICAgICdzcGVjaWVzJyxcbiAgICAgICdtb25leScsXG4gICAgICAncmljZScsXG4gICAgICAnaW5mb3JtYXRpb24nLFxuICAgICAgJ2VxdWlwbWVudCcsXG4gICAgICAnYmlzb24nLFxuICAgICAgJ2NvZCcsXG4gICAgICAnb2Zmc3ByaW5nJyxcbiAgICAgICdwaWtlJyxcbiAgICAgICdzYWxtb24nLFxuICAgICAgJ3NocmltcCcsXG4gICAgICAnc3dpbmUnLFxuICAgICAgJ3Ryb3V0JyxcbiAgICAgICdhaXJjcmFmdCcsXG4gICAgICAnaG92ZXJjcmFmdCcsXG4gICAgICAnc3BhY2VjcmFmdCcsXG4gICAgICAnc3VnYXInLFxuICAgICAgJ3R1bmEnLFxuICAgICAgJ3lvdScsXG4gICAgICAnd29vZCdcbiAgICBdXG5cbiAgICBpZiAodW5jb3VudGFibGUuaW5kZXhPZih3b3JkLnRvTG93ZXJDYXNlKCkpID49IDApIHtcbiAgICAgIHJldHVybiB3b3JkXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB3IGluIGlycmVndWxhcikge1xuICAgICAgY29uc3QgcGF0dGVybiA9IG5ldyBSZWdFeHAoYCR7d30kYCwgJ2knKVxuICAgICAgY29uc3QgcmVwbGFjZSA9IGlycmVndWxhclt3XVxuICAgICAgaWYgKHBhdHRlcm4udGVzdCh3b3JkKSkge1xuICAgICAgICByZXR1cm4gd29yZC5yZXBsYWNlKHBhdHRlcm4sIHJlcGxhY2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCByZWcgaW4gcGx1cmFsKSB7XG4gICAgICBjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cChyZWcsICdpJylcbiAgICAgIGlmIChwYXR0ZXJuLnRlc3Qod29yZCkpIHtcbiAgICAgICAgcmV0dXJuIHdvcmQucmVwbGFjZShwYXR0ZXJuLCBwbHVyYWxbcmVnXSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHdvcmRcbiAgfVxuXG5cbiAgLyoqXG4gICAqIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81NzEyOTcwMy8xMzQ1MTAxXG4gICAqXG4gICogUmV0dXJucyB0aGUgc2luZ3VsYXIgb2YgYW4gRW5nbGlzaCB3b3JkLlxuICAqXG4gICogQGV4cG9ydFxuICAqIEBwYXJhbSB7c3RyaW5nfSB3b3JkXG4gICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRdXG4gICogQHJldHVybnMge3N0cmluZ31cbiAgKi9cbiAgc2luZ3VsYXIod29yZDogc3RyaW5nLCBhbW91bnQ/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChhbW91bnQgIT09IHVuZGVmaW5lZCAmJiBhbW91bnQgIT09IDEpIHtcbiAgICAgIHJldHVybiB3b3JkXG4gICAgfVxuICAgIGNvbnN0IHNpbmd1bGFyOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgICAgJyhxdWl6KXplcyQnOiBcIiQxXCIsXG4gICAgICAnKG1hdHIpaWNlcyQnOiBcIiQxaXhcIixcbiAgICAgICcodmVydHxpbmQpaWNlcyQnOiBcIiQxZXhcIixcbiAgICAgICdeKG94KWVuJCc6IFwiJDFcIixcbiAgICAgICcoYWxpYXMpZXMkJzogXCIkMVwiLFxuICAgICAgJyhvY3RvcHx2aXIpaSQnOiBcIiQxdXNcIixcbiAgICAgICcoY3Jpc3xheHx0ZXN0KWVzJCc6IFwiJDFpc1wiLFxuICAgICAgJyhzaG9lKXMkJzogXCIkMVwiLFxuICAgICAgJyhvKWVzJCc6IFwiJDFcIixcbiAgICAgICcoYnVzKWVzJCc6IFwiJDFcIixcbiAgICAgICcoW218bF0paWNlJCc6IFwiJDFvdXNlXCIsXG4gICAgICAnKHh8Y2h8c3N8c2gpZXMkJzogXCIkMVwiLFxuICAgICAgJyhtKW92aWVzJCc6IFwiJDFvdmllXCIsXG4gICAgICAnKHMpZXJpZXMkJzogXCIkMWVyaWVzXCIsXG4gICAgICAnKFteYWVpb3V5XXxxdSlpZXMkJzogXCIkMXlcIixcbiAgICAgICcoW2xyXSl2ZXMkJzogXCIkMWZcIixcbiAgICAgICcodGl2ZSlzJCc6IFwiJDFcIixcbiAgICAgICcoaGl2ZSlzJCc6IFwiJDFcIixcbiAgICAgICcobGl8d2l8a25pKXZlcyQnOiBcIiQxZmVcIixcbiAgICAgICcoc2hlYXxsb2F8bGVhfHRoaWUpdmVzJCc6IFwiJDFmXCIsXG4gICAgICAnKF5hbmFseSlzZXMkJzogXCIkMXNpc1wiLFxuICAgICAgJygoYSluYWx5fChiKWF8KGQpaWFnbm98KHApYXJlbnRoZXwocClyb2dub3wocyl5bm9wfCh0KWhlKXNlcyQnOiBcIiQxJDJzaXNcIixcbiAgICAgICcoW3RpXSlhJCc6IFwiJDF1bVwiLFxuICAgICAgJyhuKWV3cyQnOiBcIiQxZXdzXCIsXG4gICAgICAnKGh8Ymwpb3VzZXMkJzogXCIkMW91c2VcIixcbiAgICAgICcoY29ycHNlKXMkJzogXCIkMVwiLFxuICAgICAgJyh1cyllcyQnOiBcIiQxXCIsXG4gICAgICAncyQnOiBcIlwiXG4gICAgfVxuICAgIGNvbnN0IGlycmVndWxhcjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICdtb3ZlJzogJ21vdmVzJyxcbiAgICAgICdmb290JzogJ2ZlZXQnLFxuICAgICAgJ2dvb3NlJzogJ2dlZXNlJyxcbiAgICAgICdzZXgnOiAnc2V4ZXMnLFxuICAgICAgJ2NoaWxkJzogJ2NoaWxkcmVuJyxcbiAgICAgICdtYW4nOiAnbWVuJyxcbiAgICAgICd0b290aCc6ICd0ZWV0aCcsXG4gICAgICAncGVyc29uJzogJ3Blb3BsZSdcbiAgICB9XG4gICAgY29uc3QgdW5jb3VudGFibGU6IHN0cmluZ1tdID0gW1xuICAgICAgJ3NoZWVwJyxcbiAgICAgICdmaXNoJyxcbiAgICAgICdkZWVyJyxcbiAgICAgICdtb29zZScsXG4gICAgICAnc2VyaWVzJyxcbiAgICAgICdzcGVjaWVzJyxcbiAgICAgICdtb25leScsXG4gICAgICAncmljZScsXG4gICAgICAnaW5mb3JtYXRpb24nLFxuICAgICAgJ2VxdWlwbWVudCcsXG4gICAgICAnYmlzb24nLFxuICAgICAgJ2NvZCcsXG4gICAgICAnb2Zmc3ByaW5nJyxcbiAgICAgICdwaWtlJyxcbiAgICAgICdzYWxtb24nLFxuICAgICAgJ3NocmltcCcsXG4gICAgICAnc3dpbmUnLFxuICAgICAgJ3Ryb3V0JyxcbiAgICAgICdhaXJjcmFmdCcsXG4gICAgICAnaG92ZXJjcmFmdCcsXG4gICAgICAnc3BhY2VjcmFmdCcsXG4gICAgICAnc3VnYXInLFxuICAgICAgJ3R1bmEnLFxuICAgICAgJ3lvdScsXG4gICAgICAnd29vZCdcbiAgICBdXG5cbiAgICBpZiAodW5jb3VudGFibGUuaW5kZXhPZih3b3JkLnRvTG93ZXJDYXNlKCkpID49IDApIHtcbiAgICAgIHJldHVybiB3b3JkXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB3IGluIGlycmVndWxhcikge1xuICAgICAgY29uc3QgcGF0dGVybiA9IG5ldyBSZWdFeHAoYCR7aXJyZWd1bGFyW3ddfSRgLCAnaScpXG4gICAgICBjb25zdCByZXBsYWNlID0gd1xuICAgICAgaWYgKHBhdHRlcm4udGVzdCh3b3JkKSkge1xuICAgICAgICByZXR1cm4gd29yZC5yZXBsYWNlKHBhdHRlcm4sIHJlcGxhY2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCByZWcgaW4gc2luZ3VsYXIpIHtcbiAgICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKHJlZywgJ2knKVxuICAgICAgaWYgKHBhdHRlcm4udGVzdCh3b3JkKSkge1xuICAgICAgICByZXR1cm4gd29yZC5yZXBsYWNlKHBhdHRlcm4sIHNpbmd1bGFyW3JlZ10pXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB3b3JkXG4gIH1cblxufVxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy1zdHJpbmdzLnRzIl19
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1zdHJpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMtc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxNQUFNLE9BQU8sY0FBYztJQUV6Qjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxpQkFBaUIsQ0FBVSxLQUFhO1FBQ3RDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakYsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU87WUFDTCxjQUFjLENBQUMsVUFBYTtnQkFDMUIsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7b0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBaUIsQ0FBQyxDQUFDO29CQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2dCQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN0QixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxDQUFRLENBQUMsQ0FBQztZQUNaLENBQUM7U0FDRixDQUFBO0lBRUgsQ0FBQztJQUVEOzs7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WUFBWTtZQUNaLFlBQVk7WUFDWixPQUFPO1lBQ1AsTUFBTTtZQUNOLEtBQUs7WUFDTCxNQUFNO1NBQ1AsQ0FBQTtRQUVELElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUVELEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDbkQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFBO1lBQ2pCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTthQUN0QztTQUNGO1FBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7WUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3BDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTthQUM1QztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0NBRUY7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtEQUErRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzU3RyaW5ncyB7XG5cbiAgLyoqXG4gICAqIEV4YW1wbGU6XG4gICAqXG4gICAqIGNvbnN0IHJlc3VsdCA9IGludGVycG9sYXRlU3RyaW5nKFwiSSdtIHthZ2V9IHllYXJzIG9sZCFcIilcbiAgICogLndpdGhQYXJhbWV0ZXJzKHsgYWdlOiAyOSB9KTtcbiAgICpcbiAgICogY29uc3QgcmVzdWx0ID0gaW50ZXJwb2xhdGVTdHJpbmcoXCJUaGUge2F9IHNheXMge259LCB7bn0sIHtufSFcIilcbiAgICogLndpdGhQYXJhbWV0ZXJzKHsgYTogJ2NvdycsIG46ICdtb28nIH0pO1xuICAgKlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nIHRvIGludGVycG9sYXRlXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIG9iamVjdCB3aXRoIHBhcmFtZXRlc1xuICAgKi9cbiAgaW50ZXJwb2xhdGVTdHJpbmc8VCA9IGFueT4odmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICBIZWxwZXJzLndhcm4oJ1tmaXJlZGV2LWhlbGVwcnNdIFZhbHVlIGZvciBpbnRlcnBvbGF0aW9uIGlzIG5vdCBzdHJpbmc6ICcsIHZhbHVlKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2l0aFBhcmFtZXRlcnMocGFyYW1ldGVyczogVCkge1xuICAgICAgICBpZiAodHlwZW9mIHBhcmFtZXRlcnMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgSGVscGVycy5sb2cocGFyYW1ldGVycyBhcyBhbnkpO1xuICAgICAgICAgIEhlbHBlcnMud2FybignW2ZpcmVkZXYtaGVsZXByc10gUGFyYW1ldGVycyBhcmUgbm90IGEgb2JqZWN0OiAnKTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL3soW157fV0qKX0vZywgZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICB2YXIgciA9IHBhcmFtZXRlcnNbYl07XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgciA9PT0gJ251bWJlcicgPyByIDogYTtcbiAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBwaXhlbHNDc3MgZXhtYXBsZTogMTAwcHhcbiAgICogQHJldHVybnMgbnVtYmVyIHZhbHVlXG4gICAqL1xuICBudW1WYWx1ZShwaXhlbHNDc3M6IHN0cmluZykge1xuXG4gICAgcmV0dXJuIHBhcnNlSW50KHBpeGVsc0Nzcy5yZXBsYWNlKCdweCcsICcnKSk7XG4gIH1cblxuICAvKipcbiAgICogZXhhbXBsZXM6XG4gICAqICdhYSBiYiBiYicgPT4gWydhYScsJ2JiJywnY2MnXSxcbiAgICogJ2FhJyA9PiBbJ2FhJ11cbiAgICogWydhYSddID0+IFsnYWEnXVxuICAgKi9cbiAgc3BsaXRJZk5lZWQoc3RyaW5nT3JBcnI6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGxldCByZXMgPSBbXTtcbiAgICBpZiAoXy5pc0FycmF5KHN0cmluZ09yQXJyKSkge1xuICAgICAgcmVzID0gc3RyaW5nT3JBcnIubWFwKHMgPT4ge1xuICAgICAgICByZXR1cm4gcy50cmltKCk7XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhzdHJpbmdPckFycikpIHtcbiAgICAgIHJlcyA9IHN0cmluZ09yQXJyLnNwbGl0KC9cXHMqW1xccyxdXFxzKi8pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzLmZpbHRlcihmID0+ICEhZiAmJiAoZi50cmltKCkgIT09ICcnKSk7XG4gIH1cblxuICByZW1vdmVEb3VibGVPck1vcmVFbXB0eUxpbmVzKHM6IHN0cmluZykge1xuICAgIHMgPSBzPy5zcGxpdCgnXFxuJykubWFwKGYgPT4gZi50cmltUmlnaHQoKSkuam9pbignXFxuJyk7XG4gICAgcmV0dXJuIHM/LnJlcGxhY2UoLyhcXHJcXG58XFxyfFxcbil7Mix9L2csICckMVxcbicpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81NzEyOTcwMy8xMzQ1MTAxXG4gICAqXG4gICAqIFJldHVybnMgdGhlIHBsdXJhbCBvZiBhbiBFbmdsaXNoIHdvcmQuXG4gICAqXG4gICAqIEBleHBvcnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdvcmRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRdXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBwbHVyYWwod29yZDogc3RyaW5nLCBhbW91bnQ/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChhbW91bnQgIT09IHVuZGVmaW5lZCAmJiBhbW91bnQgPT09IDEpIHtcbiAgICAgIHJldHVybiB3b3JkXG4gICAgfVxuICAgIGNvbnN0IHBsdXJhbDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICcocXVpeikkJzogXCIkMXplc1wiLFxuICAgICAgJ14ob3gpJCc6IFwiJDFlblwiLFxuICAgICAgJyhbbXxsXSlvdXNlJCc6IFwiJDFpY2VcIixcbiAgICAgICcobWF0cnx2ZXJ0fGluZClpeHxleCQnOiBcIiQxaWNlc1wiLFxuICAgICAgJyh4fGNofHNzfHNoKSQnOiBcIiQxZXNcIixcbiAgICAgICcoW15hZWlvdXldfHF1KXkkJzogXCIkMWllc1wiLFxuICAgICAgJyhoaXZlKSQnOiBcIiQxc1wiLFxuICAgICAgJyg/OihbXmZdKWZlfChbbHJdKWYpJCc6IFwiJDEkMnZlc1wiLFxuICAgICAgJyhzaGVhfGxlYXxsb2F8dGhpZSlmJCc6IFwiJDF2ZXNcIixcbiAgICAgICdzaXMkJzogXCJzZXNcIixcbiAgICAgICcoW3RpXSl1bSQnOiBcIiQxYVwiLFxuICAgICAgJyh0b21hdHxwb3RhdHxlY2h8aGVyfHZldClvJCc6IFwiJDFvZXNcIixcbiAgICAgICcoYnUpcyQnOiBcIiQxc2VzXCIsXG4gICAgICAnKGFsaWFzKSQnOiBcIiQxZXNcIixcbiAgICAgICcob2N0b3ApdXMkJzogXCIkMWlcIixcbiAgICAgICcoYXh8dGVzdClpcyQnOiBcIiQxZXNcIixcbiAgICAgICcodXMpJCc6IFwiJDFlc1wiLFxuICAgICAgJyhbXnNdKykkJzogXCIkMXNcIlxuICAgIH1cbiAgICBjb25zdCBpcnJlZ3VsYXI6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICAnbW92ZSc6ICdtb3ZlcycsXG4gICAgICAnZm9vdCc6ICdmZWV0JyxcbiAgICAgICdnb29zZSc6ICdnZWVzZScsXG4gICAgICAnc2V4JzogJ3NleGVzJyxcbiAgICAgICdjaGlsZCc6ICdjaGlsZHJlbicsXG4gICAgICAnbWFuJzogJ21lbicsXG4gICAgICAndG9vdGgnOiAndGVldGgnLFxuICAgICAgJ3BlcnNvbic6ICdwZW9wbGUnXG4gICAgfVxuICAgIGNvbnN0IHVuY291bnRhYmxlOiBzdHJpbmdbXSA9IFtcbiAgICAgICdzaGVlcCcsXG4gICAgICAnZmlzaCcsXG4gICAgICAnZGVlcicsXG4gICAgICAnbW9vc2UnLFxuICAgICAgJ3NlcmllcycsXG4gICAgICAnc3BlY2llcycsXG4gICAgICAnbW9uZXknLFxuICAgICAgJ3JpY2UnLFxuICAgICAgJ2luZm9ybWF0aW9uJyxcbiAgICAgICdlcXVpcG1lbnQnLFxuICAgICAgJ2Jpc29uJyxcbiAgICAgICdjb2QnLFxuICAgICAgJ29mZnNwcmluZycsXG4gICAgICAncGlrZScsXG4gICAgICAnc2FsbW9uJyxcbiAgICAgICdzaHJpbXAnLFxuICAgICAgJ3N3aW5lJyxcbiAgICAgICd0cm91dCcsXG4gICAgICAnYWlyY3JhZnQnLFxuICAgICAgJ2hvdmVyY3JhZnQnLFxuICAgICAgJ3NwYWNlY3JhZnQnLFxuICAgICAgJ3N1Z2FyJyxcbiAgICAgICd0dW5hJyxcbiAgICAgICd5b3UnLFxuICAgICAgJ3dvb2QnXG4gICAgXVxuXG4gICAgaWYgKHVuY291bnRhYmxlLmluZGV4T2Yod29yZC50b0xvd2VyQ2FzZSgpKSA+PSAwKSB7XG4gICAgICByZXR1cm4gd29yZFxuICAgIH1cblxuICAgIGZvciAoY29uc3QgdyBpbiBpcnJlZ3VsYXIpIHtcbiAgICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKGAke3d9JGAsICdpJylcbiAgICAgIGNvbnN0IHJlcGxhY2UgPSBpcnJlZ3VsYXJbd11cbiAgICAgIGlmIChwYXR0ZXJuLnRlc3Qod29yZCkpIHtcbiAgICAgICAgcmV0dXJuIHdvcmQucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcmVnIGluIHBsdXJhbCkge1xuICAgICAgY29uc3QgcGF0dGVybiA9IG5ldyBSZWdFeHAocmVnLCAnaScpXG4gICAgICBpZiAocGF0dGVybi50ZXN0KHdvcmQpKSB7XG4gICAgICAgIHJldHVybiB3b3JkLnJlcGxhY2UocGF0dGVybiwgcGx1cmFsW3JlZ10pXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB3b3JkXG4gIH1cblxuXG4gIC8qKlxuICAgKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTcxMjk3MDMvMTM0NTEwMVxuICAgKlxuICAqIFJldHVybnMgdGhlIHNpbmd1bGFyIG9mIGFuIEVuZ2xpc2ggd29yZC5cbiAgKlxuICAqIEBleHBvcnRcbiAgKiBAcGFyYW0ge3N0cmluZ30gd29yZFxuICAqIEBwYXJhbSB7bnVtYmVyfSBbYW1vdW50XVxuICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICovXG4gIHNpbmd1bGFyKHdvcmQ6IHN0cmluZywgYW1vdW50PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoYW1vdW50ICE9PSB1bmRlZmluZWQgJiYgYW1vdW50ICE9PSAxKSB7XG4gICAgICByZXR1cm4gd29yZFxuICAgIH1cbiAgICBjb25zdCBzaW5ndWxhcjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICcocXVpeil6ZXMkJzogXCIkMVwiLFxuICAgICAgJyhtYXRyKWljZXMkJzogXCIkMWl4XCIsXG4gICAgICAnKHZlcnR8aW5kKWljZXMkJzogXCIkMWV4XCIsXG4gICAgICAnXihveCllbiQnOiBcIiQxXCIsXG4gICAgICAnKGFsaWFzKWVzJCc6IFwiJDFcIixcbiAgICAgICcob2N0b3B8dmlyKWkkJzogXCIkMXVzXCIsXG4gICAgICAnKGNyaXN8YXh8dGVzdCllcyQnOiBcIiQxaXNcIixcbiAgICAgICcoc2hvZSlzJCc6IFwiJDFcIixcbiAgICAgICcobyllcyQnOiBcIiQxXCIsXG4gICAgICAnKGJ1cyllcyQnOiBcIiQxXCIsXG4gICAgICAnKFttfGxdKWljZSQnOiBcIiQxb3VzZVwiLFxuICAgICAgJyh4fGNofHNzfHNoKWVzJCc6IFwiJDFcIixcbiAgICAgICcobSlvdmllcyQnOiBcIiQxb3ZpZVwiLFxuICAgICAgJyhzKWVyaWVzJCc6IFwiJDFlcmllc1wiLFxuICAgICAgJyhbXmFlaW91eV18cXUpaWVzJCc6IFwiJDF5XCIsXG4gICAgICAnKFtscl0pdmVzJCc6IFwiJDFmXCIsXG4gICAgICAnKHRpdmUpcyQnOiBcIiQxXCIsXG4gICAgICAnKGhpdmUpcyQnOiBcIiQxXCIsXG4gICAgICAnKGxpfHdpfGtuaSl2ZXMkJzogXCIkMWZlXCIsXG4gICAgICAnKHNoZWF8bG9hfGxlYXx0aGllKXZlcyQnOiBcIiQxZlwiLFxuICAgICAgJyheYW5hbHkpc2VzJCc6IFwiJDFzaXNcIixcbiAgICAgICcoKGEpbmFseXwoYilhfChkKWlhZ25vfChwKWFyZW50aGV8KHApcm9nbm98KHMpeW5vcHwodCloZSlzZXMkJzogXCIkMSQyc2lzXCIsXG4gICAgICAnKFt0aV0pYSQnOiBcIiQxdW1cIixcbiAgICAgICcobilld3MkJzogXCIkMWV3c1wiLFxuICAgICAgJyhofGJsKW91c2VzJCc6IFwiJDFvdXNlXCIsXG4gICAgICAnKGNvcnBzZSlzJCc6IFwiJDFcIixcbiAgICAgICcodXMpZXMkJzogXCIkMVwiLFxuICAgICAgJ3MkJzogXCJcIlxuICAgIH1cbiAgICBjb25zdCBpcnJlZ3VsYXI6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICAnbW92ZSc6ICdtb3ZlcycsXG4gICAgICAnZm9vdCc6ICdmZWV0JyxcbiAgICAgICdnb29zZSc6ICdnZWVzZScsXG4gICAgICAnc2V4JzogJ3NleGVzJyxcbiAgICAgICdjaGlsZCc6ICdjaGlsZHJlbicsXG4gICAgICAnbWFuJzogJ21lbicsXG4gICAgICAndG9vdGgnOiAndGVldGgnLFxuICAgICAgJ3BlcnNvbic6ICdwZW9wbGUnXG4gICAgfVxuICAgIGNvbnN0IHVuY291bnRhYmxlOiBzdHJpbmdbXSA9IFtcbiAgICAgICdzaGVlcCcsXG4gICAgICAnZmlzaCcsXG4gICAgICAnZGVlcicsXG4gICAgICAnbW9vc2UnLFxuICAgICAgJ3NlcmllcycsXG4gICAgICAnc3BlY2llcycsXG4gICAgICAnbW9uZXknLFxuICAgICAgJ3JpY2UnLFxuICAgICAgJ2luZm9ybWF0aW9uJyxcbiAgICAgICdlcXVpcG1lbnQnLFxuICAgICAgJ2Jpc29uJyxcbiAgICAgICdjb2QnLFxuICAgICAgJ29mZnNwcmluZycsXG4gICAgICAncGlrZScsXG4gICAgICAnc2FsbW9uJyxcbiAgICAgICdzaHJpbXAnLFxuICAgICAgJ3N3aW5lJyxcbiAgICAgICd0cm91dCcsXG4gICAgICAnYWlyY3JhZnQnLFxuICAgICAgJ2hvdmVyY3JhZnQnLFxuICAgICAgJ3NwYWNlY3JhZnQnLFxuICAgICAgJ3N1Z2FyJyxcbiAgICAgICd0dW5hJyxcbiAgICAgICd5b3UnLFxuICAgICAgJ3dvb2QnXG4gICAgXVxuXG4gICAgaWYgKHVuY291bnRhYmxlLmluZGV4T2Yod29yZC50b0xvd2VyQ2FzZSgpKSA+PSAwKSB7XG4gICAgICByZXR1cm4gd29yZFxuICAgIH1cblxuICAgIGZvciAoY29uc3QgdyBpbiBpcnJlZ3VsYXIpIHtcbiAgICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKGAke2lycmVndWxhclt3XX0kYCwgJ2knKVxuICAgICAgY29uc3QgcmVwbGFjZSA9IHdcbiAgICAgIGlmIChwYXR0ZXJuLnRlc3Qod29yZCkpIHtcbiAgICAgICAgcmV0dXJuIHdvcmQucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcmVnIGluIHNpbmd1bGFyKSB7XG4gICAgICBjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cChyZWcsICdpJylcbiAgICAgIGlmIChwYXR0ZXJuLnRlc3Qod29yZCkpIHtcbiAgICAgICAgcmV0dXJuIHdvcmQucmVwbGFjZShwYXR0ZXJuLCBzaW5ndWxhcltyZWddKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gd29yZFxuICB9XG5cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMtc3RyaW5ncy50cyJdfQ==