tnp-helpers 16.100.7 → 16.100.8

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 (114) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-project-resolver.mjs +32 -1
  3. package/browser/esm2022/lib/base/base-project.mjs +46 -2
  4. package/browser/esm2022/lib/base/core-project.mjs +7 -27
  5. package/browser/esm2022/lib/index.mjs +2 -1
  6. package/browser/esm2022/lib/models.mjs +3 -0
  7. package/browser/fesm2022/tnp-helpers.mjs +81 -25
  8. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  9. package/browser/lib/base/base-project-resolver.d.ts +14 -1
  10. package/browser/lib/base/base-project.d.ts +9 -17
  11. package/browser/lib/base/core-project.d.ts +4 -14
  12. package/browser/lib/index.d.ts +2 -1
  13. package/browser/lib/models.d.ts +17 -0
  14. package/client/esm2022/lib/base/base-project-resolver.mjs +32 -1
  15. package/client/esm2022/lib/base/base-project.mjs +46 -2
  16. package/client/esm2022/lib/base/core-project.mjs +7 -27
  17. package/client/esm2022/lib/index.mjs +2 -1
  18. package/client/esm2022/lib/models.mjs +3 -0
  19. package/client/fesm2022/tnp-helpers.mjs +81 -25
  20. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  21. package/client/lib/base/base-project-resolver.d.ts +14 -1
  22. package/client/lib/base/base-project.d.ts +9 -17
  23. package/client/lib/base/core-project.d.ts +4 -14
  24. package/client/lib/index.d.ts +2 -1
  25. package/client/lib/models.d.ts +17 -0
  26. package/client/package.json +27 -26
  27. package/firedev.jsonc +3 -2
  28. package/lib/base/base-project-resolver.d.ts +13 -1
  29. package/lib/base/base-project-resolver.js +53 -4
  30. package/lib/base/base-project-resolver.js.map +1 -1
  31. package/lib/base/base-project.d.ts +10 -21
  32. package/lib/base/base-project.js +144 -64
  33. package/lib/base/base-project.js.map +1 -1
  34. package/lib/base/core-project.d.ts +3 -13
  35. package/lib/base/core-project.js +5 -34
  36. package/lib/base/core-project.js.map +1 -1
  37. package/lib/helpers/for-browser/angular.helper.js +3 -3
  38. package/lib/index.d.ts +2 -1
  39. package/lib/index.js +1 -0
  40. package/lib/index.js.map +1 -1
  41. package/lib/lowdb/adapters/Memory.d.ts +11 -0
  42. package/lib/lowdb/adapters/Memory.js +31 -0
  43. package/lib/lowdb/adapters/Memory.js.map +1 -0
  44. package/lib/lowdb/adapters/browser/LocalStorage.d.ts +4 -0
  45. package/lib/lowdb/adapters/browser/LocalStorage.js +14 -0
  46. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -0
  47. package/lib/lowdb/adapters/browser/SessionStorage.d.ts +4 -0
  48. package/lib/lowdb/adapters/browser/SessionStorage.js +14 -0
  49. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -0
  50. package/lib/lowdb/adapters/browser/WebStorage.d.ts +8 -0
  51. package/lib/lowdb/adapters/browser/WebStorage.js +22 -0
  52. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -0
  53. package/lib/lowdb/adapters/node/DataFile.d.ts +26 -0
  54. package/lib/lowdb/adapters/node/DataFile.js +60 -0
  55. package/lib/lowdb/adapters/node/DataFile.js.map +1 -0
  56. package/lib/lowdb/adapters/node/JSONFile.d.ts +9 -0
  57. package/lib/lowdb/adapters/node/JSONFile.js +28 -0
  58. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -0
  59. package/lib/lowdb/adapters/node/TextFile.d.ts +18 -0
  60. package/lib/lowdb/adapters/node/TextFile.js +68 -0
  61. package/lib/lowdb/adapters/node/TextFile.js.map +1 -0
  62. package/lib/lowdb/adapters/node/steno.d.ts +13 -0
  63. package/lib/lowdb/adapters/node/steno.js +141 -0
  64. package/lib/lowdb/adapters/node/steno.js.map +1 -0
  65. package/lib/lowdb/browser.d.ts +3 -0
  66. package/lib/lowdb/browser.js +7 -0
  67. package/lib/lowdb/browser.js.map +1 -0
  68. package/lib/lowdb/core/Low.d.ts +24 -0
  69. package/lib/lowdb/core/Low.js +86 -0
  70. package/lib/lowdb/core/Low.js.map +1 -0
  71. package/lib/lowdb/examples/browser.d.ts +1 -0
  72. package/lib/lowdb/examples/browser.js +10 -0
  73. package/lib/lowdb/examples/browser.js.map +1 -0
  74. package/lib/lowdb/examples/cli.d.ts +1 -0
  75. package/lib/lowdb/examples/cli.js +11 -0
  76. package/lib/lowdb/examples/cli.js.map +1 -0
  77. package/lib/lowdb/examples/in-memory.d.ts +8 -0
  78. package/lib/lowdb/examples/in-memory.js +14 -0
  79. package/lib/lowdb/examples/in-memory.js.map +1 -0
  80. package/lib/lowdb/examples/server.d.ts +0 -0
  81. package/lib/lowdb/examples/server.js +36 -0
  82. package/lib/lowdb/examples/server.js.map +1 -0
  83. package/lib/lowdb/index.d.ts +2 -0
  84. package/lib/lowdb/index.js +6 -0
  85. package/lib/lowdb/index.js.map +1 -0
  86. package/lib/lowdb/node.d.ts +4 -0
  87. package/lib/lowdb/node.js +8 -0
  88. package/lib/lowdb/node.js.map +1 -0
  89. package/lib/lowdb/presets/browser.d.ts +3 -0
  90. package/lib/lowdb/presets/browser.js +21 -0
  91. package/lib/lowdb/presets/browser.js.map +1 -0
  92. package/lib/lowdb/presets/node.d.ts +5 -0
  93. package/lib/lowdb/presets/node.js +36 -0
  94. package/lib/lowdb/presets/node.js.map +1 -0
  95. package/lib/models.d.ts +16 -0
  96. package/lib/models.js +0 -3
  97. package/lib/models.js.map +1 -1
  98. package/lib/old/base-component.js +3 -3
  99. package/lib/old/base-formly-component.js +3 -3
  100. package/lib/old/dual-component-ctrl.js +3 -3
  101. package/package.json +5 -3
  102. package/tmp-environment.json +31 -30
  103. package/websql/esm2022/lib/base/base-project-resolver.mjs +32 -4
  104. package/websql/esm2022/lib/base/base-project.mjs +46 -2
  105. package/websql/esm2022/lib/base/core-project.mjs +7 -27
  106. package/websql/esm2022/lib/index.mjs +2 -1
  107. package/websql/esm2022/lib/models.mjs +3 -0
  108. package/websql/fesm2022/tnp-helpers.mjs +78 -25
  109. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  110. package/websql/lib/base/base-project-resolver.d.ts +14 -1
  111. package/websql/lib/base/base-project.d.ts +9 -17
  112. package/websql/lib/base/core-project.d.ts +4 -14
  113. package/websql/lib/index.d.ts +2 -1
  114. package/websql/lib/models.d.ts +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;AAEA,6CAAuD;AACvD,sDAAkE;AAClE,mCAA0C;AAE1C,SAAsB,cAAc,CAClC,QAAkB,EAClB,WAAiB;;;;;;oBAEX,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;wBAC7B,CAAC,CAAC,IAAI,eAAM,EAAQ;wBACpB,CAAC,CAAC,IAAI,mBAAQ,CAAO,QAAQ,CAAC,CAAA;oBAC5B,EAAE,GAAG,IAAI,SAAG,CAAO,OAAO,EAAE,WAAW,CAAC,CAAA;oBAC9C,qBAAM,EAAE,CAAC,IAAI,EAAE,EAAA;;oBAAf,SAAe,CAAA;oBACf,sBAAO,EAAE,EAAA;;;;CACV;AAXD,wCAWC;AAED,SAAgB,kBAAkB,CAChC,QAAkB,EAClB,WAAiB;IAEjB,IAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;QAC7B,CAAC,CAAC,IAAI,mBAAU,EAAQ;QACxB,CAAC,CAAC,IAAI,uBAAY,CAAO,QAAQ,CAAC,CAAA;IACtC,IAAM,EAAE,GAAG,IAAI,aAAO,CAAO,OAAO,EAAE,WAAW,CAAC,CAAA;IAClD,EAAE,CAAC,IAAI,EAAE,CAAA;IACT,OAAO,EAAE,CAAA;AACX,CAAC;AAXD,gDAWC"}
