tnp-helpers 16.444.24 → 18.0.1

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 (196) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-git.mjs +76 -3
  3. package/browser/esm2022/lib/base/base-library-build.mjs +2 -1
  4. package/browser/esm2022/lib/base/base-linked-projects.mjs +1 -1
  5. package/browser/esm2022/lib/base/base-npm-helpers.mjs +110 -2
  6. package/browser/esm2022/lib/base/base-project-resolver.mjs +7 -3
  7. package/browser/esm2022/lib/base/base-project.mjs +63 -4
  8. package/browser/esm2022/lib/base/base-release-process.mjs +2 -1
  9. package/browser/esm2022/lib/base/base-vscode.mjs +18 -1
  10. package/browser/esm2022/lib/base/commit-data.mjs +238 -4
  11. package/browser/esm2022/lib/base/core-project.mjs +2 -3
  12. package/browser/esm2022/lib/base/linked-project.mjs +1 -1
  13. package/browser/esm2022/lib/helpers/for-browser/angular.helper.mjs +1 -1
  14. package/browser/esm2022/lib/helpers/for-browser/helpers-browser.mjs +2 -3
  15. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  16. package/browser/esm2022/lib/helpers/helpers-strings-regexes.mjs +1 -1
  17. package/browser/esm2022/lib/helpers/helpers-strings.mjs +1 -1
  18. package/browser/esm2022/lib/helpers/helpers.mjs +53 -2
  19. package/browser/esm2022/lib/validators/validators-network.mjs +1 -1
  20. package/browser/fesm2022/tnp-helpers.mjs +543 -10
  21. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  22. package/browser/lib/base/base-git.d.ts +22 -2
  23. package/browser/lib/base/base-library-build.d.ts +2 -2
  24. package/browser/lib/base/base-npm-helpers.d.ts +30 -3
  25. package/browser/lib/base/base-project-resolver.d.ts +1 -1
  26. package/browser/lib/base/base-project.d.ts +25 -2
  27. package/browser/lib/base/base-vscode.d.ts +2 -1
  28. package/browser/lib/base/commit-data.d.ts +41 -3
  29. package/browser/lib/base/config-database.d.ts +1 -1
  30. package/browser/lib/helpers/helpers.d.ts +11 -1
  31. package/client/esm2022/lib/base/base-git.mjs +76 -3
  32. package/client/esm2022/lib/base/base-library-build.mjs +2 -1
  33. package/client/esm2022/lib/base/base-linked-projects.mjs +1 -1
  34. package/client/esm2022/lib/base/base-npm-helpers.mjs +110 -2
  35. package/client/esm2022/lib/base/base-project-resolver.mjs +7 -3
  36. package/client/esm2022/lib/base/base-project.mjs +63 -4
  37. package/client/esm2022/lib/base/base-release-process.mjs +2 -1
  38. package/client/esm2022/lib/base/base-vscode.mjs +18 -1
  39. package/client/esm2022/lib/base/commit-data.mjs +238 -4
  40. package/client/esm2022/lib/base/core-project.mjs +2 -3
  41. package/client/esm2022/lib/base/linked-project.mjs +1 -1
  42. package/client/esm2022/lib/helpers/for-browser/angular.helper.mjs +1 -1
  43. package/client/esm2022/lib/helpers/for-browser/helpers-browser.mjs +2 -3
  44. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  45. package/client/esm2022/lib/helpers/helpers-strings-regexes.mjs +1 -1
  46. package/client/esm2022/lib/helpers/helpers-strings.mjs +1 -1
  47. package/client/esm2022/lib/helpers/helpers.mjs +53 -2
  48. package/client/esm2022/lib/validators/validators-network.mjs +1 -1
  49. package/client/fesm2022/tnp-helpers.mjs +543 -10
  50. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  51. package/client/lib/base/base-git.d.ts +22 -2
  52. package/client/lib/base/base-library-build.d.ts +2 -2
  53. package/client/lib/base/base-npm-helpers.d.ts +30 -3
  54. package/client/lib/base/base-project-resolver.d.ts +1 -1
  55. package/client/lib/base/base-project.d.ts +25 -2
  56. package/client/lib/base/base-vscode.d.ts +2 -1
  57. package/client/lib/base/commit-data.d.ts +41 -3
  58. package/client/lib/base/config-database.d.ts +1 -1
  59. package/client/lib/helpers/helpers.d.ts +11 -1
  60. package/firedev.jsonc +5 -25
  61. package/lib/base/base-command-line.backend.d.ts +12 -4
  62. package/lib/base/base-command-line.backend.js +164 -48
  63. package/lib/base/base-command-line.backend.js.map +1 -1
  64. package/lib/base/base-db.js.map +1 -1
  65. package/lib/base/base-git.d.ts +22 -2
  66. package/lib/base/base-git.js +200 -136
  67. package/lib/base/base-git.js.map +1 -1
  68. package/lib/base/base-library-build.d.ts +1 -1
  69. package/lib/base/base-library-build.js +38 -37
  70. package/lib/base/base-library-build.js.map +1 -1
  71. package/lib/base/base-linked-projects.js +4 -4
  72. package/lib/base/base-linked-projects.js.map +1 -1
  73. package/lib/base/base-npm-helpers.d.ts +30 -3
  74. package/lib/base/base-npm-helpers.js +135 -10
  75. package/lib/base/base-npm-helpers.js.map +1 -1
  76. package/lib/base/base-project-resolver.d.ts +1 -1
  77. package/lib/base/base-project-resolver.js +5 -2
  78. package/lib/base/base-project-resolver.js.map +1 -1
  79. package/lib/base/base-project.d.ts +25 -2
  80. package/lib/base/base-project.js +91 -22
  81. package/lib/base/base-project.js.map +1 -1
  82. package/lib/base/base-release-process.js +12 -9
  83. package/lib/base/base-release-process.js.map +1 -1
  84. package/lib/base/base-start-config.backend.js +1 -1
  85. package/lib/base/base-start-config.backend.js.map +1 -1
  86. package/lib/base/base-vscode.d.ts +2 -1
  87. package/lib/base/base-vscode.js +18 -1
  88. package/lib/base/base-vscode.js.map +1 -1
  89. package/lib/base/command-line-feature.backend.js.map +1 -1
  90. package/lib/base/commit-data.d.ts +41 -3
  91. package/lib/base/commit-data.js +347 -85
  92. package/lib/base/commit-data.js.map +1 -1
  93. package/lib/base/config-database.d.ts +1 -1
  94. package/lib/base/config-database.js.map +1 -1
  95. package/lib/base/core-project.js +23 -22
  96. package/lib/base/core-project.js.map +1 -1
  97. package/lib/base/linked-project.js.map +1 -1
  98. package/lib/base/project-database.js.map +1 -1
  99. package/lib/base/translate.js +10 -6
  100. package/lib/base/translate.js.map +1 -1
  101. package/lib/helpers/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  102. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +42 -39
  103. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  104. package/lib/helpers/for-backend/helpers-console-gui.d.ts +9 -2
  105. package/lib/helpers/for-backend/helpers-console-gui.js +9 -5
  106. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  107. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
  108. package/lib/helpers/for-backend/helpers-git.backend.d.ts +3 -0
  109. package/lib/helpers/for-backend/helpers-git.backend.js +132 -45
  110. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  111. package/lib/helpers/for-backend/helpers-network.backend.d.ts +2 -1
  112. package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
  113. package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
  114. package/lib/helpers/for-backend/helpers-process.backend.d.ts +14 -4
  115. package/lib/helpers/for-backend/helpers-process.backend.js +58 -32
  116. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  117. package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
  118. package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
  119. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +1 -1
  120. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -1
  121. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -1
  122. package/lib/helpers/for-browser/angular.helper.js +2 -3
  123. package/lib/helpers/for-browser/angular.helper.js.map +1 -1
  124. package/lib/helpers/for-browser/helpers-browser.js +2 -1
  125. package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
  126. package/lib/helpers/helpers-array-obj.js.map +1 -1
  127. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  128. package/lib/helpers/helpers-strings-regexes.js.map +1 -1
  129. package/lib/helpers/helpers-strings.js.map +1 -1
  130. package/lib/helpers/helpers.d.ts +11 -2
  131. package/lib/helpers/helpers.js +63 -16
  132. package/lib/helpers/helpers.js.map +1 -1
  133. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  134. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  135. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  136. package/lib/lowdb/adapters/node/DataFile.d.ts +0 -1
  137. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  138. package/lib/lowdb/adapters/node/JSONFile.d.ts +0 -1
  139. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  140. package/lib/lowdb/adapters/node/TextFile.d.ts +0 -1
  141. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  142. package/lib/lowdb/adapters/node/steno.js +1 -1
  143. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  144. package/lib/lowdb/presets/browser.js +2 -3
  145. package/lib/lowdb/presets/browser.js.map +1 -1
  146. package/lib/lowdb/presets/node.d.ts +0 -1
  147. package/lib/lowdb/presets/node.js +2 -3
  148. package/lib/lowdb/presets/node.js.map +1 -1
  149. package/lib/old/base-component.js +2 -3
  150. package/lib/old/base-component.js.map +1 -1
  151. package/lib/old/base-formly-component.js +2 -3
  152. package/lib/old/base-formly-component.js.map +1 -1
  153. package/lib/old/dual-component-ctrl.js +2 -3
  154. package/lib/old/dual-component-ctrl.js.map +1 -1
  155. package/lib/validators/validators-firedev.js +1 -1
  156. package/lib/validators/validators-firedev.js.map +1 -1
  157. package/lib/validators/validators-git.js +1 -1
  158. package/lib/validators/validators-git.js.map +1 -1
  159. package/lib/validators/validators-network.js +1 -1
  160. package/lib/validators/validators-network.js.map +1 -1
  161. package/lib/validators/validators.js +1 -1
  162. package/lib/validators/validators.js.map +1 -1
  163. package/package.json +5 -5
  164. package/tmp-environment.json +177 -177
  165. package/websql/esm2022/lib/base/base-git.mjs +76 -3
  166. package/websql/esm2022/lib/base/base-library-build.mjs +2 -1
  167. package/websql/esm2022/lib/base/base-linked-projects.mjs +1 -1
  168. package/websql/esm2022/lib/base/base-npm-helpers.mjs +110 -2
  169. package/websql/esm2022/lib/base/base-project-resolver.mjs +6 -3
  170. package/websql/esm2022/lib/base/base-project.mjs +63 -4
  171. package/websql/esm2022/lib/base/base-release-process.mjs +2 -1
  172. package/websql/esm2022/lib/base/base-vscode.mjs +18 -1
  173. package/websql/esm2022/lib/base/commit-data.mjs +238 -4
  174. package/websql/esm2022/lib/base/core-project.mjs +2 -3
  175. package/websql/esm2022/lib/base/linked-project.mjs +1 -1
  176. package/websql/esm2022/lib/helpers/for-browser/angular.helper.mjs +1 -1
  177. package/websql/esm2022/lib/helpers/for-browser/helpers-browser.mjs +2 -3
  178. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  179. package/websql/esm2022/lib/helpers/helpers-strings-regexes.mjs +1 -1
  180. package/websql/esm2022/lib/helpers/helpers-strings.mjs +1 -1
  181. package/websql/esm2022/lib/helpers/helpers.mjs +53 -2
  182. package/websql/esm2022/lib/validators/validators-network.mjs +1 -1
  183. package/websql/fesm2022/tnp-helpers.mjs +543 -10
  184. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  185. package/websql/lib/base/base-git.d.ts +22 -2
  186. package/websql/lib/base/base-library-build.d.ts +2 -2
  187. package/websql/lib/base/base-npm-helpers.d.ts +30 -3
  188. package/websql/lib/base/base-project-resolver.d.ts +1 -1
  189. package/websql/lib/base/base-project.d.ts +29 -2
  190. package/websql/lib/base/base-vscode.d.ts +2 -1
  191. package/websql/lib/base/commit-data.d.ts +41 -3
  192. package/websql/lib/base/config-database.d.ts +1 -1
  193. package/websql/lib/helpers/helpers.d.ts +11 -1
  194. package/browser/package.json +0 -25
  195. package/client/package.json +0 -362
  196. package/websql/package.json +0 -25
@@ -1,4 +1,7 @@
1
1
  import { _, /* */ /* */ } from 'tnp-core/browser'; /* */
2
+ const openSourceProvidersIssuePrefix = [
3
+ 'GH',
4
+ ];
2
5
  const regexTeamsID = /[A-Z0-9]+\#/;
3
6
  const regexCommitModuleInArgs = /\[[a-z|\-|\,]+\]/;
4
7
  const regexCommitModuleInBranch = /\-\-[a-z|\-|\_]+\-\-/;
