tnp-helpers 16.444.22 → 16.444.24

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 (33) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-git.mjs +6 -1
  3. package/browser/esm2022/lib/base/base-release-process.mjs +46 -28
  4. package/browser/esm2022/lib/base/commit-data.mjs +54 -2
  5. package/browser/fesm2022/tnp-helpers.mjs +103 -28
  6. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  7. package/browser/lib/base/commit-data.d.ts +1 -1
  8. package/client/esm2022/lib/base/base-git.mjs +6 -1
  9. package/client/esm2022/lib/base/base-release-process.mjs +46 -28
  10. package/client/esm2022/lib/base/commit-data.mjs +54 -2
  11. package/client/fesm2022/tnp-helpers.mjs +103 -28
  12. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/client/lib/base/commit-data.d.ts +1 -1
  14. package/client/package.json +22 -22
  15. package/lib/base/base-git.js +6 -1
  16. package/lib/base/base-git.js.map +1 -1
  17. package/lib/base/base-release-process.js +31 -20
  18. package/lib/base/base-release-process.js.map +1 -1
  19. package/lib/base/commit-data.d.ts +1 -1
  20. package/lib/base/commit-data.js +30 -5
  21. package/lib/base/commit-data.js.map +1 -1
  22. package/lib/helpers/for-browser/angular.helper.js +3 -3
  23. package/lib/old/base-component.js +3 -3
  24. package/lib/old/base-formly-component.js +3 -3
  25. package/lib/old/dual-component-ctrl.js +3 -3
  26. package/package.json +2 -2
  27. package/tmp-environment.json +26 -26
  28. package/websql/esm2022/lib/base/base-git.mjs +6 -1
  29. package/websql/esm2022/lib/base/base-release-process.mjs +46 -28
  30. package/websql/esm2022/lib/base/commit-data.mjs +54 -2
  31. package/websql/fesm2022/tnp-helpers.mjs +103 -28
  32. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  33. package/websql/lib/base/commit-data.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1722255023235 = void 0;
4
- function dummy1722255023235() { }
5
- exports.dummy1722255023235 = dummy1722255023235;
3
+ exports.dummy1722262870168 = void 0;
4
+ function dummy1722262870168() { }
5
+ exports.dummy1722262870168 = dummy1722262870168;
6
6
  //# sourceMappingURL=dual-component-ctrl.js.map
package/package.json CHANGED
@@ -43,7 +43,7 @@
43
43
  "firedev-helpers"
44
44
  ]
45
45
  },
46
- "version": "16.444.22",
46
+ "version": "16.444.24",
47
47
  "dependencies": {
48
48
  "json10-writer": "~16.444.15",
49
49
  "lowdb": "7.0.1",
@@ -61,6 +61,6 @@
61
61
  "homepage": "https://github.com/darekf77/tnp-helpers#readme",
62
62
  "name": "tnp-helpers",
63
63
  "devDependencies": {},
64
- "lastBuildTagHash": "f08fd536bd79de3596483bbeef46baefe54655e5",
64
+ "lastBuildTagHash": "559cd74900403c4bba2afe1d544d7388b9a68372",
65
65
  "main": "dist/app.electron.js"
66
66
  }
@@ -47,7 +47,7 @@
47
47
  "firedev-helpers"
48
48
  ]
49
49
  },
50
- "version": "16.444.22",
50
+ "version": "16.444.24",
51
51
  "dependencies": {
52
52
  "json10-writer": "~16.444.15",
53
53
  "lowdb": "7.0.1",
@@ -207,12 +207,12 @@
207
207
  "file-saver": "2.0.5",
208
208
  "file-type": "18.5.0",
209
209
  "firedev": "^16",
210
- "firedev-crud": "~16.444.14",
211
- "firedev-crud-deamon": "~16.444.14",
212
- "firedev-ports": "~16.444.14",
213
- "firedev-storage": "~16.444.10",
214
- "firedev-type-sql": "~16.444.14",
215
- "firedev-typeorm": "~16.444.10",
210
+ "firedev-crud": "~16.444.15",
211
+ "firedev-crud-deamon": "~16.444.15",
212
+ "firedev-ports": "~16.444.15",
213
+ "firedev-storage": "~16.444.11",
214
+ "firedev-type-sql": "~16.444.15",
215
+ "firedev-typeorm": "~16.444.11",
216
216
  "firedev-ui": "16.444.1",
217
217
  "fkill": "6.1.0",
218
218
  "font-awesome": "4.7.0",
@@ -231,11 +231,11 @@
231
231
  "image-focus": "1.2.1",
232
232
  "immer": "10.0.2",
233
233
  "immutable": "4.3.0",
234
- "incremental-compiler": "~16.444.15",
234
+ "incremental-compiler": "~16.444.16",
235
235
  "inquirer": "7.3.3",
236
236
  "inquirer-autocomplete-prompt": "1.3.0",
237
237
  "is-elevated": "3.0.0",
238
- "isomorphic-region-loader": "~16.444.14",
238
+ "isomorphic-region-loader": "~16.444.15",
239
239
  "istanbul-instrumenter-loader": "2.0.0",
240
240
  "jest": "29.5.0",
241
241
  "jest-date-mock": "1.0.8",
@@ -246,7 +246,7 @@
246
246
  "joi": "17.9.2",
247
247
  "jscodeshift": "0.6.3",
248
248
  "json-stringify-safe": "5.0.1",
249
- "json10": "~16.444.14",
249
+ "json10": "~16.444.15",
250
250
  "json5": "2.2.1",
251
251
  "json5-writer": "0.2.0",
252
252
  "jszip": "3.10.1",
@@ -255,8 +255,8 @@
255
255
  "localforage": "1.10.0",
256
256
  "lockfile": "1.0.4",
257
257
  "lodash": "4.17.20",
258
- "lodash-walk-object": "~16.444.13",
259
- "magic-renamer": "~16.444.13",
258
+ "lodash-walk-object": "~16.444.14",
259
+ "magic-renamer": "~16.444.14",
260
260
  "material-design-icons": "3.0.1",
261
261
  "method-override": "2.3.10",
262
262
  "minimist": "1.2.0",
@@ -267,10 +267,10 @@
267
267
  "ng-in-viewport": "15.0.2",
268
268
  "ng-lock": "16.0.1",
269
269
  "ng-packagr": "16.0.1",
270
- "ng-talkback": "~16.444.6",
270
+ "ng-talkback": "~16.444.7",
271
271
  "ng2-logger": "~16.444.15",
272
272
  "ng2-pdfjs-viewer": "16.0.4",
273
- "ng2-rest": "~16.444.13",
273
+ "ng2-rest": "~16.444.14",
274
274
  "ngx-ace-wrapper": "14.0.0",
275
275
  "ngx-editor": "15.3.0",
276
276
  "ngx-highlightjs": "9.0.0",
@@ -283,7 +283,7 @@
283
283
  "ngx-scrolltop": "6.0.0",
284
284
  "ngx-store": "3.1.1",
285
285
  "ngx-typed-js": "2.1.1",
286
- "node-cli-tester": "~16.444.6",
286
+ "node-cli-tester": "~16.444.7",
287
287
  "node-localstorage": "2.1.6",
288
288
  "node-notifier": "6.0.0",
289
289
  "node-polyfill-webpack-plugin": "2.0.1",
@@ -312,7 +312,7 @@
312
312
  "q": "1.5.1",
313
313
  "rallax.js": "2.0.4",
314
314
  "randomcolor": "0.5.3",
315
- "record-replay-req-res-scenario": "~16.444.6",
315
+ "record-replay-req-res-scenario": "~16.444.7",
316
316
  "reflect-metadata": "0.1.10",
317
317
  "rimraf": "2.6.2",
318
318
  "rxjs": "~7.8.0",
@@ -324,18 +324,18 @@
324
324
  "socket.io-client": "4.7.5",
325
325
  "sort-package-json": "1.11.0",
326
326
  "sql.js": "1.8.0",
327
- "static-columns": "~16.444.9",
327
+ "static-columns": "~16.444.10",
328
328
  "string-similarity": "4.0.2",
329
329
  "sudo-block": "3.0.0",
330
330
  "supertest": "6.3.3",
331
331
  "sweetalert2": "11.7.12",
332
332
  "systeminformation": "3.45.7",
333
333
  "threads": "1.7.0",
334
- "tnp-cli": "~16.444.6",
334
+ "tnp-cli": "~16.444.7",
335
335
  "tnp-config": "~16.444.15",
336
336
  "tnp-core": "~16.444.18",
337
- "tnp-db": "~16.444.13",
338
- "tnp-helpers": "~16.444.21",
337
+ "tnp-db": "~16.444.14",
338
+ "tnp-helpers": "~16.444.23",
339
339
  "ts-debug": "1.3.0",
340
340
  "ts-json-schema-generator": "2.1.1",
341
341
  "ts-loader": "2.3.1",
@@ -351,7 +351,7 @@
351
351
  "uuid": "8.3.2",
352
352
  "validator": "9.2.0",
353
353
  "video.js": "8.3.0",
354
- "vpn-split": "~16.444.6",
354
+ "vpn-split": "~16.444.7",
355
355
  "vscode": "1.1.37",
356
356
  "wait-on": "7.0.1",
357
357
  "watch": "1.0.2",
@@ -361,18 +361,18 @@
361
361
  "yup": "1.1.1",
362
362
  "zone.js": "~0.13.0"
363
363
  },