package/lib/models.d.ts CHANGED
@@ -0,0 +1,16 @@
1
+ export type BaseProjectType = 'unknow' | 'unknow-npm-project';
2
+ /**
3
+ * Angular project type
4
+ */
5
+ export type NgProject = {
6
+ "projectType": "library" | "application";
7
+ /**
8
+ * where ng-packagr.json is located, tsconfig etc.
9
+ */
10
+ "root": string;
11
+ /**
12
+ * Source code project
13
+ */
14
+ "sourceRoot": string;
15
+ "prefix": string;
16
+ };
package/lib/models.js CHANGED
@@ -1,6 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1716261341735 = void 0;
4
- function dummy1716261341735() { }
5
- exports.dummy1716261341735 = dummy1716261341735;
6
3
  //# sourceMappingURL=models.js.map
package/lib/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,SAAgB,kBAAkB,KAAK,CAAC;AAAxC,gDAAwC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1716261341735 = void 0;
4
- function dummy1716261341735() { }
5
- exports.dummy1716261341735 = dummy1716261341735;
3
+ exports.dummy1716271235408 = void 0;
4
+ function dummy1716271235408() { }
5
+ exports.dummy1716271235408 = dummy1716271235408;
6
6
  //# sourceMappingURL=base-component.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1716261341737 = void 0;
