@loxia/mst-viewer 8.1.3-202511130805 → 8.1.3-202511130844

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 (157) hide show
  1. package/esm2022/lib/atomic-components/message/message.component.mjs +3 -3
  2. package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +3 -2
  3. package/esm2022/lib/model/ritdeel.mjs +4 -4
  4. package/esm2022/lib/mst-viewer.module.mjs +1 -3
  5. package/esm2022/lib/resources/mstlogging.resource.mjs +145 -12
  6. package/esm2022/lib/services/viewer-control.service.mjs +4 -3
  7. package/esm2022/lib/state/actions/actions.mjs +1 -1
  8. package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +2 -2
  9. package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +2 -2
  10. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +5 -5
  11. package/esm2022/lib/state/effect/ritdelen.effect.mjs +22 -22
  12. package/esm2022/lib/state/mst-editor-state.mjs +3 -2
  13. package/esm2022/lib/util/actie-helper.mjs +5 -5
  14. package/esm2022/lib/util/logging-helper.mjs +12 -9
  15. package/esm2022/lib/util/multi-map.mjs +3 -2
  16. package/esm2022/lib/util/utils.mjs +5 -2
  17. package/esm2022/lib/util/zone-util.mjs +1 -2
  18. package/fesm2022/loxia-mst-viewer.mjs +415 -1614
  19. package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
  20. package/lib/atomic-components/message/message.component.d.ts +2 -2
  21. package/lib/model/ritdeel.d.ts +5 -6
  22. package/lib/resources/mstlogging.resource.d.ts +95 -6
  23. package/lib/state/actions/actions.d.ts +4 -4
  24. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +1 -1
  25. package/lib/state/effect/ritdelen.effect.d.ts +6 -7
  26. package/lib/state/mst-editor-state.d.ts +4 -4
  27. package/lib/util/logging-helper.d.ts +6 -4
  28. package/lib/util/utils.d.ts +1 -0
  29. package/package.json +1 -7
  30. package/esm2022/generated/openapi/api/api.mjs +0 -23
  31. package/esm2022/generated/openapi/api/appConfigController.service.mjs +0 -140
  32. package/esm2022/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  33. package/esm2022/generated/openapi/api/bewegingController.service.mjs +0 -155
  34. package/esm2022/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  35. package/esm2022/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  36. package/esm2022/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  37. package/esm2022/generated/openapi/api/connectorController.service.mjs +0 -146
  38. package/esm2022/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  39. package/esm2022/generated/openapi/api/logController.service.mjs +0 -150
  40. package/esm2022/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  41. package/esm2022/generated/openapi/api/p21Controller.service.mjs +0 -236
  42. package/esm2022/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  43. package/esm2022/generated/openapi/api/sbController.service.mjs +0 -202
  44. package/esm2022/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  45. package/esm2022/generated/openapi/api.module.mjs +0 -40
  46. package/esm2022/generated/openapi/configuration.mjs +0 -99
  47. package/esm2022/generated/openapi/encoder.mjs +0 -19
  48. package/esm2022/generated/openapi/index.mjs +0 -7
  49. package/esm2022/generated/openapi/model/actieDto.mjs +0 -13
  50. package/esm2022/generated/openapi/model/algemeneRitDto.mjs +0 -13
  51. package/esm2022/generated/openapi/model/bewegingDto.mjs +0 -2
  52. package/esm2022/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  53. package/esm2022/generated/openapi/model/frontendProperties.mjs +0 -2
  54. package/esm2022/generated/openapi/model/logDto.mjs +0 -2
  55. package/esm2022/generated/openapi/model/models.mjs +0 -10
  56. package/esm2022/generated/openapi/model/ritRequestDto.mjs +0 -2
  57. package/esm2022/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  58. package/esm2022/generated/openapi/model/signaleringsbeeldRequestDto.mjs +0 -13
  59. package/esm2022/generated/openapi/param.mjs +0 -2
  60. package/esm2022/generated/openapi/variables.mjs +0 -9
  61. package/esm2022/src/generated/openapi/api/api.mjs +0 -23
  62. package/esm2022/src/generated/openapi/api/appConfigController.service.mjs +0 -140
  63. package/esm2022/src/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  64. package/esm2022/src/generated/openapi/api/bewegingController.service.mjs +0 -155
  65. package/esm2022/src/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  66. package/esm2022/src/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  67. package/esm2022/src/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  68. package/esm2022/src/generated/openapi/api/connectorController.service.mjs +0 -146
  69. package/esm2022/src/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  70. package/esm2022/src/generated/openapi/api/logController.service.mjs +0 -150
  71. package/esm2022/src/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  72. package/esm2022/src/generated/openapi/api/p21Controller.service.mjs +0 -236
  73. package/esm2022/src/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  74. package/esm2022/src/generated/openapi/api/sbController.service.mjs +0 -202
  75. package/esm2022/src/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  76. package/esm2022/src/generated/openapi/api.module.mjs +0 -40
  77. package/esm2022/src/generated/openapi/configuration.mjs +0 -99
  78. package/esm2022/src/generated/openapi/encoder.mjs +0 -19
  79. package/esm2022/src/generated/openapi/index.mjs +0 -7
  80. package/esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs +0 -5
  81. package/esm2022/src/generated/openapi/model/actieDto.mjs +0 -13
  82. package/esm2022/src/generated/openapi/model/algemeneRitDto.mjs +0 -13
  83. package/esm2022/src/generated/openapi/model/bewegingDto.mjs +0 -2
  84. package/esm2022/src/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  85. package/esm2022/src/generated/openapi/model/frontendProperties.mjs +0 -2
  86. package/esm2022/src/generated/openapi/model/logDto.mjs +0 -2
  87. package/esm2022/src/generated/openapi/model/models.mjs +0 -10
  88. package/esm2022/src/generated/openapi/model/ritRequestDto.mjs +0 -2
  89. package/esm2022/src/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  90. package/esm2022/src/generated/openapi/model/signaleringsbeeldRequestDto.mjs +0 -13
  91. package/esm2022/src/generated/openapi/param.mjs +0 -2
  92. package/esm2022/src/generated/openapi/variables.mjs +0 -9
  93. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +0 -1341
  94. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +0 -1
  95. package/generated/openapi/api/api.d.ts +0 -22
  96. package/generated/openapi/api/appConfigController.service.d.ts +0 -38
  97. package/generated/openapi/api/appConfigController.serviceInterface.d.ts +0 -24
  98. package/generated/openapi/api/bewegingController.service.d.ts +0 -40
  99. package/generated/openapi/api/bewegingController.serviceInterface.d.ts +0 -27
  100. package/generated/openapi/api/class0BuildProperties.service.d.ts +0 -36
  101. package/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +0 -23
  102. package/generated/openapi/api/connectorController.service.d.ts +0 -38
  103. package/generated/openapi/api/connectorController.serviceInterface.d.ts +0 -25
  104. package/generated/openapi/api/logController.service.d.ts +0 -38
  105. package/generated/openapi/api/logController.serviceInterface.d.ts +0 -25
  106. package/generated/openapi/api/p21Controller.service.d.ts +0 -62
  107. package/generated/openapi/api/p21Controller.serviceInterface.d.ts +0 -30
  108. package/generated/openapi/api/sbController.service.d.ts +0 -60
  109. package/generated/openapi/api/sbController.serviceInterface.d.ts +0 -32
  110. package/generated/openapi/api.module.d.ts +0 -11
  111. package/generated/openapi/configuration.d.ts +0 -104
  112. package/generated/openapi/encoder.d.ts +0 -11
  113. package/generated/openapi/index.d.ts +0 -6
  114. package/generated/openapi/model/actieDto.d.ts +0 -35
  115. package/generated/openapi/model/algemeneRitDto.d.ts +0 -28
  116. package/generated/openapi/model/bewegingDto.d.ts +0 -37
  117. package/generated/openapi/model/frontendKeycloakConfig.d.ts +0 -16
  118. package/generated/openapi/model/frontendProperties.d.ts +0 -15
  119. package/generated/openapi/model/logDto.d.ts +0 -22
  120. package/generated/openapi/model/models.d.ts +0 -9
  121. package/generated/openapi/model/ritRequestDto.d.ts +0 -17
  122. package/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  123. package/generated/openapi/model/signaleringsbeeldRequestDto.d.ts +0 -16
  124. package/generated/openapi/param.d.ts +0 -37
  125. package/generated/openapi/variables.d.ts +0 -8
  126. package/src/generated/openapi/README.md +0 -226
  127. package/src/generated/openapi/api/api.d.ts +0 -22
  128. package/src/generated/openapi/api/appConfigController.service.d.ts +0 -38
  129. package/src/generated/openapi/api/appConfigController.serviceInterface.d.ts +0 -24
  130. package/src/generated/openapi/api/bewegingController.service.d.ts +0 -40
  131. package/src/generated/openapi/api/bewegingController.serviceInterface.d.ts +0 -27
  132. package/src/generated/openapi/api/class0BuildProperties.service.d.ts +0 -36
  133. package/src/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +0 -23
  134. package/src/generated/openapi/api/connectorController.service.d.ts +0 -38
  135. package/src/generated/openapi/api/connectorController.serviceInterface.d.ts +0 -25
  136. package/src/generated/openapi/api/logController.service.d.ts +0 -38
  137. package/src/generated/openapi/api/logController.serviceInterface.d.ts +0 -25
  138. package/src/generated/openapi/api/p21Controller.service.d.ts +0 -62
  139. package/src/generated/openapi/api/p21Controller.serviceInterface.d.ts +0 -30
  140. package/src/generated/openapi/api/sbController.service.d.ts +0 -60
  141. package/src/generated/openapi/api/sbController.serviceInterface.d.ts +0 -32
  142. package/src/generated/openapi/api.module.d.ts +0 -11
  143. package/src/generated/openapi/configuration.d.ts +0 -104
  144. package/src/generated/openapi/encoder.d.ts +0 -11
  145. package/src/generated/openapi/index.d.ts +0 -6
  146. package/src/generated/openapi/model/actieDto.d.ts +0 -35
  147. package/src/generated/openapi/model/algemeneRitDto.d.ts +0 -28
  148. package/src/generated/openapi/model/bewegingDto.d.ts +0 -37
  149. package/src/generated/openapi/model/frontendKeycloakConfig.d.ts +0 -16
  150. package/src/generated/openapi/model/frontendProperties.d.ts +0 -15
  151. package/src/generated/openapi/model/logDto.d.ts +0 -22
  152. package/src/generated/openapi/model/models.d.ts +0 -9
  153. package/src/generated/openapi/model/ritRequestDto.d.ts +0 -17
  154. package/src/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  155. package/src/generated/openapi/model/signaleringsbeeldRequestDto.d.ts +0 -16
  156. package/src/generated/openapi/param.d.ts +0 -37
  157. package/src/generated/openapi/variables.d.ts +0 -8
