@o3r/components 10.3.0-prerelease.7 → 10.3.0-prerelease.71

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 (56) hide show
  1. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts +1 -1
  2. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts.map +1 -1
  3. package/builders/component-extractor/helpers/component/component-class.extractor.js +1 -1
  4. package/devkit/components-devkit.interface.d.ts +9 -1
  5. package/devkit/components-devkit.interface.d.ts.map +1 -1
  6. package/devkit/components-devtools.message.service.d.ts +5 -2
  7. package/devkit/components-devtools.message.service.d.ts.map +1 -1
  8. package/devkit/components-devtools.module.d.ts +2 -1
  9. package/devkit/components-devtools.module.d.ts.map +1 -1
  10. package/devkit/inspector/otter-inspector.helpers.d.ts.map +1 -1
  11. package/devkit/inspector/otter-inspector.service.d.ts.map +1 -1
  12. package/esm2022/devkit/components-devkit.interface.mjs +2 -1
  13. package/esm2022/devkit/components-devtools.message.service.mjs +14 -6
  14. package/esm2022/devkit/components-devtools.module.mjs +11 -7
  15. package/esm2022/devkit/inspector/otter-inspector.helpers.mjs +3 -2
  16. package/esm2022/devkit/inspector/otter-inspector.service.mjs +2 -3
  17. package/esm2022/rules-engine/placeholder.action-handler.mjs +18 -14
  18. package/esm2022/rules-engine/placeholder.rules-engine.effect.mjs +3 -3
  19. package/esm2022/rules-engine/placeholder.rules-engine.module.mjs +4 -4
  20. package/esm2022/stores/placeholder-request/placeholder-request.module.mjs +4 -4
  21. package/esm2022/stores/placeholder-template/placeholder-template.actions.mjs +3 -1
  22. package/esm2022/stores/placeholder-template/placeholder-template.module.mjs +4 -4
  23. package/esm2022/stores/placeholder-template/placeholder-template.reducer.mjs +10 -2
  24. package/esm2022/stores/placeholder-template/placeholder-template.selectors.mjs +2 -1
  25. package/esm2022/stores/placeholder-template/placeholder-template.state.mjs +1 -1
  26. package/esm2022/tools/component-replacement/c11n.directive.mjs +3 -3
  27. package/esm2022/tools/component-replacement/c11n.mock.module.mjs +10 -10
  28. package/esm2022/tools/component-replacement/c11n.module.mjs +4 -4
  29. package/esm2022/tools/component-replacement/c11n.service.mjs +3 -3
  30. package/esm2022/tools/pipes/capitalize/capitalize.module.mjs +4 -4
  31. package/esm2022/tools/pipes/capitalize/capitalize.pipe.mjs +6 -6
  32. package/esm2022/tools/pipes/duration/duration.module.mjs +4 -4
  33. package/esm2022/tools/pipes/duration/duration.pipe.mjs +6 -6
  34. package/esm2022/tools/pipes/keep-white-space/keep-white-space.module.mjs +4 -4
  35. package/esm2022/tools/pipes/keep-white-space/keep-white-space.pipe.mjs +6 -6
  36. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.module.mjs +4 -4
  37. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.pipe.mjs +6 -6
  38. package/esm2022/tools/placeholder/placeholder.component.mjs +11 -13
  39. package/esm2022/tools/placeholder/placeholder.module.mjs +5 -5
  40. package/fesm2022/o3r-components-rules-engine.mjs +23 -19
  41. package/fesm2022/o3r-components-rules-engine.mjs.map +1 -1
  42. package/fesm2022/o3r-components.mjs +448 -430
  43. package/fesm2022/o3r-components.mjs.map +1 -1
  44. package/package.json +14 -14
  45. package/rules-engine/placeholder.action-handler.d.ts +7 -6
  46. package/rules-engine/placeholder.action-handler.d.ts.map +1 -1
  47. package/schemas/placeholder-template.schema.json +1 -1
  48. package/stores/placeholder-template/placeholder-template.actions.d.ts +6 -1
  49. package/stores/placeholder-template/placeholder-template.actions.d.ts.map +1 -1
  50. package/stores/placeholder-template/placeholder-template.reducer.d.ts.map +1 -1
  51. package/stores/placeholder-template/placeholder-template.selectors.d.ts +1 -0
  52. package/stores/placeholder-template/placeholder-template.selectors.d.ts.map +1 -1
  53. package/stores/placeholder-template/placeholder-template.state.d.ts +3 -0
  54. package/stores/placeholder-template/placeholder-template.state.d.ts.map +1 -1
  55. package/tools/placeholder/placeholder.component.d.ts +5 -3
  56. package/tools/placeholder/placeholder.component.d.ts.map +1 -1