4
- function dummy1716261341737() { }
5
- exports.dummy1716261341737 = dummy1716261341737;
3
+ exports.dummy1716271235409 = void 0;
4
+ function dummy1716271235409() { }
5
+ exports.dummy1716271235409 = dummy1716271235409;
6
6
  //# sourceMappingURL=base-formly-component.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1716261341738 = void 0;
4
- function dummy1716261341738() { }
5
- exports.dummy1716261341738 = dummy1716261341738;
3
+ exports.dummy1716271235411 = void 0;
4
+ function dummy1716271235411() { }
5
+ exports.dummy1716271235411 = dummy1716271235411;
6
6
  //# sourceMappingURL=dual-component-ctrl.js.map
package/package.json CHANGED
@@ -7,7 +7,8 @@
7
7
  "includeOnly": [
8
8
  "tnp-models",
9
9
  "task.js",
10
- "json10-writer"
10
+ "json10-writer",
11
+ "lowdb"
11
12
  ],
12
13
  "dependencies": {},
13
14
  "linkedFolders": [],
@@ -41,9 +42,10 @@
41
42
  "firedev-helpers"
42
43
  ]
43
44
  },
44
- "version": "16.100.7",
45
+ "version": "16.100.8",
45
46
  "dependencies": {
46
47
  "json10-writer": "16.100.7",
48
+ "lowdb": "7.0.1",
47
49
  "task.js": "0.1.5",
48
50
  "tnp-models": "16.100.7"
49
51
  },
@@ -57,6 +59,6 @@
57
59
  "homepage": "https://github.com/darekf77/tnp-helpers#readme",
58
60
  "name": "tnp-helpers",
59
61
  "devDependencies": {},
60
- "lastBuildTagHash": "9e93631760165902d81833e157f948e3ab9d0fba",
62
+ "lastBuildTagHash": "e633a2c2bf629324405a23854a4f73ddd79b41d6",
61
63
  "main": "dist/app.electron.js"
62
64
  }
@@ -11,7 +11,8 @@
11
11
  "includeOnly": [
12
12
  "tnp-models",
13
13
  "task.js",
14
- "json10-writer"
14
+ "json10-writer",
15
+ "lowdb"
15
16
  ],
16
17
  "dependencies": {},
17
18
  "linkedFolders": [],
@@ -45,9 +46,10 @@
45
46
  "firedev-helpers"
46
47
  ]
47
48
  },
48
- "version": "16.100.7",
49
+ "version": "16.100.8",
49
50
  "dependencies": {
50
51
  "json10-writer": "16.100.7",
52
+ "lowdb": "7.0.1",
51
53
  "task.js": "0.1.5",
52
54
  "tnp-models": "16.100.7"
53
55
  },
@@ -141,7 +143,7 @@
141
143
  "angular-material-css-vars": "5.0.2",
142
144
  "angular-resize-event": "3.2.0",
143
145
  "animate.css": "4.1.1 ",