@@ -2,10 +2,10 @@ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { Message } from './message';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class MessageComponent implements OnInit {
5
- message: Message | undefined;
5
+ message: Message;
6
6
  onClearMessage: EventEmitter<Message>;
7
7
  ngOnInit(): void;
8
- closeMessage(event: MouseEvent): void;
8
+ closeMessage(event: any): void;
9
9
  get severity(): string;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageComponent, never>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<MessageComponent, "loxia-message", never, { "message": { "alias": "message"; "required": false; }; }, { "onClearMessage": "onClearMessage"; }, never, never, false, never>;
@@ -1,6 +1,5 @@
1
1
  import { domein, sbblad } from '@loxia/rijwegen';
2
2
  import { Actie, Beweging } from '../optimo';
3
- import { SignaleringsBeeldManagerService } from '../services/signalerings-beeld-manager.service';
4
3
  import { RijwegplanRijwegDwangCombinatie } from './rijwegplan-rijweg-dwang-combinatie';
5
4
  export declare enum RitdeelZichtbaarheid {
6
5
  ZICHTBAAR = 1,
@@ -10,14 +9,14 @@ export declare enum RitdeelZichtbaarheid {
10
9
  export declare class Ritdeel {
11
10
  private readonly rijwegplanRijwegDwangCombi;
12
11
  acties: Actie[];
13
- readonly beweging: Beweging | undefined;
14
- vrijebaanRijwegplanRijwegDwangCombi: RijwegplanRijwegDwangCombinatie | undefined;
15
- vervolgSpoor: string | undefined;
12
+ readonly beweging: Beweging;
13
+ vrijebaanRijwegplanRijwegDwangCombi: RijwegplanRijwegDwangCombinatie;
14
+ vervolgSpoor: string;
16
15
  private topoElementen;
17
16
  private alternatieveRoutes;
18
17
  private zichtbaarheid;
19
18
  private zichtbaarBuitenPaginatie;
20
- constructor(rijwegplanRijwegDwangCombi: RijwegplanRijwegDwangCombinatie, acties: Actie[], beweging: Beweging | undefined, vrijebaanRijwegplanRijwegDwangCombi: RijwegplanRijwegDwangCombinatie | undefined, vervolgSpoor: string | undefined, topoElementen: sbblad.TopologyElement[]);
19
+ constructor(rijwegplanRijwegDwangCombi: RijwegplanRijwegDwangCombinatie, acties: Actie[], beweging: Beweging, vrijebaanRijwegplanRijwegDwangCombi: RijwegplanRijwegDwangCombinatie, vervolgSpoor: string, topoElementen: sbblad.TopologyElement[]);
21
20
  getAlternatieveRoutes(): sbblad.AlternativeRoute[];
22
21
  copyMetDwang(nieuweDwang: domein.Dwang): Ritdeel;
23
22
  copyMetAlternatieveRoutes(alternatieveRoutes: sbblad.AlternativeRoute[]): Ritdeel;
@@ -58,5 +57,5 @@ export declare class Ritdeel {
58
57
  getVanSeinName(): string;
59
58
  getNaarSeinName(): string;
60
59
  getZichtbaarheidBuitenPaginatie(): boolean;
61
- bepaalTopologieElementen(sbmService: SignaleringsBeeldManagerService): void;
60
+ bepaalTopologieElementen(signaleringsBeeldManagerService: any): void;
62
61
  }
@@ -1,15 +1,104 @@
1
1
  import { OnDestroy } from '@angular/core';
2
2
  import { Store } from '@ngrx/store';
3
- import { LogControllerService, LogDto } from '../../generated/openapi';
3
+ import { IResourceMethodPromise, Resource, ResourceHandler, ResourceModel } from '@ngx-resource/core';
4
4
  import { MstEditorState } from '../state/mst-editor-state';
5
+ import { SignaleringsbeeldInfoDto } from './signaleringsbeeldinfo.resource';
5
6
  import * as i0 from "@angular/core";
6
- export declare class MstLoggingResource implements OnDestroy {
7
- private readonly controller;
8
- private readonly store;
7
+ export declare class MstLoggingResource extends Resource implements OnDestroy {
8
+ private store;
9
9
  private subscriptions;
10
- constructor(controller: LogControllerService, store: Store<MstEditorState>);
10
+ constructor(restHandler: ResourceHandler, store: Store<MstEditorState>);
11
11
  ngOnDestroy(): void;
12
- logMessages(logDto: LogDto[]): void;
12
+ logErrorMessages: IResourceMethodPromise<MstLoggingDto[], void>;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<MstLoggingResource, never>;
14
14
  static ɵprov: i0.ɵɵInjectableDeclaration<MstLoggingResource>;
15
15
  }
16
+ export interface IMstLoggingDto {
17
+ iaVersie: string;
18
+ meldingLevel: string;
19
+ meldingMessage: string;
20
+ algemeneRitInfoDto: AlgemeneRitInfoDto;
21
+ actieDto: ActieDto;
22
+ sbinfoDtos: SignaleringsbeeldInfoDto[];
23
+ }
24
+ export declare class MstLoggingDto extends ResourceModel implements IMstLoggingDto {
25
+ $resource: typeof MstLoggingResource;
26
+ iaVersie: string;
27
+ meldingLevel: string;
28
+ meldingMessage: string;
29
+ algemeneRitInfoDto: AlgemeneRitInfoDto;
30
+ actieDto: ActieDto;
31
+ sbinfoDtos: SignaleringsbeeldInfoDto[];
32
+ constructor(data?: IMstLoggingDto);
33
+ toJSON(): any;
34
+ toString(): string;
35
+ $setData(data: IMstLoggingDto): this;
36
+ }
37
+ export interface IActieDto {
38
+ pplgNaam: string;
39
+ ritActieTypeOmschrijving: string;
40
+ ritActieStatus: string;
41
+ bewegingId: number;
42
+ wisselType: string;
43
+ wisselNaam: string;
44
+ wisselKantCode: string;
45
+ vanKilometerlint?: string;
46
+ vanKilometrering?: number;
47
+ totKilometerlint?: string;
48
+ totKilometrering?: number;
49
+ }
50
+ export declare class ActieDto implements IActieDto {
51
+ pplgNaam: string;
52
+ ritActieTypeOmschrijving: string;
53
+ ritActieStatus: string;
54
+ bewegingId: number;
55
+ wisselType: string;
56
+ wisselNaam: string;
57
+ wisselKantCode: string;
58
+ vanKilometerlint: string;
59
+ vanKilometrering: number;
60
+ totKilometerlint: string;
61
+ totKilometrering: number;
62
+ constructor(data?: IActieDto);
63
+ toJSON(): any;
64
+ toString(): string;
65
+ $setData(data: IActieDto): this;
66
+ }
67
+ export interface IAlgemeneRitInfoDto {
68
+ id: string;
69
+ jaarplanId: string;
70
+ volgnummer: string;
71
+ machineTypeId: string;
72
+ machineTypeOmschrijving: string;
73
+ ritDatum: string;
74
+ startDatum: string;
75
+ eindDatum: string;
76
+ ritNaam: string;
77
+ startLocatie: string;
78
+ eindLocatie: string;
79
+ ritStatus: string;
80
+ modified: string;
81
+ modifiedBy: string;
82
+ planJobId: string;
83
+ }
84
+ export declare class AlgemeneRitInfoDto implements IAlgemeneRitInfoDto {
85
+ id: string;
86
+ jaarplanId: string;
87
+ volgnummer: string;
88
+ machineTypeId: string;
89
+ machineTypeOmschrijving: string;
90
+ ritDatum: string;
91
+ startDatum: string;
92
+ eindDatum: string;
93
+ ritNaam: string;
94
+ startLocatie: string;
95
+ eindLocatie: string;
96
+ ritStatus: string;
97
+ modified: string;
98
+ modifiedBy: string;
99
+ planJobId: string;
100
+ constructor(data?: IAlgemeneRitInfoDto);
101
+ toJSON(): any;
102
+ toString(): string;
103
+ $setData(data: IAlgemeneRitInfoDto): this;
104
+ }
@@ -1,10 +1,10 @@
1
1
  import { SvgInfo } from '@loxia/imx-viewer';
2
- import { AlgemeneRitDto } from '../../../generated/openapi';
3
2
  import { OngeplandeActie } from '../../model/ongeplande-actie';
4
3
  import { RijwegplanRijwegDwangCombinatie } from '../../model/rijwegplan-rijweg-dwang-combinatie';
5
4
  import { Ritdeel } from '../../model/ritdeel';
6
5
  import { SeinOpRitdeel } from '../../model/sein-op-ritdeel';
7
6
  import { Actie, Beweging, InfraModel, Rit } from '../../optimo';
7
+ import { AlgemeneRitInfoDto } from '../../resources/mstlogging.resource';
8
8
  import { ISignaleringsbeeldInfoDto } from '../../resources/signaleringsbeeldinfo.resource';
9
9
  import { ArrayMultimap } from '../../util/multi-map';
10
10
  export declare const SET_EDITABLE = "[mst] SetEditable";
@@ -145,8 +145,8 @@ export declare const SetSvgInfos: import("@ngrx/store").FunctionWithParametersTy
145
145
  export declare const SetDebug: import("@ngrx/store").FunctionWithParametersType<[debug: boolean], {
146
146
  debug: boolean;
147
147
  } & import("@ngrx/store").Action<"[mst] SET_DEBUG">> & import("@ngrx/store").Action<"[mst] SET_DEBUG">;
148
- export declare const SetAlgemeneRitInfo: import("@ngrx/store").FunctionWithParametersType<[algemeneRitInfoDto: AlgemeneRitDto], {
149
- algemeneRitInfoDto: AlgemeneRitDto;
148
+ export declare const SetAlgemeneRitInfo: import("@ngrx/store").FunctionWithParametersType<[algemeneRitInfoDto: AlgemeneRitInfoDto], {
149
+ algemeneRitInfoDto: AlgemeneRitInfoDto;
150
150
  } & import("@ngrx/store").Action<"[mst] SetAlgemeneRitInfo">> & import("@ngrx/store").Action<"[mst] SetAlgemeneRitInfo">;
151
151
  export declare const SetOngeplandeActiesBepaald: import("@ngrx/store").FunctionWithParametersType<[bepaald: boolean], {
152
152
  bepaald: boolean;
@@ -257,7 +257,7 @@ declare const mstActions: ({
257
257
  } & import("@ngrx/store").Action<"[mst] SET_SVG_INFOS">) | ({
258
258
  debug: boolean;
259
259
  } & import("@ngrx/store").Action<"[mst] SET_DEBUG">) | ({
260
- algemeneRitInfoDto: AlgemeneRitDto;
260
+ algemeneRitInfoDto: AlgemeneRitInfoDto;
261
261
  } & import("@ngrx/store").Action<"[mst] SetAlgemeneRitInfo">) | ({
262
262
  bepaald: boolean;
263
263
  } & import("@ngrx/store").Action<"[mst] SET_ONGEPLANDE_ACTIES_BEPAALD">) | import("@ngrx/store").Action<"[progress] Show the progress indicator"> | import("@ngrx/store").Action<"[progress] Clear the progress indicator"> | ({
@@ -41,7 +41,7 @@ export declare class LaadSignaleringsbeeldenEffect {
41
41
  private navigeer;
42
42
  private updateRitdelen;
43
43
  private updateZichtbaarheidBuitenWindow;
44
- private updateZichtbaarheidAangrenzendeRitdelen;
44
+ private updateZichtbaarheidAangrezendeRitdelen;
45
45
  private updateZichtbaarHeid;
46
46
  private isEersteLaatstePuicZichtbaar;
47
47
  private updateZichtbaarheidAangrenzendeRitdeel;
@@ -1,17 +1,16 @@
1
1
  import { Actions } from '@ngrx/effects';
2
2
  import { Store } from '@ngrx/store';
3
- import { NieuweRoute } from '../../model/nieuwe-route';
4
3
  import { Ritdeel } from '../../model/ritdeel';
5
4
  import { EditorService } from '../../services/editor.service';
6
5
  import { SignaleringsBeeldManagerService } from '../../services/signalerings-beeld-manager.service';
7
6
  import { MstEditorState } from '../mst-editor-state';
8
7
  import * as i0 from "@angular/core";
9
8
  export declare class RitdelenEffect {
10
- private readonly actions$;
11
- private readonly store;
12
- private readonly sbmService;
13
- private readonly editorService;
14
- constructor(actions$: Actions, store: Store<MstEditorState>, sbmService: SignaleringsBeeldManagerService, editorService: EditorService);
9
+ private actions$;
10
+ private store;
11
+ private sbmService;
12
+ private rijwegPlanEditorService;
13
+ constructor(actions$: Actions, store: Store<MstEditorState>, sbmService: SignaleringsBeeldManagerService, rijwegPlanEditorService: EditorService);
15
14
  updateRitDelen$: import("rxjs").Observable<{
16
15
  ritDelen: Ritdeel[];
17
16
  } & import("@ngrx/store").Action<"[mst] SetRitDelenAfterUpdate">> & import("@ngrx/effects").CreateEffectMetadata;
@@ -26,7 +25,7 @@ export declare class RitdelenEffect {
26
25
  private verwerkSamengesteldeRoute;
27
26
  private extendRitdeelMetVrijebaanInfo;
28
27
  private maakNieuwRitdeel;
29
- createRitdeel(nieuweRoute: NieuweRoute): Ritdeel;
28
+ createRitdeel(nieuweRoute: any): Ritdeel;
30
29
  private insertRitdeel;
31
30
  static ɵfac: i0.ɵɵFactoryDeclaration<RitdelenEffect, never>;
32
31
  static ɵprov: i0.ɵɵInjectableDeclaration<RitdelenEffect>;
@@ -1,10 +1,10 @@
1
1
  import { SvgInfo } from '@loxia/imx-viewer';
2
- import { AlgemeneRitDto } from '../../generated/openapi';
3
2
  import { ProgressIndicator } from '../atomic-components/progress-indicator/progress-indicator.entity';
4
3
  import { NieuweRoute } from '../model/nieuwe-route';
5
4
  import { OngeplandeActie } from '../model/ongeplande-actie';
6
5
  import { Ritdeel } from '../model/ritdeel';
7
6
  import { Actie, Beweging, InfraModel } from '../optimo';
7
+ import { AlgemeneRitInfoDto } from '../resources/mstlogging.resource';
8
8
  import { ISignaleringsbeeldInfoDto } from '../resources/signaleringsbeeldinfo.resource';
9
9
  import { ArrayMultimap } from '../util/multi-map';
10
10
  export interface MstEditorState {
@@ -25,7 +25,7 @@ export interface MstEditorState {
25
25
  nieuweRoute: NieuweRoute;
26
26
  signaleringsbeeldInfoDtos: ISignaleringsbeeldInfoDto[];
27
27
  visibleSbInfoDtos: ISignaleringsbeeldInfoDto[];
28
- algemeneRitInfoDto: AlgemeneRitDto;
28
+ algemeneRitInfoDto: AlgemeneRitInfoDto;
29
29
  iaVersie: InfraModel;
30
30
  svgInfos: SvgInfo[];
31
31
  debug: boolean;
@@ -63,7 +63,7 @@ export declare const nieuweRouteReducer: import("@ngrx/store").ActionReducer<Nie
63
63
  export declare const signaleringsbeeldInfoDtosReducer: import("@ngrx/store").ActionReducer<ISignaleringsbeeldInfoDto[], import("@ngrx/store").Action<string>>;
64
64
  export declare const visibleSbInfoDtosReducer: import("@ngrx/store").ActionReducer<ISignaleringsbeeldInfoDto[], import("@ngrx/store").Action<string>>;
65
65
  export declare const iaVersieReducer: import("@ngrx/store").ActionReducer<{}, import("@ngrx/store").Action<string>>;
66
- export declare const algemeneRitInfoDtoReducer: import("@ngrx/store").ActionReducer<{}, import("@ngrx/store").Action<string>>;
66
+ export declare const algemeneRitInfoDtoReducer: import("@ngrx/store").ActionReducer<AlgemeneRitInfoDto, import("@ngrx/store").Action<string>>;
67
67
  export declare const ongeplandeActiesBepaaldReducer: import("@ngrx/store").ActionReducer<boolean, import("@ngrx/store").Action<string>>;
68
68
  export declare const nieuweBewegingReducer: import("@ngrx/store").ActionReducer<{}, import("@ngrx/store").Action<string>>;
69
69
  export declare const baseUrlReducer: import("@ngrx/store").ActionReducer<any, import("@ngrx/store").Action<string>>;
@@ -117,7 +117,7 @@ export declare const storeReducers: {
117
117
  signaleringsbeeldInfoDtos: import("@ngrx/store").ActionReducer<ISignaleringsbeeldInfoDto[], import("@ngrx/store").Action<string>>;
118
118
  visibleSbInfoDtos: import("@ngrx/store").ActionReducer<ISignaleringsbeeldInfoDto[], import("@ngrx/store").Action<string>>;
119
119
  iaVersie: import("@ngrx/store").ActionReducer<{}, import("@ngrx/store").Action<string>>;
120
- algemeneRitInfoDto: import("@ngrx/store").ActionReducer<{}, import("@ngrx/store").Action<string>>;
120
+ algemeneRitInfoDto: import("@ngrx/store").ActionReducer<AlgemeneRitInfoDto, import("@ngrx/store").Action<string>>;
121
121
  svgInfos: import("@ngrx/store").ActionReducer<SvgInfo[], import("@ngrx/store").Action<string>>;
122
122
  debug: import("@ngrx/store").ActionReducer<boolean, import("@ngrx/store").Action<string>>;
123
123
  editable: import("@ngrx/store").ActionReducer<boolean, import("@ngrx/store").Action<string>>;
@@ -1,14 +1,16 @@
1
1
  import { Store } from '@ngrx/store';
2
- import { LogDto } from '../../generated/openapi';
3
2
  import { MeldingEvent } from '../model/melding-event';
4
3
  import { Actie } from '../optimo';
4
+ import { MstLoggingDto } from '../resources/mstlogging.resource';
5
5
  import { SignaleringsbeeldInfoDto } from '../resources/signaleringsbeeldinfo.resource';
6
+ import { SignaleringsBeeldManagerService } from '../services/signalerings-beeld-manager.service';
6
7
  import { MstEditorState } from '../state/mst-editor-state';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class LoggingHelper {
9
- private readonly store;
10
- constructor(store: Store<MstEditorState>);
11
- maakLogDTO(melding: MeldingEvent, actie: Actie): LogDto;
10
+ private sbmService;
11
+ private store;
12
+ constructor(sbmService: SignaleringsBeeldManagerService, store: Store<MstEditorState>);
13
+ maakLogDTO(melding: MeldingEvent, actie: Actie): MstLoggingDto;
12
14
  getSbInfoDtos(): SignaleringsbeeldInfoDto[];
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<LoggingHelper, never>;
14
16
  static ɵprov: i0.ɵɵInjectableDeclaration<LoggingHelper>;
@@ -1,3 +1,4 @@
1
1
  export default class Utils {
2
+ static flatMap(xs: any, f: any): any;
2
3
  static getValidErorrMessage(err: any): string;
3
4
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loxia/mst-viewer",
3
3
  "description": "mstviewer component",
4
- "version": "8.1.3-202511130805",
4
+ "version": "8.1.3-202511130844",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "@loxia:registry": "https://registry.npmjs.org"
@@ -30,12 +30,6 @@
30
30
  "esm2022": "./esm2022/loxia-mst-viewer.mjs",
31
31
  "esm": "./esm2022/loxia-mst-viewer.mjs",
32
32
  "default": "./fesm2022/loxia-mst-viewer.mjs"
33
- },
34
- "./src/generated/openapi": {
35
- "types": "./src/generated/openapi/index.d.ts",
36
- "esm2022": "./esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs",
37
- "esm": "./esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs",
38
- "default": "./fesm2022/loxia-mst-viewer-src-generated-openapi.mjs"
39
33
  }
40
34
  },
41
35
  "sideEffects": false,
@@ -1,23 +0,0 @@
1
- export * from './appConfigController.service';
2
- import { AppConfigControllerService } from './appConfigController.service';
3
- export * from './appConfigController.serviceInterface';
4
- export * from './bewegingController.service';
5
- import { BewegingControllerService } from './bewegingController.service';
6
- export * from './bewegingController.serviceInterface';
7
- export * from './class0BuildProperties.service';
8
- import { Class0BuildPropertiesService } from './class0BuildProperties.service';
9
- export * from './class0BuildProperties.serviceInterface';
10
- export * from './connectorController.service';
11
- import { ConnectorControllerService } from './connectorController.service';
12
- export * from './connectorController.serviceInterface';
13
- export * from './logController.service';
14
- import { LogControllerService } from './logController.service';
15
- export * from './logController.serviceInterface';
16
- export * from './p21Controller.service';
17
- import { P21ControllerService } from './p21Controller.service';
18
- export * from './p21Controller.serviceInterface';
19
- export * from './sbController.service';
20
- import { SbControllerService } from './sbController.service';
21
- export * from './sbController.serviceInterface';
22
- export const APIS = [AppConfigControllerService, BewegingControllerService, Class0BuildPropertiesService, ConnectorControllerService, LogControllerService, P21ControllerService, SbControllerService];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwQ29uZmlnQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcENvbmZpZ0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcHBDb25maWdDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBDb25maWdDb250cm9sbGVyLnNlcnZpY2VJbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9iZXdlZ2luZ0NvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCZXdlZ2luZ0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9iZXdlZ2luZ0NvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jld2VnaW5nQ29udHJvbGxlci5zZXJ2aWNlSW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3MwQnVpbGRQcm9wZXJ0aWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xhc3MwQnVpbGRQcm9wZXJ0aWVzU2VydmljZSB9IGZyb20gJy4vY2xhc3MwQnVpbGRQcm9wZXJ0aWVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzczBCdWlsZFByb3BlcnRpZXMuc2VydmljZUludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3RvckNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb25uZWN0b3JDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vY29ubmVjdG9yQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdG9yQ29udHJvbGxlci5zZXJ2aWNlSW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2dDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dDb250cm9sbGVyLnNlcnZpY2VJbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wMjFDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUDIxQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL3AyMUNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3AyMUNvbnRyb2xsZXIuc2VydmljZUludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3NiQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNiQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL3NiQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2JDb250cm9sbGVyLnNlcnZpY2VJbnRlcmZhY2UnO1xuZXhwb3J0IGNvbnN0IEFQSVMgPSBbQXBwQ29uZmlnQ29udHJvbGxlclNlcnZpY2UsIEJld2VnaW5nQ29udHJvbGxlclNlcnZpY2UsIENsYXNzMEJ1aWxkUHJvcGVydGllc1NlcnZpY2UsIENvbm5lY3RvckNvbnRyb2xsZXJTZXJ2aWNlLCBMb2dDb250cm9sbGVyU2VydmljZSwgUDIxQ29udHJvbGxlclNlcnZpY2UsIFNiQ29udHJvbGxlclNlcnZpY2VdO1xuIl19
@@ -1,140 +0,0 @@
1
- /**
2
- * MST
3
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
- *
5
- * The version of the OpenAPI document: 1
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- /* tslint:disable:no-unused-variable member-ordering */
13
- import { Inject, Injectable, Optional } from '@angular/core';
14
- import { HttpHeaders, HttpContext } from '@angular/common/http';
15
- import { CustomHttpParameterCodec } from '../encoder';
16
- // @ts-ignore
17
- import { BASE_PATH } from '../variables';
18
- import { Configuration } from '../configuration';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@angular/common/http";
21
- import * as i2 from "../configuration";
22
- export class AppConfigControllerService {
23
- constructor(httpClient, basePath, configuration) {
24
- this.httpClient = httpClient;
25
- this.basePath = 'http://localhost:8080/mst';
26
- this.defaultHeaders = new HttpHeaders();
27
- this.configuration = new Configuration();
28
- if (configuration) {
29
- this.configuration = configuration;
30
- }
31
- if (typeof this.configuration.basePath !== 'string') {
32
- if (Array.isArray(basePath) && basePath.length > 0) {
33
- basePath = basePath[0];
34
- }
35
- if (typeof basePath !== 'string') {
36
- basePath = this.basePath;
37
- }
38
- this.configuration.basePath = basePath;
39
- }
40
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
41
- }
42
- // @ts-ignore
43
- addToHttpParams(httpParams, value, key) {
44
- if (typeof value === "object" && value instanceof Date === false) {
45
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
46
- }
47
- else {
48
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
49
- }
50
- return httpParams;
51
- }
52
- addToHttpParamsRecursive(httpParams, value, key) {
53
- if (value == null) {
54
- return httpParams;
55
- }
56
- if (typeof value === "object") {
57
- if (Array.isArray(value)) {
58
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
59
- }
60
- else if (value instanceof Date) {
61
- if (key != null) {
62
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
63
- }
64
- else {
65
- throw Error("key may not be null if value is Date");
66
- }
67
- }
68
- else {
69
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
70
- }
71
- }
72
- else if (key != null) {
73
- httpParams = httpParams.append(key, value);
74
- }
75
- else {
76
- throw Error("key may not be null if value is not object or array");
77
- }
78
- return httpParams;
79
- }
80
- getAppConfig(observe = 'body', reportProgress = false, options) {
81
- let localVarHeaders = this.defaultHeaders;
82
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
83
- if (localVarHttpHeaderAcceptSelected === undefined) {
84
- // to determine the Accept header
85
- const httpHeaderAccepts = [
86
- '*/*'
87
- ];
88
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
89
- }
90
- if (localVarHttpHeaderAcceptSelected !== undefined) {
91
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
92
- }
93
- let localVarHttpContext = options && options.context;
94
- if (localVarHttpContext === undefined) {
95
- localVarHttpContext = new HttpContext();
96
- }
97
- let localVarTransferCache = options && options.transferCache;
98
- if (localVarTransferCache === undefined) {
99
- localVarTransferCache = true;
100
- }
101
- let responseType_ = 'json';
102
- if (localVarHttpHeaderAcceptSelected) {
103
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
104
- responseType_ = 'text';
105
- }
106
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
107
- responseType_ = 'json';
108
- }
109
- else {
110
- responseType_ = 'blob';
111
- }
112
- }
113
- let localVarPath = `/rest/appconfig`;
114
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
115
- context: localVarHttpContext,
116
- responseType: responseType_,
117
- withCredentials: this.configuration.withCredentials,
118
- headers: localVarHeaders,
119
- observe: observe,
120
- transferCache: localVarTransferCache,
121
- reportProgress: reportProgress
122
- });
123
- }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AppConfigControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
125
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AppConfigControllerService, providedIn: 'root' }); }
126
- }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AppConfigControllerService, decorators: [{
128
- type: Injectable,
129
- args: [{
130
- providedIn: 'root'
131
- }]
132
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
133
- type: Optional
134
- }, {
135
- type: Inject,
136
- args: [BASE_PATH]
137
- }] }, { type: i2.Configuration, decorators: [{
138
- type: Optional
139
- }] }] });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwQ29uZmlnQ29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvYXBpL2FwcENvbmZpZ0NvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUEyQixlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFjLFdBQVcsRUFDc0IsV0FBVyxFQUN4RCxNQUFZLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUErQixZQUFZLENBQUM7QUFNL0UsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7O0FBVXJGLE1BQU0sT0FBTywwQkFBMEI7SUFPbkMsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBeUIsRUFBYyxhQUE0QjtRQUF6SCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTGxDLGFBQVEsR0FBRywyQkFBMkIsQ0FBQztRQUMxQyxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBSXZDLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztn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Q0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFxQixLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxZQUFZLEVBQUUsRUFDckc7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFlBQVksRUFBTyxhQUFhO1lBQ2hDLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsYUFBYSxFQUFFLHFCQUFxQjtZQUNwQyxjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDOzhHQXZIUSwwQkFBMEIsNENBTzhCLFNBQVM7a0hBUGpFLDBCQUEwQixjQUZ6QixNQUFNOzsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRa0QsUUFBUTs7MEJBQUcsTUFBTTsyQkFBQyxTQUFTOzswQkFBOEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTVNUXG4gKiBObyBkZXNjcmlwdGlvbiBwcm92aWRlZCAoZ2VuZXJhdGVkIGJ5IE9wZW5hcGkgR2VuZXJhdG9yIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYXBpdG9vbHMvb3BlbmFwaS1nZW5lcmF0b3IpXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDFcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyxcbiAgICAgICAgIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwUGFyYW1ldGVyQ29kZWMsIEh0dHBDb250ZXh0IFxuICAgICAgICB9ICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyB9ICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRnJvbnRlbmRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vbW9kZWwvZnJvbnRlbmRQcm9wZXJ0aWVzJztcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5pbXBvcnQge1xuICAgIEFwcENvbmZpZ0NvbnRyb2xsZXJTZXJ2aWNlSW50ZXJmYWNlXG59IGZyb20gJy4vYXBwQ29uZmlnQ29udHJvbGxlci5zZXJ2aWNlSW50ZXJmYWNlJztcblxuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZ0NvbnRyb2xsZXJTZXJ2aWNlIGltcGxlbWVudHMgQXBwQ29uZmlnQ29udHJvbGxlclNlcnZpY2VJbnRlcmZhY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9tc3QnO1xuICAgIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcbiAgICBwdWJsaWMgZW5jb2RlcjogSHR0cFBhcmFtZXRlckNvZGVjO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmd8c3RyaW5nW10sIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShiYXNlUGF0aCkgJiYgYmFzZVBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGJhc2VQYXRoID0gYmFzZVBhdGhbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgYmFzZVBhdGggPSB0aGlzLmJhc2VQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jb25maWd1cmF0aW9uLmVuY29kZXIgfHwgbmV3IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYygpO1xuICAgIH1cblxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHByaXZhdGUgYWRkVG9IdHRwUGFyYW1zKGh0dHBQYXJhbXM6IEh0dHBQYXJhbXMsIHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IEh0dHBQYXJhbXMge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgdmFsdWUsIGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU/OiBhbnksIGtleT86IHN0cmluZyk6IEh0dHBQYXJhbXMge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAodmFsdWUgYXMgYW55W10pLmZvckVhY2goIGVsZW0gPT4gaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIGVsZW0sIGtleSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSwgKHZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgRGF0ZVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKCBrID0+IGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcywgdmFsdWVba10sIGtleSAhPSBudWxsID8gYCR7a2V5fS4ke2t9YCA6IGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIG5vdCBvYmplY3Qgb3IgYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VlZnQgY29uZmlndXJhdGllIHZvb3IgZnJvbnRlbmRcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QXBwQ29uZmlnKG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJyovKicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dCwgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW59KTogT2JzZXJ2YWJsZTxGcm9udGVuZFByb3BlcnRpZXM+O1xuICAgIHB1YmxpYyBnZXRBcHBDb25maWcob2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJyovKicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dCwgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW59KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8RnJvbnRlbmRQcm9wZXJ0aWVzPj47XG4gICAgcHVibGljIGdldEFwcENvbmZpZyhvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJyovKicsIGNvbnRleHQ/OiBIdHRwQ29udGV4dCwgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW59KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8RnJvbnRlbmRQcm9wZXJ0aWVzPj47XG4gICAgcHVibGljIGdldEFwcENvbmZpZyhvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICcqLyonLCBjb250ZXh0PzogSHR0cENvbnRleHQsIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFufSk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuaHR0cEhlYWRlckFjY2VwdDtcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgICAgICcqLyonXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMudHJhbnNmZXJDYWNoZTtcbiAgICAgICAgaWYgKGxvY2FsVmFyVHJhbnNmZXJDYWNoZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsb2NhbFZhclRyYW5zZmVyQ2FjaGUgPSB0cnVlO1xuICAgICAgICB9XG5cblxuICAgICAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZC5zdGFydHNXaXRoKCd0ZXh0JykpIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2pzb24nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2Jsb2InO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvcmVzdC9hcHBjb25maWdgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8RnJvbnRlbmRQcm9wZXJ0aWVzPignZ2V0JywgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwQ29uZmlnQ29udHJvbGxlci5zZXJ2aWNlSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvYXBpL2FwcENvbmZpZ0NvbnRyb2xsZXIuc2VydmljZUludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNU1RcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgT3BlbmFwaSBHZW5lcmF0b3IgaHR0cHM6Ly9naXRodWIuY29tL29wZW5hcGl0b29scy9vcGVuYXBpLWdlbmVyYXRvcilcbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMVxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZyb250ZW5kUHJvcGVydGllcyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5cblxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuXG5cblxuZXhwb3J0IGludGVyZmFjZSBBcHBDb25maWdDb250cm9sbGVyU2VydmljZUludGVyZmFjZSB7XG4gICAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICAgIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBHZWVmdCBjb25maWd1cmF0aWUgdm9vciBmcm9udGVuZFxuICAgICAqIFxuICAgICAqL1xuICAgIGdldEFwcENvbmZpZyhleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxGcm9udGVuZFByb3BlcnRpZXM+O1xuXG59XG4iXX0=