364
- "lastBuildTagHash": "f08fd536bd79de3596483bbeef46baefe54655e5",
364
+ "lastBuildTagHash": "559cd74900403c4bba2afe1d544d7388b9a68372",
365
365
  "main": "dist/app.electron.js"
366
366
  },
367
367
  "build": {
368
- "number": 807,
369
- "date": "2024-07-29T12:06:44.000Z",
370
- "hash": "64b74b32d581c07ce3b76a3f842117eeeee4fb58"
368
+ "number": 810,
369
+ "date": "2024-07-29T14:20:54.000Z",
370
+ "hash": "1085be12903b69a4589bce43afd9e8f586f0778c"
371
371
  },
372
372
  "currentProjectName": "tnp-helpers",
373
373
  "currentProjectGenericName": "tnp-helpers",
374
374
  "currentProjectType": "isomorphic-lib",
375
- "currentFrameworkVersion": "16.444.16",
375
+ "currentFrameworkVersion": "16.444.17",
376
376
  "isStandaloneProject": true,
377
377
  "isSmartContainer": false,
378
378
  "pathesTsconfig": "\"paths\": {\"tnp-helpers\":[\"./src/lib\"],\"tnp-helpers/*\":[\"./src/lib/*\"]},",
@@ -599,6 +599,10 @@ export class BaseGit extends BaseFeatureForProject {
599
599
  /* */
600
600
  /* */
601
601
  /* */
602
+ /* */
603
+ /* */
604
+ /* */
605
+ /* */
602
606
  return (void 0);
603
607
  }
604
608
  _beforeAnyActionOnGitRoot() {
@@ -692,6 +696,7 @@ export class BaseGit extends BaseFeatureForProject {
692
696
  /* */
693
697
  /* */
694
698
  /* */
699
+ /* */
695
700
  return (void 0);
696
701
  }
697
702
  /**
@@ -723,4 +728,4 @@ export class BaseGit extends BaseFeatureForProject {
723
728
  }
724
729
  ;
725
730
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-git.ts
726
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1naXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2Jhc2UtZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTW5FLE1BQU0sT0FBTyxPQUVYLFNBQVEscUJBQXFCO0lBRzdCLGVBQWU7UUFDakIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsaUJBQWlCLENBQUMsZ0JBQXdCO1FBQzVDLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBVyxFQUFFLHFCQUFxQixHQUFHLEVBQUUsRUFBRSxVQUFtQjtRQUMxRSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsa0JBQWtCLENBQUMsZ0JBQXdCO1FBQzdDLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELGFBQWE7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FB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QUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUNqQyxDQUFDO1FBQ2YsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLEtBQUs7UUFDekMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQ2YsVUFjSSxFQUFFO1FBRVYsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU0seUJBQXlCO1FBQ2xDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlTLEtBQUssQ0FBQyx3QkFBd0I7UUFDMUMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsR0FBRyxLQUFLO1FBQ2hFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsaUJBQWlCLENBQy9CLFlBQTBCLEVBQzFCLElBQWMsRUFDZCxxQkFBK0I7UUFFbkMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsNkNBQTZDO1FBQzNDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxJQUFZO1FBQ2xELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQWE7UUFDcEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZEQUE2RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgeyBDb21taXREYXRhLCBIZWxwZXJzLCBUeXBlT2ZDb21taXQgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCwgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuXG5cbmV4cG9ydCBjbGFzcyBCYXNlR2l0PFxuICBQUk9KQ0VUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcbiAgcHJvamVjdDogUFJPSkNFVDtcblxuICB1bnN0YWdlQWxsRmlsZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmV2ZXJ0RmlsZUNoYW5nZXMoZmlsZVJlbGV0aXZlUGF0aDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2xvbmUodXJsOiBzdHJpbmcsIGRlc3RpbmF0aW9uRm9sZGVyTmFtZSA9ICcnLCBicmFuY2hOYW1lPzogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlc3RvcmVMYXN0VmVyc2lvbihyZWxhdGl2ZUZpbGVQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGFnZUFsbEZpbGVzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YXNoKG9wdGlub3M/OiB7IG9ubHlTdGFnZWQ/OiBib29sZWFuIH0pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGFzaEFwcGx5KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGZldGNoKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlc2V0RmlsZXMoLi4ucmVsYXRpdmVQYXRoZXM6IHN0cmluZ1tdKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzSW5zaWRlR2l0UmVwbygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNXaXRob3V0R2l0UmVwb3NpdG9yeSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNHaXRSb290KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBvcmlnaW5VUkwoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY29tbWl0KGNvbW1pdE1lc3NhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogYWxpYXMgdG8gc3RhZ2UgYWxsIGFuZCBjb21taXRcbiAgICovXG4gIGFkZEFuZENvbW1pdChjb21taXRNZXNzYWdlOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGFnZUFsbEFuZENvbW1pdChjb21taXRNZXNzYWdlOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBwdXNoQ3VycmVudEJyYW5jaChvcHRpb25zPzoge1xuICAgIGZvcmNlPzogYm9vbGVhbjtcbiAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgYXNrVG9SZXRyeT86IGJvb2xlYW47XG4gICAgZm9yY2VQdXNoTm9RdWVzdGlvbj86IGJvb2xlYW47XG4gIH0pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgYWxsT3JpZ2lucygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgdW5jb21taXRlZEZpbGVzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCB0aGVyZUFyZVNvbWVVbmNvbW1pdGVkQ2hhbmdlKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgdGhlcmVBcmVTb21lVW5jb21taXRlZENoYW5nZUV4Y2VwdChmaWxlc0xpc3Q6IHN0cmluZ1tdID0gW10pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBtZWx0QWN0aW9uQ29tbWl0cyhzb2Z0ID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBhc3luYyBwdWxsQ3VycmVudEJyYW5jaChvcHRpb25zPzoge1xuICAgIGFza1RvUmV0cnk/OiBib29sZWFuO1xuICAgIGRlZmF1bHRIYXJkUmVzZXRDb21taXRzPzogbnVtYmVyO1xuICB9KSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGN1cnJlbnRCcmFuY2hOYW1lKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBsaXN0T2ZDdXJyZW50R2l0Q2hhbmdlcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXRCcmFuY2hlc05hbWVzQnkocGF0dGVybjogc3RyaW5nIHwgUmVnRXhwKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVzZXRTb2Z0SEVBRChIRUFEID0gMSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlc2V0SGFyZChvcHRpb25zPzogeyBIRUFEPzogbnVtYmVyIH0pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBjb3VudENvbWl0cygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBoYXNBbnlDb21taXRzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc0luTWVyZ2VQcm9jZXNzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGxhc3RDb21taXREYXRlKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGxhc3RDb21taXRIYXNoKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGxhc3RDb21taXRNZXNzYWdlKCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgcGVudWx0aW1hdGVDb21taXRNZXNzYWdlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0Q29tbWl0TWVzc2FnZUJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldENvbW1pdE1lc3NhZ2VCeUhhc2goaGFzaDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0Q29tbWl0SGFzaEJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHBlbnVsdGltYXRlQ29tbWl0SGFzaCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBjaGVja1RhZ0V4aXN0cyh0YWc6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNoZWNrb3V0KFxuICAgIGJyYW5jaE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY3JlYXRlQnJhbmNoSWZOb3RFeGlzdHM/OiBib29sZWFuO1xuICAgICAgZmV0Y2hCZWZvcmVDaGVja291dD86IGJvb2xlYW47XG4gICAgICBzd2l0Y2hCcmFuY2hXaGVuRXhpc3RzPzogYm9vbGVhbjtcbiAgICB9LFxuICApIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBjaGVja291dEZyb21UbyhcbiAgICBjaGVja291dEZyb21CcmFuY2g6IHN0cmluZyxcbiAgICBicmFuY2g6IHN0cmluZyxcbiAgICBvcmlnaW4gPSAnb3JpZ2luJyxcbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG1ham9yVmVyc2lvbiBleGFtcGxlOiB2MSwgdjIgZXRjLlxuICAgKiBAcmV0dXJucyB0YWcgbmFtZVxuICAgKi9cbiAgbGFzdFRhZ05hbWVGb3JNYWpvclZlcnNpb24obWFqb3JWZXJzaW9uKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGFzdFRhZ0hhc2goKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHJlbW90ZU9yaWdpblVybCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgbGFzdFRhZ1ZlcnNpb25OYW1lKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBzdGFnZWRGaWxlcygpOiBzdHJpbmdbXSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRPRE8gZG9lcyB0aGlzIG1ha2UgYW55IHNlbnNlXG4gICAqL1xuICByZW5hbWVPcmlnaW4obmV3TmFtZU9yVWxyOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IG5vIHRyYW5zbGF0aW9uIG9mIGNvbW1pdFxuICAgKi9cbiAgdHJhbnNhbHRlR2l0Q29tbWl0RnJvbUFyZ3MoKSB7XG4gICAgcmV0dXJuIHsgZnJvbTogdm9pZCAwIGFzIHN0cmluZywgdG86IHZvaWQgMCBhcyBzdHJpbmcgfTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQnkgZGVmdWx0IHRydWUuLiB3aGVuIGNvbW1pdCBicmFuY2hlcyB3aWxsIG5vdCBmdW5jdGlvbi5cbiAgICogKGZhbHNlIGlzIGJldHRlciBmb3Igc2ltcGxlIHByb2plY3RzKVxuICAgKi9cbiAgdXNlR2l0QnJhbmNoZXNXaGVuQ29tbWl0aW5nQW5kUHVzaGluZygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogdXNlZnVsbCB3aGVuIHB1c2hpbmcgaW4gcHJvamVjdCB3aXRoIGNoaWxkcmVucyBhcyBnaXQgcmVwb3NcbiAgICovXG4gIGF1dG9tYXRpY2FsbHlBZGRBbGxDaG5hZ2VzV2hlblB1c2hpbmdUb0dpdCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHVzZWZ1bGwgd2hlbiBwdXNoaW5nIGluIHByb2plY3Qgd2l0aCBjaGlsZHJlbnMgYXMgZ2l0IHJlcG9zXG4gICAqL1xuICB1c2VHaXRCcmFuY2hlc0FzTWV0YWRhdGFGb3JDb21taXRzKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxuXG4gIGFzeW5jIGNsb25lVG8oY3dkOiBzdHJpbmcsIG5ld1Byb2plY3ROYW1lPzogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgb25seSBmb3IgcHVzaC9wdWxsIHByb2Nlc3NcbiAgICpcbiAgICogVGhlcmUgYXJlIDIgdHlwZXMgb2YgcHJvamVjdHM6XG4gICAqIC0gd2l0aCBsaW5rZWQtcHJvamVjdHMuanNvblxuICAgKiAtIHdpdGggY2hpbGRyZW4gZnJvbSBleHRlcm5hbCBmb2xkZXJcbiAgICpcbiAgICogcHJvamVjdHMgdGhhdCBhcmUgY2hpbGRyZW4gb2YgdGhpcyBwcm9qZWN0ICh3aXRoIGl0cyBvd24gZ2l0IHJlcG8pXG4gICAqL1xuICBnZXQgZ2l0Q2hpbGRyZW4oKSB7XG4gICAgbGV0IGNoaWxkcmVuUmVwb3M6IFBST0pDRVRbXSA9IFtdO1xuXG4gICAgaWYgKHRoaXMucHJvamVjdC5saW5rZWRQcm9qZWN0cy5saW5rZWRQcm9qZWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICBjaGlsZHJlblJlcG9zID0gdGhpcy5wcm9qZWN0LmxpbmtlZFByb2plY3RzLmxpbmtlZFByb2plY3RzXG4gICAgICAgIC5tYXAoYyA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucHJvamVjdC5pbnMuRnJvbShbXG4gICAgICAgICAgICB0aGlzLnByb2plY3QubG9jYXRpb24sXG4gICAgICAgICAgICBjLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgICAgIF0pIGFzIFBST0pDRVQ7XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoZiA9PiAhIWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGlsZHJlblJlcG9zID0gdGhpcy5wcm9qZWN0LmNoaWxkcmVuO1xuICAgIH1cblxuICAgIGNoaWxkcmVuUmVwb3MgPSBjaGlsZHJlblJlcG9zLmZpbHRlcihcbiAgICAgIGYgPT4gZi5naXQuaXNJbnNpZGVHaXRSZXBvICYmIGYuZ2l0LmlzR2l0Um9vdCxcbiAgICApIGFzIFBST0pDRVRbXTtcbiAgICByZXR1cm4gY2hpbGRyZW5SZXBvcztcbiAgfVxuXG5cblxuICBhc3luYyBwdWxsUHJvY2VzcyhjbG9uZUNoaWxkcmVuID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgcHVzaFByb2Nlc3MoXG4gICAgb3B0aW9uczoge1xuICAgICAgZm9yY2U/OiBib29sZWFuO1xuICAgICAgdHlwZW9mQ29tbWl0PzogVHlwZU9mQ29tbWl0O1xuICAgICAgYXNrVG9Db25maXJtUHVzaD86IGJvb2xlYW47XG4gICAgICBhc2tUb0NvbmZpcm1Db21taXQ/OiBib29sZWFuO1xuICAgICAgc2tpcExpbnQ/OiBib29sZWFuO1xuICAgICAgYXNrVG9Db25maXJtQnJhbmNoQ2hhbmdlPzogYm9vbGVhbjtcbiAgICAgIG9yaWdpbj86IHN0cmluZztcbiAgICAgIGFyZ3M/OiBzdHJpbmdbXTtcbiAgICAgIHNldE9yaWdpbj86ICdzc2gnIHwgJ2h0dHAnO1xuICAgICAgZXhpdENhbGxCYWNrPzogKCkgPT4gdm9pZDtcbiAgICAgIGZvcmNlUHVzaE5vUXVlc3Rpb24/OiBib29sZWFuO1xuICAgICAgY29tbWl0TWVzc2FnZVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgIHNraXBDaGlsZHJlbj86IGJvb2xlYW47XG4gICAgfSA9IHt9LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgX2JlZm9yZUFueUFjdGlvbk9uR2l0Um9vdCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgX2JlZm9yZVB1c2hQcm9jZXNzQWN0aW9uKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBfYmVmb3JlUHVsbFByb2Nlc3NBY3Rpb24oY2xvbmVDaGlsZHJlbiA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBfZ2V0Q29tbWl0TWVzc2FnZShcbiAgICB0eXBlb2ZDb21taXQ6IFR5cGVPZkNvbW1pdCxcbiAgICBhcmdzOiBzdHJpbmdbXSxcbiAgICBjb21taXRNZXNzYWdlUmVxdWlyZWQ/OiBib29sZWFuLFxuICApOiBQcm9taXNlPENvbW1pdERhdGE+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBwcmV2ZW50IGFjY2lkZW50YWwgYnJhbmNoIGNoYW5nZSBmb3IgZmlyZWRldiBwcm9qZWN0c1xuICAgKiBAcmV0dXJucyBicmFuY2ggbmFtZVxuICAgKi9cbiAgZHVyaW5nUHVzaFdhcm5JZlByb2plY3ROb3RPblNwZWN5ZmljRGV2QnJhbmNoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGFzeW5jIGdldENoYW5nZWRGaWxlc0luQ29tbWl0QnlIYXNoKGhhc2g6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBpbmRleCAwIC0gbWVhbnMgbGFzdCBjb21taXRcbiAgICovXG4gIGFzeW5jIGdldENoYW5nZWRGaWxlc0luQ29tbWl0QnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2Jhc2UtZ2l0LnRzIl19
731
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1naXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2Jhc2UtZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTW5FLE1BQU0sT0FBTyxPQUVYLFNBQVEscUJBQXFCO0lBRzdCLGVBQWU7UUFDakIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsaUJBQWlCLENBQUMsZ0JBQXdCO1FBQzVDLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBVyxFQUFFLHFCQUFxQixHQUFHLEVBQUUsRUFBRSxVQUFtQjtRQUMxRSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsa0JBQWtCLENBQUMsZ0JBQXdCO1FBQzdDLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELGFBQWE7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FB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QUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUNqQyxDQUFDO1FBQ2YsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLEtBQUs7UUFDekMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQ2YsVUFjSSxFQUFFO1FBRVYsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlNLHlCQUF5QjtRQUNsQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsd0JBQXdCO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlTLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEdBQUcsS0FBSztRQUNoRSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLGlCQUFpQixDQUMvQixZQUEwQixFQUMxQixJQUFjLEVBQ2QscUJBQStCO1FBRW5DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFHRDs7O09BR0c7SUFDSCw2Q0FBNkM7UUFDM0MsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLDZCQUE2QixDQUFDLElBQVk7UUFDbEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsOEJBQThCLENBQUMsS0FBYTtRQUNwRCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNkRBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IEJhc2VGZWF0dXJlRm9yUHJvamVjdCB9IGZyb20gJy4vYmFzZS1mZWF0dXJlLWZvci1wcm9qZWN0JztcbmltcG9ydCB7IENvbW1pdERhdGEsIEhlbHBlcnMsIFR5cGVPZkNvbW1pdCB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IGNyb3NzUGxhdGZvcm1QYXRoLCBwYXRoLCBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VHaXQ8XG4gIFBST0pDRVQgZXh0ZW5kcyBCYXNlUHJvamVjdCA9IGFueSxcbj4gZXh0ZW5kcyBCYXNlRmVhdHVyZUZvclByb2plY3Qge1xuICBwcm9qZWN0OiBQUk9KQ0VUO1xuXG4gIHVuc3RhZ2VBbGxGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXZlcnRGaWxlQ2hhbmdlcyhmaWxlUmVsZXRpdmVQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBjbG9uZSh1cmw6IHN0cmluZywgZGVzdGluYXRpb25Gb2xkZXJOYW1lID0gJycsIGJyYW5jaE5hbWU/OiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVzdG9yZUxhc3RWZXJzaW9uKHJlbGF0aXZlRmlsZVBhdGg6IHN0cmluZyk6IHZvaWQge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YWdlQWxsRmlsZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3Rhc2gob3B0aW5vcz86IHsgb25seVN0YWdlZD86IGJvb2xlYW4gfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YXNoQXBwbHkoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZmV0Y2goKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVzZXRGaWxlcyguLi5yZWxhdGl2ZVBhdGhlczogc3RyaW5nW10pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNJbnNpZGVHaXRSZXBvKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc1dpdGhvdXRHaXRSZXBvc2l0b3J5KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc0dpdFJvb3QoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IG9yaWdpblVSTCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBjb21taXQoY29tbWl0TWVzc2FnZT86IHN0cmluZyk6IHZvaWQge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBhbGlhcyB0byBzdGFnZSBhbGwgYW5kIGNvbW1pdFxuICAgKi9cbiAgYWRkQW5kQ29tbWl0KGNvbW1pdE1lc3NhZ2U6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YWdlQWxsQW5kQ29tbWl0KGNvbW1pdE1lc3NhZ2U6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHB1c2hDdXJyZW50QnJhbmNoKG9wdGlvbnM/OiB7XG4gICAgZm9yY2U/OiBib29sZWFuO1xuICAgIG9yaWdpbj86IHN0cmluZztcbiAgICBhc2tUb1JldHJ5PzogYm9vbGVhbjtcbiAgICBmb3JjZVB1c2hOb1F1ZXN0aW9uPzogYm9vbGVhbjtcbiAgfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBhbGxPcmlnaW5zKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCB1bmNvbW1pdGVkRmlsZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHRoZXJlQXJlU29tZVVuY29tbWl0ZWRDaGFuZ2UoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICB0aGVyZUFyZVNvbWVVbmNvbW1pdGVkQ2hhbmdlRXhjZXB0KGZpbGVzTGlzdDogc3RyaW5nW10gPSBbXSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIG1lbHRBY3Rpb25Db21taXRzKHNvZnQgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGFzeW5jIHB1bGxDdXJyZW50QnJhbmNoKG9wdGlvbnM/OiB7XG4gICAgYXNrVG9SZXRyeT86IGJvb2xlYW47XG4gICAgZGVmYXVsdEhhcmRSZXNldENvbW1pdHM/OiBudW1iZXI7XG4gIH0pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgY3VycmVudEJyYW5jaE5hbWUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxpc3RPZkN1cnJlbnRHaXRDaGFuZ2VzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldEJyYW5jaGVzTmFtZXNCeShwYXR0ZXJuOiBzdHJpbmcgfCBSZWdFeHApIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXNldFNvZnRIRUFEKEhFQUQgPSAxKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVzZXRIYXJkKG9wdGlvbnM/OiB7IEhFQUQ/OiBudW1iZXIgfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNvdW50Q29taXRzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGhhc0FueUNvbW1pdHMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzSW5NZXJnZVByb2Nlc3MoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGFzdENvbW1pdERhdGUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGFzdENvbW1pdEhhc2goKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGFzdENvbW1pdE1lc3NhZ2UoKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBwZW51bHRpbWF0ZUNvbW1pdE1lc3NhZ2UoKTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDb21taXRNZXNzYWdlQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0Q29tbWl0TWVzc2FnZUJ5SGFzaChoYXNoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDb21taXRIYXNoQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcGVudWx0aW1hdGVDb21taXRIYXNoKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNoZWNrVGFnRXhpc3RzKHRhZzogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY2hlY2tvdXQoXG4gICAgYnJhbmNoTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBjcmVhdGVCcmFuY2hJZk5vdEV4aXN0cz86IGJvb2xlYW47XG4gICAgICBmZXRjaEJlZm9yZUNoZWNrb3V0PzogYm9vbGVhbjtcbiAgICAgIHN3aXRjaEJyYW5jaFdoZW5FeGlzdHM/OiBib29sZWFuO1xuICAgIH0sXG4gICkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNoZWNrb3V0RnJvbVRvKFxuICAgIGNoZWNrb3V0RnJvbUJyYW5jaDogc3RyaW5nLFxuICAgIGJyYW5jaDogc3RyaW5nLFxuICAgIG9yaWdpbiA9ICdvcmlnaW4nLFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gbWFqb3JWZXJzaW9uIGV4YW1wbGU6IHYxLCB2MiBldGMuXG4gICAqIEByZXR1cm5zIHRhZyBuYW1lXG4gICAqL1xuICBsYXN0VGFnTmFtZUZvck1ham9yVmVyc2lvbihtYWpvclZlcnNpb24pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0VGFnSGFzaCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgcmVtb3RlT3JpZ2luVXJsKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBsYXN0VGFnVmVyc2lvbk5hbWUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHN0YWdlZEZpbGVzKCk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVE9ETyBkb2VzIHRoaXMgbWFrZSBhbnkgc2Vuc2VcbiAgICovXG4gIHJlbmFtZU9yaWdpbihuZXdOYW1lT3JVbHI6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgbm8gdHJhbnNsYXRpb24gb2YgY29tbWl0XG4gICAqL1xuICB0cmFuc2FsdGVHaXRDb21taXRGcm9tQXJncygpIHtcbiAgICByZXR1cm4geyBmcm9tOiB2b2lkIDAgYXMgc3RyaW5nLCB0bzogdm9pZCAwIGFzIHN0cmluZyB9O1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBCeSBkZWZ1bHQgdHJ1ZS4uIHdoZW4gY29tbWl0IGJyYW5jaGVzIHdpbGwgbm90IGZ1bmN0aW9uLlxuICAgKiAoZmFsc2UgaXMgYmV0dGVyIGZvciBzaW1wbGUgcHJvamVjdHMpXG4gICAqL1xuICB1c2VHaXRCcmFuY2hlc1doZW5Db21taXRpbmdBbmRQdXNoaW5nKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiB1c2VmdWxsIHdoZW4gcHVzaGluZyBpbiBwcm9qZWN0IHdpdGggY2hpbGRyZW5zIGFzIGdpdCByZXBvc1xuICAgKi9cbiAgYXV0b21hdGljYWxseUFkZEFsbENobmFnZXNXaGVuUHVzaGluZ1RvR2l0KCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogdXNlZnVsbCB3aGVuIHB1c2hpbmcgaW4gcHJvamVjdCB3aXRoIGNoaWxkcmVucyBhcyBnaXQgcmVwb3NcbiAgICovXG4gIHVzZUdpdEJyYW5jaGVzQXNNZXRhZGF0YUZvckNvbW1pdHMoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2xvbmVUbyhjd2Q6IHN0cmluZywgbmV3UHJvamVjdE5hbWU/OiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVGhpcyBpcyBvbmx5IGZvciBwdXNoL3B1bGwgcHJvY2Vzc1xuICAgKlxuICAgKiBUaGVyZSBhcmUgMiB0eXBlcyBvZiBwcm9qZWN0czpcbiAgICogLSB3aXRoIGxpbmtlZC1wcm9qZWN0cy5qc29uXG4gICAqIC0gd2l0aCBjaGlsZHJlbiBmcm9tIGV4dGVybmFsIGZvbGRlclxuICAgKlxuICAgKiBwcm9qZWN0cyB0aGF0IGFyZSBjaGlsZHJlbiBvZiB0aGlzIHByb2plY3QgKHdpdGggaXRzIG93biBnaXQgcmVwbylcbiAgICovXG4gIGdldCBnaXRDaGlsZHJlbigpIHtcbiAgICBsZXQgY2hpbGRyZW5SZXBvczogUFJPSkNFVFtdID0gW107XG5cbiAgICBpZiAodGhpcy5wcm9qZWN0LmxpbmtlZFByb2plY3RzLmxpbmtlZFByb2plY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNoaWxkcmVuUmVwb3MgPSB0aGlzLnByb2plY3QubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHNcbiAgICAgICAgLm1hcChjID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wcm9qZWN0Lmlucy5Gcm9tKFtcbiAgICAgICAgICAgIHRoaXMucHJvamVjdC5sb2NhdGlvbixcbiAgICAgICAgICAgIGMucmVsYXRpdmVDbG9uZVBhdGgsXG4gICAgICAgICAgXSkgYXMgUFJPSkNFVDtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihmID0+ICEhZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoaWxkcmVuUmVwb3MgPSB0aGlzLnByb2plY3QuY2hpbGRyZW47XG4gICAgfVxuXG4gICAgY2hpbGRyZW5SZXBvcyA9IGNoaWxkcmVuUmVwb3MuZmlsdGVyKFxuICAgICAgZiA9PiBmLmdpdC5pc0luc2lkZUdpdFJlcG8gJiYgZi5naXQuaXNHaXRSb290LFxuICAgICkgYXMgUFJPSkNFVFtdO1xuICAgIHJldHVybiBjaGlsZHJlblJlcG9zO1xuICB9XG5cblxuXG4gIGFzeW5jIHB1bGxQcm9jZXNzKGNsb25lQ2hpbGRyZW4gPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBwdXNoUHJvY2VzcyhcbiAgICBvcHRpb25zOiB7XG4gICAgICBmb3JjZT86IGJvb2xlYW47XG4gICAgICB0eXBlb2ZDb21taXQ/OiBUeXBlT2ZDb21taXQ7XG4gICAgICBhc2tUb0NvbmZpcm1QdXNoPzogYm9vbGVhbjtcbiAgICAgIGFza1RvQ29uZmlybUNvbW1pdD86IGJvb2xlYW47XG4gICAgICBza2lwTGludD86IGJvb2xlYW47XG4gICAgICBhc2tUb0NvbmZpcm1CcmFuY2hDaGFuZ2U/OiBib29sZWFuO1xuICAgICAgb3JpZ2luPzogc3RyaW5nO1xuICAgICAgYXJncz86IHN0cmluZ1tdO1xuICAgICAgc2V0T3JpZ2luPzogJ3NzaCcgfCAnaHR0cCc7XG4gICAgICBleGl0Q2FsbEJhY2s/OiAoKSA9PiB2b2lkO1xuICAgICAgZm9yY2VQdXNoTm9RdWVzdGlvbj86IGJvb2xlYW47XG4gICAgICBjb21taXRNZXNzYWdlUmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAgc2tpcENoaWxkcmVuPzogYm9vbGVhbjtcbiAgICB9ID0ge30sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgX2JlZm9yZUFueUFjdGlvbk9uR2l0Um9vdCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgX2JlZm9yZVB1c2hQcm9jZXNzQWN0aW9uKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBfYmVmb3JlUHVsbFByb2Nlc3NBY3Rpb24oY2xvbmVDaGlsZHJlbiA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBfZ2V0Q29tbWl0TWVzc2FnZShcbiAgICB0eXBlb2ZDb21taXQ6IFR5cGVPZkNvbW1pdCxcbiAgICBhcmdzOiBzdHJpbmdbXSxcbiAgICBjb21taXRNZXNzYWdlUmVxdWlyZWQ/OiBib29sZWFuLFxuICApOiBQcm9taXNlPENvbW1pdERhdGE+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgcHJldmVudCBhY2NpZGVudGFsIGJyYW5jaCBjaGFuZ2UgZm9yIGZpcmVkZXYgcHJvamVjdHNcbiAgICogQHJldHVybnMgYnJhbmNoIG5hbWVcbiAgICovXG4gIGR1cmluZ1B1c2hXYXJuSWZQcm9qZWN0Tm90T25TcGVjeWZpY0RldkJyYW5jaCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBhc3luYyBnZXRDaGFuZ2VkRmlsZXNJbkNvbW1pdEJ5SGFzaChoYXNoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gaW5kZXggMCAtIG1lYW5zIGxhc3QgY29tbWl0XG4gICAqL1xuICBhc3luYyBnZXRDaGFuZ2VkRmlsZXNJbkNvbW1pdEJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLWdpdC50cyJdfQ==
@@ -16,33 +16,42 @@ export class BaseReleaseProcess extends BaseFeatureForProject {
16
16
  return ['release'];
17
17
  }
18
18
  async startRelease(options) {
19
- while (true) {
20
- Helpers.clearConsole();
21
- this.newVersion = options?.newVersion;
22
- this.automaticRelease = options?.automaticRelease || false;
23
- await this.resetReleaseFiles();
24
- this.project.npmHelpers.reloadPackageJsonInMemory();
25
- this.lastChangesSummary = await this.generateLastChangesSummary();
26
- console.log(`${chalk.bold.underline(`Release process for ${this.project.name}`)}:\n` +
27
- (await this.lastChangesSummary));
28
- this.type = await this.selectReleaseType();
29
- await this.confirmNewVersion();
30
- this.commitsForChangelog = await this.selectChangelogCommits();
31
- await this.updateChangeLogFromCommits();
32
- await this.bumpNewVersionEverywhere();
33
- await this.buildAllLibraries();
34
- if (!(await this.testBeforePublish())) {
35
- continue;
36
- }
37
- if (!(await this.publishToNpm())) {
38
- continue;
39
- }
40
- await this.reinstallNodeModules();
41
- if (!(await this.testAfterPublish())) {
42
- continue;
43
- }
44
- await this.commitAndPush();
45
- }
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ return (void 0);
46
55
  }
47
56
  async reinstallNodeModules() {
48
57
  Helpers.taskStarted(`Reinstalling node_modules to recreate package-lock.json`);
@@ -113,6 +122,13 @@ export class BaseReleaseProcess extends BaseFeatureForProject {
113
122
  /* */
114
123
  /* */
115
124
  /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
116
132
  return (void 0);
117
133
  }
118
134
  async testAfterPublish() {
@@ -269,6 +285,8 @@ export class BaseReleaseProcess extends BaseFeatureForProject {
269
285
  /* */
270
286
  /* */
271
287
  /* */
288
+ /* */
289
+ /* */
272
290
  return (void 0);
273
291
  }
274
292
  async selectReleaseType() {
@@ -579,4 +597,4 @@ ${await this.getLastChangesFromCommits({
579
597
  }
580
598
  ;
581
599
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-release-process.ts
582
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZWxlYXNlLXByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2Jhc2UtcmVsZWFzZS1wcm9jZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQWMsS0FBSyxFQUFpQixNQUFNLGlCQUFpQixDQUFDO0FBT25FLE1BQU0sT0FBTyxrQkFFWCxTQUFRLHFCQUFxQjtJQUYvQjs7UUFLRTs7V0FFRztRQUNILHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyx3QkFBbUIsR0FHYixFQUFFLENBQUM7SUFpc0JYLENBQUM7SUE5ckJDLGVBQWU7UUFDYixPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUdNLEtBQUssQ0FBQyxZQUFZLENBQ3ZCLE9BS0M7UUFFRCxPQUFPLElBQUksRUFBRTtZQUNYLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLENBQUM7WUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7WUFDM0QsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQ1QsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUN0RSxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ2xDLENBQUM7WUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUMvRCxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUU7Z0JBQ3JDLFNBQVM7YUFDVjtZQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUU7Z0JBQ2hDLFNBQVM7YUFDVjtZQUVELE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFO2dCQUNwQyxTQUFTO2FBQ1Y7WUFFRCxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFJTyxLQUFLLENBQUMsb0JBQW9CO1FBQ2hDLE9BQU8sQ0FBQyxXQUFXLENBQ2pCLHlEQUF5RCxDQUMxRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM5QyxPQUFPLENBQUMsUUFBUSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUlELEtBQUssQ0FBQyxzQkFBc0I7UUFNOUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJTyxLQUFLLENBQUMsMkJBQTJCO1FBTTNDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sS0FBSyxDQUFDLFlBQVk7UUFDNUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJTyxLQUFLLENBQUMsZ0JBQWdCO1FBQ2hDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNM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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyx3QkFBd0I7UUFPaEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyx5Q0FBeUM7UUFDakQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFZLGFBQWE7UUFDM0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUlELGdCQUFnQjtRQUNkLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUlELGdCQUFnQjtRQUNsQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUVBQXlFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IEJhc2VGZWF0dXJlRm9yUHJvamVjdCB9IGZyb20gJy4vYmFzZS1mZWF0dXJlLWZvci1wcm9qZWN0JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBDb3JlTW9kZWxzLCBjaGFsaywgZGF0ZWZvcm1hdCwgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgdHlwZSB7IENoYW5nZWxvZ0RhdGEgfSBmcm9tICcuLi8uL21vZGVscyc7XG5pbXBvcnQgeyBDb21taXREYXRhIH0gZnJvbSAnLi9jb21taXQtZGF0YSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cblxuXG5leHBvcnQgY2xhc3MgQmFzZVJlbGVhc2VQcm9jZXNzPFxuICBQUk9KQ0VUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcblxuICBwcm9qZWN0OiBQUk9KQ0VUO1xuICAvKipcbiAgICogQXV0b21hdGljIHJlbGVhc2UgcHJvY2VzcyBvZiBwYXRjaCBwbHVzIG9uZSB2ZXJzaW9uXG4gICAqL1xuICBhdXRvbWF0aWNSZWxlYXNlOiBib29sZWFuID0gZmFsc2U7XG4gIHR5cGU6IENvcmVNb2RlbHMuUmVsZWFzZVR5cGU7XG4gIGxhc3RDaGFuZ2VzU3VtbWFyeTogc3RyaW5nO1xuICBuZXdWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbW1pdHNGb3JDaGFuZ2Vsb2c6IHtcbiAgICBjb21taXRNZXNzYWdlczogc3RyaW5nO1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH1bXSA9IFtdO1xuXG5cbiAgZ2V0UmVsZWFzZVdvcmRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydyZWxlYXNlJ107XG4gIH1cblxuXG4gIHB1YmxpYyBhc3luYyBzdGFydFJlbGVhc2UoXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8XG4gICAgICBQaWNrPFxuICAgICAgICBCYXNlUmVsZWFzZVByb2Nlc3M8UFJPSkNFVD4sXG4gICAgICAgICdhdXRvbWF0aWNSZWxlYXNlJyB8ICd0eXBlJyB8ICduZXdWZXJzaW9uJ1xuICAgICAgPlxuICAgID4sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBIZWxwZXJzLmNsZWFyQ29uc29sZSgpO1xuICAgICAgdGhpcy5uZXdWZXJzaW9uID0gb3B0aW9ucz8ubmV3VmVyc2lvbjtcbiAgICAgIHRoaXMuYXV0b21hdGljUmVsZWFzZSA9IG9wdGlvbnM/LmF1dG9tYXRpY1JlbGVhc2UgfHwgZmFsc2U7XG4gICAgICBhd2FpdCB0aGlzLnJlc2V0UmVsZWFzZUZpbGVzKCk7XG4gICAgICB0aGlzLnByb2plY3QubnBtSGVscGVycy5yZWxvYWRQYWNrYWdlSnNvbkluTWVtb3J5KCk7XG4gICAgICB0aGlzLmxhc3RDaGFuZ2VzU3VtbWFyeSA9IGF3YWl0IHRoaXMuZ2VuZXJhdGVMYXN0Q2hhbmdlc1N1bW1hcnkoKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgJHtjaGFsay5ib2xkLnVuZGVybGluZShgUmVsZWFzZSBwcm9jZXNzIGZvciAke3RoaXMucHJvamVjdC5uYW1lfWApfTpcXG5gICtcbiAgICAgICAgICAoYXdhaXQgdGhpcy5sYXN0Q2hhbmdlc1N1bW1hcnkpLFxuICAgICAgKTtcbiAgICAgIHRoaXMudHlwZSA9IGF3YWl0IHRoaXMuc2VsZWN0UmVsZWFzZVR5cGUoKTtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlybU5ld1ZlcnNpb24oKTtcbiAgICAgIHRoaXMuY29tbWl0c0ZvckNoYW5nZWxvZyA9IGF3YWl0IHRoaXMuc2VsZWN0Q2hhbmdlbG9nQ29tbWl0cygpO1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVDaGFuZ2VMb2dGcm9tQ29tbWl0cygpO1xuICAgICAgYXdhaXQgdGhpcy5idW1wTmV3VmVyc2lvbkV2ZXJ5d2hlcmUoKTtcbiAgICAgIGF3YWl0IHRoaXMuYnVpbGRBbGxMaWJyYXJpZXMoKTtcbiAgICAgIGlmICghKGF3YWl0IHRoaXMudGVzdEJlZm9yZVB1Ymxpc2goKSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoIShhd2FpdCB0aGlzLnB1Ymxpc2hUb05wbSgpKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgdGhpcy5yZWluc3RhbGxOb2RlTW9kdWxlcygpO1xuICAgICAgaWYgKCEoYXdhaXQgdGhpcy50ZXN0QWZ0ZXJQdWJsaXNoKCkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCB0aGlzLmNvbW1pdEFuZFB1c2goKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhc3luYyByZWluc3RhbGxOb2RlTW9kdWxlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBIZWxwZXJzLnRhc2tTdGFydGVkKFxuICAgICAgYFJlaW5zdGFsbGluZyBub2RlX21vZHVsZXMgdG8gcmVjcmVhdGUgcGFja2FnZS1sb2NrLmpzb25gLFxuICAgICk7XG4gICAgdGhpcy5wcm9qZWN0Lm5wbUhlbHBlcnMucmVpbnN0YWxOb2RlTW9kdWxlcygpO1xuICAgIEhlbHBlcnMudGFza0RvbmUoYFJlaW5zdGFsbGluZyBub2RlX21vZHVsZXMgdG8gcmVjcmVhdGUgcGFja2FnZS1sb2NrLmpzb25gKTtcbiAgfVxuXG5cblxuICBhc3luYyBzZWxlY3RDaGFuZ2Vsb2dDb21taXRzKCk6IFByb21pc2U8XG4gICAge1xuICAgICAgY29tbWl0TWVzc2FnZXM6IHN0cmluZztcbiAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfVtdXG4gID4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRDb21taXRzVXBUb1JlbGVhc2VDb21taXQoKTogUHJvbWlzZTxcbiAgICB7XG4gICAgICBjb21taXRNZXNzYWdlczogc3RyaW5nO1xuICAgICAgaW5kZXg6IG51bWJlcjtcbiAgICB9W11cbiAgPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIHB1Ymxpc2hUb05wbSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdEFmdGVyUHVibGlzaCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdEJlZm9yZVB1Ymxpc2goKTogUHJvbWlzZTxib29sZWFuPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIGNvbW1pdEFuZFB1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCByZWxlYXNlQ29tbWl0VGVtcGxhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFJlbGVhc2UgdiR7dGhpcy5uZXdWZXJzaW9ufSArIGNoYW5nZWxvZy5tZCB1cGRhdGVgO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdExpYnJhcmllcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5wcm9qZWN0LnJ1bignbnBtIHJ1biB0ZXN0JywgeyBvdXRwdXQ6IHRydWUgfSkuc3luYygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgVGVzdCBmYWlsZWQsIHlvdSBjYW4gcnVuIHRlc3QgbWFudWFsbHlgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuXG5cbiAgYXN5bmMgYnVpbGRBbGxMaWJyYXJpZXMoKSB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0LmxpYnJhcnlCdWlsZC5idWlsZExpYnJhcmllcyh7XG4gICAgICB3YXRjaDogZmFsc2UsXG4gICAgICByZWxlYXNlQnVpbGQ6IHRydWUsXG4gICAgICBidWlsZFR5cGU6ICdhbmd1bGFyJyxcbiAgICB9KTtcbiAgfVxuXG5cblxuICBhc3luYyByZXNldFJlbGVhc2VGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHRvQnVtcFByb2plY3RzKCkge1xuICAgIGNvbnN0IHRvQnVtcFByb2plY3RzID0gW1xuICAgICAgdGhpcy5wcm9qZWN0LFxuICAgICAgLi4udGhpcy5wcm9qZWN0LmxpYnJhcnlCdWlsZC5saWJyYXJpZXMsXG4gICAgXSBhcyBQUk9KQ0VUW107XG5cbiAgICByZXR1cm4gdG9CdW1wUHJvamVjdHM7XG4gIH1cblxuXG5cbiAgYXN5bmMgYnVtcE5ld1ZlcnNpb25FdmVyeXdoZXJlKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBjb25maXJtTmV3VmVyc2lvbigpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgc2VsZWN0UmVsZWFzZVR5cGUoKTogUHJvbWlzZTxDb3JlTW9kZWxzLlJlbGVhc2VUeXBlPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNvbW1pdE1lc3NhZ2VJbkNoYW5nZWxvZ1RyYW5zZm9ybUZuKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDaGFuZ2Vsb2dDb250ZW50VG9BcHBlbmQoYXNrRm9yRXZlcnlJdGVtOiBib29sZWFuKTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRPRE8gZXh0ZW5kIHRoaXMgdG8gYWxsIGNvbW1pdHMgZnJvbSBsYXN0IHJlbGVhc2VcbiAgICovXG4gIGFzeW5jIHVwZGF0ZUNoYW5nZUxvZ0Zyb21Db21taXRzKCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZXh0cmFjdENoYW5nZWRMaWJyYXJpZXNJbkNvbW1pdChcbiAgICBoYXNoT3JJbmRleDogc3RyaW5nIHwgbnVtYmVyLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2hhbmdlbG9nSXRlbVRlbXBsYXRlKFxuICAgIGhhc2hPckluZGV4OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgY29uZmlybUV2ZXJ5SXRlbTogYm9vbGVhbiA9IGZhbHNlLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdlbmVyYXRlTGFzdENoYW5nZXNTdW1tYXJ5KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbGFzdFJlbGVhc2VDb21taXREYXRhID0gYXdhaXQgdGhpcy5nZXRMYXN0UmVsZWFzZUNvbW1pdERhdGEoKTtcbiAgICBjb25zdCBoYXNMYXN0UmVsZWFzZUNvbW1pdCA9IGxhc3RSZWxlYXNlQ29tbWl0RGF0YS5pbmRleCAhPT0gLTE7XG4gICAgY29uc3QgbGFzdFJlbGVhc2VDb21taXRNc2cgPSAhaGFzTGFzdFJlbGVhc2VDb21taXRcbiAgICAgID8gJzwgbm90aGluZyByZWxlYXNlIHlldCA+J1xuICAgICAgOiBsYXN0UmVsZWFzZUNvbW1pdERhdGEubGFzdFJlbGFzZUNvbW1pdE1zZztcblxuICAgIHJldHVybiBgJHtjaGFsay5ib2xkLmdyYXkoJ0xhc3QgY2hhbmdlbG9nLm1kIG5vdGVzIHN1bW1hcnknKX06XG4ke2F3YWl0IHRoaXMuZ2V0TGFzdFBhY2thZ2VWZXJzaW9uQ2hhbmdlc0Zyb21DaG5hZ2Vsb2coKX1cblxuJHtjaGFsay5ib2xkLmdyYXkoXG4gIGhhc0xhc3RSZWxlYXNlQ29tbWl0ID8gJ0xhc3QgY29tbWl0cyB1cCB0byByZWxhc2UgY29tbWl0JyA6ICdMYXN0IDMgY29tbWl0cycsXG4pfTpcbiR7YXdhaXQgdGhpcy5nZXRMYXN0Q2hhbmdlc0Zyb21Db21taXRzKHtcbiAgbWF4TWVzc2FnZXNUb0NoZWNrOiBoYXNMYXN0UmVsZWFzZUNvbW1pdCA/IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA6IDMsXG4gIHN0b3BPbkNvbW1pdE1lc3NhZ2U6IGhhc0xhc3RSZWxlYXNlQ29tbWl0XG4gICAgPyBsYXN0UmVsZWFzZUNvbW1pdERhdGEubGFzdFJlbGFzZUNvbW1pdE1zZ1xuICAgIDogJycsXG59KX1cbiAgICBgO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldExhc3RDaGFuZ2VzRnJvbUNvbW1pdHMoe1xuICAgIG1heE1lc3NhZ2VzVG9DaGVjayA9IDMsXG4gICAgc3RvcE9uQ29tbWl0TWVzc2FnZSA9ICcnLFxuICB9OiB7XG4gICAgLyoqXG4gICAgICogZGVmYXVsdCAzXG4gICAgICovXG4gICAgbWF4TWVzc2FnZXNUb0NoZWNrPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIHN0b3Agc2VyY2hpbmcgb24gY29tbWl0IG1lc3NhZ2VcbiAgICAgKi9cbiAgICBzdG9wT25Db21taXRNZXNzYWdlPzogc3RyaW5nO1xuICB9ID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0TGFzdFJlbGVhc2VDb21taXREYXRhKCk6IFByb21pc2U8e1xuICAgIGxhc3RSZWxhc2VDb21taXRNc2c6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiAtMSBpZiBub3QgZm91bmRcbiAgICAgKi9cbiAgICBpbmRleDogbnVtYmVyO1xuICB9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldExhc3RQYWNrYWdlVmVyc2lvbkNoYW5nZXNGcm9tQ2huYWdlbG9nKCk6IFByb21pc2U8c3RyaW5nPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldCBjaGFuZ2VMb2dQYXRoKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGNoYW5nZWxvZ0NvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdC5yZWFkRmlsZSh0aGlzLmNoYW5nZUxvZ1BhdGgpIHx8ICcnO1xuICB9XG5cblxuXG4gIGNoYW5nZUxvZ0tleVdvcmQoKSB7XG4gICAgcmV0dXJuICdDaGFuZ2VzIGluIHZlcnNpb24nO1xuICB9XG5cblxuXG4gIGdldENobmFnZWxvZ0RhdGEoKTogQ2hhbmdlbG9nRGF0YVtdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLXJlbGVhc2UtcHJvY2Vzcy50cyJdfQ==
600
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZWxlYXNlLXByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2Jhc2UtcmVsZWFzZS1wcm9jZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQWMsS0FBSyxFQUFpQixNQUFNLGlCQUFpQixDQUFDO0FBT25FLE1BQU0sT0FBTyxrQkFFWCxTQUFRLHFCQUFxQjtJQUYvQjs7UUFLRTs7V0FFRztRQUNILHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyx3QkFBbUIsR0FHYixFQUFFLENBQUM7SUErc0JYLENBQUM7SUE1c0JDLGVBQWU7UUFDYixPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUdNLEtBQUssQ0FBQyxZQUFZLENBQ3ZCLE9BS0M7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFL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QUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGlCQUFpQjtRQUN6QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU8sS0FBSyxDQUFDLGlCQUFpQjtRQUNqQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsbUNBQW1DLENBQ2pELE9BQWU7UUFFZixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBSUQsS0FBSyxDQUFDLDJCQUEyQixDQUFDLGVBQXdCO1FBQzVELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRDs7T0FFRztJQUNILEtBQUssQ0FBQywwQkFBMEI7UUFDbEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMsK0JBQStCLENBQ25DLFdBQTRCO1FBRWhDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixXQUE0QixFQUM1QixtQkFBNEIsS0FBSztRQUVyQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMsMEJBQTBCO1FBQzlCLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNwRSxNQUFNLG9CQUFvQixHQUFHLHFCQUFxQixDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRSxNQUFNLG9CQUFvQixHQUFHLENBQUMsb0JBQW9CO1lBQ2hELENBQUMsQ0FBQyx5QkFBeUI7WUFDM0IsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDO1FBRTlDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQztFQUM5RCxNQUFNLElBQUksQ0FBQyx5Q0FBeUMsRUFBRTs7RUFFdEQsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2Ysb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FDN0U7RUFDQyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztZQUNyQyxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLG1CQUFtQixFQUFFLG9CQUFvQjtnQkFDdkMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQjtnQkFDM0MsQ0FBQyxDQUFDLEVBQUU7U0FDUCxDQUFDO0tBQ0csQ0FBQztJQUNKLENBQUM7SUFJRCxLQUFLLENBQUMseUJBQXlCLENBQUMsRUFDOUIsa0JBQWtCLEdBQUcsQ0FBQyxFQUN0QixtQkFBbUIsR0FBRyxFQUFFLE1BVXRCLEVBQUU7UUFDUixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyx3QkFBd0I7UUFPaEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyx5Q0FBeUM7UUFDakQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFZLGFBQWE7UUFDM0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUlELGdCQUFnQjtRQUNkLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUlELGdCQUFnQjtRQUNsQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUVBQXlFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IEJhc2VGZWF0dXJlRm9yUHJvamVjdCB9IGZyb20gJy4vYmFzZS1mZWF0dXJlLWZvci1wcm9qZWN0JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBDb3JlTW9kZWxzLCBjaGFsaywgZGF0ZWZvcm1hdCwgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgdHlwZSB7IENoYW5nZWxvZ0RhdGEgfSBmcm9tICcuLi8uL21vZGVscyc7XG5pbXBvcnQgeyBDb21taXREYXRhIH0gZnJvbSAnLi9jb21taXQtZGF0YSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cblxuXG5leHBvcnQgY2xhc3MgQmFzZVJlbGVhc2VQcm9jZXNzPFxuICBQUk9KQ0VUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcblxuICBwcm9qZWN0OiBQUk9KQ0VUO1xuICAvKipcbiAgICogQXV0b21hdGljIHJlbGVhc2UgcHJvY2VzcyBvZiBwYXRjaCBwbHVzIG9uZSB2ZXJzaW9uXG4gICAqL1xuICBhdXRvbWF0aWNSZWxlYXNlOiBib29sZWFuID0gZmFsc2U7XG4gIHR5cGU6IENvcmVNb2RlbHMuUmVsZWFzZVR5cGU7XG4gIGxhc3RDaGFuZ2VzU3VtbWFyeTogc3RyaW5nO1xuICBuZXdWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbW1pdHNGb3JDaGFuZ2Vsb2c6IHtcbiAgICBjb21taXRNZXNzYWdlczogc3RyaW5nO1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH1bXSA9IFtdO1xuXG5cbiAgZ2V0UmVsZWFzZVdvcmRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydyZWxlYXNlJ107XG4gIH1cblxuXG4gIHB1YmxpYyBhc3luYyBzdGFydFJlbGVhc2UoXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8XG4gICAgICBQaWNrPFxuICAgICAgICBCYXNlUmVsZWFzZVByb2Nlc3M8UFJPSkNFVD4sXG4gICAgICAgICdhdXRvbWF0aWNSZWxlYXNlJyB8ICd0eXBlJyB8ICduZXdWZXJzaW9uJ1xuICAgICAgPlxuICAgID4sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgcmVpbnN0YWxsTm9kZU1vZHVsZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgSGVscGVycy50YXNrU3RhcnRlZChcbiAgICAgIGBSZWluc3RhbGxpbmcgbm9kZV9tb2R1bGVzIHRvIHJlY3JlYXRlIHBhY2thZ2UtbG9jay5qc29uYCxcbiAgICApO1xuICAgIHRoaXMucHJvamVjdC5ucG1IZWxwZXJzLnJlaW5zdGFsTm9kZU1vZHVsZXMoKTtcbiAgICBIZWxwZXJzLnRhc2tEb25lKGBSZWluc3RhbGxpbmcgbm9kZV9tb2R1bGVzIHRvIHJlY3JlYXRlIHBhY2thZ2UtbG9jay5qc29uYCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgc2VsZWN0Q2hhbmdlbG9nQ29tbWl0cygpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIGNvbW1pdE1lc3NhZ2VzOiBzdHJpbmc7XG4gICAgICBpbmRleDogbnVtYmVyO1xuICAgIH1bXVxuICA+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q29tbWl0c1VwVG9SZWxlYXNlQ29tbWl0KCk6IFByb21pc2U8XG4gICAge1xuICAgICAgY29tbWl0TWVzc2FnZXM6IHN0cmluZztcbiAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfVtdXG4gID4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhc3luYyBwdWJsaXNoVG9OcG0oKTogUHJvbWlzZTxib29sZWFuPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhc3luYyB0ZXN0QWZ0ZXJQdWJsaXNoKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhc3luYyB0ZXN0QmVmb3JlUHVibGlzaCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgY29tbWl0QW5kUHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIHJlbGVhc2VDb21taXRUZW1wbGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgUmVsZWFzZSB2JHt0aGlzLm5ld1ZlcnNpb259ICsgY2hhbmdlbG9nLm1kIHVwZGF0ZWA7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhc3luYyB0ZXN0TGlicmFyaWVzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnByb2plY3QucnVuKCducG0gcnVuIHRlc3QnLCB7IG91dHB1dDogdHJ1ZSB9KS5zeW5jKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgSGVscGVycy5pbmZvKGBUZXN0IGZhaWxlZCwgeW91IGNhbiBydW4gdGVzdCBtYW51YWxseWApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG5cblxuICBhc3luYyBidWlsZEFsbExpYnJhcmllcygpIHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3QubGlicmFyeUJ1aWxkLmJ1aWxkTGlicmFyaWVzKHtcbiAgICAgIHdhdGNoOiBmYWxzZSxcbiAgICAgIHJlbGVhc2VCdWlsZDogdHJ1ZSxcbiAgICAgIGJ1aWxkVHlwZTogJ2FuZ3VsYXInLFxuICAgIH0pO1xuICB9XG5cblxuXG4gIGFzeW5jIHJlc2V0UmVsZWFzZUZpbGVzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgdG9CdW1wUHJvamVjdHMoKSB7XG4gICAgY29uc3QgdG9CdW1wUHJvamVjdHMgPSBbXG4gICAgICB0aGlzLnByb2plY3QsXG4gICAgICAuLi50aGlzLnByb2plY3QubGlicmFyeUJ1aWxkLmxpYnJhcmllcyxcbiAgICBdIGFzIFBST0pDRVRbXTtcblxuICAgIHJldHVybiB0b0J1bXBQcm9qZWN0cztcbiAgfVxuXG5cblxuICBhc3luYyBidW1wTmV3VmVyc2lvbkV2ZXJ5d2hlcmUoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGNvbmZpcm1OZXdWZXJzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIHNlbGVjdFJlbGVhc2VUeXBlKCk6IFByb21pc2U8Q29yZU1vZGVscy5SZWxlYXNlVHlwZT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBjb21taXRNZXNzYWdlSW5DaGFuZ2Vsb2dUcmFuc2Zvcm1GbihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0Q2hhbmdlbG9nQ29udGVudFRvQXBwZW5kKGFza0ZvckV2ZXJ5SXRlbTogYm9vbGVhbik6IFByb21pc2U8c3RyaW5nPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUT0RPIGV4dGVuZCB0aGlzIHRvIGFsbCBjb21taXRzIGZyb20gbGFzdCByZWxlYXNlXG4gICAqL1xuICBhc3luYyB1cGRhdGVDaGFuZ2VMb2dGcm9tQ29tbWl0cygpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGV4dHJhY3RDaGFuZ2VkTGlicmFyaWVzSW5Db21taXQoXG4gICAgaGFzaE9ySW5kZXg6IHN0cmluZyB8IG51bWJlcixcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGNoYW5nZWxvZ0l0ZW1UZW1wbGF0ZShcbiAgICBoYXNoT3JJbmRleDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIGNvbmZpcm1FdmVyeUl0ZW06IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZW5lcmF0ZUxhc3RDaGFuZ2VzU3VtbWFyeSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGxhc3RSZWxlYXNlQ29tbWl0RGF0YSA9IGF3YWl0IHRoaXMuZ2V0TGFzdFJlbGVhc2VDb21taXREYXRhKCk7XG4gICAgY29uc3QgaGFzTGFzdFJlbGVhc2VDb21taXQgPSBsYXN0UmVsZWFzZUNvbW1pdERhdGEuaW5kZXggIT09IC0xO1xuICAgIGNvbnN0IGxhc3RSZWxlYXNlQ29tbWl0TXNnID0gIWhhc0xhc3RSZWxlYXNlQ29tbWl0XG4gICAgICA/ICc8IG5vdGhpbmcgcmVsZWFzZSB5ZXQgPidcbiAgICAgIDogbGFzdFJlbGVhc2VDb21taXREYXRhLmxhc3RSZWxhc2VDb21taXRNc2c7XG5cbiAgICByZXR1cm4gYCR7Y2hhbGsuYm9sZC5ncmF5KCdMYXN0IGNoYW5nZWxvZy5tZCBub3RlcyBzdW1tYXJ5Jyl9OlxuJHthd2FpdCB0aGlzLmdldExhc3RQYWNrYWdlVmVyc2lvbkNoYW5nZXNGcm9tQ2huYWdlbG9nKCl9XG5cbiR7Y2hhbGsuYm9sZC5ncmF5KFxuICBoYXNMYXN0UmVsZWFzZUNvbW1pdCA/ICdMYXN0IGNvbW1pdHMgdXAgdG8gcmVsYXNlIGNvbW1pdCcgOiAnTGFzdCAzIGNvbW1pdHMnLFxuKX06XG4ke2F3YWl0IHRoaXMuZ2V0TGFzdENoYW5nZXNGcm9tQ29tbWl0cyh7XG4gIG1heE1lc3NhZ2VzVG9DaGVjazogaGFzTGFzdFJlbGVhc2VDb21taXQgPyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgOiAzLFxuICBzdG9wT25Db21taXRNZXNzYWdlOiBoYXNMYXN0UmVsZWFzZUNvbW1pdFxuICAgID8gbGFzdFJlbGVhc2VDb21taXREYXRhLmxhc3RSZWxhc2VDb21taXRNc2dcbiAgICA6ICcnLFxufSl9XG4gICAgYDtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRMYXN0Q2hhbmdlc0Zyb21Db21taXRzKHtcbiAgICBtYXhNZXNzYWdlc1RvQ2hlY2sgPSAzLFxuICAgIHN0b3BPbkNvbW1pdE1lc3NhZ2UgPSAnJyxcbiAgfToge1xuICAgIC8qKlxuICAgICAqIGRlZmF1bHQgM1xuICAgICAqL1xuICAgIG1heE1lc3NhZ2VzVG9DaGVjaz86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBzdG9wIHNlcmNoaW5nIG9uIGNvbW1pdCBtZXNzYWdlXG4gICAgICovXG4gICAgc3RvcE9uQ29tbWl0TWVzc2FnZT86IHN0cmluZztcbiAgfSA9IHt9KTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldExhc3RSZWxlYXNlQ29tbWl0RGF0YSgpOiBQcm9taXNlPHtcbiAgICBsYXN0UmVsYXNlQ29tbWl0TXNnOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogLTEgaWYgbm90IGZvdW5kXG4gICAgICovXG4gICAgaW5kZXg6IG51bWJlcjtcbiAgfT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRMYXN0UGFja2FnZVZlcnNpb25DaGFuZ2VzRnJvbUNobmFnZWxvZygpOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBnZXQgY2hhbmdlTG9nUGF0aCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBjaGFuZ2Vsb2dDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLnByb2plY3QucmVhZEZpbGUodGhpcy5jaGFuZ2VMb2dQYXRoKSB8fCAnJztcbiAgfVxuXG5cblxuICBjaGFuZ2VMb2dLZXlXb3JkKCkge1xuICAgIHJldHVybiAnQ2hhbmdlcyBpbiB2ZXJzaW9uJztcbiAgfVxuXG5cblxuICBnZXRDaG5hZ2Vsb2dEYXRhKCk6IENoYW5nZWxvZ0RhdGFbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvYmFzZS1yZWxlYXNlLXByb2Nlc3MudHMiXX0=