144
- "any-project-cli": "16.100.6",
146
+ "any-project-cli": "16.100.7",
145
147
  "axios": "1.3.5",
146
148
  "background-worker-process": "16.100.4",
147
149
  "base32": "0.0.7",
@@ -191,13 +193,13 @@
191
193
  "file-saver": "2.0.5",
192
194
  "file-type": "18.5.0",
193
195
  "firedev": "^16",
194
- "firedev-crud": "16.100.6",
195
- "firedev-crud-deamon": "16.100.5",
196
- "firedev-ports": "16.100.6",
197
- "firedev-storage": "16.100.3",
198
- "firedev-type-sql": "16.100.3",
199
- "firedev-typeorm": "16.100.3",
200
- "firedev-ui": "16.100.5",
196
+ "firedev-crud": "16.100.7",
197
+ "firedev-crud-deamon": "16.100.6",
198
+ "firedev-ports": "16.100.7",
199
+ "firedev-storage": "16.100.4",
200
+ "firedev-type-sql": "16.100.4",
201
+ "firedev-typeorm": "16.100.4",
202
+ "firedev-ui": "16.100.7",
201
203
  "fkill": "6.1.0",
202
204
  "font-awesome": "4.7.0",
203
205
  "form-data": "4.0.0",
@@ -215,11 +217,11 @@
215
217
  "image-focus": "1.2.1",
216
218
  "immer": "10.0.2",
217
219
  "immutable": "4.3.0",
218
- "incremental-compiler": "16.100.6",
220
+ "incremental-compiler": "16.100.7",
219
221
  "inquirer": "7.3.3",
220
222
  "inquirer-autocomplete-prompt": "1.3.0",
221
223
  "is-elevated": "3.0.0",
222
- "isomorphic-region-loader": "16.100.5",
224
+ "isomorphic-region-loader": "16.100.6",
223
225
  "istanbul-instrumenter-loader": "2.0.0",
224
226
  "jest": "29.5.0",
225
227
  "jest-date-mock": "1.0.8",
@@ -230,7 +232,7 @@
230
232
  "joi": "17.9.2",
231
233
  "jscodeshift": "0.6.3",
232
234
  "json-stringify-safe": "5.0.1",
233
- "json10": "16.100.3",
235
+ "json10": "16.100.4",
234
236
  "json5": "2.2.1",
235
237
  "json5-writer": "0.2.0",
236
238
  "jszip": "3.10.1",
@@ -239,9 +241,8 @@
239
241
  "localforage": "1.10.0",
240
242
  "lockfile": "1.0.4",
241
243
  "lodash": "4.17.20",
242
- "lodash-walk-object": "16.100.3",
243
- "lowdb": "7.0.1",
244
- "magic-renamer": "16.100.5",
244
+ "lodash-walk-object": "16.100.4",
245
+ "magic-renamer": "16.100.6",
245
246
  "material-design-icons": "3.0.1",
246
247
  "method-override": "2.3.10",
247
248
  "minimist": "1.2.0",
@@ -252,10 +253,10 @@
252
253
  "ng-in-viewport": "15.0.2",
253
254
  "ng-lock": "16.0.1",
254
255
  "ng-packagr": "16.0.1",
255
- "ng-talkback": "16.100.3",
256
+ "ng-talkback": "16.100.4",
256
257
  "ng2-logger": "16.100.7",
257
258
  "ng2-pdfjs-viewer": "16.0.4",
258
- "ng2-rest": "16.100.3",
259
+ "ng2-rest": "16.100.4",
259
260
  "ngx-ace-wrapper": "14.0.0",
260
261
  "ngx-editor": "15.3.0",
261
262
  "ngx-highlightjs": "9.0.0",
@@ -268,7 +269,7 @@
268
269
  "ngx-scrolltop": "6.0.0",
269
270
  "ngx-store": "3.1.1",
270
271
  "ngx-typed-js": "2.1.1",
271
- "node-cli-tester": "16.100.3",
272
+ "node-cli-tester": "16.100.4",
272
273
  "node-localstorage": "2.1.6",
273
274
  "node-notifier": "6.0.0",
274
275
  "node-polyfill-webpack-plugin": "2.0.1",
@@ -296,7 +297,7 @@
296
297
  "q": "1.5.1",
297
298
  "rallax.js": "2.0.4",
298
299
  "randomcolor": "0.5.3",
299
- "record-replay-req-res-scenario": "16.100.3",
300
+ "record-replay-req-res-scenario": "16.100.4",
300
301
  "reflect-metadata": "0.1.10",
301
302
  "rimraf": "2.6.2",
302
303
  "rxjs": "~7.8.0",
@@ -307,18 +308,18 @@
307
308
  "socket.io": "2.4.1",
308
309
  "sort-package-json": "1.11.0",
309
310
  "sql.js": "1.8.0",
310
- "static-columns": "16.100.3",
311
+ "static-columns": "16.100.4",
311
312
  "string-similarity": "4.0.2",
312
313
  "sudo-block": "3.0.0",
313
314
  "supertest": "6.3.3",
314
315
  "sweetalert2": "11.7.12",
315
316
  "systeminformation": "3.45.7",
316
317
  "threads": "1.7.0",
317
- "tnp-cli": "16.100.3",
318
+ "tnp-cli": "16.100.4",
318
319
  "tnp-config": "16.100.7",
319
320
  "tnp-core": "16.100.17",
320
- "tnp-db": "16.100.5",
321
- "tnp-helpers": "16.100.6",
321
+ "tnp-db": "16.100.6",
322
+ "tnp-helpers": "16.100.7",
322
323
  "ts-debug": "1.3.0",
323
324
  "ts-json-schema-generator": "2.1.1",
324
325
  "ts-loader": "2.3.1",
@@ -333,7 +334,7 @@
333
334
  "uuid": "8.3.2",
334
335
  "validator": "9.2.0",
335
336
  "video.js": "8.3.0",
336
- "vpn-split": "16.100.3",
337
+ "vpn-split": "16.100.4",
337
338
  "watch": "1.0.2",
338
339
  "webpack": "~5.80",
339
340
  "webpack-dev-middleware": "~6.0.2",
@@ -341,18 +342,18 @@
341
342
  "yup": "1.1.1",
342
343
  "zone.js": "~0.13.0"
343
344
  },
344
- "lastBuildTagHash": "9e93631760165902d81833e157f948e3ab9d0fba",
345
+ "lastBuildTagHash": "e633a2c2bf629324405a23854a4f73ddd79b41d6",
345
346
  "main": "dist/app.electron.js"
346
347
  },
347
348
  "build": {
348
- "number": 719,
349
- "date": "2024-05-21T02:42:18.000Z",
350
- "hash": "e633a2c2bf629324405a23854a4f73ddd79b41d6"
349
+ "number": 720,
350
+ "date": "2024-05-21T03:15:58.000Z",
351
+ "hash": "e4dd2c00c7c0c01b95b02489a2ecf92e467501d8"
351
352
  },
352
353
  "currentProjectName": "tnp-helpers",
353
354
  "currentProjectGenericName": "tnp-helpers",
354
355
  "currentProjectType": "isomorphic-lib",
355
- "currentFrameworkVersion": "16.100.6",
356
+ "currentFrameworkVersion": "16.100.8",
356
357
  "isStandaloneProject": true,
357
358
  "isSmartContainer": false,
358
359
  "pathesTsconfig": "\"paths\": {\"tnp-helpers\":[\"./src/lib\"],\"tnp-helpers/*\":[\"./src/lib/*\"]},",
@@ -1,13 +1,41 @@
1
1
  /* */
2
2
  /* */
3
3
  /* */
4
- /* */
5
- /* */
6
- /* */
7
4
  import { Helpers } from '../index';
8
5
  import { path, crossPlatformPath } from 'tnp-core/websql';
9
6
  import { _ } from 'tnp-core/websql';
7
+ /* */
8
+ /* */
9
+ /* */
10
+ /* */
11
+ /* */
12
+ const defaultDb = {
13
+ projects: [],
14
+ };
10
15
  export class BaseProjectResolver {
16
+ get isUnsingDB() {
17
+ return !!this.lowDB;
18
+ }
19
+ async useDB(appName) {
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ return (void 0);
32
+ // @ts-ignore
33
+ return void 0;
34
+ }
35
+ async getAllProjectsFromDB(appName) {
36
+ const db = await this.useDB(appName);
37
+ return db.data.projects;
38
+ }
11
39
  constructor(classFn) {
12
40
  this.classFn = classFn;
13
41
  this.NPM_PROJECT_KEY = 'npm';
@@ -200,4 +228,4 @@ export class BaseProjectResolver {
200
228
  }
201
229
  ;
202
230
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-project-resolver.ts
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm9qZWN0LXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9iYXNlLXByb2plY3QtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXBDLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFBc0IsT0FBWTtRQUFaLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFWZixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUNqQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQzdCOzs7V0FHRztRQUNPLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0lBSUYsQ0FBQztJQUl2QyxJQUFJLFlBQVk7UUFFZCxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBR2hDLENBQUM7SUFJRDs7T0FFRztJQUNILElBQUksT0FBTztRQUNiLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLFFBQWdCLEVBQUUsYUFBYSxHQUFHLEtBQUs7UUFDbEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksQ0FBQyxpQkFBb0MsRUFBRSxPQUFhO1FBS3RELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksUUFBUSxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7WUFDdkQsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE1BQU0sRUFBRTtZQUN0QyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQztRQUNELFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFckQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksWUFBWSxFQUFFO1lBQ2hCLE9BQU8sWUFBbUIsQ0FBQztTQUM1QjtRQUVMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFJSCxDQUFDO0lBSUQsU0FBUyxDQUNQLGdCQUF3QixFQUN4QixPQUFpRztRQUNyRyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxPQUFVO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBSUQsTUFBTSxDQUFDLE9BQVU7UUFDbkIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxHQUFHLENBQUMsT0FBVTtRQUNoQixLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFLRCxjQUFjLENBQUMsZ0JBQXdCLEVBQUUsWUFBb0IsR0FBRztRQUNsRSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBR0Y7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBFQUEwRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IC8qICovIC8qICovICAgIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IHBhdGgsIGNyb3NzUGxhdGZvcm1QYXRoIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvd2Vic3FsJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcblxuXG5leHBvcnQgY2xhc3MgQmFzZVByb2plY3RSZXNvbHZlcjxUIGV4dGVuZHMgUGFydGlhbDxCYXNlUHJvamVjdD4gPSBhbnk+IHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTlBNX1BST0pFQ1RfS0VZID0gJ25wbSc7XG4gIHByb3RlY3RlZCBwcm9qZWN0czogVFtdID0gW107XG4gIC8qKlxuICAgKiBUbyBzcGVlZCB1cCBjaGVja2luZyBmb2xkZXIgSSBhbSBrZWVwaW5nIHBhdGhlcyBmb3IgYWx0ZXJkeSBjaGVja2VkIGZvbGRlclxuICAgKiBUaGlzIG1heSBicmVhayB0aGluZ3MgdGhhdCBhcmUgY3JlYXRpbmcgbmV3IHByb2plY3RzXG4gICAqL1xuICBwcm90ZWN0ZWQgZW1wdHlMb2NhdGlvbnM6IHN0cmluZ1tdID0gW107XG5cblxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjbGFzc0ZuOiBhbnkpIHsgfVxuXG5cblxuICBnZXQgYWxsb3dlZFR5cGVzKCk6IHN0cmluZ1tdIHtcblxuICAgIHJldHVybiBbdGhpcy5OUE1fUFJPSkVDVF9LRVldO1xuXG5cbiAgfVxuXG5cblxuICAvKipcbiAgICogcHJvamVjdCBmcm9tIHByb2Nlc3MuY3dkKClcbiAgICovXG4gIGdldCBDdXJyZW50KCk6IFQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBvdmVycmlkZSB0aGlzXG4gICAqL1xuICB0eXBlRnJvbShsb2NhdGlvbjogc3RyaW5nLCByZWNydXNpdmVDYWxsID0gZmFsc2UpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBGcm9tKGxvY2F0aW9uT2ZQcm9qZWN0OiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9ucz86IGFueSk6IFQge1xuXG5cblxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYXRpb25PZlByb2plY3QpKSB7XG4gICAgICBsb2NhdGlvbk9mUHJvamVjdCA9IGxvY2F0aW9uT2ZQcm9qZWN0LmpvaW4oJy8nKTtcbiAgICB9XG4gICAgbGV0IGxvY2F0aW9uID0gY3Jvc3NQbGF0Zm9ybVBhdGgobG9jYXRpb25PZlByb2plY3QucmVwbGFjZSgvXFwvXFwvL2csICcvJykpO1xuXG4gICAgaWYgKCFfLmlzU3RyaW5nKGxvY2F0aW9uKSkge1xuICAgICAgSGVscGVycy53YXJuKGBbcHJvamVjdC5mcm9tXSBsb2NhdGlvbiBpcyBub3QgYSBzdHJpbmdgKVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocGF0aC5iYXNlbmFtZShsb2NhdGlvbikgPT09ICdkaXN0Jykge1xuICAgICAgbG9jYXRpb24gPSBwYXRoLmRpcm5hbWUobG9jYXRpb24pO1xuICAgIH1cbiAgICBsb2NhdGlvbiA9IGNyb3NzUGxhdGZvcm1QYXRoKHBhdGgucmVzb2x2ZShsb2NhdGlvbikpO1xuXG4gICAgY29uc3QgYWxyZWFkeUV4aXN0ID0gdGhpcy5wcm9qZWN0cy5maW5kKGwgPT4gbC5sb2NhdGlvbi50cmltKCkgPT09IGxvY2F0aW9uLnRyaW0oKSk7XG4gICAgaWYgKGFscmVhZHlFeGlzdCkge1xuICAgICAgcmV0dXJuIGFscmVhZHlFeGlzdCBhcyBhbnk7XG4gICAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4gIH1cblxuXG5cbiAgbmVhcmVzdFRvKFxuICAgIGFic29sdXRlTG9jYXRpb246IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyB0eXBlPzogKHN0cmluZyB8IHN0cmluZ1tdKTsgZmluZEdpdFJvb3Q/OiBib29sZWFuOyBvbmx5T3V0U2lkZU5vZGVNb2R1bGVzPzogYm9vbGVhbiB9KTogVCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHVubG9hZChwcm9qZWN0OiBUKSB7XG4gICAgdGhpcy5wcm9qZWN0cyA9IHRoaXMucHJvamVjdHMuZmlsdGVyKGYgPT4gZiAhPT0gcHJvamVjdCk7XG4gIH1cblxuXG5cbiAgcmVtb3ZlKHByb2plY3Q6IFQpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGFkZChwcm9qZWN0OiBUKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cblxuICBhbGxQcm9qZWN0RnJvbShhYnNvbHV0ZUxvY2F0aW9uOiBzdHJpbmcsIHN0b3BPbkN3ZDogc3RyaW5nID0gJy8nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxufVxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLXByb2plY3QtcmVzb2x2ZXIudHMiXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm9qZWN0LXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9iYXNlLXByb2plY3QtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BDLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBS0wsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLEVBRVA7Q0FDSixDQUFBO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFlO1FBQzdCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEIsYUFBYTtRQUNiLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3hDLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxPQUFPLEVB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O1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FHRjtBQUdBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEVBQTBFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgLyogKi8gLyogKi8gICAgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBwYXRoLCBjcm9zc1BsYXRmb3JtUGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBMb3cgfSBmcm9tIFwibG93ZGJcIlxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuY29uc3QgZGVmYXVsdERiID0ge1xuICBwcm9qZWN0czogW10gYXMge1xuICAgIGxvY2F0aW9uOiBzdHJpbmc7XG4gIH1bXSxcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VQcm9qZWN0UmVzb2x2ZXI8VCBleHRlbmRzIFBhcnRpYWw8QmFzZVByb2plY3Q+ID0gYW55PiB7XG5cbiAgcHJpdmF0ZSBsb3dEQjogTG93PHR5cGVvZiBkZWZhdWx0RGI+O1xuICBwdWJsaWMgZ2V0IGlzVW5zaW5nREIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5sb3dEQjtcbiAgfVxuICBhc3luYyB1c2VEQihhcHBOYW1lOiBzdHJpbmcpOiBQcm9taXNlPExvdzx0eXBlb2YgZGVmYXVsdERiPj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgYXN5bmMgZ2V0QWxsUHJvamVjdHNGcm9tREIoYXBwTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZGIgPSBhd2FpdCB0aGlzLnVzZURCKGFwcE5hbWUpO1xuICAgIHJldHVybiBkYi5kYXRhLnByb2plY3RzO1xuICB9XG5cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTlBNX1BST0pFQ1RfS0VZID0gJ25wbSc7XG4gIHByb3RlY3RlZCBwcm9qZWN0czogVFtdID0gW107XG4gIC8qKlxuICAgKiBUbyBzcGVlZCB1cCBjaGVja2luZyBmb2xkZXIgSSBhbSBrZWVwaW5nIHBhdGhlcyBmb3IgYWx0ZXJkeSBjaGVja2VkIGZvbGRlclxuICAgKiBUaGlzIG1heSBicmVhayB0aGluZ3MgdGhhdCBhcmUgY3JlYXRpbmcgbmV3IHByb2plY3RzXG4gICAqL1xuICBwcm90ZWN0ZWQgZW1wdHlMb2NhdGlvbnM6IHN0cmluZ1tdID0gW107XG5cblxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjbGFzc0ZuOiBhbnkpIHsgfVxuXG5cblxuICBnZXQgYWxsb3dlZFR5cGVzKCk6IHN0cmluZ1tdIHtcblxuICAgIHJldHVybiBbdGhpcy5OUE1fUFJPSkVDVF9LRVldO1xuXG5cbiAgfVxuXG5cblxuICAvKipcbiAgICogcHJvamVjdCBmcm9tIHByb2Nlc3MuY3dkKClcbiAgICovXG4gIGdldCBDdXJyZW50KCk6IFQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBvdmVycmlkZSB0aGlzXG4gICAqL1xuICB0eXBlRnJvbShsb2NhdGlvbjogc3RyaW5nLCByZWNydXNpdmVDYWxsID0gZmFsc2UpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBGcm9tKGxvY2F0aW9uT2ZQcm9qZWN0OiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9ucz86IGFueSk6IFQge1xuXG5cblxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYXRpb25PZlByb2plY3QpKSB7XG4gICAgICBsb2NhdGlvbk9mUHJvamVjdCA9IGxvY2F0aW9uT2ZQcm9qZWN0LmpvaW4oJy8nKTtcbiAgICB9XG4gICAgbGV0IGxvY2F0aW9uID0gY3Jvc3NQbGF0Zm9ybVBhdGgobG9jYXRpb25PZlByb2plY3QucmVwbGFjZSgvXFwvXFwvL2csICcvJykpO1xuXG4gICAgaWYgKCFfLmlzU3RyaW5nKGxvY2F0aW9uKSkge1xuICAgICAgSGVscGVycy53YXJuKGBbcHJvamVjdC5mcm9tXSBsb2NhdGlvbiBpcyBub3QgYSBzdHJpbmdgKVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocGF0aC5iYXNlbmFtZShsb2NhdGlvbikgPT09ICdkaXN0Jykge1xuICAgICAgbG9jYXRpb24gPSBwYXRoLmRpcm5hbWUobG9jYXRpb24pO1xuICAgIH1cbiAgICBsb2NhdGlvbiA9IGNyb3NzUGxhdGZvcm1QYXRoKHBhdGgucmVzb2x2ZShsb2NhdGlvbikpO1xuXG4gICAgY29uc3QgYWxyZWFkeUV4aXN0ID0gdGhpcy5wcm9qZWN0cy5maW5kKGwgPT4gbC5sb2NhdGlvbi50cmltKCkgPT09IGxvY2F0aW9uLnRyaW0oKSk7XG4gICAgaWYgKGFscmVhZHlFeGlzdCkge1xuICAgICAgcmV0dXJuIGFscmVhZHlFeGlzdCBhcyBhbnk7XG4gICAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4gIH1cblxuXG5cbiAgbmVhcmVzdFRvKFxuICAgIGFic29sdXRlTG9jYXRpb246IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyB0eXBlPzogKHN0cmluZyB8IHN0cmluZ1tdKTsgZmluZEdpdFJvb3Q/OiBib29sZWFuOyBvbmx5T3V0U2lkZU5vZGVNb2R1bGVzPzogYm9vbGVhbiB9KTogVCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHVubG9hZChwcm9qZWN0OiBUKSB7XG4gICAgdGhpcy5wcm9qZWN0cyA9IHRoaXMucHJvamVjdHMuZmlsdGVyKGYgPT4gZiAhPT0gcHJvamVjdCk7XG4gIH1cblxuXG5cbiAgcmVtb3ZlKHByb2plY3Q6IFQpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGFkZChwcm9qZWN0OiBUKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cblxuICBhbGxQcm9qZWN0RnJvbShhYnNvbHV0ZUxvY2F0aW9uOiBzdHJpbmcsIHN0b3BPbkN3ZDogc3RyaW5nID0gJy8nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxufVxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLXByb2plY3QtcmVzb2x2ZXIudHMiXX0=