@@ -65,19 +68,124 @@ export class CommitData {
65
68
  /* */
66
69
  return (void 0);
67
70
  }
71
+ /**
72
+ *
73
+ * @returns jiras (from oldest to newset)
74
+ */
75
+ static extractAndOrderIssuesFromOtherProjects(
76
+ /**
77
+ * example:
78
+ * commit: proper git commands tnp/GH-9 darekf77/tnp-helpers/GH-10
79
+ * feature/__tnp-GH-9____darekf77_tnp-helpers-GH10__-proper-git-commands
80
+ */
81
+ commitOrBranchName, currentOrigin) {
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
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
+ /* */
159
+ /* */
160
+ return (void 0);
161
+ }
68
162
  static cleanMessageFromJiraNumTeamIdEtc(message, optinos) {
69
163
  message = message || '';
70
- let { teamID, commitModuleName, jiraNumbers } = optinos || {};
164
+ let { teamID, commitModuleName, jiraNumbers, issuesFromOtherProjects } = optinos || {};
71
165
  teamID = teamID || this.getTeamsIdFrom(message).teamID || '';
72
166
  commitModuleName =
73
167
  commitModuleName ||
74
168
  this.getModuleNameFrom(message).commitModuleName ||
75
169
  '';
76
170
  jiraNumbers = jiraNumbers || this.extractAndOrderJiraNumbers(message) || [];
171
+ issuesFromOtherProjects =
172
+ issuesFromOtherProjects ||
173
+ this.extractAndOrderIssuesFromOtherProjects(message) ||
174
+ [];
77
175
  if (!!teamID.trim()) {
78
176
  message = message.replace(teamID.toLowerCase().replace('-', ' '), ' ');
79
177
  message = message.replace(teamID.toUpperCase().replace('-', ' '), ' ');
80
178
  }
179
+ for (const issueFromOtherProj of issuesFromOtherProjects || []) {
180
+ message = message.replace(`__${issueFromOtherProj.replace(/\//g, '_').replace(/\-/g, ' ')}__`, ' ');
181
+ message = message.replace(issueFromOtherProj, ' ');
182
+ message = message.replace(issueFromOtherProj.toLowerCase().replace('-', ' '), ' ');
183
+ message = message.replace(issueFromOtherProj.toUpperCase().replace('-', ' '), ' ');
184
+ message = message.replace(issueFromOtherProj.toLowerCase(), ' ');
185
+ message = message.replace(regexCommitModuleInArgs, ' ');
186
+ message = message.replace(regexCommitModuleInBranch, ' ');
187
+ message = message.replace(/\ \ /g, ' ');
188
+ }
81
189
  for (const jira of jiraNumbers || []) {
82
190
  message = message.replace(jira.toLowerCase().replace('-', ' '), ' ');
83
191
  message = message.replace(jira.toUpperCase().replace('-', ' '), ' ');
@@ -117,7 +225,36 @@ export class CommitData {
117
225
  .replace(/\_/, ',');
118
226
  return { commitModuleName };
119
227
  }
120
- static async getFromArgs(args, typeOfCommit) {
228
+ static async getFromArgs(args, options) {
229
+ /* */
230
+ /* */
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ /* */
255
+ /* */
256
+ /* */
257
+ /* */
121
258
  /* */
122
259
  /* */
123
260
  /* */
@@ -156,7 +293,19 @@ export class CommitData {
156
293
  /* */
157
294
  return (void 0);
158
295
  }
159
- static async getFromBranch(currentBranchName, releaseWords = []) {
296
+ static async getFromBranch(currentBranchName, options) {
297
+ /* */
298
+ /* */
299
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
160
309
  /* */
161
310
  /* */
162
311
  /* */
@@ -267,6 +416,7 @@ export class CommitData {
267
416
  teamID: this.teamID,
268
417
  commitModuleName: this.commitModuleName,
269
418
  jiraNumbers: this.jiraNumbers,
419
+ issuesFromOtherProjects: this.issuesFromOtherProjects,
270
420
  });
271
421
  }
272
422
  /**
@@ -292,7 +442,70 @@ export class CommitData {
292
442
  /* */
293
443
  return (void 0);
294
444
  }
445
+ /**
446
+ * ex. firedev/GH-12 darekf77/tnp-helpers/GH-4
447
+ */
448
+ get issuesFromOtherProjects() {
449
+ return this.__issuesFromOtherProjects;
450
+ }
451
+ set issuesFromOtherProjects(value) {
452
+ this.__issuesFromOtherProjects = value;
453
+ }
295
454
  get commitMessage() {
455
+ /* */
456
+ /* */
457
+ /* */
458
+ /* */
459
+ /* */
460
+ /* */
461
+ /* */
462
+ /* */
463
+ /* */
464
+ /* */
465
+ /* */
466
+ /* */
467
+ /* */
468
+ /* */
469
+ /* */
470
+ /* */
471
+ /* */
472
+ /* */
473
+ /* */
474
+ /* */
475
+ /* */
476
+ /* */
477
+ /* */
478
+ /* */
479
+ /* */
480
+ /* */
481
+ /* */
482
+ /* */
483
+ /* */
484
+ /* */
485
+ /* */
486
+ /* */
487
+ /* */
488
+ /* */
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
493
+ /* */
494
+ /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
508
+ /* */
296
509
  /* */
297
510
  /* */
298
511
  /* */
@@ -342,6 +555,27 @@ export class CommitData {
342
555
  return (void 0);
343
556
  }
344
557
  get branchName() {
558
+ /* */
559
+ /* */
560
+ /* */
561
+ /* */
562
+ /* */
563
+ /* */
564
+ /* */
565
+ /* */
566
+ /* */
567
+ /* */
568
+ /* */
569
+ /* */
570
+ /* */
571
+ /* */
572
+ /* */
573
+ /* */
574
+ /* */
575
+ /* */
576
+ /* */
577
+ /* */
578
+ /* */
345
579
  /* */
346
580
  /* */
347
581
  /* */
@@ -372,4 +606,4 @@ export class CommitData {
372
606
  }
373
607
  ;
374
608
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/commit-data.ts
375
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvY29tbWl0LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFLLE1BQU0sa0JBQWtCLENBQUMsQ0FBQSxLQUFLO0FBdUI1RCxNQUFNLFlBQVksR0FBVyxhQUFhLENBQUM7QUFFM0MsTUFBTSx1QkFBdUIsR0FBVyxrQkFBa0IsQ0FBQztBQUMzRCxNQUFNLHlCQUF5QixHQUFXLHNCQUFzQixDQUFDO0FBRWpFLE1BQU0sT0FBTyxVQUFVO0lBSWIsTUFBTSxDQUFDLDBCQUEwQixDQUFDLFNBQWlCO1FBQ3pELElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUlPLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBaUI7UUFDN0MsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxNQUFNLEVBQUU7WUFDVixTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPO1lBQ0wscUJBQXFCLEVBQUUsU0FBUztZQUNoQyxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFJTyxNQUFNLENBQUMsaUJBQWlC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LEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ3hCLGlCQUF5QixFQUN6QixlQUF5QixFQUFFO1FBRS9CLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlNLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BR0M7UUFFRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFRLENBQUM7UUFFMUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUU1RCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFvQk8sWUFBWSxDQUFDLE9BQWU7UUFDbEMsT0FBTyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxFQUFFO1lBQzFELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQ7OztPQUdHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUlELElBQUksWUFBWTtRQUNsQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksYUFBYTtRQUNuQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksVUFBVTtRQUNoQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLGNBQWM7UUFDcEIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBSUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdFQUFnRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyAgIF8sIC8qICovIC8qICovICAgIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCB0eXBlIENvbW1vbkNvbW1pdE1zZ0JyYW5jaCA9XG4gIHwgJ3JlZmFjdG9yJ1xuICB8ICdjaG9yZSdcbiAgfCAnc3R5bGUnXG4gIHwgJ2RvY3MnXG4gIHwgJ3Rlc3QnXG4gIHwgJ2NpJ1xuICB8ICdidWlsZCdcbiAgfCAncmVsZWFzZSc7XG5leHBvcnQgdHlwZSBUeXBlT2ZDb21taXQgPVxuICB8ICdmZWF0dXJlJ1xuICB8ICdidWdmaXgnXG4gIHwgJ3BlcmZvcm1hbmNlJ1xuICB8IENvbW1vbkNvbW1pdE1zZ0JyYW5jaDtcbmV4cG9ydCB0eXBlIFR5cGVPZk1zZ1ByZWZpeCA9ICdmZWF0JyB8ICdmaXgnIHwgJ3BlcmYnIHwgQ29tbW9uQ29tbWl0TXNnQnJhbmNoO1xuY29uc3QgcmVnZXhUZWFtc0lEOiBSZWdFeHAgPSAvW0EtWjAtOV0rXFwjLztcblxuY29uc3QgcmVnZXhDb21taXRNb2R1bGVJbkFyZ3M6IFJlZ0V4cCA9IC9cXFtbYS16fFxcLXxcXCxdK1xcXS87XG5jb25zdCByZWdleENvbW1pdE1vZHVsZUluQnJhbmNoOiBSZWdFeHAgPSAvXFwtXFwtW2EtenxcXC18XFxfXStcXC1cXC0vO1xuXG5leHBvcnQgY2xhc3MgQ29tbWl0RGF0YSB7XG5cblxuXG4gIHByaXZhdGUgc3RhdGljIGNsZWFuSHR0cEZyb21Db21taXRNZXNzYWdlKGNvbW1pdE1zZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbW1pdE1zZykge1xuICAgICAgcmV0dXJuIGNvbW1pdE1zZztcbiAgICB9XG4gICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UoJ2h0dHBzOi8vJywgJycpO1xuICAgIGNvbW1pdE1zZyA9IGNvbW1pdE1zZy5yZXBsYWNlKCdodHRwOi8vJywgJycpO1xuICAgIHJldHVybiBjb21taXRNc2c7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0VGVhbXNJZEZyb20oY29tbWl0TXNnOiBzdHJpbmcpIHtcbiAgICBsZXQgdGVhbUlEID0gXy5maXJzdChjb21taXRNc2cubWF0Y2gocmVnZXhUZWFtc0lEKSk7XG4gICAgaWYgKHRlYW1JRCkge1xuICAgICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UodGVhbUlELCAnJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb21taXRNc2dPckJyYW5jaE5hbWU6IGNvbW1pdE1zZyxcbiAgICAgIHRlYW1JRCxcbiAgICB9O1xuICB9XG5cblxuXG4gIHByaXZhdGUgc3RhdGljIGdldE1vZHVsZU5hbWVGcm9tKGNvbW1pdE1zZzogc3RyaW5nKSB7XG4gICAgbGV0IGNvbW1pdE1vZHVsZU5hbWUgPSBfLmZpcnN0KGNvbW1pdE1zZy5tYXRjaChyZWdleENvbW1pdE1vZHVsZUluQXJncykpO1xuICAgIGlmIChjb21taXRNb2R1bGVOYW1lKSB7XG4gICAgICBjb21taXRNc2cgPSBjb21taXRNc2cucmVwbGFjZShjb21taXRNb2R1bGVOYW1lLCAnJyk7XG4gICAgfVxuICAgIGNvbW1pdE1vZHVsZU5hbWUgPSBjb21taXRNb2R1bGVOYW1lPy5yZXBsYWNlKC9cXFsvZywgJycpLnJlcGxhY2UoL1xcXS9nLCAnJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1pdE1zZyxcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWUsXG4gICAgfTtcbiAgfVxuXG5cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgamlyYXMgKGZyb20gb2xkZXN0IHRvIG5ld3NldClcbiAgICovXG4gIHN0YXRpYyBleHRyYWN0QW5kT3JkZXJKaXJhTnVtYmVycyhjb21taXRPckJyYW5jaE5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGF0aWMgY2xlYW5NZXNzYWdlRnJvbUppcmFOdW1UZWFtSWRFdGMoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG9wdGlub3M/OiB7XG4gICAgICB0ZWFtSUQ6IHN0cmluZztcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgICAgIGppcmFOdW1iZXJzOiBzdHJpbmdbXTtcbiAgICB9LFxuICApOiBzdHJpbmcge1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlIHx8ICcnO1xuICAgIGxldCB7IHRlYW1JRCwgY29tbWl0TW9kdWxlTmFtZSwgamlyYU51bWJlcnMgfSA9IG9wdGlub3MgfHwge307XG4gICAgdGVhbUlEID0gdGVhbUlEIHx8IHRoaXMuZ2V0VGVhbXNJZEZyb20obWVzc2FnZSkudGVhbUlEIHx8ICcnO1xuICAgIGNvbW1pdE1vZHVsZU5hbWUgPVxuICAgICAgY29tbWl0TW9kdWxlTmFtZSB8fFxuICAgICAgdGhpcy5nZXRNb2R1bGVOYW1lRnJvbShtZXNzYWdlKS5jb21taXRNb2R1bGVOYW1lIHx8XG4gICAgICAnJztcbiAgICBqaXJhTnVtYmVycyA9IGppcmFOdW1iZXJzIHx8IHRoaXMuZXh0cmFjdEFuZE9yZGVySmlyYU51bWJlcnMobWVzc2FnZSkgfHwgW107XG5cbiAgICBpZiAoISF0ZWFtSUQudHJpbSgpKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHRlYW1JRC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSh0ZWFtSUQudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSwgJyAnKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGppcmEgb2YgamlyYU51bWJlcnMgfHwgW10pIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoamlyYS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShqaXJhLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEudG9Mb3dlckNhc2UoKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkFyZ3MsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHJlZ2V4Q29tbWl0TW9kdWxlSW5CcmFuY2gsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKTtcbiAgICB9XG5cbiAgICBpZiAoISF0ZWFtSUQudHJpbSgpKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXF8vZywgJyAnKTtcbiAgICB9XG4gICAgaWYgKCEhY29tbWl0TW9kdWxlTmFtZS50cmltKCkpIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXC0vZywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXCwvZywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXCwvZywgJ18nKSwgJyAnKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VcbiAgICAgIC5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKVxuICAgICAgLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwgXFwgL2csICcgJyk7XG4gIH1cblxuXG5cblxuICBwcml2YXRlIHN0YXRpYyBnZXRNb2R1bGVOYW1lRnJvbUJyYW5jaChicmFuY2hOYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgY29tbWl0TW9kdWxlTmFtZSA9IF8uZmlyc3QoYnJhbmNoTmFtZS5tYXRjaChyZWdleENvbW1pdE1vZHVsZUluQnJhbmNoKSk7XG4gICAgaWYgKGNvbW1pdE1vZHVsZU5hbWUpIHtcbiAgICAgIGJyYW5jaE5hbWUgPSBicmFuY2hOYW1lLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZSwgJycpO1xuICAgICAgY29tbWl0TW9kdWxlTmFtZSA9IGNvbW1pdE1vZHVsZU5hbWVcbiAgICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICAgID8ucmVwbGFjZSgvXFwtXFwtJC8sICcnKTtcbiAgICAgIGlmIChjb21taXRNb2R1bGVOYW1lLnN0YXJ0c1dpdGgoJy0nKSkge1xuICAgICAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9eXFwtLywgJycpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZVxuICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICA/LnJlcGxhY2UoL1xcLVxcLSQvLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXF8vLCAnLCcpO1xuXG4gICAgcmV0dXJuIHsgY29tbWl0TW9kdWxlTmFtZSB9O1xuICB9XG5cblxuXG4gIHN0YXRpYyBhc3luYyBnZXRGcm9tQXJncyhhcmdzOiBzdHJpbmdbXSwgdHlwZU9mQ29tbWl0OiBUeXBlT2ZDb21taXQpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGFzeW5jIGdldEZyb21CcmFuY2goXG4gICAgY3VycmVudEJyYW5jaE5hbWU6IHN0cmluZyxcbiAgICByZWxlYXNlV29yZHM6IHN0cmluZ1tdID0gW10sXG4gICk6IFByb21pc2U8Q29tbWl0RGF0YT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbShcbiAgICBvcHRpb25zOiBQaWNrPFxuICAgICAgQ29tbWl0RGF0YSxcbiAgICAgICdtZXNzYWdlJyB8ICdqaXJhTnVtYmVycycgfCAndHlwZU9mQ29tbWl0JyB8ICdjb21taXRNb2R1bGVOYW1lJyB8ICd0ZWFtSUQnXG4gICAgPixcbiAgKTogQ29tbWl0RGF0YSB7XG4gICAgb3B0aW9ucyA9IChvcHRpb25zID8gb3B0aW9ucyA6IHt9KSBhcyBhbnk7XG5cbiAgICBjb25zdCBvcHQgPSBfLm1lcmdlKG5ldyBDb21taXREYXRhKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcblxuICAgIHJldHVybiBvcHQ7XG4gIH1cblxuXG5cblxuXG4gIHByaXZhdGUgX21lc3NhZ2U6IHN0cmluZztcbiAgdHlwZU9mQ29tbWl0OiBUeXBlT2ZDb21taXQ7XG4gIC8qKlxuICAgKiBleC4gSklSQS0yMTMyIG9yIE1ZSklSQVJFRklYLTIzNDIzNFxuICAgKi9cbiAgamlyYU51bWJlcnM6IHN0cmluZ1tdO1xuXG4gIHJlYWRvbmx5IGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVhbUlEOiBzdHJpbmc7XG5cblxuXG5cblxuICBwcml2YXRlIGNsZWFyTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBDb21taXREYXRhLmNsZWFuTWVzc2FnZUZyb21KaXJhTnVtVGVhbUlkRXRjKG1lc3NhZ2UsIHtcbiAgICAgIHRlYW1JRDogdGhpcy50ZWFtSUQsXG4gICAgICBjb21taXRNb2R1bGVOYW1lOiB0aGlzLmNvbW1pdE1vZHVsZU5hbWUsXG4gICAgICBqaXJhTnVtYmVyczogdGhpcy5qaXJhTnVtYmVycyxcbiAgICB9KTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogcHVyZSBtZXNzYWdlIHdoYXQgd2FzIGRvbmUgKHdpdGhvdXQgamlyYSBvciBwcmVmaXhlcylcbiAgICogPT4gaXMgaW5jbHVkZWQgaW4gdGhpcy5jb21taXRNZXNzYWdlXG4gICAqL1xuICBnZXQgbWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jbGVhck1lc3NhZ2UodGhpcy5fbWVzc2FnZSk7XG4gIH1cbiAgc2V0IG1lc3NhZ2UobWVzc2FnZSkge1xuICAgIHRoaXMuX21lc3NhZ2UgPSB0aGlzLmNsZWFyTWVzc2FnZShtZXNzYWdlKTtcbiAgfVxuXG5cblxuICBnZXQgYnJhbmNoUHJlZml4KCk6IFR5cGVPZk1zZ1ByZWZpeCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgY29tbWl0TWVzc2FnZSgpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGJyYW5jaE5hbWUoKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNBY3Rpb25Db21taXQoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NvbW1pdC1kYXRhLnRzIl19
609
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvY29tbWl0LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFLLE1BQU0sa0JBQWtCLENBQUMsQ0FBQSxLQUFLO0FBWTVELE1BQU0sOEJBQThCLEdBQUc7SUFDckMsSUFBSTtDQU1MLENBQUM7QUF3QkYsTUFBTSxZQUFZLEdBQVcsYUFBYSxDQUFDO0FBRTNDLE1BQU0sdUJBQXVCLEdBQVcsa0JBQWtCLENBQUM7QUFDM0QsTUFBTSx5QkFBeUIsR0FBVyxzQkFBc0IsQ0FBQztBQUVqRSxNQUFNLE9BQU8sVUFBVTtJQUliLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxTQUFpQjtRQUN6RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBSU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFpQjtRQUM3QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNwRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPO1lBQ0wscUJBQXFCLEVBQUUsU0FBUztZQUNoQyxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFJTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsU0FBaUI7UUFDaEQsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsZ0JBQWdCLEdBQUcsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLE9BQU87WUFDTCxTQUFTO1lBQ1QsZ0JBQWdCO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBSUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLGtCQUEwQjtRQUM5RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsc0NBQXNDO0lBQzNDOzs7O09BSUc7SUFDSCxrQkFBMEIsRUFDMUIsYUFBc0I7UUFFMUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FDckMsT0FBZSxFQUNmLE9BS0M7UUFFRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIs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LEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDeEIsaUJBQXlCLEVBQ3pCLE9BVUM7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJTSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQVFDO1FBRUQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBUSxDQUFDO1FBRTFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBa0JPLFlBQVksQ0FBQyxPQUFlO1FBQ2xDLE9BQU8sVUFBVSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sRUFBRTtZQUMxRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtTQUN0RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQ7OztPQUdHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUlELElBQUksWUFBWTtRQUNsQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOztPQUVHO0lBQ0gsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksdUJBQXVCLENBQUMsS0FBZTtRQUN6QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBa0J6QyxDQUFDO0lBTUQsSUFBSSxhQUFhO1FBQ25CLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxVQUFVO1FBQ2hCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksY0FBYztRQUNwQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0VBQWdFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgICBfLCAvKiAqLyAvKiAqLyAgICB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcbmltcG9ydCB7IHBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuXG5cbmNvbnN0IG9wZW5Tb3VyY2VQcm92aWRlcnNJc3N1ZVByZWZpeCA9IFtcbiAgJ0dIJyxcblxuXG5cblxuXG5dO1xuXG5cblxuZXhwb3J0IHR5cGUgQ29tbW9uQ29tbWl0TXNnQnJhbmNoID1cbiAgfCAncmVmYWN0b3InXG4gIHwgJ2Nob3JlJ1xuICB8ICdzdHlsZSdcbiAgfCAnZG9jcydcbiAgfCAndGVzdCdcbiAgfCAnY2knXG4gIHwgJ2J1aWxkJ1xuICB8ICdyZWxlYXNlJztcblxuXG5cbmV4cG9ydCB0eXBlIFR5cGVPZkNvbW1pdCA9XG4gIHwgJ2ZlYXR1cmUnXG4gIHwgJ2J1Z2ZpeCdcbiAgfCAncGVyZm9ybWFuY2UnXG4gIHwgQ29tbW9uQ29tbWl0TXNnQnJhbmNoO1xuXG5cbmV4cG9ydCB0eXBlIFR5cGVPZk1zZ1ByZWZpeCA9ICdmZWF0JyB8ICdmaXgnIHwgJ3BlcmYnIHwgQ29tbW9uQ29tbWl0TXNnQnJhbmNoO1xuY29uc3QgcmVnZXhUZWFtc0lEOiBSZWdFeHAgPSAvW0EtWjAtOV0rXFwjLztcblxuY29uc3QgcmVnZXhDb21taXRNb2R1bGVJbkFyZ3M6IFJlZ0V4cCA9IC9cXFtbYS16fFxcLXxcXCxdK1xcXS87XG5jb25zdCByZWdleENvbW1pdE1vZHVsZUluQnJhbmNoOiBSZWdFeHAgPSAvXFwtXFwtW2EtenxcXC18XFxfXStcXC1cXC0vO1xuXG5leHBvcnQgY2xhc3MgQ29tbWl0RGF0YSB7XG5cblxuXG4gIHByaXZhdGUgc3RhdGljIGNsZWFuSHR0cEZyb21Db21taXRNZXNzYWdlKGNvbW1pdE1zZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbW1pdE1zZykge1xuICAgICAgcmV0dXJuIGNvbW1pdE1zZztcbiAgICB9XG4gICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UoJ2h0dHBzOi8vJywgJycpO1xuICAgIGNvbW1pdE1zZyA9IGNvbW1pdE1zZy5yZXBsYWNlKCdodHRwOi8vJywgJycpO1xuICAgIHJldHVybiBjb21taXRNc2c7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0VGVhbXNJZEZyb20oY29tbWl0TXNnOiBzdHJpbmcpIHtcbiAgICBsZXQgdGVhbUlEID0gXy5maXJzdChjb21taXRNc2cubWF0Y2gocmVnZXhUZWFtc0lEKSk7XG4gICAgaWYgKHRlYW1JRCkge1xuICAgICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UodGVhbUlELCAnJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb21taXRNc2dPckJyYW5jaE5hbWU6IGNvbW1pdE1zZyxcbiAgICAgIHRlYW1JRCxcbiAgICB9O1xuICB9XG5cblxuXG4gIHByaXZhdGUgc3RhdGljIGdldE1vZHVsZU5hbWVGcm9tKGNvbW1pdE1zZzogc3RyaW5nKSB7XG4gICAgbGV0IGNvbW1pdE1vZHVsZU5hbWUgPSBfLmZpcnN0KGNvbW1pdE1zZy5tYXRjaChyZWdleENvbW1pdE1vZHVsZUluQXJncykpO1xuICAgIGlmIChjb21taXRNb2R1bGVOYW1lKSB7XG4gICAgICBjb21taXRNc2cgPSBjb21taXRNc2cucmVwbGFjZShjb21taXRNb2R1bGVOYW1lLCAnJyk7XG4gICAgfVxuICAgIGNvbW1pdE1vZHVsZU5hbWUgPSBjb21taXRNb2R1bGVOYW1lPy5yZXBsYWNlKC9cXFsvZywgJycpLnJlcGxhY2UoL1xcXS9nLCAnJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1pdE1zZyxcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWUsXG4gICAgfTtcbiAgfVxuXG5cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgamlyYXMgKGZyb20gb2xkZXN0IHRvIG5ld3NldClcbiAgICovXG4gIHN0YXRpYyBleHRyYWN0QW5kT3JkZXJKaXJhTnVtYmVycyhjb21taXRPckJyYW5jaE5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgamlyYXMgKGZyb20gb2xkZXN0IHRvIG5ld3NldClcbiAgICovXG4gIHN0YXRpYyBleHRyYWN0QW5kT3JkZXJJc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyhcbiAgICAvKipcbiAgICAgKiBleGFtcGxlOlxuICAgICAqIGNvbW1pdDogcHJvcGVyIGdpdCBjb21tYW5kcyB0bnAvR0gtOSBkYXJla2Y3Ny90bnAtaGVscGVycy9HSC0xMFxuICAgICAqIGZlYXR1cmUvX190bnAtR0gtOV9fX19kYXJla2Y3N190bnAtaGVscGVycy1HSDEwX18tcHJvcGVyLWdpdC1jb21tYW5kc1xuICAgICAqL1xuICAgIGNvbW1pdE9yQnJhbmNoTmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbnRPcmlnaW4/OiBzdHJpbmcsXG4gICk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGNsZWFuTWVzc2FnZUZyb21KaXJhTnVtVGVhbUlkRXRjKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBvcHRpbm9zPzoge1xuICAgICAgdGVhbUlEOiBzdHJpbmc7XG4gICAgICBjb21taXRNb2R1bGVOYW1lOiBzdHJpbmc7XG4gICAgICBqaXJhTnVtYmVyczogc3RyaW5nW107XG4gICAgICBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0czogc3RyaW5nW107XG4gICAgfSxcbiAgKTogc3RyaW5nIHtcbiAgICBtZXNzYWdlID0gbWVzc2FnZSB8fCAnJztcbiAgICBsZXQgeyB0ZWFtSUQsIGNvbW1pdE1vZHVsZU5hbWUsIGppcmFOdW1iZXJzLCBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyB9ID1cbiAgICAgIG9wdGlub3MgfHwge307XG4gICAgdGVhbUlEID0gdGVhbUlEIHx8IHRoaXMuZ2V0VGVhbXNJZEZyb20obWVzc2FnZSkudGVhbUlEIHx8ICcnO1xuICAgIGNvbW1pdE1vZHVsZU5hbWUgPVxuICAgICAgY29tbWl0TW9kdWxlTmFtZSB8fFxuICAgICAgdGhpcy5nZXRNb2R1bGVOYW1lRnJvbShtZXNzYWdlKS5jb21taXRNb2R1bGVOYW1lIHx8XG4gICAgICAnJztcbiAgICBqaXJhTnVtYmVycyA9IGppcmFOdW1iZXJzIHx8IHRoaXMuZXh0cmFjdEFuZE9yZGVySmlyYU51bWJlcnMobWVzc2FnZSkgfHwgW107XG4gICAgaXNzdWVzRnJvbU90aGVyUHJvamVjdHMgPVxuICAgICAgaXNzdWVzRnJvbU90aGVyUHJvamVjdHMgfHxcbiAgICAgIHRoaXMuZXh0cmFjdEFuZE9yZGVySXNzdWVzRnJvbU90aGVyUHJvamVjdHMobWVzc2FnZSkgfHxcbiAgICAgIFtdO1xuXG4gICAgaWYgKCEhdGVhbUlELnRyaW0oKSkge1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSh0ZWFtSUQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UodGVhbUlELnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksICcgJyk7XG4gICAgfVxuXG5cblxuICAgIGZvciAoY29uc3QgaXNzdWVGcm9tT3RoZXJQcm9qIG9mIGlzc3Vlc0Zyb21PdGhlclByb2plY3RzIHx8IFtdKSB7XG5cblxuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShcbiAgICAgICAgYF9fJHtpc3N1ZUZyb21PdGhlclByb2oucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwtL2csICcgJyl9X19gLFxuICAgICAgICAnICcsXG4gICAgICApO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShpc3N1ZUZyb21PdGhlclByb2osICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKFxuICAgICAgICBpc3N1ZUZyb21PdGhlclByb2oudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSxcbiAgICAgICAgJyAnLFxuICAgICAgKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoXG4gICAgICAgIGlzc3VlRnJvbU90aGVyUHJvai50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLFxuICAgICAgICAnICcsXG4gICAgICApO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShpc3N1ZUZyb21PdGhlclByb2oudG9Mb3dlckNhc2UoKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkFyZ3MsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHJlZ2V4Q29tbWl0TW9kdWxlSW5CcmFuY2gsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGppcmEgb2YgamlyYU51bWJlcnMgfHwgW10pIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoamlyYS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShqaXJhLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEudG9Mb3dlckNhc2UoKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkFyZ3MsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHJlZ2V4Q29tbWl0TW9kdWxlSW5CcmFuY2gsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKTtcbiAgICB9XG5cbiAgICBpZiAoISF0ZWFtSUQudHJpbSgpKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXF8vZywgJyAnKTtcbiAgICB9XG4gICAgaWYgKCEhY29tbWl0TW9kdWxlTmFtZS50cmltKCkpIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXC0vZywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXCwvZywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXCwvZywgJ18nKSwgJyAnKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VcbiAgICAgIC5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKVxuICAgICAgLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwgXFwgL2csICcgJyk7XG4gIH1cblxuXG5cblxuICBwcml2YXRlIHN0YXRpYyBnZXRNb2R1bGVOYW1lRnJvbUJyYW5jaChicmFuY2hOYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgY29tbWl0TW9kdWxlTmFtZSA9IF8uZmlyc3QoYnJhbmNoTmFtZS5tYXRjaChyZWdleENvbW1pdE1vZHVsZUluQnJhbmNoKSk7XG4gICAgaWYgKGNvbW1pdE1vZHVsZU5hbWUpIHtcbiAgICAgIGJyYW5jaE5hbWUgPSBicmFuY2hOYW1lLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZSwgJycpO1xuICAgICAgY29tbWl0TW9kdWxlTmFtZSA9IGNvbW1pdE1vZHVsZU5hbWVcbiAgICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICAgID8ucmVwbGFjZSgvXFwtXFwtJC8sICcnKTtcbiAgICAgIGlmIChjb21taXRNb2R1bGVOYW1lLnN0YXJ0c1dpdGgoJy0nKSkge1xuICAgICAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9eXFwtLywgJycpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZVxuICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICA/LnJlcGxhY2UoL1xcLVxcLSQvLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXF8vLCAnLCcpO1xuXG4gICAgcmV0dXJuIHsgY29tbWl0TW9kdWxlTmFtZSB9O1xuICB9XG5cblxuXG4gIHN0YXRpYyBhc3luYyBnZXRGcm9tQXJncyhcbiAgICBhcmdzOiBzdHJpbmdbXSxcbiAgICBvcHRpb25zOiB7XG4gICAgICB0eXBlT2ZDb21taXQ6IFR5cGVPZkNvbW1pdDtcbiAgICAgIC8qKlxuICAgICAgICogb25seSBuZWVkZWQgd2hlbiBwdXNoIGdpdGh1YlxuICAgICAgICogYW5kIEkgZm9yZ290IHRvIGFkZCBteSB1c2VybmFtZSBiZWZvcmUgaXNzdWVcbiAgICAgICAqIGZpcmVkZXYgcGZpeCBwcm9wZXIgaW5wdXQgbXktcmVwbyMzNDRcbiAgICAgICAqIHRoYXQgc2hvdWxkIGJlXG4gICAgICAgKiBmaXJlZGV2IHBmaXggcHJvcGVyIGlucHV0IG15LXVzZXJuYW1lL215LXJlcG8jMzQ0XG4gICAgICAgKi9cbiAgICAgIGN1cnJlbnRPcmlnaW4/OiBzdHJpbmc7XG4gICAgfSxcbiAgKTogUHJvbWlzZTxDb21taXREYXRhPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGFzeW5jIGdldEZyb21CcmFuY2goXG4gICAgY3VycmVudEJyYW5jaE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgcmVsZWFzZVdvcmRzPzogc3RyaW5nW107XG4gICAgICAvKipcbiAgICAgICAqIG9ubHkgbmVlZGVkIHdoZW4gcHVzaCBnaXRodWJcbiAgICAgICAqIGFuZCBJIGZvcmdvdCB0byBhZGQgbXkgdXNlcm5hbWUgYmVmb3JlIGlzc3VlXG4gICAgICAgKiBmaXJlZGV2IHBmaXggcHJvcGVyIGlucHV0IG15LXJlcG8jMzQ0XG4gICAgICAgKiB0aGF0IHNob3VsZCBiZVxuICAgICAgICogZmlyZWRldiBwZml4IHByb3BlciBpbnB1dCBteS11c2VybmFtZS9teS1yZXBvIzM0NFxuICAgICAgICovXG4gICAgICBjdXJyZW50T3JpZ2luPzogc3RyaW5nO1xuICAgIH0sXG4gICk6IFByb21pc2U8Q29tbWl0RGF0YT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbShcbiAgICBvcHRpb25zOiBQaWNrPFxuICAgICAgQ29tbWl0RGF0YSxcbiAgICAgIHwgJ21lc3NhZ2UnXG4gICAgICB8ICdqaXJhTnVtYmVycydcbiAgICAgIHwgJ3R5cGVPZkNvbW1pdCdcbiAgICAgIHwgJ2NvbW1pdE1vZHVsZU5hbWUnXG4gICAgICB8ICd0ZWFtSUQnXG4gICAgICB8ICdpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cydcbiAgICA+LFxuICApOiBDb21taXREYXRhIHtcbiAgICBvcHRpb25zID0gKG9wdGlvbnMgPyBvcHRpb25zIDoge30pIGFzIGFueTtcblxuICAgIGNvbnN0IG9wdCA9IF8ubWVyZ2UobmV3IENvbW1pdERhdGEoKSwgXy5jbG9uZURlZXAob3B0aW9ucykpO1xuICAgIHJldHVybiBvcHQ7XG4gIH1cblxuXG5cblxuXG4gIHByaXZhdGUgX21lc3NhZ2U6IHN0cmluZztcbiAgdHlwZU9mQ29tbWl0OiBUeXBlT2ZDb21taXQ7XG4gIC8qKlxuICAgKiBleC4gSklSQS0yMTMyIG9yIE1ZSklSQVJFRklYLTIzNDIzNFxuICAgKi9cbiAgamlyYU51bWJlcnM6IHN0cmluZ1tdO1xuXG4gIHJlYWRvbmx5IGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVhbUlEOiBzdHJpbmc7XG5cblxuXG4gIHByaXZhdGUgY2xlYXJNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIENvbW1pdERhdGEuY2xlYW5NZXNzYWdlRnJvbUppcmFOdW1UZWFtSWRFdGMobWVzc2FnZSwge1xuICAgICAgdGVhbUlEOiB0aGlzLnRlYW1JRCxcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWU6IHRoaXMuY29tbWl0TW9kdWxlTmFtZSxcbiAgICAgIGppcmFOdW1iZXJzOiB0aGlzLmppcmFOdW1iZXJzLFxuICAgICAgaXNzdWVzRnJvbU90aGVyUHJvamVjdHM6IHRoaXMuaXNzdWVzRnJvbU90aGVyUHJvamVjdHMsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHB1cmUgbWVzc2FnZSB3aGF0IHdhcyBkb25lICh3aXRob3V0IGppcmEgb3IgcHJlZml4ZXMpXG4gICAqID0+IGlzIGluY2x1ZGVkIGluIHRoaXMuY29tbWl0TWVzc2FnZVxuICAgKi9cbiAgZ2V0IG1lc3NhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xlYXJNZXNzYWdlKHRoaXMuX21lc3NhZ2UpO1xuICB9XG4gIHNldCBtZXNzYWdlKG1lc3NhZ2UpIHtcbiAgICB0aGlzLl9tZXNzYWdlID0gdGhpcy5jbGVhck1lc3NhZ2UobWVzc2FnZSk7XG4gIH1cblxuXG5cbiAgZ2V0IGJyYW5jaFByZWZpeCgpOiBUeXBlT2ZNc2dQcmVmaXgge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGV4LiBmaXJlZGV2L0dILTEyICBkYXJla2Y3Ny90bnAtaGVscGVycy9HSC00XG4gICAqL1xuICBnZXQgaXNzdWVzRnJvbU90aGVyUHJvamVjdHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9faXNzdWVzRnJvbU90aGVyUHJvamVjdHM7XG4gIH1cblxuICBzZXQgaXNzdWVzRnJvbU90aGVyUHJvamVjdHModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fX2lzc3Vlc0Zyb21PdGhlclByb2plY3RzID0gdmFsdWU7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuICB9XG5cbiAgcHJpdmF0ZSBfX2lzc3Vlc0Zyb21PdGhlclByb2plY3RzOiBzdHJpbmdbXTtcblxuXG5cbiAgZ2V0IGNvbW1pdE1lc3NhZ2UoKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBicmFuY2hOYW1lKCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzQWN0aW9uQ29tbWl0KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NvbW1pdC1kYXRhLnRzIl19
@@ -2,7 +2,7 @@ import { _, path } from 'tnp-core/browser';
2
2
  const defaultDb = {
3
3
  projects: [],
4
4
  };
5
- class CoreProject {
5
+ export class CoreProject {
6
6
  static { this.coreProjects = []; }
7
7
  static from(options) {
8
8
  /* */
@@ -57,7 +57,6 @@ class CoreProject {
57
57
  return (this.urlHttp ? this.urlHttp : this.urlSSH) || '';
58
58
  }
59
59
  }
60
- export { CoreProject };
61
60
  export const CoreTypescriptProject = CoreProject.from({
62
61
  branches: ['master', 'develop'],
63
62
  urlHttp: 'https://github.com/microsoft/TypeScript',
@@ -113,4 +112,4 @@ export const CoreAngularProject = CoreProject.from({
113
112
  });
114
113
  ;
115
114
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/core-project.ts
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvcmUtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQWlCOUQsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBdUNGLE1BQWEsV0FBVzthQUlSLGlCQUFZLEdBQXVCLEVBQUUsQUFBekIsQ0FBMEI7SUFJcEQsTUFBTSxDQUFDLElBQUksQ0FDVCxPQUEyRDtRQUUvRCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQU1EO1FBNEJBOztXQUVHO1FBQ0gsaUJBQVksR0FBOEIsRUFBRSxDQUFDO0lBL0J0QixDQUFDO0lBK0N4Qjs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNELENBQUM7O1NBN0dVLFdBQVc7QUFpSHhCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQWM7SUFFakUsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUMvQixPQUFPLEVBQUUseUNBQXlDO0lBQ2xELFlBQVksRUFBRSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMxQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRTtRQUNoQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQ3ZDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUdGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQWM7SUFFOUQsT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBQy9CLE9BQU8sRUFBRSx3Q0FBd0M7SUFDakQsWUFBWSxFQUFFLEVBQUU7SUFDaEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRTtRQUM1QixNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRTtRQUM1QixNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUVGLENBQUMsQ0FBQztBQUVGLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUVBQWlFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgXywgcGF0aCwgY3Jvc3NQbGF0Zm9ybVBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMsIExpYnJhcmllc0J1aWxkT3B0aW9ucyB9IGZyb20gJy4uL2luZGV4JztcblxuXG5cbmV4cG9ydCB0eXBlIENvcmVQcm9qZWN0RW52aXJvbm1lbnQgPSB7XG4gIHNob3J0TmFtZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG9ubGluZUxpbms/OiBzdHJpbmc7XG59O1xuXG5cblxuXG5jb25zdCBkZWZhdWx0RGIgPSB7XG4gIHByb2plY3RzOiBbXSxcbn07XG5cblxuXG5cbmV4cG9ydCB0eXBlIENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3Q+ID0ge1xuICBwcm9qZWN0PzogUFJPSkVDVDtcbiAgLyoqXG4gICAqIHdhdGNoIG1vZGVcbiAgICovXG4gIHdhdGNoPzogYm9vbGVhbjtcbiAgcHJvZD86IGJvb2xlYW47XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgaXNJblJlbGVhc2VQcm9jZXNzPzogYm9vbGVhbjtcbiAgbGlicmFyeUJ1aWxkT3B0aW9ucz86IExpYnJhcmllc0J1aWxkT3B0aW9ucztcbiAgLyoqXG4gICAqIGZpcnN0IGFyZyBmcm9tIGNvbW1hbmQgbGluZVxuICAgKi9cbiAgZmlyc3RBcmc6IHN0cmluZztcbiAgLyoqXG4gICAqIE5vdCBxdWVzdGlvbiBmb3IgdXNlciBleC5cbiAgICogLSBhdXRvbWF0aWMgcHJvY2VzcyBvZiBwYXRjaCByZWxlYXNlXG4gICAqIC0gYXV0b21hdGljIGRlcGxveW1lbnQgZm9yIGRlZmF1bHQgc2VydmVyXG4gICAqL1xuICBhdXRvbWF0aWNQcm9jZXNzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIG9yaWduYWwgYXJncyB3aXRoIHBhcmFtc1xuICAgKi9cbiAgYXJnc1dpdGhQYXJhbXM6IHN0cmluZztcbiAgY29weXRvPzogc3RyaW5nW107XG4gIGNvcHl0b2FsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBhcmdzIGZyb20gY29tbWFuZCBsaW5lIChjbGVhcm4gZnJvbSBwYXJhbXMpXG4gICAqL1xuICBhcmdzOiBzdHJpbmdbXTtcbiAgZXhpdENhbGxiYWNrOiAoKSA9PiB2b2lkO1xufTtcblxuXG5leHBvcnQgY2xhc3MgQ29yZVByb2plY3Q8UFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gQmFzZVByb2plY3Q+IHtcblxuXG5cbiAgcHVibGljIHN0YXRpYyBjb3JlUHJvamVjdHM6IENvcmVQcm9qZWN0PGFueT5bXSA9IFtdO1xuXG5cblxuICBzdGF0aWMgZnJvbTxQcm9qIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdD4oXG4gICAgb3B0aW9uczogT21pdDxDb3JlUHJvamVjdDxQcm9qPiwgJ25hbWUnIHwgJ3VybCcgfCAnYnJhbmNoJz4sXG4gICk6IENvcmVQcm9qZWN0PFByb2o+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cblxuXG5cbiAgZXh0ZW5kcz86IENvcmVQcm9qZWN0PGFueT47XG4gIGNvbG9yPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGNvbG9yIGZvciBwcm9qZWN0IChvcHRpb25hbClcbiAgICovXG4gIHNlY29uZENvbG9yPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGNvbG9yIGZvciBwcm9qZWN0IChvcHRpb25hbClcbiAgICovXG4gIHRoaXJkQ29sb3I/OiBzdHJpbmc7XG4gIG5wbVJlZ2lzdHJ5Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIHNzaCB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICB1cmxTU0g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBodHRwcyB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICB1cmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogbWFpbiBicmFuY2hlcyAtIGZpcnN0IGlzIGRlZmF1bHRcbiAgICovXG4gIGJyYW5jaGVzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIHByb2plY3QgZW52aXJvbm1lbnRzXG4gICAqL1xuICBlbnZpcm9ubWVudHM/OiBDb3JlUHJvamVjdEVudmlyb25tZW50W10gPSBbXTtcblxuXG5cbiAgc3RhcnRDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVsYXNlQ29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIHB1Ymxpc2hDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZGVwbG95Q29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIHRlc3RDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgYnVpbGRDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZG9jc0NvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogZnVuY3Rpb24gdG8gcmVjb2duaXplIHByb2plY3RcbiAgICovXG4gIHJlY29nbml6ZWRGbjogKHByb2plY3Q6IFBST0pFQ1QpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGNvcmUgcG9yamVjdCBuYW1lIGZyb20gcmVwbyBiYXNlbmFtZVxuICAgKi9cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHBhdGguYmFzZW5hbWUodGhpcy51cmwpLnJlcGxhY2UoL1xcLmdpdCQvLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogbWFpbiAoZGVmYXVsdCBmb3IgcmVzZXQpIGJyYW5jaFxuICAgKi9cbiAgZ2V0IGJyYW5jaCgpIHtcbiAgICByZXR1cm4gXy5maXJzdCh0aGlzLmJyYW5jaGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnVybEh0dHAgPyB0aGlzLnVybEh0dHAgOiB0aGlzLnVybFNTSCkgfHwgJyc7XG4gIH1cblxufVxuXG5leHBvcnQgY29uc3QgQ29yZVR5cGVzY3JpcHRQcm9qZWN0ID0gQ29yZVByb2plY3QuZnJvbTxCYXNlUHJvamVjdD4oe1xuXG4gIGJyYW5jaGVzOiBbJ21hc3RlcicsICdkZXZlbG9wJ10sXG4gIHVybEh0dHA6ICdodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQnLFxuICBlbnZpcm9ubWVudHM6IFtdLFxuICByZWNvZ25pemVkRm46IHByb2plY3QgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfSxcbiAgYXN5bmMgc3RhcnRDb21tYW5kKHsgcHJvamVjdCB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfSxcbiAgYXN5bmMgYnVpbGRDb21tYW5kKHsgcHJvamVjdCwgd2F0Y2ggfSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuXG5cbn0pO1xuXG5leHBvcnQgY29uc3QgQ29yZUFuZ3VsYXJQcm9qZWN0ID0gQ29yZVByb2plY3QuZnJvbTxCYXNlUHJvamVjdD4oe1xuXG4gIGV4dGVuZHM6IENvcmVUeXBlc2NyaXB0UHJvamVjdCxcbiAgYnJhbmNoZXM6IFsnbWFzdGVyJywgJ2RldmVsb3AnXSxcbiAgdXJsSHR0cDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXItY2xpJyxcbiAgZW52aXJvbm1lbnRzOiBbXSxcbiAgcmVjb2duaXplZEZuOiBwcm9qZWN0ID0+IHtcbiAgICByZXR1cm4gcHJvamVjdC5oYXNGaWxlKCdhbmd1bGFyLmpzb24nKTtcbiAgfSxcbiAgYXN5bmMgc3RhcnRDb21tYW5kKHsgcHJvamVjdCB9KSB7XG4gICAgYXdhaXQgcHJvamVjdC5ucG1IZWxwZXJzLm1ha2VTdXJlTm9kZU1vZHVsZXNJbnN0YWxsZWQoKTtcbiAgICBjb25zdCBwb3J0ID0gYXdhaXQgcHJvamVjdC5hc3NpZ25GcmVlUG9ydCg0MjAwKTtcbiAgICBwcm9qZWN0LnJ1bihgbnBtLXJ1biBuZyBzZXJ2ZSAtLXBvcnQgJHtwb3J0fWApLnN5bmMoKTtcbiAgfSxcbiAgYXN5bmMgYnVpbGRDb21tYW5kKHsgcHJvamVjdCB9KSB7XG4gICAgYXdhaXQgcHJvamVjdC5ucG1IZWxwZXJzLm1ha2VTdXJlTm9kZU1vZHVsZXNJbnN0YWxsZWQoKTtcbiAgICBwcm9qZWN0LnJ1bihgbnBtLXJ1biBuZyBidWlsZGApLnN5bmMoKTtcbiAgfSxcblxufSk7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jb3JlLXByb2plY3QudHMiXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvcmUtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQWlCOUQsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBdUNGLE1BQU0sT0FBTyxXQUFXO2FBSVIsaUJBQVksR0FBdUIsRUFBRSxBQUF6QixDQUEwQjtJQUlwRCxNQUFNLENBQUMsSUFBSSxDQUNULE9BQTJEO1FBRS9ELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBTUQ7UUE0QkE7O1dBRUc7UUFDSCxpQkFBWSxHQUE4QixFQUFFLENBQUM7SUEvQnRCLENBQUM7SUErQ3hCOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQzs7QUFJSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRWpFLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7SUFDL0IsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxZQUFZLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDMUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDaEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN2QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FHRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRTlELE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUMvQixPQUFPLEVBQUUsd0NBQXdDO0lBQ2pELFlBQVksRUFBRSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRTtRQUN0QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FFRixDQUFDLENBQUM7QUFFRixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IF8sIHBhdGgsIGNyb3NzUGxhdGZvcm1QYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzLCBMaWJyYXJpZXNCdWlsZE9wdGlvbnMgfSBmcm9tICcuLi9pbmRleCc7XG5cblxuXG5leHBvcnQgdHlwZSBDb3JlUHJvamVjdEVudmlyb25tZW50ID0ge1xuICBzaG9ydE5hbWU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBvbmxpbmVMaW5rPzogc3RyaW5nO1xufTtcblxuXG5cblxuY29uc3QgZGVmYXVsdERiID0ge1xuICBwcm9qZWN0czogW10sXG59O1xuXG5cblxuXG5leHBvcnQgdHlwZSBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0PiA9IHtcbiAgcHJvamVjdD86IFBST0pFQ1Q7XG4gIC8qKlxuICAgKiB3YXRjaCBtb2RlXG4gICAqL1xuICB3YXRjaD86IGJvb2xlYW47XG4gIHByb2Q/OiBib29sZWFuO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIGlzSW5SZWxlYXNlUHJvY2Vzcz86IGJvb2xlYW47XG4gIGxpYnJhcnlCdWlsZE9wdGlvbnM/OiBMaWJyYXJpZXNCdWlsZE9wdGlvbnM7XG4gIC8qKlxuICAgKiBmaXJzdCBhcmcgZnJvbSBjb21tYW5kIGxpbmVcbiAgICovXG4gIGZpcnN0QXJnOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOb3QgcXVlc3Rpb24gZm9yIHVzZXIgZXguXG4gICAqIC0gYXV0b21hdGljIHByb2Nlc3Mgb2YgcGF0Y2ggcmVsZWFzZVxuICAgKiAtIGF1dG9tYXRpYyBkZXBsb3ltZW50IGZvciBkZWZhdWx0IHNlcnZlclxuICAgKi9cbiAgYXV0b21hdGljUHJvY2Vzcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBvcmlnbmFsIGFyZ3Mgd2l0aCBwYXJhbXNcbiAgICovXG4gIGFyZ3NXaXRoUGFyYW1zOiBzdHJpbmc7XG4gIGNvcHl0bz86IHN0cmluZ1tdO1xuICBjb3B5dG9hbGw/OiBib29sZWFuO1xuICAvKipcbiAgICogYXJncyBmcm9tIGNvbW1hbmQgbGluZSAoY2xlYXJuIGZyb20gcGFyYW1zKVxuICAgKi9cbiAgYXJnczogc3RyaW5nW107XG4gIGV4aXRDYWxsYmFjazogKCkgPT4gdm9pZDtcbn07XG5cblxuZXhwb3J0IGNsYXNzIENvcmVQcm9qZWN0PFBST0pFQ1QgZXh0ZW5kcyBCYXNlUHJvamVjdCA9IEJhc2VQcm9qZWN0PiB7XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgY29yZVByb2plY3RzOiBDb3JlUHJvamVjdDxhbnk+W10gPSBbXTtcblxuXG5cbiAgc3RhdGljIGZyb208UHJvaiBleHRlbmRzIEJhc2VQcm9qZWN0ID0gQmFzZVByb2plY3Q+KFxuICAgIG9wdGlvbnM6IE9taXQ8Q29yZVByb2plY3Q8UHJvaj4sICduYW1lJyB8ICd1cmwnIHwgJ2JyYW5jaCc+LFxuICApOiBDb3JlUHJvamVjdDxQcm9qPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XG5cblxuXG4gIGV4dGVuZHM/OiBDb3JlUHJvamVjdDxhbnk+O1xuICBjb2xvcj86IHN0cmluZztcbiAgLyoqXG4gICAqIHNlY29uZCBjb2xvciBmb3IgcHJvamVjdCAob3B0aW9uYWwpXG4gICAqL1xuICBzZWNvbmRDb2xvcj86IHN0cmluZztcbiAgLyoqXG4gICAqIHNlY29uZCBjb2xvciBmb3IgcHJvamVjdCAob3B0aW9uYWwpXG4gICAqL1xuICB0aGlyZENvbG9yPzogc3RyaW5nO1xuICBucG1SZWdpc3RyeT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzc2ggdXJsIGZvciBnaXQgcmVwb1xuICAgKi9cbiAgdXJsU1NIPzogc3RyaW5nO1xuICAvKipcbiAgICogaHR0cHMgdXJsIGZvciBnaXQgcmVwb1xuICAgKi9cbiAgdXJsSHR0cD86IHN0cmluZztcbiAgLyoqXG4gICAqIG1haW4gYnJhbmNoZXMgLSBmaXJzdCBpcyBkZWZhdWx0XG4gICAqL1xuICBicmFuY2hlczogc3RyaW5nW107XG4gIC8qKlxuICAgKiBwcm9qZWN0IGVudmlyb25tZW50c1xuICAgKi9cbiAgZW52aXJvbm1lbnRzPzogQ29yZVByb2plY3RFbnZpcm9ubWVudFtdID0gW107XG5cblxuXG4gIHN0YXJ0Q29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIHJlbGFzZUNvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBwdWJsaXNoQ29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIGRlcGxveUNvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICB0ZXN0Q29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIGJ1aWxkQ29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIGRvY3NDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgLyoqXG4gICAqIGZ1bmN0aW9uIHRvIHJlY29nbml6ZSBwcm9qZWN0XG4gICAqL1xuICByZWNvZ25pemVkRm46IChwcm9qZWN0OiBQUk9KRUNUKSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBjb3JlIHBvcmplY3QgbmFtZSBmcm9tIHJlcG8gYmFzZW5hbWVcbiAgICovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiBwYXRoLmJhc2VuYW1lKHRoaXMudXJsKS5yZXBsYWNlKC9cXC5naXQkLywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIG1haW4gKGRlZmF1bHQgZm9yIHJlc2V0KSBicmFuY2hcbiAgICovXG4gIGdldCBicmFuY2goKSB7XG4gICAgcmV0dXJuIF8uZmlyc3QodGhpcy5icmFuY2hlcyk7XG4gIH1cblxuICAvKipcbiAgICogdXJsIGZvciBnaXQgcmVwb1xuICAgKi9cbiAgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy51cmxIdHRwID8gdGhpcy51cmxIdHRwIDogdGhpcy51cmxTU0gpIHx8ICcnO1xuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IENvcmVUeXBlc2NyaXB0UHJvamVjdCA9IENvcmVQcm9qZWN0LmZyb208QmFzZVByb2plY3Q+KHtcblxuICBicmFuY2hlczogWydtYXN0ZXInLCAnZGV2ZWxvcCddLFxuICB1cmxIdHRwOiAnaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0JyxcbiAgZW52aXJvbm1lbnRzOiBbXSxcbiAgcmVjb2duaXplZEZuOiBwcm9qZWN0ID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH0sXG4gIGFzeW5jIHN0YXJ0Q29tbWFuZCh7IHByb2plY3QgfSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH0sXG4gIGFzeW5jIGJ1aWxkQ29tbWFuZCh7IHByb2plY3QsIHdhdGNoIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfSxcblxuXG59KTtcblxuZXhwb3J0IGNvbnN0IENvcmVBbmd1bGFyUHJvamVjdCA9IENvcmVQcm9qZWN0LmZyb208QmFzZVByb2plY3Q+KHtcblxuICBleHRlbmRzOiBDb3JlVHlwZXNjcmlwdFByb2plY3QsXG4gIGJyYW5jaGVzOiBbJ21hc3RlcicsICdkZXZlbG9wJ10sXG4gIHVybEh0dHA6ICdodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyLWNsaScsXG4gIGVudmlyb25tZW50czogW10sXG4gIHJlY29nbml6ZWRGbjogcHJvamVjdCA9PiB7XG4gICAgcmV0dXJuIHByb2plY3QuaGFzRmlsZSgnYW5ndWxhci5qc29uJyk7XG4gIH0sXG4gIGFzeW5jIHN0YXJ0Q29tbWFuZCh7IHByb2plY3QgfSkge1xuICAgIGF3YWl0IHByb2plY3QubnBtSGVscGVycy5tYWtlU3VyZU5vZGVNb2R1bGVzSW5zdGFsbGVkKCk7XG4gICAgY29uc3QgcG9ydCA9IGF3YWl0IHByb2plY3QuYXNzaWduRnJlZVBvcnQoNDIwMCk7XG4gICAgcHJvamVjdC5ydW4oYG5wbS1ydW4gbmcgc2VydmUgLS1wb3J0ICR7cG9ydH1gKS5zeW5jKCk7XG4gIH0sXG4gIGFzeW5jIGJ1aWxkQ29tbWFuZCh7IHByb2plY3QgfSkge1xuICAgIGF3YWl0IHByb2plY3QubnBtSGVscGVycy5tYWtlU3VyZU5vZGVNb2R1bGVzSW5zdGFsbGVkKCk7XG4gICAgcHJvamVjdC5ydW4oYG5wbS1ydW4gbmcgYnVpbGRgKS5zeW5jKCk7XG4gIH0sXG5cbn0pO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY29yZS1wcm9qZWN0LnRzIl19
@@ -70,4 +70,4 @@ export class LinkedPorjectsConfig {
70
70
  }
71
71
  ;
72
72
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUErQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUN4QixJQUFLLGFBQXFCLEVBQUUsRUFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDSixDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7WUFDakMsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQzFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtZQUM3QixVQUFVLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztTQUNyQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFJRCxNQUFNLENBQUMsUUFBUSxDQUNiLFdBQW1CLEVBQ25CLGdCQUF5QixFQUN6QixhQUFzQjtRQUV0QixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUMvQixHQUFHLFdBQVcsTUFBTSxDQUNyQjtZQUNELGFBQWEsRUFBRSxhQUFhO1lBQzVCLGlCQUFpQixFQUFFLFdBQVc7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBc0IsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUN6RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFzQkQ7O09BRUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztDQUlGO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXNDO1FBQ2hELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUNoQyxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNqRDtZQUNELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBSUgsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssb0JBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQVFGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXywgY3Jvc3NQbGF0Zm9ybVBhdGgsIHBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQcm9qZWN0IHtcblxuXG5cbiAgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxMaW5rZWRQcm9qZWN0Pikge1xuICAgIGNvbnN0IGxpbmtlZFByb2ogPSBfLm1lcmdlKFxuICAgICAgbmV3IChMaW5rZWRQcm9qZWN0IGFzIGFueSkoKSxcbiAgICAgIF8uY2xvbmVEZWVwKG9wdGlvbnMpLFxuICAgICkgYXMgTGlua2VkUHJvamVjdDtcbiAgICBpZiAoIWxpbmtlZFByb2oucmVsYXRpdmVDbG9uZVBhdGgpIHtcbiAgICAgIGxpbmtlZFByb2oucmVsYXRpdmVDbG9uZVBhdGggPSBwYXRoLmJhc2VuYW1lKFxuICAgICAgICBsaW5rZWRQcm9qLnJlbW90ZVVybCgpLnJlcGxhY2UoJy5naXQnLCAnJyksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWxpbmtlZFByb2ouZGVhZnVsdEJyYW5jaCkge1xuICAgICAgbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoID0gJ21hc3Rlcic7XG4gICAgfVxuICAgIHJldHVybiBsaW5rZWRQcm9qO1xuICB9XG5cblxuXG4gIHN0YXRpYyBmcm9tTmFtZShcbiAgICBwcm9qZWN0TmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbnRSZW1vdGVVcmw/OiBzdHJpbmcsXG4gICAgY3VycmVudEJyYW5jaD86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbSh7XG4gICAgICByZXBvVXJsOiBjdXJyZW50UmVtb3RlVXJsPy5yZXBsYWNlKFxuICAgICAgICBwYXRoLmJhc2VuYW1lKGN1cnJlbnRSZW1vdGVVcmwpLFxuICAgICAgICBgJHtwcm9qZWN0TmFtZX0uZ2l0YCxcbiAgICAgICksXG4gICAgICBkZWFmdWx0QnJhbmNoOiBjdXJyZW50QnJhbmNoLFxuICAgICAgcmVsYXRpdmVDbG9uZVBhdGg6IHByb2plY3ROYW1lLFxuICAgIH0pO1xuICB9XG5cblxuXG4gIHN0YXRpYyBkZXRlY3QoaW5zaWRlTG9jYXRpb246IHN0cmluZywgcmVjdXJzaXZlID0gZmFsc2UpOiBMaW5rZWRQcm9qZWN0W10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cbiAgLyoqXG4gICAqIHNvbWV0aW1lIHRoZXJlIGlzIHByb2plY3QgdGhhdCBoYXMgb25lIHByb2plY3RcbiAgICogZW1iZWRlIGluc2lkZSBhbm90aGVyIHByb2plY3RcbiAgICovXG4gIGludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxTc2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBkb24ndCBhY2Nlc3MgZGlyZWN0bHksIHVzZSByZW1vdGVVcmwoKSBpbnN0ZWFkXG4gICAqL1xuICByZXBvVXJsSHR0cD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9Vcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICBwdWJsaWMgcmVtb3RlVXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucmVwb1VybCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybDtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVwb1VybEh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLnJlcG9VcmxIdHRwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXBvVXJsU3NoO1xuICB9XG4gIGRlYWZ1bHRCcmFuY2g/OiBzdHJpbmc7XG4gIHB1cnBvc2U/OiBzdHJpbmc7XG4gIHJlbGF0aXZlQ2xvbmVQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTGlua2VkUG9yamVjdHNDb25maWcge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFBvcmplY3RzQ29uZmlnPikge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMucHJvamVjdHMgPSAob3B0aW9ucy5wcm9qZWN0cyB8fCBbXSkubWFwKGxpbmtlZFByb2pPcm5hbWUgPT4ge1xuICAgICAgaWYgKF8uaXNTdHJpbmcobGlua2VkUHJvak9ybmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvak9ybmFtZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tKGxpbmtlZFByb2pPcm5hbWUpO1xuICAgIH0pO1xuXG5cblxuICAgIHJldHVybiBfLm1lcmdlKG5ldyAoTGlua2VkUG9yamVjdHNDb25maWcgYXMgYW55KSgpLCBfLmNsb25lRGVlcChvcHRpb25zKSk7XG4gIH1cblxuXG5cbiAgcHJlZml4Pzogc3RyaW5nO1xuICBza2lwUmVjcnVzaXZlUHVzaD86IGJvb2xlYW47XG4gIHJlc2V0T25seUNoaWxkcmVuPzogYm9vbGVhbjtcbiAgcHJvamVjdHM6IExpbmtlZFByb2plY3RbXTtcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2xpbmtlZC1wcm9qZWN0LnRzIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUErQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUN4QixJQUFLLGFBQXFCLEVBQUUsRUFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDSixDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsQyxVQUFVLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDMUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQzNDLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixVQUFVLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxRQUFRLENBQ2IsV0FBbUIsRUFDbkIsZ0JBQXlCLEVBQ3pCLGFBQXNCO1FBRXRCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQy9CLEdBQUcsV0FBVyxNQUFNLENBQ3JCO1lBQ0QsYUFBYSxFQUFFLGFBQWE7WUFDNUIsaUJBQWlCLEVBQUUsV0FBVztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFzQixFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQ3pELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQXNCRDs7T0FFRztJQUNJLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FJRjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFzQztRQUNoRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFJSCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSyxvQkFBNEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBUUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1FQUFtRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfLCBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcblxuZXhwb3J0IGNsYXNzIExpbmtlZFByb2plY3Qge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFByb2plY3Q+KSB7XG4gICAgY29uc3QgbGlua2VkUHJvaiA9IF8ubWVyZ2UoXG4gICAgICBuZXcgKExpbmtlZFByb2plY3QgYXMgYW55KSgpLFxuICAgICAgXy5jbG9uZURlZXAob3B0aW9ucyksXG4gICAgKSBhcyBMaW5rZWRQcm9qZWN0O1xuICAgIGlmICghbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCkge1xuICAgICAgbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCA9IHBhdGguYmFzZW5hbWUoXG4gICAgICAgIGxpbmtlZFByb2oucmVtb3RlVXJsKCkucmVwbGFjZSgnLmdpdCcsICcnKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoKSB7XG4gICAgICBsaW5rZWRQcm9qLmRlYWZ1bHRCcmFuY2ggPSAnbWFzdGVyJztcbiAgICB9XG4gICAgcmV0dXJuIGxpbmtlZFByb2o7XG4gIH1cblxuXG5cbiAgc3RhdGljIGZyb21OYW1lKFxuICAgIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gICAgY3VycmVudFJlbW90ZVVybD86IHN0cmluZyxcbiAgICBjdXJyZW50QnJhbmNoPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tKHtcbiAgICAgIHJlcG9Vcmw6IGN1cnJlbnRSZW1vdGVVcmw/LnJlcGxhY2UoXG4gICAgICAgIHBhdGguYmFzZW5hbWUoY3VycmVudFJlbW90ZVVybCksXG4gICAgICAgIGAke3Byb2plY3ROYW1lfS5naXRgLFxuICAgICAgKSxcbiAgICAgIGRlYWZ1bHRCcmFuY2g6IGN1cnJlbnRCcmFuY2gsXG4gICAgICByZWxhdGl2ZUNsb25lUGF0aDogcHJvamVjdE5hbWUsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGRldGVjdChpbnNpZGVMb2NhdGlvbjogc3RyaW5nLCByZWN1cnNpdmUgPSBmYWxzZSk6IExpbmtlZFByb2plY3RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICAvKipcbiAgICogc29tZXRpbWUgdGhlcmUgaXMgcHJvamVjdCB0aGF0IGhhcyBvbmUgcHJvamVjdFxuICAgKiBlbWJlZGUgaW5zaWRlIGFub3RoZXIgcHJvamVjdFxuICAgKi9cbiAgaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybFNzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHB1YmxpYyByZW1vdGVVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5yZXBvVXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvVXJsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXBvVXJsSHR0cCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybEh0dHA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcG9VcmxTc2g7XG4gIH1cbiAgZGVhZnVsdEJyYW5jaD86IHN0cmluZztcbiAgcHVycG9zZT86IHN0cmluZztcbiAgcmVsYXRpdmVDbG9uZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG5cblxuXG4gIHN0YXRpYyBmcm9tKG9wdGlvbnM6IFBhcnRpYWw8TGlua2VkUG9yamVjdHNDb25maWc+KSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgb3B0aW9ucy5wcm9qZWN0cyA9IChvcHRpb25zLnByb2plY3RzIHx8IFtdKS5tYXAobGlua2VkUHJvak9ybmFtZSA9PiB7XG4gICAgICBpZiAoXy5pc1N0cmluZyhsaW5rZWRQcm9qT3JuYW1lKSkge1xuICAgICAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tTmFtZShsaW5rZWRQcm9qT3JuYW1lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb20obGlua2VkUHJvak9ybmFtZSk7XG4gICAgfSk7XG5cblxuXG4gICAgcmV0dXJuIF8ubWVyZ2UobmV3IChMaW5rZWRQb3JqZWN0c0NvbmZpZyBhcyBhbnkpKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcbiAgfVxuXG5cblxuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHNraXBSZWNydXNpdmVQdXNoPzogYm9vbGVhbjtcbiAgcmVzZXRPbmx5Q2hpbGRyZW4/OiBib29sZWFuO1xuICBwcm9qZWN0czogTGlua2VkUHJvamVjdFtdO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXX0=
@@ -86,4 +86,4 @@ export var HelpersAngular;
86
86
  })(HelpersAngular || (HelpersAngular = {}));
87
87
  ;
88
88
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/angular.helper.ts
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3hDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBR3RDLE1BQU0sS0FBVyxjQUFjLENBcUY5QjtBQXJGRCxXQUFpQixjQUFjO0lBRTdCLE1BQWEsaUJBQWlCO1FBQzVCLFlBQ1MsRUFBVTtZQUFWLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixDQUFDO0tBQ047SUFKWSxnQ0FBaUIsb0JBSTdCLENBQUE7SUFHRCxTQUFTLFNBQVMsQ0FBQyxjQUE0QjtRQUM3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDM0MsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUM7U0FDakQ7UUFDRCxPQUFPLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFzQjtRQUM5QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRmUsd0JBQVMsWUFFeEIsQ0FBQTtJQUVEOztPQUVHO0lBQ0gsU0FBZ0IsV0FBVyxDQUFDLFFBQWdDO1FBQzFELElBQUksUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNoQixNQUFNLGtCQUFrQixHQUFHLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLGtCQUFrQixDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBRUQsU0FBZ0IsV0FBVyxDQUFDLFFBQXNCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDdEIsT0FBTywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckQsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBSUQ7Ozs7Ozs7Ozs7Ozs7OztTQWVLO0lBQ0wsU0FBZ0IsUUFBUSxDQUFDLE1BQWM7UUFDckMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkMsT0FBTztZQUNMLFdBQVcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM1QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztxQkFDL0I7aUJBQ0Y7WUFDSCxDQUFDO1lBQ0QsV0FBVyxFQUFFLENBQUMsSUFBWSxFQUFVLEVBQUU7Z0JBQ3BDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUNqRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO3dCQUNwQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3pEO2lCQUNGO1lBQ0gsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBdEJlLHVCQUFRLFdBc0J2QixDQUFBO0FBQ0gsQ0FBQyxFQXJGZ0IsY0FBYyxLQUFkLGNBQWMsUUFxRjlCO0FBSUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrRkFBa0YiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuY29uc3QgY29tcG9uZW50Q29udGV4dFN5bWJvbCA9IFN5bWJvbCgpO1xuY29uc3QgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHMgPSB7fTtcblxuXG5leHBvcnQgbmFtZXNwYWNlIEhlbHBlcnNBbmd1bGFyIHtcblxuICBleHBvcnQgY2xhc3MgU2VyaWFsaXplZFN1YmplY3Q8VD4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGlkOiBzdHJpbmdcbiAgICApIHsgfVxuICB9XG5cblxuICBmdW5jdGlvbiBzdWJqZWN0SWQoZGVzdHJveVN1YmplY3Q6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIGNvbnN0IGlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuICAgIGlmICghZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF0pIHtcbiAgICAgIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdID0gbmV3IFNlcmlhbGl6ZWRTdWJqZWN0KGlkKTtcbiAgICAgIGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzW2lkXSA9IGRlc3Ryb3lTdWJqZWN0O1xuICAgIH1cbiAgICByZXR1cm4gZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF07XG4gIH1cblxuICAvKipcbiAgICogaWYgeW91IGFyZSB1c2luZyB0aGlzLi4gcGxlYXNlIGNhbGwgSGVscGVycy5uZy51bnN1YnNjcmliZSh0aGlzLiRkZXN0cm95KSBpbiBuZ09uRGVzdHJveSgpO1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZShkZXN0cm95JDogU3ViamVjdDxhbnk+KTogU2VyaWFsaXplZFN1YmplY3Q8YW55PiB7XG4gICAgcmV0dXJuIHN1YmplY3RJZChkZXN0cm95JCk7XG4gIH1cblxuICAvKipcbiAgICogaWYgeW91IGFyZSB1c2luZyB0aGlzLi4gcGxlYXNlIGNhbGwgSGVscGVycy5uZy51bnN1YnNjcmliZSh0aGlzLiRkZXN0cm95KSBpbiBuZ09uRGVzdHJveSgpO1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplKGRlc3Ryb3kkOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+KTogU3ViamVjdDxhbnk+IHtcbiAgICBpZiAoZGVzdHJveSQ/LmlkKSB7XG4gICAgICBjb25zdCByZWFsRGVzdHJveVN1YmplY3QgPSBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tkZXN0cm95JC5pZF07XG4gICAgICByZXR1cm4gcmVhbERlc3Ryb3lTdWJqZWN0O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFN1YmplY3QoKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiB1bnN1YnNjcmliZShkZXN0cm95JDogU3ViamVjdDxhbnk+KSB7XG4gICAgY29uc3QgZGVzdHJveVN1YmplY3QgPSBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICAgIGlmIChkZXN0cm95U3ViamVjdD8uaWQpIHtcbiAgICAgIGRlbGV0ZSBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tkZXN0cm95U3ViamVjdC5pZF07XG4gICAgICBkZWxldGUgZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF07XG4gICAgfVxuICB9XG5cblxuXG4gIC8qKlxuICBnZXQgcHJvcGVydGllcyBmcm9tIHNjc3MgZmlsZVxuXG5cbiAgaW1wb3J0IHN0eWxlcyBmcm9tICcuL3Rhc2tzLW5ncngtZGF0YS5jb21wb25lbnQuc2Nzcyc7XG5cbiAgZXhwb3J0IGNsYXNzIEV4YW1wbGVDb21wb25lbnQge1xuICAgIHNhc3NGaWxlID0gc2Fzc0ZpbGUoc3R5bGVzKTtcblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy50YXNrc1NlcnZpY2UuZ2V0QWxsKCk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnNhc3NGaWxlLnN0cmluZ1ZhbHVlKCctLW1heC1jb250YWluZXItc2l6ZScpKVxuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5udW1iZXJWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICB9XG4gIH1cbiAgICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNhc3NGaWxlKHN0eWxlczogc3RyaW5nKSB7XG4gICAgY29uc3QgbGluZXMgPSAoc3R5bGVzLnNwbGl0KCdcXG4nKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0cmluZ1ZhbHVlOiAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBjb25zdCBsID0gbGluZXNbaW5kZXhdO1xuICAgICAgICAgIGNvbnN0IFt2YXJOYW1lLCB2YWx1ZV0gPSBsLnRyaW0oKS5zcGxpdCgnOicpO1xuICAgICAgICAgIGlmICh2YXJOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgnOycsICcnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBudW1iZXJWYWx1ZTogKG5hbWU6IHN0cmluZyk6IG51bWJlciA9PiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBjb25zdCBsID0gbGluZXNbaW5kZXhdO1xuICAgICAgICAgIGNvbnN0IFt2YXJOYW1lLCB2YWx1ZV0gPSBsLnRyaW0oKS5zcGxpdCgnOicpO1xuICAgICAgICAgIGlmICh2YXJOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlLnJlcGxhY2UoJ3B4JywgJycpLnJlcGxhY2UoJzsnLCAnJykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyLnRzIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3hDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBR3RDLE1BQU0sS0FBVyxjQUFjLENBcUY5QjtBQXJGRCxXQUFpQixjQUFjO0lBRTdCLE1BQWEsaUJBQWlCO1FBQzVCLFlBQ1MsRUFBVTtZQUFWLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixDQUFDO0tBQ047SUFKWSxnQ0FBaUIsb0JBSTdCLENBQUE7SUFHRCxTQUFTLFNBQVMsQ0FBQyxjQUE0QjtRQUM3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUM1QyxjQUFjLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixTQUFTLENBQUMsUUFBc0I7UUFDOUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUZlLHdCQUFTLFlBRXhCLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLFdBQVcsQ0FBQyxRQUFnQztRQUMxRCxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNqQixNQUFNLGtCQUFrQixHQUFHLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQU5lLDBCQUFXLGNBTTFCLENBQUE7SUFFRCxTQUFnQixXQUFXLENBQUMsUUFBc0I7UUFDaEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLElBQUksY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBSUQ7Ozs7Ozs7Ozs7Ozs7OztTQWVLO0lBQ0wsU0FBZ0IsUUFBUSxDQUFDLE1BQWM7UUFDckMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkMsT0FBTztZQUNMLFdBQVcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM1QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUNsRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQ3JCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2hDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCxXQUFXLEVBQUUsQ0FBQyxJQUFZLEVBQVUsRUFBRTtnQkFDcEMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDbEQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUNyQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzFELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQXRCZSx1QkFBUSxXQXNCdkIsQ0FBQTtBQUNILENBQUMsRUFyRmdCLGNBQWMsS0FBZCxjQUFjLFFBcUY5QjtBQUlBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0ZBQWtGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbmNvbnN0IGNvbXBvbmVudENvbnRleHRTeW1ib2wgPSBTeW1ib2woKTtcbmNvbnN0IGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzID0ge307XG5cblxuZXhwb3J0IG5hbWVzcGFjZSBIZWxwZXJzQW5ndWxhciB7XG5cbiAgZXhwb3J0IGNsYXNzIFNlcmlhbGl6ZWRTdWJqZWN0PFQ+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBpZDogc3RyaW5nXG4gICAgKSB7IH1cbiAgfVxuXG5cbiAgZnVuY3Rpb24gc3ViamVjdElkKGRlc3Ryb3lTdWJqZWN0OiBTdWJqZWN0PGFueT4pOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+IHtcbiAgICBjb25zdCBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICBpZiAoIWRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdKSB7XG4gICAgICBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXSA9IG5ldyBTZXJpYWxpemVkU3ViamVjdChpZCk7XG4gICAgICBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tpZF0gPSBkZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIHJldHVybiBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZShkZXN0cm95JDogU2VyaWFsaXplZFN1YmplY3Q8YW55Pik6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKGRlc3Ryb3kkPy5pZCkge1xuICAgICAgY29uc3QgcmVhbERlc3Ryb3lTdWJqZWN0ID0gY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveSQuaWRdO1xuICAgICAgcmV0dXJuIHJlYWxEZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTdWJqZWN0KCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdW5zdWJzY3JpYmUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pikge1xuICAgIGNvbnN0IGRlc3Ryb3lTdWJqZWN0ID0gc3ViamVjdElkKGRlc3Ryb3kkKTtcbiAgICBpZiAoZGVzdHJveVN1YmplY3Q/LmlkKSB7XG4gICAgICBkZWxldGUgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveVN1YmplY3QuaWRdO1xuICAgICAgZGVsZXRlIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICAgIH1cbiAgfVxuXG5cblxuICAvKipcbiAgZ2V0IHByb3BlcnRpZXMgZnJvbSBzY3NzIGZpbGVcblxuXG4gIGltcG9ydCBzdHlsZXMgZnJvbSAnLi90YXNrcy1uZ3J4LWRhdGEuY29tcG9uZW50LnNjc3MnO1xuXG4gIGV4cG9ydCBjbGFzcyBFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBzYXNzRmlsZSA9IHNhc3NGaWxlKHN0eWxlcyk7XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMudGFza3NTZXJ2aWNlLmdldEFsbCgpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5zdHJpbmdWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2Fzc0ZpbGUubnVtYmVyVmFsdWUoJy0tbWF4LWNvbnRhaW5lci1zaXplJykpXG4gICAgfVxuICB9XG4gICAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzYXNzRmlsZShzdHlsZXM6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmVzID0gKHN0eWxlcy5zcGxpdCgnXFxuJykpO1xuICAgIHJldHVybiB7XG4gICAgICBzdHJpbmdWYWx1ZTogKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoJzsnLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbnVtYmVyVmFsdWU6IChuYW1lOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZS5yZXBsYWNlKCdweCcsICcnKS5yZXBsYWNlKCc7JywgJycpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlci50cyJdfQ==
@@ -1,5 +1,5 @@
1
1
  const key = Symbol('[firedev-helpers] helper browser key');
2
- class HelpersBrowser {
2
+ export class HelpersBrowser {
3
3
  static { this.callbacks = []; }
4
4
  static onInit(callback) {
5
5
  this.callbacks.push(callback);
@@ -42,7 +42,6 @@ class HelpersBrowser {
42
42
  return HelpersBrowser.inst;
43
43
  }
44
44
  }
45
- export { HelpersBrowser };
46
45
  ;
47
46
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/helpers-browser.ts
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUUxRCxNQUFhLGNBQWM7YUFFVixjQUFTLEdBQUcsRUFBRSxBQUFMLENBQU07SUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFzQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQVksbUJBQW1CO1FBQzdCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBY0QsWUFBb0IsR0FBVztRQVQvQixTQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBRXJCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BDO1lBQ0QsY0FBYyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUlILEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBRWQsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRTtnQkFDN0IsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QztpQkFDSTtnQkFDSCxhQUFhO2dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDM0U7WUFDRCxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBR0osQ0FBQztJQUdELE1BQU0sS0FBSyxRQUFRO1FBQ2pCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDOztTQXpEVSxjQUFjO0FBa0UxQixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1GQUFtRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cblxuXG5jb25zdCBrZXkgPSBTeW1ib2woJ1tmaXJlZGV2LWhlbHBlcnNdIGhlbHBlciBicm93c2VyIGtleScpXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzQnJvd3NlciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2FsbGJhY2tzID0gW107XG4gIHN0YXRpYyBvbkluaXQoY2FsbGJhY2s6IChpbnM6IEhlbHBlcnNCcm93c2VyKSA9PiBhbnkpIHtcbiAgICB0aGlzLmNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGdldCB3aW4oKSB7XG4gICAgbGV0IHdpbiA9IHdpbmRvdztcbiAgICByZXR1cm4gd2luO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGFiSWRTZXNzaW9uU3RvcmFnZSgpIHtcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMud2luLnNlc3Npb25TdG9yYWdlPy50YWJJZCkgfHwgMDtcbiAgfVxuXG4gIHJlYWRvbmx5IHRhYklkOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdDogSGVscGVyc0Jyb3dzZXI7XG4gIGluaXQgPSAoKCkgPT4ge1xuICAgIGNvbnN0IHdpbiA9IHRoaXMud2luO1xuXG4gICAgaWYgKCF3aW5ba2V5XSkge1xuICAgICAgd2luW2tleV0gPSBuZXcgSGVscGVyc0Jyb3dzZXIod2luKTtcbiAgICB9XG4gICAgSGVscGVyc0Jyb3dzZXIuaW5zdCA9IHdpbltrZXldO1xuICB9KSgpO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3Iod2luOiBXaW5kb3cpIHtcblxuICAgIHdpbi5hZGRFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsIChlKSA9PiB7XG4gICAgICB3aW4uc2Vzc2lvblN0b3JhZ2UudGFiSWQgPSB0aGlzLnRhYklkO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcblxuICAgICAgaWYgKHdpbi5zZXNzaW9uU3RvcmFnZT8udGFiSWQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLnRhYklkID0gTnVtYmVyKHdpbi5zZXNzaW9uU3RvcmFnZS50YWJJZCk7XG4gICAgICAgIHdpbi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwidGFiSWRcIik7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLnRhYklkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMCkgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xuICAgICAgfVxuICAgICAgSGVscGVyc0Jyb3dzZXIuY2FsbGJhY2tzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgYyh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH0pXG5cblxuICB9XG5cblxuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIHJldHVybiBIZWxwZXJzQnJvd3Nlci5pbnN0O1xuICB9XG5cbn1cblxuXG5cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXIudHMiXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUUxRCxNQUFNLE9BQU8sY0FBYzthQUVWLGNBQVMsR0FBRyxFQUFFLEFBQUwsQ0FBTTtJQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQXNDO1FBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBWSxtQkFBbUI7UUFDN0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFjRCxZQUFvQixHQUFXO1FBVC9CLFNBQUksR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFFckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNkLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsY0FBYyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUlILEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBRWQsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUM5QixhQUFhO2dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlDLEdBQUcsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7aUJBQ0ksQ0FBQztnQkFDSixhQUFhO2dCQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUUsQ0FBQztZQUNELGNBQWMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFHSixDQUFDO0lBR0QsTUFBTSxLQUFLLFFBQVE7UUFDakIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7O0FBU0YsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRkFBbUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5cblxuY29uc3Qga2V5ID0gU3ltYm9sKCdbZmlyZWRldi1oZWxwZXJzXSBoZWxwZXIgYnJvd3NlciBrZXknKVxuXG5leHBvcnQgY2xhc3MgSGVscGVyc0Jyb3dzZXIge1xuXG4gIHByaXZhdGUgc3RhdGljIGNhbGxiYWNrcyA9IFtdO1xuICBzdGF0aWMgb25Jbml0KGNhbGxiYWNrOiAoaW5zOiBIZWxwZXJzQnJvd3NlcikgPT4gYW55KSB7XG4gICAgdGhpcy5jYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICBnZXQgd2luKCkge1xuICAgIGxldCB3aW4gPSB3aW5kb3c7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRhYklkU2Vzc2lvblN0b3JhZ2UoKSB7XG4gICAgcmV0dXJuIE51bWJlcih0aGlzLndpbi5zZXNzaW9uU3RvcmFnZT8udGFiSWQpIHx8IDA7XG4gIH1cblxuICByZWFkb25seSB0YWJJZDogbnVtYmVyO1xuXG4gIHByaXZhdGUgc3RhdGljIGluc3Q6IEhlbHBlcnNCcm93c2VyO1xuICBpbml0ID0gKCgpID0+IHtcbiAgICBjb25zdCB3aW4gPSB0aGlzLndpbjtcblxuICAgIGlmICghd2luW2tleV0pIHtcbiAgICAgIHdpbltrZXldID0gbmV3IEhlbHBlcnNCcm93c2VyKHdpbik7XG4gICAgfVxuICAgIEhlbHBlcnNCcm93c2VyLmluc3QgPSB3aW5ba2V5XTtcbiAgfSkoKTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHdpbjogV2luZG93KSB7XG5cbiAgICB3aW4uYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLCAoZSkgPT4ge1xuICAgICAgd2luLnNlc3Npb25TdG9yYWdlLnRhYklkID0gdGhpcy50YWJJZDtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgIGlmICh3aW4uc2Vzc2lvblN0b3JhZ2U/LnRhYklkKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE51bWJlcih3aW4uc2Vzc2lvblN0b3JhZ2UudGFiSWQpO1xuICAgICAgICB3aW4uc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcInRhYklkXCIpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApICsgKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcbiAgICAgIH1cbiAgICAgIEhlbHBlcnNCcm93c2VyLmNhbGxiYWNrcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgIGModGhpcyk7XG4gICAgICB9KTtcbiAgICB9KVxuXG5cbiAgfVxuXG5cbiAgc3RhdGljIGdldCBpbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gSGVscGVyc0Jyb3dzZXIuaW5zdDtcbiAgfVxuXG59XG5cblxuXG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyLnRzIl19