tnp-helpers 18.0.18 → 18.0.19

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 (90) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  3. package/browser/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  4. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  5. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  6. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  7. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  8. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  9. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  10. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  11. package/browser/fesm2022/tnp-helpers.mjs +475 -62
  12. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/browser/lib/base/classes/base-cli-worker.d.ts +27 -4
  14. package/browser/lib/base/tcp-udp-ports/index.d.ts +0 -1
  15. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  16. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  17. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  18. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  19. package/client/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  20. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  21. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  22. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  23. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  24. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  25. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  26. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  27. package/client/fesm2022/tnp-helpers.mjs +475 -62
  28. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  29. package/client/lib/base/classes/base-cli-worker.d.ts +27 -4
  30. package/client/lib/base/tcp-udp-ports/index.d.ts +0 -1
  31. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  32. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  33. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  34. package/lib/base/classes/base-cli-worker.d.ts +27 -4
  35. package/lib/base/classes/base-cli-worker.js +94 -28
  36. package/lib/base/classes/base-cli-worker.js.map +1 -1
  37. package/lib/base/classes/base-global-command-line.backend.d.ts +1 -0
  38. package/lib/base/classes/base-global-command-line.backend.js +12 -0
  39. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  40. package/lib/base/classes/base-vscode.js +43 -25
  41. package/lib/base/classes/base-vscode.js.map +1 -1
  42. package/lib/base/tcp-udp-ports/index.d.ts +0 -1
  43. package/lib/base/tcp-udp-ports/index.js +0 -1
  44. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  45. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -6
  46. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -42
  47. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  48. package/lib/base/tcp-udp-ports/ports.controller.d.ts +14 -5
  49. package/lib/base/tcp-udp-ports/ports.controller.js +227 -19
  50. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  51. package/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  52. package/lib/base/tcp-udp-ports/ports.entity.js +32 -2
  53. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  54. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +1 -2
  55. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  56. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +14 -8
  57. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +293 -30
  58. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  59. package/lib/helpers/for-browser/angular.helper.js +2 -2
  60. package/lib/old/base-component.js +2 -2
  61. package/lib/old/base-formly-component.js +2 -2
  62. package/lib/old/dual-component-ctrl.js +2 -2
  63. package/migrations/1736199486472_addingNotAssignablePorts.js +33 -10
  64. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  65. package/migrations/1736454437350_addFreePorts.js +42 -14
  66. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  67. package/package.json +5 -5
  68. package/tmp-environment.json +29 -29
  69. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  70. package/websql/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  71. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  72. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  73. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +25 -3
  74. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  75. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  76. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  77. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  78. package/websql/fesm2022/tnp-helpers.mjs +485 -72
  79. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  80. package/websql/lib/base/classes/base-cli-worker.d.ts +27 -4
  81. package/websql/lib/base/tcp-udp-ports/index.d.ts +0 -1
  82. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  83. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  84. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  85. package/browser/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  86. package/browser/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  87. package/client/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  88. package/client/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  89. package/websql/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -34
  90. package/websql/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
@@ -16,6 +16,7 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
16
16
  * unique id for service
17
17
  */
18
18
  protected readonly serviceVersion: string;
19
+ protected SPECIAL_WORKER_READY_MESSAGE: string;
19
20
  constructor(
20
21
  /**
21
22
  * unique id for service
@@ -33,7 +34,9 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
33
34
  abstract getControllerForRemoteConnection(): Promise<REMOTE_CTRL>;
34
35
  protected get pathToProcessLocalInfoJson(): string;
35
36
  protected get processLocalInfoObj(): BaseCliWorkerConfig;
36
- startDetachedIfNeedsToBeStarted(): Promise<any>;
37
+ startDetachedIfNeedsToBeStarted(options?: {
38
+ useCurrentWindowForDetach?: boolean;
39
+ }): Promise<any>;
37
40
  /**
38
41
  * stop if started
39
42
  */
@@ -46,6 +49,7 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
46
49
  */
47
50
  restart(options?: {
48
51
  detached?: boolean;
52
+ useCurrentWindowForDetach?: boolean;
49
53
  }): Promise<void>;
50
54
  /**
51
55
  * only for cli start
@@ -66,7 +70,9 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
66
70
  /**
67
71
  * start if not started detached process
68
72
  */
69
- protected startDetached(): Promise<any>;
73
+ protected startDetached(options?: {
74
+ useCurrentWindowForDetach?: boolean;
75
+ }): Promise<any>;
70
76
  protected headerText(): Promise<string>;
71
77
  protected textHeaderStyle(): CfontStyle;
72
78
  protected headerTextAlign(): CfontAlign;
@@ -75,13 +81,30 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
75
81
  */
76
82
  protected header(): Promise<void>;
77
83
  infoMessageBelowHeader(): Promise<void>;
78
- protected getWorkerTerminalActions(): {
84
+ protected get backAction(): {
85
+ back: {
86
+ name: string;
87
+ };
88
+ };
89
+ protected get chooseAction(): {
90
+ emptyAction: {
91
+ name: string;
92
+ action: () => Promise<void>;
93
+ };
94
+ };
95
+ protected displaySpecialWorkerReadyMessage(): void;
96
+ protected getWorkerTerminalActions(options?: {
97
+ exitIsOnlyReturn?: boolean;
98
+ chooseAction?: boolean;
99
+ }): {
79
100
  [uniqeActionName: string]: {
80
101
  name: string;
81
102
  action: () => void | Promise<void>;
82
103
  };
83
104
  };
84
- protected _infoScreen(): Promise<void>;
105
+ infoScreen(options?: {
106
+ exitIsOnlyReturn?: boolean;
107
+ }): Promise<void>;
85
108
  private saveProcessInfo;
86
109
  protected initializeWorkerMetadata(): Promise<any>;
87
110
  protected waitForProcessPortSavedToDisk(): Promise<void>;
@@ -1,5 +1,4 @@
1
1
  // @ts-nocheck
2
- export * from './not-assignable-port.entity';
3
2
  export * from './ports.entity';
4
3
  export * from './ports.controller';
5
4
  export * from './tcp-upd-ports.worker';
@@ -2,15 +2,24 @@
2
2
  import { Taon } from 'taon/browser';
3
3
  import { BaseCliWorkerController } from '../classes/base-cli-worker-controller';
4
4
  import { Port, PortStatus } from './ports.entity';
5
- import { NotAssignablePort } from './not-assignable-port.entity';
6
5
  export declare class PortsController extends BaseCliWorkerController {
7
6
  START_PORT: number;
8
7
  END_PORT: number;
9
- readonly takenByOsPorts: Map<number, NotAssignablePort>;
10
- readonly assignedPorts: Map<string, Port>;
11
- get firstFreePort(): Port;
12
- protected firstUnassignedPortMoreThan(port: number): Port;
13
- getPortByStatus(status: PortStatus): Taon.Response<Port[]>;
8
+ readonly portsCache: Map<string, Port>;
9
+ protected get firstFreePort(): any;
10
+ protected firstUnassignedPortMoreThan(port: number): any;
11
+ getFirstFreePort(): Taon.Response<Port>;
12
+ getPortByNumber(portNumber: number): Taon.Response<Port>;
13
+ getPortsByStatus(status: PortStatus): Taon.Response<Port[]>;
14
+ /**
15
+ * make it unassigned
16
+ */
17
+ deletePort(portNumber: number): Taon.Response<Port>;
18
+ /**
19
+ * make it unassigned
20
+ */
21
+ updatePortUniqueId(portNumber: number, serviceId: string): Taon.Response<Port>;
22
+ addTakeByOsPort(portNumber: number, uniqueId: string): Taon.Response<Port>;
14
23
  /**
15
24
  * @param uniqueServiceName unique service name
16
25
  * @param startFrom start searching for free port from this number
@@ -1,13 +1,17 @@
1
1
  // @ts-nocheck
2
- import { NotAssignablePort } from './not-assignable-port.entity';
2
+ import { Taon } from 'taon/browser';
3
3
  export type PortStatus = 'unassigned' | 'assigned' | 'assigned-not-registered' | 'assigned-taken-by-os';
4
4
  export declare const PortStatusArr: PortStatus[];
5
- export declare class Port extends NotAssignablePort {
6
- static from(opt: Omit<Port, 'version' | '_' | 'clone'>): Port & Omit<Port, "_" | "version" | "clone">;
5
+ export declare class Port extends Taon.Base.Entity {
6
+ static from(opt: Omit<Port, 'version' | '_' | 'clone' | 'titleOnList'>): Port & Omit<Port, "_" | "version" | "clone" | "titleOnList">;
7
+ static getTitleForFreePort(port: Number): string;
8
+ get titleOnList(): string;
9
+ port: number;
10
+ serviceId: string;
7
11
  /**
8
12
  * Port status
9
13
  */
10
- status?: PortStatus;
14
+ status: PortStatus;
11
15
  /**
12
16
  * When port was assigned as registered service
13
17
  */
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  import { BaseCliWorker, CfontStyle } from '../classes/base-cli-worker';
3
- import { PortStatus } from '../../index';
3
+ import { Port, PortStatus } from '../../index';
4
4
  import { PortsController } from '../tcp-udp-ports/ports.controller';
5
5
  export declare class PortsWorker extends BaseCliWorker<PortsController> {
6
6
  private portsController;
@@ -13,11 +13,13 @@ export declare class PortsWorker extends BaseCliWorker<PortsController> {
13
13
  */
14
14
  startNormallyInCurrentProcess(): Promise<any>;
15
15
  protected displayItemsForPortsStatus(status: PortStatus): Promise<any>;
16
- get backAction(): {
17
- back: {
18
- name: string;
19
- action: () => Promise<boolean>;
20
- };
21
- };
22
- getWorkerTerminalActions(): any;
16
+ getWorkerTerminalActions(options?: {
17
+ exitIsOnlyReturn?: boolean;
18
+ }): any;
19
+ protected getNewPortToAdd(): Promise<number>;
20
+ protected addPortTerminalUiProcess(): Promise<void>;
21
+ protected selectPortProcess(ports: Port[], title: string): Promise<Port>;
22
+ protected deletePortTerminalUiProcess(): Promise<any>;
23
+ protected editPortTerminalUiProcess(): Promise<any>;
24
+ protected crudMenuForTakeByOsPorts(): Promise<void>;
23
25
  }
@@ -19,6 +19,7 @@ export class BaseCliWorker {
19
19
  this.serviceID = serviceID;
20
20
  this.startCommand = startCommand;
21
21
  this.serviceVersion = serviceVersion;
22
+ this.SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';
22
23
  }
23
24
  get pathToProcessLocalInfoJson() {
24
25
  /* */
@@ -40,7 +41,7 @@ export class BaseCliWorker {
40
41
  /* */
41
42
  return (void 0);
42
43
  }
43
- async startDetachedIfNeedsToBeStarted() {
44
+ async startDetachedIfNeedsToBeStarted(options) {
44
45
  /* */
45
46
  /* */
46
47
  /* */
@@ -96,7 +97,7 @@ export class BaseCliWorker {
96
97
  //longer because os is disposing process previous process
97
98
  if (options.detached) {
98
99
  Helpers.info(`Restarting service "${this.serviceID}" in detached mode...`);
99
- await this.startDetached();
100
+ await this.startDetached(options);
100
101
  }
101
102
  else {
102
103
  Helpers.info(`Restarting service "${this.serviceID}" in current process...`);
@@ -262,12 +263,25 @@ export class BaseCliWorker {
262
263
  /* */
263
264
  /* */
264
265
  /* */
266
+ /* */
267
+ /* */
268
+ /* */
265
269
  return (void 0);
266
270
  }
267
271
  /**
268
272
  * start if not started detached process
269
273
  */
270
- async startDetached() {
274
+ async startDetached(options) {
275
+ /* */
276
+ /* */
277
+ /* */
278
+ /* */
279
+ /* */
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
271
285
  /* */
272
286
  /* */
273
287
  /* */
@@ -336,7 +350,36 @@ export class BaseCliWorker {
336
350
  /* */
337
351
  return (void 0);
338
352
  }
339
- getWorkerTerminalActions() {
353
+ get backAction() {
354
+ return {
355
+ back: {
356
+ name: 'Back',
357
+ },
358
+ };
359
+ }
360
+ get chooseAction() {
361
+ return {
362
+ emptyAction: {
363
+ name: ' -- choose any action below --',
364
+ action: async () => { },
365
+ },
366
+ };
367
+ }
368
+ displaySpecialWorkerReadyMessage() {
369
+ console.log(this.SPECIAL_WORKER_READY_MESSAGE);
370
+ }
371
+ getWorkerTerminalActions(options) {
372
+ /* */
373
+ /* */
374
+ /* */
375
+ /* */
376
+ /* */
377
+ /* */
378
+ /* */
379
+ /* */
380
+ /* */
381
+ /* */
382
+ /* */
340
383
  /* */
341
384
  /* */
342
385
  /* */
@@ -363,18 +406,22 @@ export class BaseCliWorker {
363
406
  /* */
364
407
  return (void 0);
365
408
  }
366
- async _infoScreen() {
409
+ async infoScreen(options) {
410
+ options = options || {};
367
411
  while (true) {
368
412
  Helpers.clearConsole();
369
413
  await this.header();
370
414
  await this.infoMessageBelowHeader();
371
- const choices = this.getWorkerTerminalActions();
415
+ const choices = this.getWorkerTerminalActions(options);
372
416
  const choice = await UtilsTerminal.select({
373
417
  choices,
374
418
  question: 'Choose action',
375
419
  });
376
420
  const action = choices[choice].action;
377
421
  await action();
422
+ if (choice === 'exit') {
423
+ break;
424
+ }
378
425
  }
379
426
  }
380
427
  saveProcessInfo(processConfig) {
@@ -463,4 +510,4 @@ export class BaseCliWorker {
463
510
  }
464
511
  ;
465
512
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker.ts
466
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jbGktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NsYXNzZXMvYmFzZS1jbGktd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBa0MsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQU0sYUFBYSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsQ0FBQSxLQUFLO0FBYTdILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNdEMsTUFBTSw0QkFBNEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxpQ0FBaUM7QUFDMUUsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFxQnJDLE1BQU0sT0FBZ0IsYUFBYTtJQUlqQztJQUNFOztPQUVHO0lBQ2dCLFNBQWlCO0lBQ3BDOztPQUVHO0lBQ2dCLFlBQW9CO0lBQ3ZDOztPQUVHO0lBQ2dCLGNBQXNCO1FBUnRCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFJakIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFJcEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7SUFDeEMsQ0FBQztJQVlKLElBQWMsMEJBQTBCO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQWMsbUJBQW1CO1FBQ25DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFRTSxL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QUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsMEJBQTBCO1FBQzVDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7Ozs7T0FJRztJQUNPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUVoQztRQUNILEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOztPQUVHO0lBQ08sS0FBSyxDQUFDLGFBQWE7UUFDL0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsVUFBVTtRQUN4QixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFJUyxlQUFlO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFJUyxlQUFlO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFJRDs7T0FFRztJQUNPLEtBQUssQ0FBQyxNQUFNO1FBQ3hCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxzQkFBc0I7UUFDOUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUdTLHdCQUF3QjtRQU1wQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR1MsS0FBSyxDQUFDLFdBQVc7UUFDekIsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUV2QixNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUVwQixNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sQ0FBdUI7Z0JBQzlELE9BQU87Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7YUFDMUIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUN0QyxNQUFNLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBSU8sZUFBZSxDQUFDLGFBQTJDO1FBQ3JFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsd0JBQXdCO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsNkJBQTZCO1FBQy9DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGNBQWM7UUFDdEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FJRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEVBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgICBjaGFsaywgICBjcm9zc1BsYXRmb3JtUGF0aCwgICBfLCAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAgICAgIFV0aWxzVGVybWluYWwsIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHR5cGUgeyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlciB9IGZyb20gJy4vYmFzZS1jbGktd29ya2VyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQmFzZUNsaVdvcmtlckNvbmZpZyB9IGZyb20gJy4vYmFzZS1jbGktd29ya2VyLWNvbmZpZyc7XG5cblxuXG5jb25zdCBXT1JLRVJfSU5JVF9TVEFSVF9USU1FX0xJTUlUID0gMjU7IC8vIDE1IHNlY29uZHMgbWF4IHRvIHN0YXJ0IHdvcmtlclxuY29uc3QgU1RBUlRfUE9SVF9GT1JfU0VSVklDRVMgPSAzNjAwO1xuXG5cblxuZXhwb3J0IHR5cGUgQ2ZvbnRTdHlsZSA9XG4gIHwgJ2Jsb2NrJ1xuICB8ICdzbGljaydcbiAgfCAndGlueSdcbiAgfCAnZ3JpZCdcbiAgfCAncGFsbGV0J1xuICB8ICdzaGFkZSdcbiAgfCAnY2hyb21lJ1xuICB8ICdzaW1wbGUnXG4gIHwgJ3NpbXBsZUJsb2NrJ1xuICB8ICczZCdcbiAgfCAnc2ltcGxlM2QnXG4gIHwgJ2h1Z2UnO1xuXG5leHBvcnQgdHlwZSBDZm9udEFsaWduID0gJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnIHwgJ2Jsb2NrJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNsaVdvcmtlcjxcbiAgUkVNT1RFX0NUUkwgZXh0ZW5kcyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlciA9IEJhc2VDbGlXb3JrZXJDb250cm9sbGVyLFxuPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogdW5pcXVlIGlkIGZvciBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2VJRDogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIGV4dGVybmFsIGNvbW1hbmQgdGhhdCB3aWxsIHN0YXJ0IHNlcnZpY2VcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RhcnRDb21tYW5kOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogdW5pcXVlIGlkIGZvciBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2VWZXJzaW9uOiBzdHJpbmcsXG4gICkge31cblxuXG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHN0YXJ0Tm9ybWFsbHlJbkN1cnJlbnRQcm9jZXNzKG9wdGlvbnM/OiB7fSk7XG5cbiAgcHVibGljIGFic3RyYWN0IGdldENvbnRyb2xsZXJGb3JSZW1vdGVDb25uZWN0aW9uKCk6IFByb21pc2U8UkVNT1RFX0NUUkw+O1xuXG5cblxuXG5cbiAgcHJvdGVjdGVkIGdldCBwYXRoVG9Qcm9jZXNzTG9jYWxJbmZvSnNvbigpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBnZXQgcHJvY2Vzc0xvY2FsSW5mb09iaigpOiBCYXNlQ2xpV29ya2VyQ29uZmlnIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG5cblxuICBwdWJsaWMgYXN5bmMgc3RhcnREZXRhY2hlZElmTmVlZHNUb0JlU3RhcnRlZCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzdG9wIGlmIHN0YXJ0ZWRcbiAgICovXG4gIGFzeW5jIGtpbGwob3B0aW9ucz86IHsgZG9udFJlbW92ZUNvbmZpZ0ZpbGU/OiBib29sZWFuIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICoga2lsbCBkZXRhY2hlZCBwcm9jZXNzIGFuZCBzdGFydCBhZ2FpblxuICAgKiBAcGFyYW0gb3B0aW9ucy5kZXRhY2hlZCAtIGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYXN5bmMgcmVzdGFydChvcHRpb25zPzogeyBkZXRhY2hlZD86IGJvb2xlYW4gfSkge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMuZGV0YWNoZWQgPSBfLmlzVW5kZWZpbmVkKG9wdGlvbnMuZGV0YWNoZWQpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIGF3YWl0IHRoaXMua2lsbCgpO1xuICAgIC8vbG9uZ2VyIGJlY2F1c2Ugb3MgaXMgZGlzcG9zaW5nIHByb2Nlc3MgcHJldmlvdXMgcHJvY2Vzc1xuXG4gICAgaWYgKG9wdGlvbnMuZGV0YWNoZWQpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhcbiAgICAgICAgYFJlc3RhcnRpbmcgc2VydmljZSBcIiR7dGhpcy5zZXJ2aWNlSUR9XCIgaW4gZGV0YWNoZWQgbW9kZS4uLmAsXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5zdGFydERldGFjaGVkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhcbiAgICAgICAgYFJlc3RhcnRpbmcgc2VydmljZSBcIiR7dGhpcy5zZXJ2aWNlSUR9XCIgaW4gY3VycmVudCBwcm9jZXNzLi4uYCxcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLnN0YXJ0Tm9ybWFsbHlJbkN1cnJlbnRQcm9jZXNzKCk7XG4gICAgfVxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBvbmx5IGZvciBjbGkgc3RhcnRcbiAgICogQHBhcmFtIGNsaVBhcmFtcyBvbiBmcm9tIGNsaVxuICAgKi9cbiAgYXN5bmMgY2xpU3RhcnRQcm9jZWR1cmUoY2xpUGFyYW1zOiBhbnkpIHtcbiAgICBjb25zdCBpbnN0YW5jZTogQmFzZUNsaVdvcmtlciA9IHRoaXM7XG4gICAgY29uc3QgZGV0YWNoZWQgPSAhIWNsaVBhcmFtc1snZGV0YWNoZWQnXSB8fCAhIWNsaVBhcmFtc1snZGV0YWNoJ107XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuXG5cbiAgcHJvdGVjdGVkIHByZXZlbnRFeHRlcm5hbENvbmZpZ0NoYW5nZSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBwcmV2ZW50U3RhcnRJZkFscmVhZHlTdGFydGVkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGtpbGxXb3JrZXJXaXRoTG93ZXJWZXJzaW9uKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRoaXMgaGFzIDIgcHVycG9zZXM6XG4gICAqIC0gaW5maW5pdGUgY2hlY2sgd2hlbiB3aGVuIGRldGFjaGVkIHByb2Nlc3MgZmluaXNoZWQgc3RhcnRpbmdcbiAgICogLSBxdWljayBjaGVjayBpZiBzZXJ2aWNlIGlzIGhlYWx0aHkgLyBhbHJlYWR5IHN0YXJ0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBpc1NlcnZpY2VIZWFsdGh5KG9wdGlvbnM6IHtcbiAgICBoZWFsdGhDaGVja1JlcXVlc3RUcnlzPzogbnVtYmVyO1xuICB9KTogUHJvbWlzZTxib29sZWFuPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHN0YXJ0IGlmIG5vdCBzdGFydGVkIGRldGFjaGVkIHByb2Nlc3NcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBzdGFydERldGFjaGVkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhlYWRlclRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gXy5zdGFydENhc2UodGhpcy5zZXJ2aWNlSUQpO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCB0ZXh0SGVhZGVyU3R5bGUoKTogQ2ZvbnRTdHlsZSB7XG4gICAgcmV0dXJuICdibG9jayc7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGhlYWRlclRleHRBbGlnbigpOiBDZm9udEFsaWduIHtcbiAgICByZXR1cm4gJ2xlZnQnO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBvdmVycmlkZSB3aG9sZSB0ZXJtaW5hbCBoZWFkZXJcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBoZWFkZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgaW5mb01lc3NhZ2VCZWxvd0hlYWRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBnZXRXb3JrZXJUZXJtaW5hbEFjdGlvbnMoKToge1xuICAgIFt1bmlxZUFjdGlvbk5hbWU6IHN0cmluZ106IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIGFjdGlvbjogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG4gICAgfTtcbiAgfSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgX2luZm9TY3JlZW4oKSB7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIEhlbHBlcnMuY2xlYXJDb25zb2xlKCk7XG5cbiAgICAgIGF3YWl0IHRoaXMuaGVhZGVyKCk7XG5cbiAgICAgIGF3YWl0IHRoaXMuaW5mb01lc3NhZ2VCZWxvd0hlYWRlcigpO1xuICAgICAgY29uc3QgY2hvaWNlcyA9IHRoaXMuZ2V0V29ya2VyVGVybWluYWxBY3Rpb25zKCk7XG4gICAgICBjb25zdCBjaG9pY2UgPSBhd2FpdCBVdGlsc1Rlcm1pbmFsLnNlbGVjdDxrZXlvZiB0eXBlb2YgY2hvaWNlcz4oe1xuICAgICAgICBjaG9pY2VzLFxuICAgICAgICBxdWVzdGlvbjogJ0Nob29zZSBhY3Rpb24nLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBhY3Rpb24gPSBjaG9pY2VzW2Nob2ljZV0uYWN0aW9uO1xuICAgICAgYXdhaXQgYWN0aW9uKCk7XG4gICAgfVxuICB9XG5cblxuXG4gIHByaXZhdGUgc2F2ZVByb2Nlc3NJbmZvKHByb2Nlc3NDb25maWc6IFBhcnRpYWw8QmFzZUNsaVdvcmtlckNvbmZpZz4pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGluaXRpYWxpemVXb3JrZXJNZXRhZGF0YSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHdhaXRGb3JQcm9jZXNzUG9ydFNhdmVkVG9EaXNrKCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0U2VydmljZVBvcnQoKTogUHJvbWlzZTxudW1iZXI+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jbGFzc2VzL2Jhc2UtY2xpLXdvcmtlci50cyJdfQ==
513
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jbGktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NsYXNzZXMvYmFzZS1jbGktd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBa0MsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQU0sYUFBYSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsQ0FBQSxLQUFLO0FBYTdILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNdEMsTUFBTSw0QkFBNEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxpQ0FBaUM7QUFDMUUsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFxQnJDLE1BQU0sT0FBZ0IsYUFBYTtJQU1qQztJQUNFOztPQUVHO0lBQ2dCLFNBQWlCO0lBQ3BDOztPQUVHO0lBQ2dCLFlBQW9CO0lBQ3ZDOztPQUVHO0lBQ2dCLGNBQXNCO1FBUnRCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFJakIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFJcEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFmakMsaUNBQTRCLEdBQUcsc0JBQXNCLENBQUM7SUFnQjdELENBQUM7SUFZSixJQUFjLDBCQUEwQjtRQUMxQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFjLG1CQUFtQjtRQUNuQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxD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TCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLDBCQUEwQjtRQUM1QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7O09BSUc7SUFDTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FFaEM7UUFDSCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRDs7T0FFRztJQUNPLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FFN0I7UUFDSCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsVUFBVTtRQUN4QixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFJUyxlQUFlO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFJUyxlQUFlO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFJRDs7T0FFRztJQUNPLEtBQUssQ0FBQyxNQUFNO1FBQ3hCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0ws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LENBQUMsd0JBQXdCO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsNkJBQTZCO1FBQy9DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGNBQWM7UUFDdEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FJRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEVBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgICBjaGFsaywgICBjcm9zc1BsYXRmb3JtUGF0aCwgICBfLCAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAgICAgIFV0aWxzVGVybWluYWwsIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHR5cGUgeyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlciB9IGZyb20gJy4vYmFzZS1jbGktd29ya2VyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQmFzZUNsaVdvcmtlckNvbmZpZyB9IGZyb20gJy4vYmFzZS1jbGktd29ya2VyLWNvbmZpZyc7XG5cblxuXG5jb25zdCBXT1JLRVJfSU5JVF9TVEFSVF9USU1FX0xJTUlUID0gMjU7IC8vIDE1IHNlY29uZHMgbWF4IHRvIHN0YXJ0IHdvcmtlclxuY29uc3QgU1RBUlRfUE9SVF9GT1JfU0VSVklDRVMgPSAzNjAwO1xuXG5cblxuZXhwb3J0IHR5cGUgQ2ZvbnRTdHlsZSA9XG4gIHwgJ2Jsb2NrJ1xuICB8ICdzbGljaydcbiAgfCAndGlueSdcbiAgfCAnZ3JpZCdcbiAgfCAncGFsbGV0J1xuICB8ICdzaGFkZSdcbiAgfCAnY2hyb21lJ1xuICB8ICdzaW1wbGUnXG4gIHwgJ3NpbXBsZUJsb2NrJ1xuICB8ICczZCdcbiAgfCAnc2ltcGxlM2QnXG4gIHwgJ2h1Z2UnO1xuXG5leHBvcnQgdHlwZSBDZm9udEFsaWduID0gJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnIHwgJ2Jsb2NrJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNsaVdvcmtlcjxcbiAgUkVNT1RFX0NUUkwgZXh0ZW5kcyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlciA9IEJhc2VDbGlXb3JrZXJDb250cm9sbGVyLFxuPiB7XG4gIHByb3RlY3RlZCBTUEVDSUFMX1dPUktFUl9SRUFEWV9NRVNTQUdFID0gJyQkJCBXT1JLRVJfUkVBRFkgJCQkJztcblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIHVuaXF1ZSBpZCBmb3Igc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlSUQ6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBleHRlcm5hbCBjb21tYW5kIHRoYXQgd2lsbCBzdGFydCBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0YXJ0Q29tbWFuZDogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIHVuaXF1ZSBpZCBmb3Igc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlVmVyc2lvbjogc3RyaW5nLFxuICApIHt9XG5cblxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzdGFydE5vcm1hbGx5SW5DdXJyZW50UHJvY2VzcyhvcHRpb25zPzoge30pO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRDb250cm9sbGVyRm9yUmVtb3RlQ29ubmVjdGlvbigpOiBQcm9taXNlPFJFTU9URV9DVFJMPjtcblxuXG5cblxuXG4gIHByb3RlY3RlZCBnZXQgcGF0aFRvUHJvY2Vzc0xvY2FsSW5mb0pzb24oKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgZ2V0IHByb2Nlc3NMb2NhbEluZm9PYmooKTogQmFzZUNsaVdvcmtlckNvbmZpZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuXG5cbiAgcHVibGljIGFzeW5jIHN0YXJ0RGV0YWNoZWRJZk5lZWRzVG9CZVN0YXJ0ZWQob3B0aW9ucz86IHtcbiAgICB1c2VDdXJyZW50V2luZG93Rm9yRGV0YWNoPzogYm9vbGVhbjtcbiAgfSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHN0b3AgaWYgc3RhcnRlZFxuICAgKi9cbiAgYXN5bmMga2lsbChvcHRpb25zPzogeyBkb250UmVtb3ZlQ29uZmlnRmlsZT86IGJvb2xlYW4gfSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBraWxsIGRldGFjaGVkIHByb2Nlc3MgYW5kIHN0YXJ0IGFnYWluXG4gICAqIEBwYXJhbSBvcHRpb25zLmRldGFjaGVkIC0gZGVmYXVsdCB0cnVlXG4gICAqL1xuICBhc3luYyByZXN0YXJ0KG9wdGlvbnM/OiB7XG4gICAgZGV0YWNoZWQ/OiBib29sZWFuO1xuICAgIHVzZUN1cnJlbnRXaW5kb3dGb3JEZXRhY2g/OiBib29sZWFuO1xuICB9KSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgb3B0aW9ucy5kZXRhY2hlZCA9IF8uaXNVbmRlZmluZWQob3B0aW9ucy5kZXRhY2hlZCkgPyB0cnVlIDogZmFsc2U7XG4gICAgYXdhaXQgdGhpcy5raWxsKCk7XG4gICAgLy9sb25nZXIgYmVjYXVzZSBvcyBpcyBkaXNwb3NpbmcgcHJvY2VzcyBwcmV2aW91cyBwcm9jZXNzXG5cbiAgICBpZiAob3B0aW9ucy5kZXRhY2hlZCkge1xuICAgICAgSGVscGVycy5pbmZvKFxuICAgICAgICBgUmVzdGFydGluZyBzZXJ2aWNlIFwiJHt0aGlzLnNlcnZpY2VJRH1cIiBpbiBkZXRhY2hlZCBtb2RlLi4uYCxcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLnN0YXJ0RGV0YWNoZWQob3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhcbiAgICAgICAgYFJlc3RhcnRpbmcgc2VydmljZSBcIiR7dGhpcy5zZXJ2aWNlSUR9XCIgaW4gY3VycmVudCBwcm9jZXNzLi4uYCxcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLnN0YXJ0Tm9ybWFsbHlJbkN1cnJlbnRQcm9jZXNzKCk7XG4gICAgfVxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBvbmx5IGZvciBjbGkgc3RhcnRcbiAgICogQHBhcmFtIGNsaVBhcmFtcyBvbiBmcm9tIGNsaVxuICAgKi9cbiAgYXN5bmMgY2xpU3RhcnRQcm9jZWR1cmUoY2xpUGFyYW1zOiBhbnkpIHtcbiAgICBjb25zdCBpbnN0YW5jZTogQmFzZUNsaVdvcmtlciA9IHRoaXM7XG4gICAgY29uc3QgZGV0YWNoZWQgPSAhIWNsaVBhcmFtc1snZGV0YWNoZWQnXSB8fCAhIWNsaVBhcmFtc1snZGV0YWNoJ107XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuXG5cbiAgcHJvdGVjdGVkIHByZXZlbnRFeHRlcm5hbENvbmZpZ0NoYW5nZSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBwcmV2ZW50U3RhcnRJZkFscmVhZHlTdGFydGVkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGtpbGxXb3JrZXJXaXRoTG93ZXJWZXJzaW9uKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRoaXMgaGFzIDIgcHVycG9zZXM6XG4gICAqIC0gaW5maW5pdGUgY2hlY2sgd2hlbiB3aGVuIGRldGFjaGVkIHByb2Nlc3MgZmluaXNoZWQgc3RhcnRpbmdcbiAgICogLSBxdWljayBjaGVjayBpZiBzZXJ2aWNlIGlzIGhlYWx0aHkgLyBhbHJlYWR5IHN0YXJ0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBpc1NlcnZpY2VIZWFsdGh5KG9wdGlvbnM6IHtcbiAgICBoZWFsdGhDaGVja1JlcXVlc3RUcnlzPzogbnVtYmVyO1xuICB9KTogUHJvbWlzZTxib29sZWFuPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHN0YXJ0IGlmIG5vdCBzdGFydGVkIGRldGFjaGVkIHByb2Nlc3NcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBzdGFydERldGFjaGVkKG9wdGlvbnM/OiB7XG4gICAgdXNlQ3VycmVudFdpbmRvd0ZvckRldGFjaD86IGJvb2xlYW47XG4gIH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGVhZGVyVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBfLnN0YXJ0Q2FzZSh0aGlzLnNlcnZpY2VJRCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIHRleHRIZWFkZXJTdHlsZSgpOiBDZm9udFN0eWxlIHtcbiAgICByZXR1cm4gJ2Jsb2NrJztcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgaGVhZGVyVGV4dEFsaWduKCk6IENmb250QWxpZ24ge1xuICAgIHJldHVybiAnbGVmdCc7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIG92ZXJyaWRlIHdob2xlIHRlcm1pbmFsIGhlYWRlclxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGhlYWRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBpbmZvTWVzc2FnZUJlbG93SGVhZGVyKCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgZ2V0IGJhY2tBY3Rpb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJhY2s6IHtcbiAgICAgICAgbmFtZTogJ0JhY2snLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBnZXQgY2hvb3NlQWN0aW9uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBlbXB0eUFjdGlvbjoge1xuICAgICAgICBuYW1lOiAnIC0tIGNob29zZSBhbnkgYWN0aW9uIGJlbG93IC0tJyxcbiAgICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgZGlzcGxheVNwZWNpYWxXb3JrZXJSZWFkeU1lc3NhZ2UoKSB7XG4gICAgY29uc29sZS5sb2codGhpcy5TUEVDSUFMX1dPUktFUl9SRUFEWV9NRVNTQUdFKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgZ2V0V29ya2VyVGVybWluYWxBY3Rpb25zKG9wdGlvbnM/OiB7XG4gICAgZXhpdElzT25seVJldHVybj86IGJvb2xlYW47XG4gICAgY2hvb3NlQWN0aW9uPzogYm9vbGVhbjtcbiAgfSk6IHtcbiAgICBbdW5pcWVBY3Rpb25OYW1lOiBzdHJpbmddOiB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBhY3Rpb246ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuICAgIH07XG4gIH0ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBhc3luYyBpbmZvU2NyZWVuKG9wdGlvbnM/OiB7IGV4aXRJc09ubHlSZXR1cm4/OiBib29sZWFuIH0pIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgSGVscGVycy5jbGVhckNvbnNvbGUoKTtcblxuICAgICAgYXdhaXQgdGhpcy5oZWFkZXIoKTtcblxuICAgICAgYXdhaXQgdGhpcy5pbmZvTWVzc2FnZUJlbG93SGVhZGVyKCk7XG4gICAgICBjb25zdCBjaG9pY2VzID0gdGhpcy5nZXRXb3JrZXJUZXJtaW5hbEFjdGlvbnMob3B0aW9ucyk7XG4gICAgICBjb25zdCBjaG9pY2UgPSBhd2FpdCBVdGlsc1Rlcm1pbmFsLnNlbGVjdDxrZXlvZiB0eXBlb2YgY2hvaWNlcz4oe1xuICAgICAgICBjaG9pY2VzLFxuICAgICAgICBxdWVzdGlvbjogJ0Nob29zZSBhY3Rpb24nLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBhY3Rpb24gPSBjaG9pY2VzW2Nob2ljZV0uYWN0aW9uO1xuICAgICAgYXdhaXQgYWN0aW9uKCk7XG4gICAgICBpZiAoY2hvaWNlID09PSAnZXhpdCcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIHByaXZhdGUgc2F2ZVByb2Nlc3NJbmZvKHByb2Nlc3NDb25maWc6IFBhcnRpYWw8QmFzZUNsaVdvcmtlckNvbmZpZz4pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGluaXRpYWxpemVXb3JrZXJNZXRhZGF0YSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHdhaXRGb3JQcm9jZXNzUG9ydFNhdmVkVG9EaXNrKCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0U2VydmljZVBvcnQoKTogUHJvbWlzZTxudW1iZXI+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jbGFzc2VzL2Jhc2UtY2xpLXdvcmtlci50cyJdfQ==
@@ -480,9 +480,34 @@ export class BaseVscodeHelpers extends BaseFeatureForProject {
480
480
  /* */
481
481
  /* */
482
482
  /* */
483
+ /* */
484
+ /* */
485
+ /* */
486
+ /* */
487
+ /* */
488
+ /* */
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
493
+ /* */
494
+ /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
483
508
  return (void 0);
484
509
  }
485
510
  }
486
511
  ;
487
512
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-vscode.ts
488
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12c2NvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLXZzY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR25FLE1BQU0sT0FBTyxpQkFFWCxTQUFRLHFCQUE4QjtJQUZ4Qzs7UUFHRTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsdUJBQXVCLENBQUM7UUFDdkMsbUJBQWMsR0FBRyx5QkFBeUIsQ0FBQztJQTBlN0QsQ0FBQztJQXZlQyxJQUFZLFVBQVU7UUFDcEIsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQzdCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztTQUVBLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBSUQsa0JBQWtCO1FBQ3BCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELG1CQUFtQjtRQUNyQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGlCQUFpQixDQUNyQixVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFDNUIsa0JBQWtCLEdBQUcsS0FBSztRQUU5QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7Ozs7T0FNRztJQUNPLFlBQVksQ0FBQyxVQUFrQjtRQUN2QyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFJRCxJQUFJLG1CQUFtQjtRQUN6QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLHlCQUF5QjtRQUNqQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdFQUF3RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBCYXNlVnNjb2RlSGVscGVyczxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdDxQUk9KRUNUPiB7XG4gIC8qKlxuICAgKiBzZXR0aW5ncy5qc29uIHJlbGF0aXZlIHBhdGhcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZXR0aW5nc0pzb24gPSAnLnZzY29kZS9zZXR0aW5ncy5qc29uJztcbiAgcHVibGljIHJlYWRvbmx5IGV4dGVuc2lvbnNKc29uID0gJy52c2NvZGUvZXh0ZW5zaW9ucy5qc29uJztcblxuXG4gIHByaXZhdGUgZ2V0IGV4dGVuc2lvbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBIZWxwZXJzLnVuaXFBcnJheShbXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIF0pLm1hcChjID0+IChjIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuXG5cbiAgcmVjcmVhdGVFeHRlbnNpb25zKCk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlY3JlYXRlV2luZG93VGl0bGUoKTogdm9pZCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGluc3RhbGxFeHRlbnNpb25zKFxuICAgIGV4dGVuc2lvbnMgPSB0aGlzLmV4dGVuc2lvbnMsXG4gICAgZGVmYXVsdFNlbGVjdGVkQWxsID0gZmFsc2UsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRoaXMgcGF0dGVybiBmaW5kcyBhIGRhc2ggZm9sbG93ZWQgYnkgYXQgbGVhc3Qgb25lIGRpZ2l0LlxuICAgKiBJdCByZW1vdmVzIGV2ZXJ5dGhpbmcgZnJvbSB0aGF0IGRhc2ggdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLlxuICAgKiBFeGFtcGxlczpcbiAgICogXCJuYW1lLW9mLWV4dGVuc2lvbi0xLjIuM1wiIC0+IFwibmFtZS1vZi1leHRlbnNpb25cIlxuICAgKiBcImV4dGVuc2lvbi0wLjkuNS13aW4zMi14NjRcIiAtPiBcImV4dGVuc2lvblwiXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RyaXBWZXJzaW9uKGZvbGRlck5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvbGRlck5hbWUucmVwbGFjZSgvKC1cXGQrLiopJC8sICcnKTtcbiAgfVxuXG5cblxuICBnZXQgaW5zdGFsbGVkRXh0ZW5zaW9ucygpOiBzdHJpbmdbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGFwcGx5UHJvcGVyR2xvYmFsU2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NsYXNzZXMvYmFzZS12c2NvZGUudHMiXX0=
513
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12c2NvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLXZzY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR25FLE1BQU0sT0FBTyxpQkFFWCxTQUFRLHFCQUE4QjtJQUZ4Qzs7UUFHRTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsdUJBQXVCLENBQUM7UUFDdkMsbUJBQWMsR0FBRyx5QkFBeUIsQ0FBQztJQW1nQjdELENBQUM7SUFoZ0JDLElBQVksVUFBVTtRQUNwQixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1NBRUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFJRCxrQkFBa0I7UUFDcEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsbUJBQW1CO1FBQ3JCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUM1QixrQkFBa0IsR0FBRyxLQUFLO1FBRTlCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7Ozs7OztPQU1HO0lBQ08sWUFBWSxDQUFDLFVBQWtCO1FBQ3ZDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUlELElBQUksbUJBQW1CO1FBQ3pCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMseUJBQXlCO1FBQ2pDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdFQUF3RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBCYXNlVnNjb2RlSGVscGVyczxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdDxQUk9KRUNUPiB7XG4gIC8qKlxuICAgKiBzZXR0aW5ncy5qc29uIHJlbGF0aXZlIHBhdGhcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZXR0aW5nc0pzb24gPSAnLnZzY29kZS9zZXR0aW5ncy5qc29uJztcbiAgcHVibGljIHJlYWRvbmx5IGV4dGVuc2lvbnNKc29uID0gJy52c2NvZGUvZXh0ZW5zaW9ucy5qc29uJztcblxuXG4gIHByaXZhdGUgZ2V0IGV4dGVuc2lvbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBIZWxwZXJzLnVuaXFBcnJheShbXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIF0pLm1hcChjID0+IChjIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuXG5cbiAgcmVjcmVhdGVFeHRlbnNpb25zKCk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlY3JlYXRlV2luZG93VGl0bGUoKTogdm9pZCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGluc3RhbGxFeHRlbnNpb25zKFxuICAgIGV4dGVuc2lvbnMgPSB0aGlzLmV4dGVuc2lvbnMsXG4gICAgZGVmYXVsdFNlbGVjdGVkQWxsID0gZmFsc2UsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRoaXMgcGF0dGVybiBmaW5kcyBhIGRhc2ggZm9sbG93ZWQgYnkgYXQgbGVhc3Qgb25lIGRpZ2l0LlxuICAgKiBJdCByZW1vdmVzIGV2ZXJ5dGhpbmcgZnJvbSB0aGF0IGRhc2ggdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLlxuICAgKiBFeGFtcGxlczpcbiAgICogXCJuYW1lLW9mLWV4dGVuc2lvbi0xLjIuM1wiIC0+IFwibmFtZS1vZi1leHRlbnNpb25cIlxuICAgKiBcImV4dGVuc2lvbi0wLjkuNS13aW4zMi14NjRcIiAtPiBcImV4dGVuc2lvblwiXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RyaXBWZXJzaW9uKGZvbGRlck5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvbGRlck5hbWUucmVwbGFjZSgvKC1cXGQrLiopJC8sICcnKTtcbiAgfVxuXG5cblxuICBnZXQgaW5zdGFsbGVkRXh0ZW5zaW9ucygpOiBzdHJpbmdbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGFwcGx5UHJvcGVyR2xvYmFsU2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jbGFzc2VzL2Jhc2UtdnNjb2RlLnRzIl19
@@ -1,7 +1,6 @@
1
- export * from './not-assignable-port.entity';
2
1
  export * from './ports.entity';
3
2
  export * from './ports.controller';
4
3
  export * from './tcp-upd-ports.worker';
5
4
  ;
6
5
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/index.ts
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvdGNwLXVkcC1wb3J0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBRXRDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsd0VBQXdFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vbm90LWFzc2lnbmFibGUtcG9ydC5lbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9wb3J0cy5lbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9wb3J0cy5jb250cm9sbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGNwLXVwZC1wb3J0cy53b3JrZXInO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvdGNwLXVkcC1wb3J0cy9pbmRleC50cyJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvdGNwLXVkcC1wb3J0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQztBQUV0QyxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdFQUF3RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL3BvcnRzLmVudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL3BvcnRzLmNvbnRyb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi90Y3AtdXBkLXBvcnRzLndvcmtlcic7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90Y3AtdWRwLXBvcnRzL2luZGV4LnRzIl19