@@ -29,7 +29,7 @@ export interface ComponentInformation {
29
29
  */
30
30
  export declare class ComponentClassExtractor {
31
31
  source: ts.SourceFile;
32
- private logger;
32
+ private readonly logger;
33
33
  filePath: string;
34
34
  /** List of interfaces that a configurable component can implement */
35
35
  readonly CONFIGURABLE_INTERFACES: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"component-class.extractor.d.ts","sourceRoot":"","sources":["../../../../../builders/component-extractor/helpers/component/component-class.extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAUf,MAAM,EAAE,EAAE,CAAC,UAAU;IAAE,OAAO,CAAC,MAAM;IAA4B,QAAQ,EAAE,MAAM;IARpG,qEAAqE;IACrE,SAAgB,uBAAuB,EAAE,MAAM,EAAE,CAA2C;IAE5F;;;;OAIG;gBACgB,MAAM,EAAE,EAAE,CAAC,UAAU,EAAU,MAAM,EAAE,OAAO,CAAC,SAAS,EAAS,QAAQ,EAAE,MAAM;IAGpG;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB;IAc7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAwD/B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACI,OAAO;CAkBf"}
1
+ {"version":3,"file":"component-class.extractor.d.ts","sourceRoot":"","sources":["../../../../../builders/component-extractor/helpers/component/component-class.extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAUf,MAAM,EAAE,EAAE,CAAC,UAAU;IAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA4B,QAAQ,EAAE,MAAM;IAR7G,qEAAqE;IACrE,SAAgB,uBAAuB,EAAE,MAAM,EAAE,CAA4E;IAE7H;;;;OAIG;gBACgB,MAAM,EAAE,EAAE,CAAC,UAAU,EAAmB,MAAM,EAAE,OAAO,CAAC,SAAS,EAAS,QAAQ,EAAE,MAAM;IAG7G;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB;IAc7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAwD/B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACI,OAAO;CAkBf"}
@@ -21,7 +21,7 @@ class ComponentClassExtractor {
21
21
  this.logger = logger;
22
22
  this.filePath = filePath;
23
23
  /** List of interfaces that a configurable component can implement */
24
- this.CONFIGURABLE_INTERFACES = ['DynamicConfigurable', 'Configurable'];
24
+ this.CONFIGURABLE_INTERFACES = ['DynamicConfigurable', 'DynamicConfigurableWithSignal', 'Configurable'];
25
25
  }
26
26
  /**
27
27
  * Indicates if the given decorator is a component decorator.
@@ -1,4 +1,5 @@
1
1
  import type { ConnectContentMessage, DevtoolsCommonOptions, MessageDataTypes, OtterMessageContent, RequestMessagesContentMessage } from '@o3r/core';
2
+ import type { PlaceholderMode } from '../stores';
2
3
  import { OtterLikeComponentInfo } from './inspector';
3
4
  /**
4
5
  * Component Devtools options
@@ -17,13 +18,20 @@ export interface ToggleInspectorMessage extends OtterMessageContent<'toggleInspe
17
18
  /** Is the inspector running */
18
19
  isRunning: boolean;
19
20
  }
21
+ /**
22
+ * Message to toggle the placeholder mode
23
+ */
24
+ export interface PlaceholderModeMessage extends OtterMessageContent<'placeholderMode'> {
25
+ /** Placeholder mode */
26
+ mode: PlaceholderMode;
27
+ }
20
28
  /**
21
29
  * Message to know the component selection availability
22
30
  */
23
31
  export interface IsComponentSelectionAvailableMessage extends OtterMessageContent<'isComponentSelectionAvailable'> {
24
32
  available: boolean;
25
33
  }
26
- type ComponentsMessageContents = IsComponentSelectionAvailableMessage | SelectedComponentInfoMessage | ToggleInspectorMessage;
34
+ type ComponentsMessageContents = IsComponentSelectionAvailableMessage | SelectedComponentInfoMessage | ToggleInspectorMessage | PlaceholderModeMessage;
27
35
  /** List of possible DataTypes for Components messages */
28
36
  export type ComponentsMessageDataTypes = MessageDataTypes<ComponentsMessageContents>;
29
37
  /** List of all messages for Components purpose */
@@ -1 +1 @@
1
- {"version":3,"file":"components-devkit.interface.d.ts","sourceRoot":"","sources":["../../src/devkit/components-devkit.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AACpJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,qBAAqB;CAC9E;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB,EAAE,mBAAmB,CAAC,uBAAuB,CAAC;CACzH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IACpF,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oCAAqC,SAAQ,mBAAmB,CAAC,+BAA+B,CAAC;IAChH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,KAAK,yBAAyB,GAC1B,oCAAoC,GACpC,4BAA4B,GAC5B,sBAAsB,CAAC;AAE3B,yDAAyD;AACzD,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;AAErF,kDAAkD;AAClD,MAAM,MAAM,kCAAkC,GAC1C,yBAAyB,GACzB,qBAAqB,GACrB,6BAA6B,CAAC,0BAA0B,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,GAAG,kDAO/C,CAAC"}
1
+ {"version":3,"file":"components-devkit.interface.d.ts","sourceRoot":"","sources":["../../src/devkit/components-devkit.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AACpJ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,qBAAqB;CAC9E;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB,EAAE,mBAAmB,CAAC,uBAAuB,CAAC;CACzH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IACpF,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IACpF,uBAAuB;IACvB,IAAI,EAAE,eAAe,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oCAAqC,SAAQ,mBAAmB,CAAC,+BAA+B,CAAC;IAChH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,KAAK,yBAAyB,GAC1B,oCAAoC,GACpC,4BAA4B,GAC5B,sBAAsB,GACtB,sBAAsB,CAAC;AAE3B,yDAAyD;AACzD,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;AAErF,kDAAkD;AAClD,MAAM,MAAM,kCAAkC,GAC1C,yBAAyB,GACzB,qBAAqB,GACrB,6BAA6B,CAAC,0BAA0B,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,GAAG,kDAS/C,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { OnDestroy } from '@angular/core';
2
2
  import { DevtoolsServiceInterface } from '@o3r/core';
3
3
  import { LoggerService } from '@o3r/logger';
4
+ import { Store } from '@ngrx/store';
5
+ import { type PlaceholderTemplateState } from '../stores';
4
6
  import { ComponentsDevtoolsServiceOptions } from './components-devkit.interface';
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class ComponentsDevtoolsMessageService implements OnDestroy, DevtoolsServiceInterface {
7
9
  private readonly logger;
10
+ private readonly store;
8
11
  private readonly options;
9
12
  private readonly subscriptions;
10
13
  private readonly inspectorService;
11
14
  private readonly sendMessage;
12
- constructor(logger: LoggerService, options?: ComponentsDevtoolsServiceOptions);
15
+ constructor(logger: LoggerService, store: Store<PlaceholderTemplateState>, options?: ComponentsDevtoolsServiceOptions);
13
16
  /**
14
17
  * Function to connect the plugin to the Otter DevTools extension
15
18
  */
@@ -31,7 +34,7 @@ export declare class ComponentsDevtoolsMessageService implements OnDestroy, Devt
31
34
  activate(): void;
32
35
  /** @inheritDoc */
33
36
  ngOnDestroy(): void;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsDevtoolsMessageService, [null, { optional: true; }]>;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsDevtoolsMessageService, [null, null, { optional: true; }]>;
35
38
  static ɵprov: i0.ɵɵInjectableDeclaration<ComponentsDevtoolsMessageService>;
36
39
  }
37
40
  //# sourceMappingURL=components-devtools.message.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-devtools.message.service.d.ts","sourceRoot":"","sources":["../../src/devkit/components-devtools.message.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,SAAS,EAAY,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAA0C,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAsC,gCAAgC,EAAmD,MAAM,+BAA+B,CAAC;;AAItK,qBAGa,gCAAiC,YAAW,SAAS,EAAE,wBAAwB;IAStF,OAAO,CAAC,QAAQ,CAAC,MAAM;IAR3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IAEzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwD;gBAG/D,MAAM,EAAE,aAAa,EACiB,OAAO,CAAC,EAAE,gCAAgC;IAYrG;;OAEG;YACW,aAAa;YAQb,4BAA4B;IAO1C,OAAO,CAAC,iCAAiC;IAIzC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;OAIG;YACW,YAAY;IAsB1B,kBAAkB;IACX,QAAQ;IAgBf,kBAAkB;IACX,WAAW;yCA3GP,gCAAgC;6CAAhC,gCAAgC;CA8G5C"}
1
+ {"version":3,"file":"components-devtools.message.service.d.ts","sourceRoot":"","sources":["../../src/devkit/components-devtools.message.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,SAAS,EAAY,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAA0C,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,KAAK,wBAAwB,EAAiC,MAAM,WAAW,CAAC;AACzF,OAAO,EAAsC,gCAAgC,EAAmD,MAAM,+BAA+B,CAAC;;AAItK,qBAGa,gCAAiC,YAAW,SAAS,EAAE,wBAAwB;IASxF,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IATxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IAEzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwD;gBAGjE,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,CAAC,wBAAwB,CAAC,EACA,OAAO,CAAC,EAAE,gCAAgC;IAanG;;OAEG;YACW,aAAa;YAQb,4BAA4B;IAO1C,OAAO,CAAC,iCAAiC;IAIzC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;OAIG;YACW,YAAY;IA0B1B,kBAAkB;IACX,QAAQ;IAgBf,kBAAkB;IACX,WAAW;yCAjHP,gCAAgC;6CAAhC,gCAAgC;CAoH5C"}
@@ -2,6 +2,7 @@ import { ModuleWithProviders } from '@angular/core';
2
2
  import type { ComponentsDevtoolsServiceOptions } from './components-devkit.interface';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngrx/store";
5
+ import * as i2 from "../stores/placeholder-template/placeholder-template.module";
5
6
  export declare class ComponentsDevtoolsModule {
6
7
  /**
7
8
  * Initialize Otter Devtools
@@ -9,7 +10,7 @@ export declare class ComponentsDevtoolsModule {
9
10
  */
10
11
  static instrument(options: Partial<ComponentsDevtoolsServiceOptions>): ModuleWithProviders<ComponentsDevtoolsModule>;
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsDevtoolsModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsDevtoolsModule, never, [typeof i1.StoreModule], never>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsDevtoolsModule, never, [typeof i1.StoreModule, typeof i2.PlaceholderTemplateStoreModule], never>;
13
14
  static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsDevtoolsModule>;
14
15
  }
15
16
  //# sourceMappingURL=components-devtools.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-devtools.module.d.ts","sourceRoot":"","sources":["../../src/devkit/components-devtools.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;;;AAItF,qBASa,wBAAwB;IAEnC;;;OAGG;WACW,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,gCAAgC,CAAC,GAAG,mBAAmB,CAAC,wBAAwB,CAAC;yCANhH,wBAAwB;0CAAxB,wBAAwB;0CAAxB,wBAAwB;CAepC"}
1
+ {"version":3,"file":"components-devtools.module.d.ts","sourceRoot":"","sources":["../../src/devkit/components-devtools.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;;;;AAItF,qBAUa,wBAAwB;IAEnC;;;OAGG;WACW,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,gCAAgC,CAAC,GAAG,mBAAmB,CAAC,wBAAwB,CAAC;yCANhH,wBAAwB;0CAAxB,wBAAwB;0CAAxB,wBAAwB;CAepC"}
@@ -1 +1 @@
1
- {"version":3,"file":"otter-inspector.helpers.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.helpers.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAAU,OAAO,GAAG,SAAS,GAAG,IAAI,oBAE3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,GAAG,QAExC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwB7H;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAsD,CAAC;AAEzI;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwBjI;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAA0D,CAAC;AAE/I;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,2BAA4B,GAAG,QAAQ,OAAO,KAAG,sBAUtF,CAAC"}
1
+ {"version":3,"file":"otter-inspector.helpers.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.helpers.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAAU,OAAO,GAAG,SAAS,GAAG,IAAI,oBAE3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,GAAG,QAExC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwB7H;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAsD,CAAC;AAEzI;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwBjI;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAA0D,CAAC;AAE/I;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,2BAA4B,GAAG,QAAQ,OAAO,KAAG,sBAWtF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"otter-inspector.service.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EAA2D,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQ5H;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAoC;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+B;IACnE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAsE;IAErH;;OAEG;IACI,+BAA+B,EAAE,UAAU,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAsD;;IAM5I,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACI,gBAAgB;IAoCvB;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,OAAO;IAQlC,cAAc;CAMtB"}
1
+ {"version":3,"file":"otter-inspector.service.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EAA2D,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQ5H;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAoC;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+B;IACnE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAsE;IAErH;;OAEG;IACI,+BAA+B,EAAE,UAAU,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAsD;;IAM5I,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACI,gBAAgB;IAoCvB;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,OAAO;IAQlC,cAAc;CAMtB"}
@@ -7,6 +7,7 @@ export const isComponentsMessage = (message) => {
7
7
  message.dataType === 'connect' ||
8
8
  message.dataType === 'selectedComponentInfo' ||
9
9
  message.dataType === 'isComponentSelectionAvailable' ||
10
+ message.dataType === 'placeholderMode' ||
10
11
  message.dataType === 'toggleInspector');
11
12
  };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1kZXZraXQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9jb21wb25lbnRzLWRldmtpdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNENBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBWSxFQUFpRCxFQUFFO0lBQ2pHLE9BQU8sT0FBTyxJQUFJLENBQ2hCLE9BQU8sQ0FBQyxRQUFRLEtBQUssaUJBQWlCO1FBQ3RDLE9BQU8sQ0FBQyxRQUFRLEtBQUssU0FBUztRQUM5QixPQUFPLENBQUMsUUFBUSxLQUFLLHVCQUF1QjtRQUM1QyxPQUFPLENBQUMsUUFBUSxLQUFLLCtCQUErQjtRQUNwRCxPQUFPLENBQUMsUUFBUSxLQUFLLGlCQUFpQixDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25uZWN0Q29udGVudE1lc3NhZ2UsIERldnRvb2xzQ29tbW9uT3B0aW9ucywgTWVzc2FnZURhdGFUeXBlcywgT3R0ZXJNZXNzYWdlQ29udGVudCwgUmVxdWVzdE1lc3NhZ2VzQ29udGVudE1lc3NhZ2UgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB9IGZyb20gJy4vaW5zcGVjdG9yJztcblxuLyoqXG4gKiBDb21wb25lbnQgRGV2dG9vbHMgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudHNEZXZ0b29sc1NlcnZpY2VPcHRpb25zIGV4dGVuZHMgRGV2dG9vbHNDb21tb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBNZXNzYWdlIHRvIGdpdmUgdGhlIHNlbGVjdGVkIGNvbXBvbmVudCBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGVkQ29tcG9uZW50SW5mb01lc3NhZ2UgZXh0ZW5kcyBPdHRlckxpa2VDb21wb25lbnRJbmZvLCBPdHRlck1lc3NhZ2VDb250ZW50PCdzZWxlY3RlZENvbXBvbmVudEluZm8nPiB7XG59XG5cbi8qKlxuICogTWVzc2FnZSB0byB0b2dnbGUgdGhlIGluc3BlY3RvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvZ2dsZUluc3BlY3Rvck1lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCd0b2dnbGVJbnNwZWN0b3InPiB7XG4gIC8qKiBJcyB0aGUgaW5zcGVjdG9yIHJ1bm5pbmcgKi9cbiAgaXNSdW5uaW5nOiBib29sZWFuO1xufVxuXG4vKipcbiAqIE1lc3NhZ2UgdG8ga25vdyB0aGUgY29tcG9uZW50IHNlbGVjdGlvbiBhdmFpbGFiaWxpdHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZU1lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCdpc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZSc+IHtcbiAgYXZhaWxhYmxlOiBib29sZWFuO1xufVxuXG50eXBlIENvbXBvbmVudHNNZXNzYWdlQ29udGVudHMgPVxuICB8IElzQ29tcG9uZW50U2VsZWN0aW9uQXZhaWxhYmxlTWVzc2FnZVxuICB8IFNlbGVjdGVkQ29tcG9uZW50SW5mb01lc3NhZ2VcbiAgfCBUb2dnbGVJbnNwZWN0b3JNZXNzYWdlO1xuXG4vKiogTGlzdCBvZiBwb3NzaWJsZSBEYXRhVHlwZXMgZm9yIENvbXBvbmVudHMgbWVzc2FnZXMgKi9cbmV4cG9ydCB0eXBlIENvbXBvbmVudHNNZXNzYWdlRGF0YVR5cGVzID0gTWVzc2FnZURhdGFUeXBlczxDb21wb25lbnRzTWVzc2FnZUNvbnRlbnRzPjtcblxuLyoqIExpc3Qgb2YgYWxsIG1lc3NhZ2VzIGZvciBDb21wb25lbnRzIHB1cnBvc2UgKi9cbmV4cG9ydCB0eXBlIEF2YWlsYWJsZUNvbXBvbmVudHNNZXNzYWdlQ29udGVudHMgPVxuICB8IENvbXBvbmVudHNNZXNzYWdlQ29udGVudHNcbiAgfCBDb25uZWN0Q29udGVudE1lc3NhZ2VcbiAgfCBSZXF1ZXN0TWVzc2FnZXNDb250ZW50TWVzc2FnZTxDb21wb25lbnRzTWVzc2FnZURhdGFUeXBlcz47XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBtZXNzYWdlIGlzIGEgQ29tcG9uZW50cyBtZXNzYWdlXG4gKiBAcGFyYW0gbWVzc2FnZSBtZXNzYWdlIHRvIGNoZWNrXG4gKi9cbmV4cG9ydCBjb25zdCBpc0NvbXBvbmVudHNNZXNzYWdlID0gKG1lc3NhZ2U6IGFueSk6IG1lc3NhZ2UgaXMgQXZhaWxhYmxlQ29tcG9uZW50c01lc3NhZ2VDb250ZW50cyA9PiB7XG4gIHJldHVybiBtZXNzYWdlICYmIChcbiAgICBtZXNzYWdlLmRhdGFUeXBlID09PSAncmVxdWVzdE1lc3NhZ2VzJyB8fFxuICAgIG1lc3NhZ2UuZGF0YVR5cGUgPT09ICdjb25uZWN0JyB8fFxuICAgIG1lc3NhZ2UuZGF0YVR5cGUgPT09ICdzZWxlY3RlZENvbXBvbmVudEluZm8nIHx8XG4gICAgbWVzc2FnZS5kYXRhVHlwZSA9PT0gJ2lzQ29tcG9uZW50U2VsZWN0aW9uQXZhaWxhYmxlJyB8fFxuICAgIG1lc3NhZ2UuZGF0YVR5cGUgPT09ICd0b2dnbGVJbnNwZWN0b3InKTtcbn07XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1kZXZraXQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9jb21wb25lbnRzLWRldmtpdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0RBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBWSxFQUFpRCxFQUFFO0lBQ2pHLE9BQU8sT0FBTyxJQUFJLENBQ2hCLE9BQU8sQ0FBQyxRQUFRLEtBQUssaUJBQWlCO1FBQ3RDLE9BQU8sQ0FBQyxRQUFRLEtBQUssU0FBUztRQUM5QixPQUFPLENBQUMsUUFBUSxLQUFLLHVCQUF1QjtRQUM1QyxPQUFPLENBQUMsUUFBUSxLQUFLLCtCQUErQjtRQUNwRCxPQUFPLENBQUMsUUFBUSxLQUFLLGlCQUFpQjtRQUN0QyxPQUFPLENBQUMsUUFBUSxLQUFLLGlCQUFpQixDQUN2QyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25uZWN0Q29udGVudE1lc3NhZ2UsIERldnRvb2xzQ29tbW9uT3B0aW9ucywgTWVzc2FnZURhdGFUeXBlcywgT3R0ZXJNZXNzYWdlQ29udGVudCwgUmVxdWVzdE1lc3NhZ2VzQ29udGVudE1lc3NhZ2UgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBQbGFjZWhvbGRlck1vZGUgfSBmcm9tICcuLi9zdG9yZXMnO1xuaW1wb3J0IHsgT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB9IGZyb20gJy4vaW5zcGVjdG9yJztcblxuLyoqXG4gKiBDb21wb25lbnQgRGV2dG9vbHMgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudHNEZXZ0b29sc1NlcnZpY2VPcHRpb25zIGV4dGVuZHMgRGV2dG9vbHNDb21tb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBNZXNzYWdlIHRvIGdpdmUgdGhlIHNlbGVjdGVkIGNvbXBvbmVudCBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGVkQ29tcG9uZW50SW5mb01lc3NhZ2UgZXh0ZW5kcyBPdHRlckxpa2VDb21wb25lbnRJbmZvLCBPdHRlck1lc3NhZ2VDb250ZW50PCdzZWxlY3RlZENvbXBvbmVudEluZm8nPiB7XG59XG5cbi8qKlxuICogTWVzc2FnZSB0byB0b2dnbGUgdGhlIGluc3BlY3RvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvZ2dsZUluc3BlY3Rvck1lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCd0b2dnbGVJbnNwZWN0b3InPiB7XG4gIC8qKiBJcyB0aGUgaW5zcGVjdG9yIHJ1bm5pbmcgKi9cbiAgaXNSdW5uaW5nOiBib29sZWFuO1xufVxuXG4vKipcbiAqIE1lc3NhZ2UgdG8gdG9nZ2xlIHRoZSBwbGFjZWhvbGRlciBtb2RlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2Vob2xkZXJNb2RlTWVzc2FnZSBleHRlbmRzIE90dGVyTWVzc2FnZUNvbnRlbnQ8J3BsYWNlaG9sZGVyTW9kZSc+IHtcbiAgLyoqIFBsYWNlaG9sZGVyIG1vZGUgKi9cbiAgbW9kZTogUGxhY2Vob2xkZXJNb2RlO1xufVxuXG4vKipcbiAqIE1lc3NhZ2UgdG8ga25vdyB0aGUgY29tcG9uZW50IHNlbGVjdGlvbiBhdmFpbGFiaWxpdHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZU1lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCdpc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZSc+IHtcbiAgYXZhaWxhYmxlOiBib29sZWFuO1xufVxuXG50eXBlIENvbXBvbmVudHNNZXNzYWdlQ29udGVudHMgPVxuICB8IElzQ29tcG9uZW50U2VsZWN0aW9uQXZhaWxhYmxlTWVzc2FnZVxuICB8IFNlbGVjdGVkQ29tcG9uZW50SW5mb01lc3NhZ2VcbiAgfCBUb2dnbGVJbnNwZWN0b3JNZXNzYWdlXG4gIHwgUGxhY2Vob2xkZXJNb2RlTWVzc2FnZTtcblxuLyoqIExpc3Qgb2YgcG9zc2libGUgRGF0YVR5cGVzIGZvciBDb21wb25lbnRzIG1lc3NhZ2VzICovXG5leHBvcnQgdHlwZSBDb21wb25lbnRzTWVzc2FnZURhdGFUeXBlcyA9IE1lc3NhZ2VEYXRhVHlwZXM8Q29tcG9uZW50c01lc3NhZ2VDb250ZW50cz47XG5cbi8qKiBMaXN0IG9mIGFsbCBtZXNzYWdlcyBmb3IgQ29tcG9uZW50cyBwdXJwb3NlICovXG5leHBvcnQgdHlwZSBBdmFpbGFibGVDb21wb25lbnRzTWVzc2FnZUNvbnRlbnRzID1cbiAgfCBDb21wb25lbnRzTWVzc2FnZUNvbnRlbnRzXG4gIHwgQ29ubmVjdENvbnRlbnRNZXNzYWdlXG4gIHwgUmVxdWVzdE1lc3NhZ2VzQ29udGVudE1lc3NhZ2U8Q29tcG9uZW50c01lc3NhZ2VEYXRhVHlwZXM+O1xuXG4vKipcbiAqIERldGVybWluZSBpZiB0aGUgZ2l2ZW4gbWVzc2FnZSBpcyBhIENvbXBvbmVudHMgbWVzc2FnZVxuICogQHBhcmFtIG1lc3NhZ2UgbWVzc2FnZSB0byBjaGVja1xuICovXG5leHBvcnQgY29uc3QgaXNDb21wb25lbnRzTWVzc2FnZSA9IChtZXNzYWdlOiBhbnkpOiBtZXNzYWdlIGlzIEF2YWlsYWJsZUNvbXBvbmVudHNNZXNzYWdlQ29udGVudHMgPT4ge1xuICByZXR1cm4gbWVzc2FnZSAmJiAoXG4gICAgbWVzc2FnZS5kYXRhVHlwZSA9PT0gJ3JlcXVlc3RNZXNzYWdlcycgfHxcbiAgICBtZXNzYWdlLmRhdGFUeXBlID09PSAnY29ubmVjdCcgfHxcbiAgICBtZXNzYWdlLmRhdGFUeXBlID09PSAnc2VsZWN0ZWRDb21wb25lbnRJbmZvJyB8fFxuICAgIG1lc3NhZ2UuZGF0YVR5cGUgPT09ICdpc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZScgfHxcbiAgICBtZXNzYWdlLmRhdGFUeXBlID09PSAncGxhY2Vob2xkZXJNb2RlJyB8fFxuICAgIG1lc3NhZ2UuZGF0YVR5cGUgPT09ICd0b2dnbGVJbnNwZWN0b3InXG4gICk7XG59O1xuIl19
@@ -1,16 +1,20 @@
1
1
  import { Inject, Injectable, Optional } from '@angular/core';
2
2
  import { filterMessageContent, sendOtterMessage } from '@o3r/core';
3
3
  import { LoggerService } from '@o3r/logger';
4
+ import { Store } from '@ngrx/store';
4
5
  import { firstValueFrom, fromEvent, Subscription } from 'rxjs';
5
6
  import { filter } from 'rxjs/operators';
7
+ import { togglePlaceholderModeTemplate } from '../stores';
6
8
  import { isComponentsMessage } from './components-devkit.interface';
7
9
  import { OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS, OTTER_COMPONENTS_DEVTOOLS_OPTIONS } from './components-devtools.token';
8
10
  import { OtterInspectorService } from './inspector';
9
11
  import * as i0 from "@angular/core";
10
12
  import * as i1 from "@o3r/logger";
13
+ import * as i2 from "@ngrx/store";
11
14
  export class ComponentsDevtoolsMessageService {
12
- constructor(logger, options) {
15
+ constructor(logger, store, options) {
13
16
  this.logger = logger;
17
+ this.store = store;
14
18
  this.subscriptions = new Subscription();
15
19
  this.sendMessage = (sendOtterMessage);
16
20
  this.options = {
@@ -78,6 +82,10 @@ export class ComponentsDevtoolsMessageService {
78
82
  this.inspectorService.toggleInspector(message.isRunning);
79
83
  break;
80
84
  }
85
+ case 'placeholderMode': {
86
+ this.store.dispatch(togglePlaceholderModeTemplate({ mode: message.mode }));
87
+ break;
88
+ }
81
89
  default: {
82
90
  this.logger.warn('Message ignored by the components service', message);
83
91
  }
@@ -94,18 +102,18 @@ export class ComponentsDevtoolsMessageService {
94
102
  ngOnDestroy() {
95
103
  this.subscriptions.unsubscribe();
96
104
  }
97
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsMessageService, providedIn: 'root' }); }
105
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ComponentsDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: i2.Store }, { token: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
106
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ComponentsDevtoolsMessageService, providedIn: 'root' }); }
99
107
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsMessageService, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ComponentsDevtoolsMessageService, decorators: [{
101
109
  type: Injectable,
102
110
  args: [{
103
111
  providedIn: 'root'
104
112
  }]
105
- }], ctorParameters: () => [{ type: i1.LoggerService }, { type: undefined, decorators: [{
113
+ }], ctorParameters: () => [{ type: i1.LoggerService }, { type: i2.Store }, { type: undefined, decorators: [{
106
114
  type: Optional
107
115
  }, {
108
116
  type: Inject,
109
117
  args: [OTTER_COMPONENTS_DEVTOOLS_OPTIONS]
110
118
  }] }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbXBvbmVudHMtZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQTRCLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQW9HLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEssT0FBTyxFQUFFLHlDQUF5QyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0gsT0FBTyxFQUFFLHFCQUFxQixFQUEwQixNQUFNLGFBQWEsQ0FBQzs7O0FBSzVFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFRM0MsWUFDcUIsTUFBcUIsRUFDaUIsT0FBMEM7UUFEaEYsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQU56QixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHbkMsZ0JBQVcsR0FBRyxDQUFBLGdCQUFvRCxDQUFBLENBQUM7UUFLbEYsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLEdBQUcseUNBQXlDO1lBQzVDLEdBQUcsT0FBTztTQUNYLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxD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QWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLCtCQUErQjthQUNsRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFrQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN6RCxDQUFDLFNBQVMsQ0FDVCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FDMUQsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lJQTdHVSxnQ0FBZ0MsK0NBVW5CLGlDQUFpQztxSUFWOUMsZ0NBQWdDLGNBRi9CLE1BQU07OzJGQUVQLGdDQUFnQztrQkFINUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVdNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsIGZpbHRlck1lc3NhZ2VDb250ZW50LCBzZW5kT3R0ZXJNZXNzYWdlIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF2YWlsYWJsZUNvbXBvbmVudHNNZXNzYWdlQ29udGVudHMsIENvbXBvbmVudHNEZXZ0b29sc1NlcnZpY2VPcHRpb25zLCBDb21wb25lbnRzTWVzc2FnZURhdGFUeXBlcywgaXNDb21wb25lbnRzTWVzc2FnZSB9IGZyb20gJy4vY29tcG9uZW50cy1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9UVEVSX0NPTVBPTkVOVFNfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCBPVFRFUl9DT01QT05FTlRTX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL2NvbXBvbmVudHMtZGV2dG9vbHMudG9rZW4nO1xuaW1wb3J0IHsgT3R0ZXJJbnNwZWN0b3JTZXJ2aWNlLCBPdHRlckxpa2VDb21wb25lbnRJbmZvIH0gZnJvbSAnLi9pbnNwZWN0b3InO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRzRGV2dG9vbHNNZXNzYWdlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBDb21wb25lbnRzRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucztcblxuICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zcGVjdG9yU2VydmljZTogT3R0ZXJJbnNwZWN0b3JTZXJ2aWNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VuZE1lc3NhZ2UgPSBzZW5kT3R0ZXJNZXNzYWdlPEF2YWlsYWJsZUNvbXBvbmVudHNNZXNzYWdlQ29udGVudHM+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX0NPTVBPTkVOVFNfREVWVE9PTFNfT1BUSU9OUykgb3B0aW9ucz86IENvbXBvbmVudHNEZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19ERUZBVUxUX09QVElPTlMsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcblxuICAgIHRoaXMuaW5zcGVjdG9yU2VydmljZSA9IG5ldyBPdHRlckluc3BlY3RvclNlcnZpY2UoKTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY29ubmVjdCB0aGUgcGx1Z2luIHRvIHRoZSBPdHRlciBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgY29ubmVjdFBsdWdpbigpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnT3R0ZXIgRGV2VG9vbHMgaXMgcGx1Z2dlZCB0byBjb21wb25lbnRzIHNlcnZpY2Ugb2YgdGhlIGFwcGxpY2F0aW9uJyk7XG4gICAgY29uc3Qgc2VsZWN0Q29tcG9uZW50SW5mbyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaW5zcGVjdG9yU2VydmljZS5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQkKTtcbiAgICBpZiAoc2VsZWN0Q29tcG9uZW50SW5mbykge1xuICAgICAgYXdhaXQgdGhpcy5zZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHNlbGVjdENvbXBvbmVudEluZm8gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmluc3BlY3RvclNlcnZpY2Uub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JCk7XG4gICAgaWYgKHNlbGVjdENvbXBvbmVudEluZm8pIHtcbiAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ3NlbGVjdGVkQ29tcG9uZW50SW5mbycsIHNlbGVjdENvbXBvbmVudEluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VuZElzQ29tcG9uZW50U2VsZWN0aW9uQXZhaWxhYmxlKCkge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ2lzQ29tcG9uZW50U2VsZWN0aW9uQXZhaWxhYmxlJywgeyBhdmFpbGFibGU6ICEhKHdpbmRvdyBhcyBhbnkpLm5nIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIHRyaWdnZXIgYSByZS1zZW5kIGEgcmVxdWVzdGVkIG1lc3NhZ2VzIHRvIHRoZSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBvbmx5IHJlc3RyaWN0ZWQgbGlzdCBvZiBtZXNzYWdlcyB0byByZS1zZW5kXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZVJlRW1pdFJlcXVlc3Qob25seT86IENvbXBvbmVudHNNZXNzYWdlRGF0YVR5cGVzW10pIHtcbiAgICBpZiAoIW9ubHkpIHtcbiAgICAgIHZvaWQgdGhpcy5zZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCk7XG4gICAgICB0aGlzLnNlbmRJc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAob25seS5pbmNsdWRlcygnc2VsZWN0ZWRDb21wb25lbnRJbmZvJykpIHtcbiAgICAgIHZvaWQgdGhpcy5zZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCk7XG4gICAgfVxuICAgIGlmIChvbmx5LmluY2x1ZGVzKCdpc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZScpKSB7XG4gICAgICB0aGlzLnNlbmRJc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgdGhlIGluY29taW5nIG1lc3NhZ2VzIGZyb20gT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgY29taW5nIGZyb20gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlRXZlbnRzKG1lc3NhZ2U6IEF2YWlsYWJsZUNvbXBvbmVudHNNZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgY29tcG9uZW50cyBzZXJ2aWNlJywgbWVzc2FnZSk7XG5cbiAgICBzd2l0Y2ggKG1lc3NhZ2UuZGF0YVR5cGUpIHtcbiAgICAgIGNhc2UgJ2Nvbm5lY3QnOiB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdFBsdWdpbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3JlcXVlc3RNZXNzYWdlcyc6IHtcbiAgICAgICAgdGhpcy5oYW5kbGVSZUVtaXRSZXF1ZXN0KG1lc3NhZ2Uub25seSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndG9nZ2xlSW5zcGVjdG9yJzoge1xuICAgICAgICB0aGlzLmluc3BlY3RvclNlcnZpY2UudG9nZ2xlSW5zcGVjdG9yKG1lc3NhZ2UuaXNSdW5uaW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ01lc3NhZ2UgaWdub3JlZCBieSB0aGUgY29tcG9uZW50cyBzZXJ2aWNlJywgbWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ21lc3NhZ2UnKS5waXBlKGZpbHRlck1lc3NhZ2VDb250ZW50KGlzQ29tcG9uZW50c01lc3NhZ2UpKS5zdWJzY3JpYmUoKGUpID0+IHRoaXMuaGFuZGxlRXZlbnRzKGUpKVxuICAgICk7XG5cbiAgICB0aGlzLmluc3BlY3RvclNlcnZpY2UucHJlcGFyZUluc3BlY3RvcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmluc3BlY3RvclNlcnZpY2Uub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGluZm8pOiBpbmZvIGlzIE90dGVyTGlrZUNvbXBvbmVudEluZm8gPT4gISFpbmZvKVxuICAgICAgICApLnN1YnNjcmliZShcbiAgICAgICAgICAoaW5mbykgPT4gdGhpcy5zZW5kTWVzc2FnZSgnc2VsZWN0ZWRDb21wb25lbnRJbmZvJywgaW5mbylcbiAgICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbXBvbmVudHMtZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQTRCLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBaUMsNkJBQTZCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekYsT0FBTyxFQUFvRyxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RLLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNILE9BQU8sRUFBRSxxQkFBcUIsRUFBMEIsTUFBTSxhQUFhLENBQUM7Ozs7QUFLNUUsTUFBTSxPQUFPLGdDQUFnQztJQVEzQyxZQUNtQixNQUFxQixFQUNyQixLQUFzQyxFQUNBLE9BQTBDO1FBRmhGLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBaUM7UUFQeEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR25DLGdCQUFXLEdBQUcsQ0FBQSxnQkFBb0QsQ0FBQSxDQUFDO1FBT2xGLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixHQUFHLHlD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Q0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNwSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywrQkFBK0I7YUFDbEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBa0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDekQsQ0FBQyxTQUFTLENBQ1QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQzFELENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxXQUFXO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztpSUFuSFUsZ0NBQWdDLG9FQVdyQixpQ0FBaUM7cUlBWDVDLGdDQUFnQyxjQUYvQixNQUFNOzsyRkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFZSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlLCBmaWx0ZXJNZXNzYWdlQ29udGVudCwgc2VuZE90dGVyTWVzc2FnZSB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHR5cGUgUGxhY2Vob2xkZXJUZW1wbGF0ZVN0YXRlLCB0b2dnbGVQbGFjZWhvbGRlck1vZGVUZW1wbGF0ZSB9IGZyb20gJy4uL3N0b3Jlcyc7XG5pbXBvcnQgeyBBdmFpbGFibGVDb21wb25lbnRzTWVzc2FnZUNvbnRlbnRzLCBDb21wb25lbnRzRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucywgQ29tcG9uZW50c01lc3NhZ2VEYXRhVHlwZXMsIGlzQ29tcG9uZW50c01lc3NhZ2UgfSBmcm9tICcuL2NvbXBvbmVudHMtZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPVFRFUl9DT01QT05FTlRTX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9jb21wb25lbnRzLWRldnRvb2xzLnRva2VuJztcbmltcG9ydCB7IE90dGVySW5zcGVjdG9yU2VydmljZSwgT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB9IGZyb20gJy4vaW5zcGVjdG9yJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50c0RldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIERldnRvb2xzU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ29tcG9uZW50c0RldnRvb2xzU2VydmljZU9wdGlvbnM7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGluc3BlY3RvclNlcnZpY2U6IE90dGVySW5zcGVjdG9yU2VydmljZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlbmRNZXNzYWdlID0gc2VuZE90dGVyTWVzc2FnZTxBdmFpbGFibGVDb21wb25lbnRzTWVzc2FnZUNvbnRlbnRzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxQbGFjZWhvbGRlclRlbXBsYXRlU3RhdGU+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19PUFRJT05TKSBvcHRpb25zPzogQ29tcG9uZW50c0RldnRvb2xzU2VydmljZU9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19ERUZBVUxUX09QVElPTlMsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcblxuICAgIHRoaXMuaW5zcGVjdG9yU2VydmljZSA9IG5ldyBPdHRlckluc3BlY3RvclNlcnZpY2UoKTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY29ubmVjdCB0aGUgcGx1Z2luIHRvIHRoZSBPdHRlciBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgY29ubmVjdFBsdWdpbigpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnT3R0ZXIgRGV2VG9vbHMgaXMgcGx1Z2dlZCB0byBjb21wb25lbnRzIHNlcnZpY2Ugb2YgdGhlIGFwcGxpY2F0aW9uJyk7XG4gICAgY29uc3Qgc2VsZWN0Q29tcG9uZW50SW5mbyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaW5zcGVjdG9yU2VydmljZS5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQkKTtcbiAgICBpZiAoc2VsZWN0Q29tcG9uZW50SW5mbykge1xuICAgICAgYXdhaXQgdGhpcy5zZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHNlbGVjdENvbXBvbmVudEluZm8gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmluc3BlY3RvclNlcnZpY2Uub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JCk7XG4gICAgaWYgKHNlbGVjdENvbXBvbmVudEluZm8pIHtcbiAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ3NlbGVjdGVkQ29tcG9uZW50SW5mbycsIHNlbGVjdENvbXBvbmVudEluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VuZElzQ29tcG9uZW50U2VsZWN0aW9uQXZhaWxhYmxlKCkge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ2lzQ29tcG9uZW50U2VsZWN0aW9uQXZhaWxhYmxlJywgeyBhdmFpbGFibGU6ICEhKHdpbmRvdyBhcyBhbnkpLm5nIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIHRyaWdnZXIgYSByZS1zZW5kIGEgcmVxdWVzdGVkIG1lc3NhZ2VzIHRvIHRoZSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBvbmx5IHJlc3RyaWN0ZWQgbGlzdCBvZiBtZXNzYWdlcyB0byByZS1zZW5kXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZVJlRW1pdFJlcXVlc3Qob25seT86IENvbXBvbmVudHNNZXNzYWdlRGF0YVR5cGVzW10pIHtcbiAgICBpZiAoIW9ubHkpIHtcbiAgICAgIHZvaWQgdGhpcy5zZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCk7XG4gICAgICB0aGlzLnNlbmRJc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAob25seS5pbmNsdWRlcygnc2VsZWN0ZWRDb21wb25lbnRJbmZvJykpIHtcbiAgICAgIHZvaWQgdGhpcy5zZW5kQ3VycmVudFNlbGVjdGVkQ29tcG9uZW50KCk7XG4gICAgfVxuICAgIGlmIChvbmx5LmluY2x1ZGVzKCdpc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZScpKSB7XG4gICAgICB0aGlzLnNlbmRJc0NvbXBvbmVudFNlbGVjdGlvbkF2YWlsYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgdGhlIGluY29taW5nIG1lc3NhZ2VzIGZyb20gT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgY29taW5nIGZyb20gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlRXZlbnRzKG1lc3NhZ2U6IEF2YWlsYWJsZUNvbXBvbmVudHNNZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgY29tcG9uZW50cyBzZXJ2aWNlJywgbWVzc2FnZSk7XG5cbiAgICBzd2l0Y2ggKG1lc3NhZ2UuZGF0YVR5cGUpIHtcbiAgICAgIGNhc2UgJ2Nvbm5lY3QnOiB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdFBsdWdpbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3JlcXVlc3RNZXNzYWdlcyc6IHtcbiAgICAgICAgdGhpcy5oYW5kbGVSZUVtaXRSZXF1ZXN0KG1lc3NhZ2Uub25seSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndG9nZ2xlSW5zcGVjdG9yJzoge1xuICAgICAgICB0aGlzLmluc3BlY3RvclNlcnZpY2UudG9nZ2xlSW5zcGVjdG9yKG1lc3NhZ2UuaXNSdW5uaW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwbGFjZWhvbGRlck1vZGUnOiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godG9nZ2xlUGxhY2Vob2xkZXJNb2RlVGVtcGxhdGUoeyBtb2RlOiBtZXNzYWdlLm1vZGUgfSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignTWVzc2FnZSBpZ25vcmVkIGJ5IHRoZSBjb21wb25lbnRzIHNlcnZpY2UnLCBtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFjdGl2YXRlKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnbWVzc2FnZScpLnBpcGUoZmlsdGVyTWVzc2FnZUNvbnRlbnQoaXNDb21wb25lbnRzTWVzc2FnZSkpLnN1YnNjcmliZSgoZSkgPT4gdGhpcy5oYW5kbGVFdmVudHMoZSkpXG4gICAgKTtcblxuICAgIHRoaXMuaW5zcGVjdG9yU2VydmljZS5wcmVwYXJlSW5zcGVjdG9yKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuaW5zcGVjdG9yU2VydmljZS5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoaW5mbyk6IGluZm8gaXMgT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyA9PiAhIWluZm8pXG4gICAgICAgICkuc3Vic2NyaWJlKFxuICAgICAgICAgIChpbmZvKSA9PiB0aGlzLnNlbmRNZXNzYWdlKCdzZWxlY3RlZENvbXBvbmVudEluZm8nLCBpbmZvKVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { StoreModule } from '@ngrx/store';
3
+ import { PlaceholderTemplateStoreModule } from '../stores/placeholder-template/placeholder-template.module';
3
4
  import { ComponentsDevtoolsMessageService } from './components-devtools.message.service';
4
5
  import { OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS, OTTER_COMPONENTS_DEVTOOLS_OPTIONS } from './components-devtools.token';
5
6
  import * as i0 from "@angular/core";
@@ -17,18 +18,21 @@ export class ComponentsDevtoolsModule {
17
18
  ]
18
19
  };
19
20
  }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, imports: [StoreModule] }); }
22
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, providers: [
21
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ComponentsDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ComponentsDevtoolsModule, imports: [StoreModule,
23
+ PlaceholderTemplateStoreModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ComponentsDevtoolsModule, providers: [
23
25
  { provide: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, useValue: OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS },
24
26
  ComponentsDevtoolsMessageService
25
- ], imports: [StoreModule] }); }
27
+ ], imports: [StoreModule,
28
+ PlaceholderTemplateStoreModule] }); }
26
29
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ComponentsDevtoolsModule, decorators: [{
28
31
  type: NgModule,
29
32
  args: [{
30
33
  imports: [
31
- StoreModule
34
+ StoreModule,
35
+ PlaceholderTemplateStoreModule
32
36
  ],
33
37
  providers: [
34
38
  { provide: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, useValue: OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS },
@@ -36,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
36
40
  ]
37
41
  }]
38
42
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1kZXZ0b29scy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbXBvbmVudHMtZGV2dG9vbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBVzNILE1BQU0sT0FBTyx3QkFBd0I7SUFFbkM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFrRDtRQUN6RSxPQUFPO1lBQ0wsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLEVBQUMsR0FBRyx5Q0FBeUMsRUFBRSxHQUFHLE9BQU8sRUFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBQ2xJLGdDQUFnQzthQUNqQztTQUNGLENBQUM7SUFDSixDQUFDO2lJQWRVLHdCQUF3QjtrSUFBeEIsd0JBQXdCLFlBUGpDLFdBQVc7a0lBT0Ysd0JBQXdCLGFBTHhCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLHlDQUF5QyxFQUFFO1lBQ25HLGdDQUFnQztTQUNqQyxZQUxDLFdBQVc7OzJGQU9GLHdCQUF3QjtrQkFUcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVztxQkFDWjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLHlDQUF5QyxFQUFFO3dCQUNuRyxnQ0FBZ0M7cUJBQ2pDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vY29tcG9uZW50cy1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbXBvbmVudHNEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9jb21wb25lbnRzLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPVFRFUl9DT01QT05FTlRTX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9jb21wb25lbnRzLWRldnRvb2xzLnRva2VuJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19ERUZBVUxUX09QVElPTlMgfSxcbiAgICBDb21wb25lbnRzRGV2dG9vbHNNZXNzYWdlU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNEZXZ0b29sc01vZHVsZSB7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgT3R0ZXIgRGV2dG9vbHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5zdHJ1bWVudChvcHRpb25zOiBQYXJ0aWFsPENvbXBvbmVudHNEZXZ0b29sc1NlcnZpY2VPcHRpb25zPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29tcG9uZW50c0RldnRvb2xzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb21wb25lbnRzRGV2dG9vbHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBPVFRFUl9DT01QT05FTlRTX0RFVlRPT0xTX09QVElPTlMsIHVzZVZhbHVlOiB7Li4uT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnN9LCBtdWx0aTogZmFsc2UgfSxcbiAgICAgICAgQ29tcG9uZW50c0RldnRvb2xzTWVzc2FnZVNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1kZXZ0b29scy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbXBvbmVudHMtZGV2dG9vbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFFNUcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBWTNILE1BQU0sT0FBTyx3QkFBd0I7SUFFbkM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFrRDtRQUN6RSxPQUFPO1lBQ0wsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLEVBQUMsR0FBRyx5Q0FBeUMsRUFBRSxHQUFHLE9BQU8sRUFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBQ2xJLGdDQUFnQzthQUNqQztTQUNGLENBQUM7SUFDSixDQUFDO2lJQWRVLHdCQUF3QjtrSUFBeEIsd0JBQXdCLFlBUmpDLFdBQVc7WUFDWCw4QkFBOEI7a0lBT3JCLHdCQUF3QixhQUx4QjtZQUNULEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLFFBQVEsRUFBRSx5Q0FBeUMsRUFBRTtZQUNuRyxnQ0FBZ0M7U0FDakMsWUFOQyxXQUFXO1lBQ1gsOEJBQThCOzsyRkFPckIsd0JBQXdCO2tCQVZwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLDhCQUE4QjtxQkFDL0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLFFBQVEsRUFBRSx5Q0FBeUMsRUFBRTt3QkFDbkcsZ0NBQWdDO3FCQUNqQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFBsYWNlaG9sZGVyVGVtcGxhdGVTdG9yZU1vZHVsZSB9IGZyb20gJy4uL3N0b3Jlcy9wbGFjZWhvbGRlci10ZW1wbGF0ZS9wbGFjZWhvbGRlci10ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vY29tcG9uZW50cy1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbXBvbmVudHNEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9jb21wb25lbnRzLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPVFRFUl9DT01QT05FTlRTX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9jb21wb25lbnRzLWRldnRvb2xzLnRva2VuJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlLFxuICAgIFBsYWNlaG9sZGVyVGVtcGxhdGVTdG9yZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE9UVEVSX0NPTVBPTkVOVFNfREVWVE9PTFNfT1BUSU9OUywgdXNlVmFsdWU6IE9UVEVSX0NPTVBPTkVOVFNfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TIH0sXG4gICAgQ29tcG9uZW50c0RldnRvb2xzTWVzc2FnZVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRzRGV2dG9vbHNNb2R1bGUge1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIE90dGVyIERldnRvb2xzXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGluc3RydW1lbnQob3B0aW9uczogUGFydGlhbDxDb21wb25lbnRzRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucz4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENvbXBvbmVudHNEZXZ0b29sc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29tcG9uZW50c0RldnRvb2xzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogT1RURVJfQ09NUE9ORU5UU19ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogey4uLk9UVEVSX0NPTVBPTkVOVFNfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSwgbXVsdGk6IGZhbHNlIH0sXG4gICAgICAgIENvbXBvbmVudHNEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -104,10 +104,11 @@ export const getOtterLikeComponentInfo = (componentClassInstance, host) => {
104
104
  const translations = getTranslations(host);
105
105
  const analytics = getAnalyticEvents(host);
106
106
  return {
107
- componentName: componentClassInstance.constructor.name,
107
+ // Cannot use anymore `constructor.name` else all components are named `_a`
108
+ componentName: componentClassInstance.constructor.ɵcmp?.debugInfo?.className || componentClassInstance.constructor.name,
108
109
  configId,
109
110
  translations,
110
111
  analytics
111
112
  };
112
113
  };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFlekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQWdDLEVBQW1CLEVBQUU7SUFDL0UsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWEsRUFBRSxFQUFFO0lBQzNDLE9BQU8sUUFBUSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsUUFBUSxDQUFDO0FBQzVELENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQW9CLEVBQUUsR0FBOEI7SUFDckYsTUFBTSxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxNQUFNLGVBQWUsR0FBMEMsZ0JBQWdCLENBQUM7SUFDaEYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzlCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBNkMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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Z0IsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkksSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFvQixFQUF3QyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFFL0k7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLHNCQUEyQixFQUFFLElBQWEsRUFBMEIsRUFBRTtJQUM5RyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTztRQUNMLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsSUFBSTtRQUN0RCxRQUFRO1FBQ1IsWUFBWTtRQUNaLFNBQVM7S0FDVixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWV9IGZyb20gJ0BvM3IvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB7XG4gIC8qKiBDb250YWluZXIgaW5mb3JtYXRpb24gKi9cbiAgY29udGFpbmVyPzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbztcbiAgLyoqIENvbmZpZ3VyYXRpb24gSUQgKi9cbiAgY29uZmlnSWQ/OiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgbmFtZSAqL1xuICBjb21wb25lbnROYW1lOiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgdHJhbnNsYXRpb24gKi9cbiAgdHJhbnNsYXRpb25zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xuICAvKiogQ29tcG9uZW50IGFuYWx5dGljcyAqL1xuICBhbmFseXRpY3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG59XG5cbi8qKlxuICogT3R0ZXIgaW5zcGVjdG9yIGNzcyBjbGFzc1xuICovXG5leHBvcnQgY29uc3QgSU5TUEVDVE9SX0NMQVNTID0gJ290dGVyLWRldnRvb2xzLWluc3BlY3Rvcic7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgbm9kZSBpcyBhbiBPdHRlciBjb250YWluZXJcbiAqIEBwYXJhbSBub2RlIEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIG5vZGUgaXMgYW4gT3R0ZXIgY29udGFpbmVyXG4gKi9cbmV4cG9ydCBjb25zdCBpc0NvbnRhaW5lciA9IChub2RlOiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IG5vZGUgaXMgRWxlbWVudCA9PiB7XG4gIHJldHVybiAhIW5vZGU/LnRhZ05hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnY29udCcpO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgdGhlIGNvbmZpZyBpZCBvZiBhIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHBhcmFtIGluc3RhbmNlIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHJldHVybnMgdGhlIGNvbmZpZyBpZCBvZiB0aGUgY29tcG9uZW50IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb25maWdJZCA9IChpbnN0YW5jZTogYW55KSA9PiB7XG4gIHJldHVybiBpbnN0YW5jZVtvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWVdPy5jb25maWdJZDtcbn07XG5cbi8qKlxuICogUmVjdXJzaXZlIG1ldGhvZCB0byBkZXRlcm1pbiB0aGUgdHJhbnNsYXRpb25zIG9mIGEgbm9kZVxuICogQHBhcmFtIG5vZGUgSFRNTEVsZW1lbnQgdG8gY2hlY2tcbiAqIEBwYXJhbSByZWMgcmVjdXJzaXZlIG1ldGhvZFxuICogQHJldHVybnMgdGhlIHRyYXNuc2xhdGlvbnMgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNsYXRpb25zUmVjKG5vZGU6IEVsZW1lbnQgfCBudWxsLCByZWM6IHR5cGVvZiBnZXRUcmFuc2xhdGlvbnNSZWMpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQge1xuICBjb25zdCBhbmd1bGFyRGV2VG9vbHMgPSAod2luZG93IGFzIGFueSkubmc7XG4gIGNvbnN0IG8zckluZm9Qcm9wZXJ0eTogdHlwZW9mIG90dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZSA9ICdfX290dGVyLWluZm9fXyc7XG4gIGlmICghbm9kZSB8fCAhYW5ndWxhckRldlRvb2xzKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGNvbXBvbmVudCA9IGFuZ3VsYXJEZXZUb29scy5nZXRDb21wb25lbnQobm9kZSk7XG4gIGNvbnN0IHN1YlRyYW5zbGF0aW9uczogKFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB8IHVuZGVmaW5lZClbXSA9IEFycmF5LmZyb20obm9kZS5jaGlsZHJlbikubWFwKChjaGlsZCkgPT4gcmVjKGNoaWxkLCByZWMpKTtcbiAgY29uc3QgdHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgc3ViVHJhbnNsYXRpb25zLmZvckVhY2goKHMpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhzIHx8IHt9KS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICAgIGlmICh2Lmxlbmd0aCkge1xuICAgICAgICB0cmFuc2xhdGlvbnNba10gPSB2O1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGNvbXBvbmVudCkge1xuICAgIGNvbnN0IGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IGNvbXBvbmVudC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIGNvbnN0IGNvbXBvbmVudFRyYW5zbGF0aW9ucyA9IE9iamVjdC52YWx1ZXM8c3RyaW5nPihjb21wb25lbnRbbzNySW5mb1Byb3BlcnR5XT8udHJhbnNsYXRpb25zIHx8IHt9KS5maWx0ZXIoKHQpID0+IHR5cGVvZiB0ID09PSAnc3RyaW5nJyk7XG4gICAgaWYgKGNvbXBvbmVudFRyYW5zbGF0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRyYW5zbGF0aW9uc1tjb21wb25lbnROYW1lXSA9IGNvbXBvbmVudFRyYW5zbGF0aW9ucztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykubGVuZ3RoID8gdHJhbnNsYXRpb25zIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIERldGVybWluZSB0aGUgdHJhbnNsYXRpb25zIG9mIGEgbm9kZVxuICogQHBhcmFtIG5vZGUgSFRNTEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRoZSB0cmFuc2xhdGlvbnMgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNsYXRpb25zID0gKG5vZGU6IEVsZW1lbnQgfCBudWxsKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkID0+IGdldFRyYW5zbGF0aW9uc1JlYyhub2RlLCBnZXRUcmFuc2xhdGlvbnMpO1xuXG4vKipcbiAqIFJlY3Vyc2l2ZSBtZXRob2QgdG8gZGV0ZXJtaW5lIHRoZSBhbmFseXRpY3Mgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBFbGVtZW50IHRvIGNoZWNrXG4gKiBAcGFyYW0gcmVjIHJlY3Vyc2l2ZSBtZXRob2RcbiAqIEByZXR1cm5zIHRoZSBhbmFseXRpY3MgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW5hbHl0aWNFdmVudHNSZWMobm9kZTogRWxlbWVudCB8IG51bGwsIHJlYzogdHlwZW9mIGdldEFuYWx5dGljRXZlbnRzUmVjKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nO1xuICBjb25zdCBvM3JJbmZvUHJvcGVydHk6IHR5cGVvZiBvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWUgPSAnX19vdHRlci1pbmZvX18nO1xuICBpZiAoIW5vZGUgfHwgIWFuZ3VsYXJEZXZUb29scykge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBjb21wb25lbnQgPSBhbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpO1xuICBjb25zdCBzdWJFdmVudHMgPSBBcnJheS5mcm9tKG5vZGUuY2hpbGRyZW4pLm1hcCgoY2hpbGQpID0+IHJlYyhjaGlsZCwgcmVjKSk7XG4gIGNvbnN0IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG4gIHN1YkV2ZW50cy5mb3JFYWNoKChzKSA9PiB7XG4gICAgT2JqZWN0LmVudHJpZXMocyB8fCB7fSkuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICBpZiAodi5sZW5ndGgpIHtcbiAgICAgICAgZXZlbnRzW2tdID0gdjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50W28zckluZm9Qcm9wZXJ0eV0pIHtcbiAgICBjb25zdCBjb21wb25lbnROYW1lOiBzdHJpbmcgPSBjb21wb25lbnQuY29uc3RydWN0b3IubmFtZTtcbiAgICBjb25zdCBjb21wb25lbnRFdmVudHM6IHN0cmluZ1tdID0gT2JqZWN0LnZhbHVlczxhbnk+KGNvbXBvbmVudC5hbmFseXRpY3NFdmVudHMgfHwge30pLm1hcCgoZXZlbnRDb25zdHJ1Y3RvcikgPT4gZXZlbnRDb25zdHJ1Y3Rvci5uYW1lKTtcbiAgICBpZiAoY29tcG9uZW50RXZlbnRzLmxlbmd0aCkge1xuICAgICAgZXZlbnRzW2NvbXBvbmVudE5hbWVdID0gY29tcG9uZW50RXZlbnRzO1xuICAgIH1cbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMoZXZlbnRzKS5sZW5ndGggPyBldmVudHMgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSBhbmFseXRpY3Mgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBFbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB0aGUgYW5hbHl0aWNzIGFzc29jaWF0ZWQgdG8gdGhlaXIgY29tcG9uZW50IG5hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFuYWx5dGljRXZlbnRzID0gKG5vZGU6IEVsZW1lbnQgfCBudWxsKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkID0+IGdldEFuYWx5dGljRXZlbnRzUmVjKG5vZGUsIGdldEFuYWx5dGljRXZlbnRzKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgYWxsIGluZm8gZnJvbSBhbiBPdHRlciBjb21wb25lbnRcbiAqIEBwYXJhbSBjb21wb25lbnRDbGFzc0luc3RhbmNlIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHBhcmFtIGhvc3QgSFRNTCBlbGVtZW50IGhvc3RpbmcgdGhlIGNvbXBvbmVudFxuICogQHJldHVybnMgYWxsIGluZm8gZnJvbSBhbiBPdHRlciBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8gPSAoY29tcG9uZW50Q2xhc3NJbnN0YW5jZTogYW55LCBob3N0OiBFbGVtZW50KTogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyA9PiB7XG4gIGNvbnN0IGNvbmZpZ0lkID0gZ2V0Q29uZmlnSWQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSk7XG4gIGNvbnN0IHRyYW5zbGF0aW9ucyA9IGdldFRyYW5zbGF0aW9ucyhob3N0KTtcbiAgY29uc3QgYW5hbHl0aWNzID0gZ2V0QW5hbHl0aWNFdmVudHMoaG9zdCk7XG4gIHJldHVybiB7XG4gICAgY29tcG9uZW50TmFtZTogY29tcG9uZW50Q2xhc3NJbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgIGNvbmZpZ0lkLFxuICAgIHRyYW5zbGF0aW9ucyxcbiAgICBhbmFseXRpY3NcbiAgfTtcbn07XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFlekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQWdDLEVBQW1CLEVBQUU7SUFDL0UsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWEsRUFBRSxFQUFFO0lBQzNDLE9BQU8sUUFBUSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsUUFBUSxDQUFDO0FBQzVELENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQW9CLEVBQUUsR0FBOEI7SUFDckYsTUFBTSxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxNQUFNLGVBQWUsR0FBMEMsZ0JBQWdCLENBQUM7SUFDaEYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzlCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBNkMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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Z0IsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkksSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFvQixFQUF3QyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFFL0k7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLHNCQUEyQixFQUFFLElBQWEsRUFBMEIsRUFBRTtJQUM5RyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTztRQUNMLDJFQUEyRTtRQUMzRSxhQUFhLEVBQUUsc0JBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxJQUFJLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJO1FBQ3ZILFFBQVE7UUFDUixZQUFZO1FBQ1osU0FBUztLQUNWLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge290dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZX0gZnJvbSAnQG8zci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBPdHRlckxpa2VDb21wb25lbnRJbmZvIHtcbiAgLyoqIENvbnRhaW5lciBpbmZvcm1hdGlvbiAqL1xuICBjb250YWluZXI/OiBPdHRlckxpa2VDb21wb25lbnRJbmZvO1xuICAvKiogQ29uZmlndXJhdGlvbiBJRCAqL1xuICBjb25maWdJZD86IHN0cmluZztcbiAgLyoqIENvbXBvbmVudCBuYW1lICovXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZztcbiAgLyoqIENvbXBvbmVudCB0cmFuc2xhdGlvbiAqL1xuICB0cmFuc2xhdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gIC8qKiBDb21wb25lbnQgYW5hbHl0aWNzICovXG4gIGFuYWx5dGljcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbn1cblxuLyoqXG4gKiBPdHRlciBpbnNwZWN0b3IgY3NzIGNsYXNzXG4gKi9cbmV4cG9ydCBjb25zdCBJTlNQRUNUT1JfQ0xBU1MgPSAnb3R0ZXItZGV2dG9vbHMtaW5zcGVjdG9yJztcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSBub2RlIGlzIGFuIE90dGVyIGNvbnRhaW5lclxuICogQHBhcmFtIG5vZGUgRWxlbWVudCB0byBjaGVja1xuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgbm9kZSBpcyBhbiBPdHRlciBjb250YWluZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ29udGFpbmVyID0gKG5vZGU6IEVsZW1lbnQgfCB1bmRlZmluZWQgfCBudWxsKTogbm9kZSBpcyBFbGVtZW50ID0+IHtcbiAgcmV0dXJuICEhbm9kZT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdjb250Jyk7XG59O1xuXG4vKipcbiAqIERldGVybWluZSB0aGUgY29uZmlnIGlkIG9mIGEgY29tcG9uZW50IGluc3RhbmNlXG4gKiBAcGFyYW0gaW5zdGFuY2UgY29tcG9uZW50IGluc3RhbmNlXG4gKiBAcmV0dXJucyB0aGUgY29uZmlnIGlkIG9mIHRoZSBjb21wb25lbnQgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENvbmZpZ0lkID0gKGluc3RhbmNlOiBhbnkpID0+IHtcbiAgcmV0dXJuIGluc3RhbmNlW290dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZV0/LmNvbmZpZ0lkO1xufTtcblxuLyoqXG4gKiBSZWN1cnNpdmUgbWV0aG9kIHRvIGRldGVybWluIHRoZSB0cmFuc2xhdGlvbnMgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBIVE1MRWxlbWVudCB0byBjaGVja1xuICogQHBhcmFtIHJlYyByZWN1cnNpdmUgbWV0aG9kXG4gKiBAcmV0dXJucyB0aGUgdHJhc25zbGF0aW9ucyBhc3NvY2lhdGVkIHRvIHRoZWlyIGNvbXBvbmVudCBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2xhdGlvbnNSZWMobm9kZTogRWxlbWVudCB8IG51bGwsIHJlYzogdHlwZW9mIGdldFRyYW5zbGF0aW9uc1JlYyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGFuZ3VsYXJEZXZUb29scyA9ICh3aW5kb3cgYXMgYW55KS5uZztcbiAgY29uc3QgbzNySW5mb1Byb3BlcnR5OiB0eXBlb2Ygb3R0ZXJDb21wb25lbnRJbmZvUHJvcGVydHlOYW1lID0gJ19fb3R0ZXItaW5mb19fJztcbiAgaWYgKCFub2RlIHx8ICFhbmd1bGFyRGV2VG9vbHMpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgY29tcG9uZW50ID0gYW5ndWxhckRldlRvb2xzLmdldENvbXBvbmVudChub2RlKTtcbiAgY29uc3Qgc3ViVHJhbnNsYXRpb25zOiAoUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkKVtdID0gQXJyYXkuZnJvbShub2RlLmNoaWxkcmVuKS5tYXAoKGNoaWxkKSA9PiByZWMoY2hpbGQsIHJlYykpO1xuICBjb25zdCB0cmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9O1xuICBzdWJUcmFuc2xhdGlvbnMuZm9yRWFjaCgocykgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKHMgfHwge30pLmZvckVhY2goKFtrLCB2XSkgPT4ge1xuICAgICAgaWYgKHYubGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zbGF0aW9uc1trXSA9IHY7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoY29tcG9uZW50KSB7XG4gICAgY29uc3QgY29tcG9uZW50TmFtZTogc3RyaW5nID0gY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgY29uc3QgY29tcG9uZW50VHJhbnNsYXRpb25zID0gT2JqZWN0LnZhbHVlczxzdHJpbmc+KGNvbXBvbmVudFtvM3JJbmZvUHJvcGVydHldPy50cmFuc2xhdGlvbnMgfHwge30pLmZpbHRlcigodCkgPT4gdHlwZW9mIHQgPT09ICdzdHJpbmcnKTtcbiAgICBpZiAoY29tcG9uZW50VHJhbnNsYXRpb25zLmxlbmd0aCkge1xuICAgICAgdHJhbnNsYXRpb25zW2NvbXBvbmVudE5hbWVdID0gY29tcG9uZW50VHJhbnNsYXRpb25zO1xuICAgIH1cbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXModHJhbnNsYXRpb25zKS5sZW5ndGggPyB0cmFuc2xhdGlvbnMgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSB0cmFuc2xhdGlvbnMgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBIVE1MRWxlbWVudCB0byBjaGVja1xuICogQHJldHVybnMgdGhlIHRyYW5zbGF0aW9ucyBhc3NvY2lhdGVkIHRvIHRoZWlyIGNvbXBvbmVudCBuYW1lXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUcmFuc2xhdGlvbnMgPSAobm9kZTogRWxlbWVudCB8IG51bGwpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQgPT4gZ2V0VHJhbnNsYXRpb25zUmVjKG5vZGUsIGdldFRyYW5zbGF0aW9ucyk7XG5cbi8qKlxuICogUmVjdXJzaXZlIG1ldGhvZCB0byBkZXRlcm1pbmUgdGhlIGFuYWx5dGljcyBvZiBhIG5vZGVcbiAqIEBwYXJhbSBub2RlIEVsZW1lbnQgdG8gY2hlY2tcbiAqIEBwYXJhbSByZWMgcmVjdXJzaXZlIG1ldGhvZFxuICogQHJldHVybnMgdGhlIGFuYWx5dGljcyBhc3NvY2lhdGVkIHRvIHRoZWlyIGNvbXBvbmVudCBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbmFseXRpY0V2ZW50c1JlYyhub2RlOiBFbGVtZW50IHwgbnVsbCwgcmVjOiB0eXBlb2YgZ2V0QW5hbHl0aWNFdmVudHNSZWMpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQge1xuICBjb25zdCBhbmd1bGFyRGV2VG9vbHMgPSAod2luZG93IGFzIGFueSkubmc7XG4gIGNvbnN0IG8zckluZm9Qcm9wZXJ0eTogdHlwZW9mIG90dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZSA9ICdfX290dGVyLWluZm9fXyc7XG4gIGlmICghbm9kZSB8fCAhYW5ndWxhckRldlRvb2xzKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGNvbXBvbmVudCA9IGFuZ3VsYXJEZXZUb29scy5nZXRDb21wb25lbnQobm9kZSk7XG4gIGNvbnN0IHN1YkV2ZW50cyA9IEFycmF5LmZyb20obm9kZS5jaGlsZHJlbikubWFwKChjaGlsZCkgPT4gcmVjKGNoaWxkLCByZWMpKTtcbiAgY29uc3QgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgc3ViRXZlbnRzLmZvckVhY2goKHMpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhzIHx8IHt9KS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICAgIGlmICh2Lmxlbmd0aCkge1xuICAgICAgICBldmVudHNba10gPSB2O1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnRbbzNySW5mb1Byb3BlcnR5XSkge1xuICAgIGNvbnN0IGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IGNvbXBvbmVudC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIGNvbnN0IGNvbXBvbmVudEV2ZW50czogc3RyaW5nW10gPSBPYmplY3QudmFsdWVzPGFueT4oY29tcG9uZW50LmFuYWx5dGljc0V2ZW50cyB8fCB7fSkubWFwKChldmVudENvbnN0cnVjdG9yKSA9PiBldmVudENvbnN0cnVjdG9yLm5hbWUpO1xuICAgIGlmIChjb21wb25lbnRFdmVudHMubGVuZ3RoKSB7XG4gICAgICBldmVudHNbY29tcG9uZW50TmFtZV0gPSBjb21wb25lbnRFdmVudHM7XG4gICAgfVxuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyhldmVudHMpLmxlbmd0aCA/IGV2ZW50cyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgdGhlIGFuYWx5dGljcyBvZiBhIG5vZGVcbiAqIEBwYXJhbSBub2RlIEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRoZSBhbmFseXRpY3MgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgY29uc3QgZ2V0QW5hbHl0aWNFdmVudHMgPSAobm9kZTogRWxlbWVudCB8IG51bGwpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQgPT4gZ2V0QW5hbHl0aWNFdmVudHNSZWMobm9kZSwgZ2V0QW5hbHl0aWNFdmVudHMpO1xuXG4vKipcbiAqIERldGVybWluZSBhbGwgaW5mbyBmcm9tIGFuIE90dGVyIGNvbXBvbmVudFxuICogQHBhcmFtIGNvbXBvbmVudENsYXNzSW5zdGFuY2UgY29tcG9uZW50IGluc3RhbmNlXG4gKiBAcGFyYW0gaG9zdCBIVE1MIGVsZW1lbnQgaG9zdGluZyB0aGUgY29tcG9uZW50XG4gKiBAcmV0dXJucyBhbGwgaW5mbyBmcm9tIGFuIE90dGVyIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgZ2V0T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyA9IChjb21wb25lbnRDbGFzc0luc3RhbmNlOiBhbnksIGhvc3Q6IEVsZW1lbnQpOiBPdHRlckxpa2VDb21wb25lbnRJbmZvID0+IHtcbiAgY29uc3QgY29uZmlnSWQgPSBnZXRDb25maWdJZChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgY29uc3QgdHJhbnNsYXRpb25zID0gZ2V0VHJhbnNsYXRpb25zKGhvc3QpO1xuICBjb25zdCBhbmFseXRpY3MgPSBnZXRBbmFseXRpY0V2ZW50cyhob3N0KTtcbiAgcmV0dXJuIHtcbiAgICAvLyBDYW5ub3QgdXNlIGFueW1vcmUgYGNvbnN0cnVjdG9yLm5hbWVgIGVsc2UgYWxsIGNvbXBvbmVudHMgYXJlIG5hbWVkIGBfYWBcbiAgICBjb21wb25lbnROYW1lOiBjb21wb25lbnRDbGFzc0luc3RhbmNlLmNvbnN0cnVjdG9yLsm1Y21wPy5kZWJ1Z0luZm8/LmNsYXNzTmFtZSB8fCBjb21wb25lbnRDbGFzc0luc3RhbmNlLmNvbnN0cnVjdG9yLm5hbWUsXG4gICAgY29uZmlnSWQsXG4gICAgdHJhbnNsYXRpb25zLFxuICAgIGFuYWx5dGljc1xuICB9O1xufTtcbiJdfQ==
@@ -91,8 +91,7 @@ export class OtterInspectorService {
91
91
  this.inspectorDiv.style.height = `${rect.height}px`;
92
92
  this.inspectorDiv.style.top = `${rect.top}px`;
93
93
  this.inspectorDiv.style.left = `${rect.left}px`;
94
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
95
- this.inspectorDiv.firstChild.textContent = `<${this.selectedComponent.component.constructor.name}>`;
94
+ this.inspectorDiv.firstChild.textContent = `<${this.selectedComponent.componentName}>`;
96
95
  }
97
96
  }
98
97
  unHighlight() {
@@ -164,4 +163,4 @@ export class OtterInspectorService {
164
163
  window.removeEventListener('mouseout', this.cancelEventCallback, true);
165
164
  }
166
165
  }
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUEwQixNQUFNLDJCQUEyQixDQUFDO0FBUTVIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVppQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELHlCQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFFckg7O1dBRUc7UUFDSSxvQ0FBK0IsR0FBbUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzFJLElBQUksQ0FBQyxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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QVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBa0I7UUFDdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmcgfSBmcm9tICcuL25nJztcbmltcG9ydCB7IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8sIElOU1BFQ1RPUl9DTEFTUywgaXNDb250YWluZXIsIE90dGVyTGlrZUNvbXBvbmVudEluZm8gfSBmcm9tICcuL290dGVyLWluc3BlY3Rvci5oZWxwZXJzJztcblxuXG5pbnRlcmZhY2UgQ29tcG9uZW50SW5mbyBleHRlbmRzIE90dGVyTGlrZUNvbXBvbmVudEluZm8ge1xuICBjb21wb25lbnQ6IGFueTtcbiAgaG9zdDogRWxlbWVudDtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSB0aGUgY3VzdG9tIGluc3BlY3RvciBmb3IgdGhlIE90dGVyIERldnRvb2xzIENocm9tZSBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBPdHRlckluc3BlY3RvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJEZXZUb29sczogTmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrID0gdGhpcy5lbGVtZW50TW91c2VPdmVyLmJpbmQodGhpcyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudENsaWNrQ2FsbGJhY2sgPSB0aGlzLmVsZW1lbnRDbGljay5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbmNlbEV2ZW50Q2FsbGJhY2sgPSB0aGlzLmNhbmNlbEV2ZW50LmJpbmQodGhpcyk7XG4gIHByaXZhdGUgc2VsZWN0ZWRDb21wb25lbnQ6IENvbXBvbmVudEluZm8gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaW5zcGVjdG9yRGl2OiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IG90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3RyZWFtIG9mIGNvbXBvbmVudCBpbmZvIHRvIGJlIHNlbnQgdG8gdGhlIGV4dGVuc2lvbiBhcHAuXG4gICAqL1xuICBwdWJsaWMgb3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JDogT2JzZXJ2YWJsZTxPdHRlckxpa2VDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkPiA9IHRoaXMub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nIGFzIE5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydEluc3BlY3RpbmcoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMuZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmVsZW1lbnRDbGlja0NhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLmNhbmNlbEV2ZW50Q2FsbGJhY2ssIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGVtZW50Q2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ29tcG9uZW50IHx8ICF0aGlzLmFuZ3VsYXJEZXZUb29scykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RlZENvbXBvbmVudC5ob3N0LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgcGFyZW50ID0gcGFyZW50RWxlbWVudCAmJiAodGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KHBhcmVudEVsZW1lbnQpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChwYXJlbnRFbGVtZW50KSk7XG4gICAgY29uc3QgcGFyZW50SG9zdCA9IHBhcmVudCAmJiB0aGlzLmFuZ3VsYXJEZXZUb29scy5nZXRIb3N0RWxlbWVudChwYXJlbnQpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGlzQ29udGFpbmVyKHBhcmVudEhvc3QpXG4gICAgICA/IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8ocGFyZW50LCBwYXJlbnRIb3N0KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgeyBjb21wb25lbnQsIGhvc3QsIC4uLmluZm9Ub0JlU2VudH0gPSB0aGlzLnNlbGVjdGVkQ29tcG9uZW50O1xuXG4gICAgdGhpcy5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQubmV4dCh7XG4gICAgICAuLi5pbmZvVG9CZVNlbnQsXG4gICAgICBjb250YWluZXJcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPdHRlckxpa2VDb21wb25lbnQoaW5mbzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbykge1xuICAgIGNvbnN0IGhhc0NvbmZpZ0lkID0gISFpbmZvLmNvbmZpZ0lkO1xuICAgIGNvbnN0IGhhc1RyYW5zbGF0aW9ucyA9ICEhaW5mby50cmFuc2xhdGlvbnM/Lmxlbmd0aDtcbiAgICBjb25zdCBoYXNBbmFseXRpY3MgPSAhIU9iamVjdC5rZXlzKGluZm8uYW5hbHl0aWNzIHx8IHt9KS5sZW5ndGg7XG4gICAgcmV0dXJuIGhhc0NvbmZpZ0lkIHx8IGhhc1RyYW5zbGF0aW9ucyB8fCBoYXNBbmFseXRpY3M7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb21wb25lbnRJbmZvKG5vZGU6IEVsZW1lbnQpOiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuYW5ndWxhckRldlRvb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wb25lbnRDbGFzc0luc3RhbmNlID0gdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChub2RlKTtcbiAgICBsZXQgbzNyTGlrZUNvbXBvbmVudEluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm87XG4gICAgbGV0IGlzTzNyTGlrZTogYm9vbGVhbjtcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzSW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZG8ge1xuICAgICAgbzNyTGlrZUNvbXBvbmVudEluZm8gPSBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKGNvbXBvbmVudENsYXNzSW5zdGFuY2UsIHRoaXMuYW5ndWxhckRldlRvb2xzLmdldEhvc3RFbGVtZW50KGNvbXBvbmVudENsYXNzSW5zdGFuY2UpKTtcbiAgICAgIGlzTzNyTGlrZSA9IHRoaXMuaXNPdHRlckxpa2VDb21wb25lbnQobzNyTGlrZUNvbXBvbmVudEluZm8pO1xuICAgICAgaWYgKCFpc08zckxpa2UpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3NJbnN0YW5jZSA9IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghaXNPM3JMaWtlICYmIGNvbXBvbmVudENsYXNzSW5zdGFuY2UpO1xuICAgIGlmIChpc08zckxpa2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50Q2xhc3NJbnN0YW5jZSxcbiAgICAgICAgaG9zdDogdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSksXG4gICAgICAgIC4uLm8zckxpa2VDb21wb25lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudE1vdXNlT3ZlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFdmVudChlKTtcblxuICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChlbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb21wb25lbnQgPSB0aGlzLmZpbmRDb21wb25lbnRJbmZvKGVsKTtcbiAgICAgIGlmIChzZWxlY3RlZENvbXBvbmVudD8uaG9zdCAhPT0gdGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCkge1xuICAgICAgICB0aGlzLnVuSGlnaGxpZ2h0KCk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0KHNlbGVjdGVkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodChzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSBzZWxlY3RlZENvbXBvbmVudDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLndpZHRoID0gYCR7cmVjdC53aWR0aH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSBgJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gYCR7cmVjdC5sZWZ0fXB4YDtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LmZpcnN0Q2hpbGQhLnRleHRDb250ZW50ID0gYDwke3RoaXMuc2VsZWN0ZWRDb21wb25lbnQuY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWV9PmA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bkhpZ2hsaWdodCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgdGhpcy5pbnNwZWN0b3JEaXYuc3R5bGUud2lkdGggPSAnMCc7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSAnMCc7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSAnMCc7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ29tcG9uZW50ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5jZWxFdmVudChlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIHRoZSBpbnNwZWN0b3IgZGl2IGFuZCBhZGQgaXQgdG8gdGhlIERPTS5cbiAgICovXG4gIHB1YmxpYyBwcmVwYXJlSW5zcGVjdG9yKCkge1xuICAgIGlmICh0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbnNwZWN0b3JDc3MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIGluc3BlY3RvckNzcy50ZXh0Q29udGVudCA9IGBcbiAgICAgIC4ke0lOU1BFQ1RPUl9DTEFTU30ge1xuICAgICAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNCwgMTgyLCAyNTUsIDAuMzUpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC4ke0lOU1BFQ1RPUl9DTEFTU30gPiBzcGFuIHtcbiAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMDQsIDE4MiwgMjU1LCAwLjkpOztcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1gO1xuXG4gICAgY29uc3QgaW5zcGVjdG9yRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgY29uc3QgaW5zcGVjdG9yU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBpbnNwZWN0b3JEaXYuYXBwZW5kQ2hpbGQoaW5zcGVjdG9yU3Bhbik7XG4gICAgaW5zcGVjdG9yRGl2LmNsYXNzTGlzdC5hZGQoSU5TUEVDVE9SX0NMQVNTKTtcblxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaW5zcGVjdG9yQ3NzKTtcbiAgICB0aGlzLmluc3BlY3RvckRpdiA9IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5zcGVjdG9yRGl2KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGluc3BlY3Rvci5cbiAgICogQHBhcmFtIGlzUnVubmluZyB0cnVlIGlmIHRoZSBpbnNwZWN0b3IgaXMgcnVubmluZ1xuICAgKi9cbiAgcHVibGljIHRvZ2dsZUluc3BlY3Rvcihpc1J1bm5pbmc6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNSdW5uaW5nKSB7XG4gICAgICB0aGlzLnN0YXJ0SW5zcGVjdGluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3BJbnNwZWN0aW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0b3BJbnNwZWN0aW5nKCkge1xuICAgIHRoaXMudW5IaWdobGlnaHQoKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5lbGVtZW50TW91c2VPdmVyQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuZWxlbWVudENsaWNrQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIHRoaXMuY2FuY2VsRXZlbnRDYWxsYmFjaywgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUEwQixNQUFNLDJCQUEyQixDQUFDO0FBUTVIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVppQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELHlCQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFFckg7O1dBRUc7UUFDSSxvQ0FBK0IsR0FBbUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzFJLElBQUksQ0FBQyxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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Q0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBa0I7UUFDdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmcgfSBmcm9tICcuL25nJztcbmltcG9ydCB7IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8sIElOU1BFQ1RPUl9DTEFTUywgaXNDb250YWluZXIsIE90dGVyTGlrZUNvbXBvbmVudEluZm8gfSBmcm9tICcuL290dGVyLWluc3BlY3Rvci5oZWxwZXJzJztcblxuXG5pbnRlcmZhY2UgQ29tcG9uZW50SW5mbyBleHRlbmRzIE90dGVyTGlrZUNvbXBvbmVudEluZm8ge1xuICBjb21wb25lbnQ6IGFueTtcbiAgaG9zdDogRWxlbWVudDtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSB0aGUgY3VzdG9tIGluc3BlY3RvciBmb3IgdGhlIE90dGVyIERldnRvb2xzIENocm9tZSBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBPdHRlckluc3BlY3RvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJEZXZUb29sczogTmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrID0gdGhpcy5lbGVtZW50TW91c2VPdmVyLmJpbmQodGhpcyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudENsaWNrQ2FsbGJhY2sgPSB0aGlzLmVsZW1lbnRDbGljay5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbmNlbEV2ZW50Q2FsbGJhY2sgPSB0aGlzLmNhbmNlbEV2ZW50LmJpbmQodGhpcyk7XG4gIHByaXZhdGUgc2VsZWN0ZWRDb21wb25lbnQ6IENvbXBvbmVudEluZm8gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaW5zcGVjdG9yRGl2OiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IG90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3RyZWFtIG9mIGNvbXBvbmVudCBpbmZvIHRvIGJlIHNlbnQgdG8gdGhlIGV4dGVuc2lvbiBhcHAuXG4gICAqL1xuICBwdWJsaWMgb3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JDogT2JzZXJ2YWJsZTxPdHRlckxpa2VDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkPiA9IHRoaXMub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nIGFzIE5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydEluc3BlY3RpbmcoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMuZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmVsZW1lbnRDbGlja0NhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLmNhbmNlbEV2ZW50Q2FsbGJhY2ssIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGVtZW50Q2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ29tcG9uZW50IHx8ICF0aGlzLmFuZ3VsYXJEZXZUb29scykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RlZENvbXBvbmVudC5ob3N0LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgcGFyZW50ID0gcGFyZW50RWxlbWVudCAmJiAodGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KHBhcmVudEVsZW1lbnQpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChwYXJlbnRFbGVtZW50KSk7XG4gICAgY29uc3QgcGFyZW50SG9zdCA9IHBhcmVudCAmJiB0aGlzLmFuZ3VsYXJEZXZUb29scy5nZXRIb3N0RWxlbWVudChwYXJlbnQpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGlzQ29udGFpbmVyKHBhcmVudEhvc3QpXG4gICAgICA/IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8ocGFyZW50LCBwYXJlbnRIb3N0KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgeyBjb21wb25lbnQsIGhvc3QsIC4uLmluZm9Ub0JlU2VudH0gPSB0aGlzLnNlbGVjdGVkQ29tcG9uZW50O1xuXG4gICAgdGhpcy5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQubmV4dCh7XG4gICAgICAuLi5pbmZvVG9CZVNlbnQsXG4gICAgICBjb250YWluZXJcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPdHRlckxpa2VDb21wb25lbnQoaW5mbzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbykge1xuICAgIGNvbnN0IGhhc0NvbmZpZ0lkID0gISFpbmZvLmNvbmZpZ0lkO1xuICAgIGNvbnN0IGhhc1RyYW5zbGF0aW9ucyA9ICEhaW5mby50cmFuc2xhdGlvbnM/Lmxlbmd0aDtcbiAgICBjb25zdCBoYXNBbmFseXRpY3MgPSAhIU9iamVjdC5rZXlzKGluZm8uYW5hbHl0aWNzIHx8IHt9KS5sZW5ndGg7XG4gICAgcmV0dXJuIGhhc0NvbmZpZ0lkIHx8IGhhc1RyYW5zbGF0aW9ucyB8fCBoYXNBbmFseXRpY3M7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb21wb25lbnRJbmZvKG5vZGU6IEVsZW1lbnQpOiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuYW5ndWxhckRldlRvb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wb25lbnRDbGFzc0luc3RhbmNlID0gdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChub2RlKTtcbiAgICBsZXQgbzNyTGlrZUNvbXBvbmVudEluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm87XG4gICAgbGV0IGlzTzNyTGlrZTogYm9vbGVhbjtcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzSW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZG8ge1xuICAgICAgbzNyTGlrZUNvbXBvbmVudEluZm8gPSBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKGNvbXBvbmVudENsYXNzSW5zdGFuY2UsIHRoaXMuYW5ndWxhckRldlRvb2xzLmdldEhvc3RFbGVtZW50KGNvbXBvbmVudENsYXNzSW5zdGFuY2UpKTtcbiAgICAgIGlzTzNyTGlrZSA9IHRoaXMuaXNPdHRlckxpa2VDb21wb25lbnQobzNyTGlrZUNvbXBvbmVudEluZm8pO1xuICAgICAgaWYgKCFpc08zckxpa2UpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3NJbnN0YW5jZSA9IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghaXNPM3JMaWtlICYmIGNvbXBvbmVudENsYXNzSW5zdGFuY2UpO1xuICAgIGlmIChpc08zckxpa2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50Q2xhc3NJbnN0YW5jZSxcbiAgICAgICAgaG9zdDogdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSksXG4gICAgICAgIC4uLm8zckxpa2VDb21wb25lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudE1vdXNlT3ZlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFdmVudChlKTtcblxuICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChlbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb21wb25lbnQgPSB0aGlzLmZpbmRDb21wb25lbnRJbmZvKGVsKTtcbiAgICAgIGlmIChzZWxlY3RlZENvbXBvbmVudD8uaG9zdCAhPT0gdGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCkge1xuICAgICAgICB0aGlzLnVuSGlnaGxpZ2h0KCk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0KHNlbGVjdGVkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodChzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSBzZWxlY3RlZENvbXBvbmVudDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLndpZHRoID0gYCR7cmVjdC53aWR0aH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSBgJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gYCR7cmVjdC5sZWZ0fXB4YDtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LmZpcnN0Q2hpbGQhLnRleHRDb250ZW50ID0gYDwke3RoaXMuc2VsZWN0ZWRDb21wb25lbnQuY29tcG9uZW50TmFtZX0+YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVuSGlnaGxpZ2h0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tcG9uZW50Py5ob3N0ICYmIHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS53aWR0aCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmhlaWdodCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmxlZnQgPSAnMCc7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEV2ZW50KGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgdGhlIGluc3BlY3RvciBkaXYgYW5kIGFkZCBpdCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIHByZXBhcmVJbnNwZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluc3BlY3RvckNzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgaW5zcGVjdG9yQ3NzLnRleHRDb250ZW50ID0gYFxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTA0LCAxODIsIDI1NSwgMC4zNSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSA+IHNwYW4ge1xuICAgICAgICBib3R0b206IC0yNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNCwgMTgyLCAyNTUsIDAuOSk7O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfWA7XG5cbiAgICBjb25zdCBpbnNwZWN0b3JEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb25zdCBpbnNwZWN0b3JTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGluc3BlY3RvckRpdi5hcHBlbmRDaGlsZChpbnNwZWN0b3JTcGFuKTtcbiAgICBpbnNwZWN0b3JEaXYuY2xhc3NMaXN0LmFkZChJTlNQRUNUT1JfQ0xBU1MpO1xuXG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpbnNwZWN0b3JDc3MpO1xuICAgIHRoaXMuaW5zcGVjdG9yRGl2ID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnNwZWN0b3JEaXYpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgaW5zcGVjdG9yLlxuICAgKiBAcGFyYW0gaXNSdW5uaW5nIHRydWUgaWYgdGhlIGluc3BlY3RvciBpcyBydW5uaW5nXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlSW5zcGVjdG9yKGlzUnVubmluZzogYm9vbGVhbikge1xuICAgIGlmIChpc1J1bm5pbmcpIHtcbiAgICAgIHRoaXMuc3RhcnRJbnNwZWN0aW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcEluc3BlY3RpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RvcEluc3BlY3RpbmcoKSB7XG4gICAgdGhpcy51bkhpZ2hsaWdodCgpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCB0aGlzLmVsZW1lbnRNb3VzZU92ZXJDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5lbGVtZW50Q2xpY2tDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgdGhpcy5jYW5jZWxFdmVudENhbGxiYWNrLCB0cnVlKTtcbiAgfVxufVxuIl19