@ng-doc/app 17.2.3 → 17.3.0

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 (89) hide show
  1. package/esm2022/components/api-list/api-list.component.mjs +4 -4
  2. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +4 -4
  3. package/esm2022/components/code/code.component.mjs +3 -3
  4. package/esm2022/components/demo/demo.component.mjs +3 -3
  5. package/esm2022/components/demo-displayer/demo-displayer.component.mjs +3 -3
  6. package/esm2022/components/demo-pane/demo-pane.component.mjs +3 -3
  7. package/esm2022/components/fullscreen-button/fullscreen-button.component.mjs +4 -4
  8. package/esm2022/components/kind-icon/kind-icon.component.mjs +3 -3
  9. package/esm2022/components/link/link.component.mjs +3 -3
  10. package/esm2022/components/navbar/navbar.component.mjs +3 -3
  11. package/esm2022/components/page/page.component.mjs +3 -3
  12. package/esm2022/components/page-link/page-link.component.mjs +4 -4
  13. package/esm2022/components/page-navigation/page-navigation.component.mjs +3 -3
  14. package/esm2022/components/playground/base-playground.mjs +16 -7
  15. package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +3 -3
  16. package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +4 -4
  17. package/esm2022/components/playground/playground-property/playground-property.component.mjs +3 -3
  18. package/esm2022/components/playground/playground.component.mjs +3 -3
  19. package/esm2022/components/root/root.component.mjs +9 -9
  20. package/esm2022/components/search/search.component.mjs +5 -5
  21. package/esm2022/components/search-result/search-result.component.mjs +4 -4
  22. package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +3 -3
  23. package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +4 -4
  24. package/esm2022/components/sidebar/sidebar.component.mjs +3 -3
  25. package/esm2022/components/tabs/tabs.component.mjs +3 -3
  26. package/esm2022/components/theme-toggle/theme-toggle.component.mjs +3 -3
  27. package/esm2022/components/toc/toc-element/toc-element.component.mjs +3 -3
  28. package/esm2022/components/toc/toc.component.mjs +3 -3
  29. package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +3 -3
  30. package/esm2022/directives/route-active/route-active.directive.mjs +3 -3
  31. package/esm2022/pipes/extract-value/extract-value.pipe.mjs +3 -3
  32. package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +3 -3
  33. package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +3 -3
  34. package/esm2022/processors/page-processor/page-processor.directive.mjs +3 -3
  35. package/esm2022/processors/processors/tooltip.processor.mjs +3 -3
  36. package/esm2022/services/sidebar/sidebar.service.mjs +3 -3
  37. package/esm2022/services/store/store.service.mjs +3 -3
  38. package/esm2022/services/theme/theme.service.mjs +3 -3
  39. package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +3 -3
  40. package/esm2022/type-controls/number-control/number-control.component.mjs +5 -5
  41. package/esm2022/type-controls/string-control/string-control.component.mjs +3 -3
  42. package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +3 -3
  43. package/fesm2022/ng-doc-app-components-api-list.mjs +3 -3
  44. package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
  45. package/fesm2022/ng-doc-app-components-breadcrumb.mjs +3 -3
  46. package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
  47. package/fesm2022/ng-doc-app-components-code.mjs +3 -3
  48. package/fesm2022/ng-doc-app-components-demo-displayer.mjs +3 -3
  49. package/fesm2022/ng-doc-app-components-demo-pane.mjs +3 -3
  50. package/fesm2022/ng-doc-app-components-demo.mjs +3 -3
  51. package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +3 -3
  52. package/fesm2022/ng-doc-app-components-fullscreen-button.mjs.map +1 -1
  53. package/fesm2022/ng-doc-app-components-kind-icon.mjs +3 -3
  54. package/fesm2022/ng-doc-app-components-link.mjs +3 -3
  55. package/fesm2022/ng-doc-app-components-link.mjs.map +1 -1
  56. package/fesm2022/ng-doc-app-components-navbar.mjs +3 -3
  57. package/fesm2022/ng-doc-app-components-page-link.mjs +3 -3
  58. package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
  59. package/fesm2022/ng-doc-app-components-page-navigation.mjs +3 -3
  60. package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
  61. package/fesm2022/ng-doc-app-components-page.mjs +3 -3
  62. package/fesm2022/ng-doc-app-components-playground.mjs +27 -18
  63. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  64. package/fesm2022/ng-doc-app-components-root.mjs +9 -9
  65. package/fesm2022/ng-doc-app-components-search-result.mjs +3 -3
  66. package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
  67. package/fesm2022/ng-doc-app-components-search.mjs +4 -4
  68. package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
  69. package/fesm2022/ng-doc-app-components-sidebar.mjs +9 -9
  70. package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
  71. package/fesm2022/ng-doc-app-components-tabs.mjs +3 -3
  72. package/fesm2022/ng-doc-app-components-theme-toggle.mjs +3 -3
  73. package/fesm2022/ng-doc-app-components-toc.mjs +6 -6
  74. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +3 -3
  75. package/fesm2022/ng-doc-app-directives-route-active.mjs +3 -3
  76. package/fesm2022/ng-doc-app-pipes-extract-value.mjs +3 -3
  77. package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +3 -3
  78. package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
  79. package/fesm2022/ng-doc-app-processors-page-processor.mjs +3 -3
  80. package/fesm2022/ng-doc-app-processors-processors.mjs +3 -3
  81. package/fesm2022/ng-doc-app-services-sidebar.mjs +3 -3
  82. package/fesm2022/ng-doc-app-services-store.mjs +3 -3
  83. package/fesm2022/ng-doc-app-services-theme.mjs +3 -3
  84. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +3 -3
  85. package/fesm2022/ng-doc-app-type-controls-number-control.mjs +4 -4
  86. package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  87. package/fesm2022/ng-doc-app-type-controls-string-control.mjs +3 -3
  88. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +3 -3
  89. package/package.json +3 -3
@@ -5,10 +5,10 @@ import { NgDocIconComponent, NgDocTextComponent, NgDocTextLeftDirective, NgDocTe
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  export class NgDocPageNavigationComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPageNavigationComponent, isStandalone: true, selector: "ng-doc-page-navigation", inputs: { prevPage: "prevPage", nextPage: "nextPage" }, ngImport: i0, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NgDocPageNavigationComponent, isStandalone: true, selector: "ng-doc-page-navigation", inputs: { prevPage: "prevPage", nextPage: "nextPage" }, ngImport: i0, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageNavigationComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPageNavigationComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'ng-doc-page-navigation', standalone: true, imports: [
14
14
  CommonModule,
@@ -25,9 +25,18 @@ export class NgDocBasePlayground {
25
25
  if (this.playground) {
26
26
  this.defaultValues = Object.keys(this.playground).reduce((values, key) => {
27
27
  if (this.playground) {
28
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
29
- // @ts-ignore
30
- values[key] = this.playground[key];
28
+ try {
29
+ values[key] =
30
+ // @ts-expect-error we do not know the type of the playground
31
+ typeof this.playground[key] === 'function'
32
+ ? // @ts-expect-error we do not know the type of the playground
33
+ this.playground[key]()
34
+ : // @ts-expect-error we do not know the type of the playground
35
+ this.playground[key];
36
+ }
37
+ catch (e) {
38
+ // we do catch here because some of the playground properties can be getters and throw an error
39
+ }
31
40
  }
32
41
  return values;
33
42
  }, {});
@@ -57,10 +66,10 @@ export class NgDocBasePlayground {
57
66
  get data() {
58
67
  return Object.assign({}, this.configData, this.actionData);
59
68
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocBasePlayground, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
61
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: NgDocBasePlayground, inputs: { properties: "properties", actionData: "actionData", content: "content" }, ngImport: i0 }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocBasePlayground, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
70
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: NgDocBasePlayground, inputs: { properties: "properties", actionData: "actionData", content: "content" }, ngImport: i0 }); }
62
71
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocBasePlayground, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocBasePlayground, decorators: [{
64
73
  type: Directive
65
74
  }], ctorParameters: () => [{ type: undefined }], propDecorators: { properties: [{
66
75
  type: Input
@@ -69,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
69
78
  }], content: [{
70
79
  type: Input
71
80
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wbGF5Z3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL2Jhc2UtcGxheWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxHQUlMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFbEU7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLG1CQUFtQjthQUN4QixhQUFRLEdBQVcsU0FBUyxBQUFwQixDQUFxQjtJQW1CN0MsWUFBOEIsa0JBQXlDO1FBQXpDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFidkUsZUFBVSxHQUF3QixFQUFFLENBQUM7UUFHckMsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFHekMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUVsQixrQkFBYSxHQUE0QixFQUFFLENBQUM7UUFFcEMsd0JBQW1CLEdBQTZCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2pGLHNCQUFpQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUd4RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDUDs7O1dBR0c7UUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQ3ZELENBQUMsTUFBK0IsRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNwQiw2REFBNkQ7b0JBQzdELGFBQWE7b0JBQ2IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ25DO2dCQUVELE9BQU8sTUFBTSxDQUFDO1lBQ2YsQ0FBQyxFQUNELEVBQUUsQ0FDRixDQUFDO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNuQyxNQUFNLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXRGLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FDakYsQ0FBQyxHQUE0QixFQUFFLEdBQVcsRUFBRSxDQUFTLEVBQUUsRUFBRTtnQkFDeEQsK0VBQStFO2dCQUMvRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFFM0IsT0FBTyxHQUFHLENBQUM7WUFDWixDQUFDLEVBQ0QsRUFBRSxDQUNGLENBQUM7U0FDRjthQUFNO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUU7WUFDNUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzVEO1FBRUQ7OztXQUdTO1FBQ1QsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksSUFBSTtRQUNQLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0F6RW9CLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUR4QyxTQUFTOzJFQVFULFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERpcmVjdGl2ZSxcblx0aW5qZWN0LFxuXHRJbnB1dCxcblx0T25Jbml0LFxuXHRUeXBlLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBleHRyYWN0RnVuY3Rpb25EZWZhdWx0cyB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRDb25maWcgfSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCB9IGZyb20gJy4vcGxheWdyb3VuZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIHBsYXlncm91bmRzIGNvbXBvbmVudHMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5nRG9jQmFzZVBsYXlncm91bmQgaW1wbGVtZW50cyBQaWNrPE5nRG9jUGxheWdyb3VuZENvbmZpZywgJ2RhdGEnPiwgT25Jbml0IHtcblx0c3RhdGljIHJlYWRvbmx5IHNlbGVjdG9yOiBzdHJpbmcgPSAndW5rbm93bic7XG5cdGFic3RyYWN0IHJlYWRvbmx5IHBsYXlncm91bmQ/OiBUeXBlPGFueT47XG5cdGFic3RyYWN0IHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuXHRhYnN0cmFjdCByZWFkb25seSBjb25maWdEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cblx0QElucHV0KClcblx0YWN0aW9uRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuXHRASW5wdXQoKVxuXHRjb250ZW50OiBhbnkgPSB7fTtcblxuXHRkZWZhdWx0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG5cdHByaXZhdGUgcGxheWdyb3VuZENvbnRhaW5lcjogTmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50ID0gaW5qZWN0KE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCk7XG5cdHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXHRwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJpdmF0ZSBwbGF5Z3JvdW5kSW5zdGFuY2U/OiBDb25zdHJ1Y3Rvcjx1bmtub3duPikge1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHQvKlxuXHRcdCAqIEV4dHJhY3QgZGVmYXVsdCB2YWx1ZXMgZnJvbSBwbGF5Z3JvdW5kIHByb3BlcnRpZXMuIFdlIGRvIHRoaXMgaW4gYG5nT25Jbml0YCBiZWNhdXNlIGluIHRoaXMgY2FzZVxuXHRcdCAqIGlucHV0IHZhbHVlcyBwcm92aWRlZCBmcm9tIHRoZSB0ZW1wbGF0ZSBhcmUgbm90IGluaXRpYWxpemVkIHlldCwgYW5kIHdlIGNhbiByZWFkIGRlZmF1bHQgdmFsdWVzIGluc3RlYWQuXG5cdFx0ICovXG5cdFx0aWYgKHRoaXMucGxheWdyb3VuZCkge1xuXHRcdFx0dGhpcy5kZWZhdWx0VmFsdWVzID0gT2JqZWN0LmtleXModGhpcy5wbGF5Z3JvdW5kKS5yZWR1Y2UoXG5cdFx0XHRcdCh2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnBsYXlncm91bmQpIHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdFx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdFx0XHRcdHZhbHVlc1trZXldID0gdGhpcy5wbGF5Z3JvdW5kW2tleV07XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmV0dXJuIHZhbHVlcztcblx0XHRcdFx0fSxcblx0XHRcdFx0e30sXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5wbGF5Z3JvdW5kSW5zdGFuY2UpIHtcblx0XHRcdGNvbnN0IGRlZmF1bHRzID0gZXh0cmFjdEZ1bmN0aW9uRGVmYXVsdHModGhpcy5wbGF5Z3JvdW5kSW5zdGFuY2UucHJvdG90eXBlLnRyYW5zZm9ybSk7XG5cblx0XHRcdHRoaXMuZGVmYXVsdFZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMucGxheWdyb3VuZENvbnRhaW5lci5wcm9wZXJ0aWVzID8/IHt9KS5yZWR1Y2UoXG5cdFx0XHRcdChkZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IHN0cmluZywgaTogbnVtYmVyKSA9PiB7XG5cdFx0XHRcdFx0Ly8gd2UgZG8gKzEgYmVjYXVzZSB0aGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGB2YWx1ZWAgb2YgdGhlIHRyYW5zZm9ybSBmdW5jdGlvblxuXHRcdFx0XHRcdGRlZltrZXldID0gZGVmYXVsdHNbaSArIDFdO1xuXG5cdFx0XHRcdFx0cmV0dXJuIGRlZjtcblx0XHRcdFx0fSxcblx0XHRcdFx0e30sXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1BsYXlncm91bmQgaXMgbm90IGRlZmluZWQgb3IgaW5pdGlhbGl6ZWQnKTtcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMucGxheWdyb3VuZENvbnRhaW5lci5kZWZhdWx0VmFsdWVzKSB7XG5cdFx0XHR0aGlzLnBsYXlncm91bmRDb250YWluZXIuZGVmYXVsdFZhbHVlcyA9IHRoaXMuZGVmYXVsdFZhbHVlcztcblx0XHR9XG5cblx0XHQvKlxuICAgICAgICAgICAgIFRoaXMgaXMgYSBoYWNrIGp1c3QgdG8gd2FpdCBmb3IgdGhlIHBsYXlncm91bmQgY29udGFpbmVyIHRvIGJlIGluaXRpYWxpemVkIGFuZCBvbmx5IHRoZW5cbiAgICAgICAgICAgICBhdHRhY2ggdGhlIGNoYW5nZSBkZXRlY3RvciB0byBoYXZlIGNvcnJlY3QgaW5wdXRzIHZhbHVlcy5cbiAgICAgICAgICovXG5cdFx0UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG5cdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLnJlYXR0YWNoKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRnZXQgZGF0YSgpOiBhbnkge1xuXHRcdHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbmZpZ0RhdGEsIHRoaXMuYWN0aW9uRGF0YSk7XG5cdH1cbn1cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wbGF5Z3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL2Jhc2UtcGxheWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxHQUlMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFbEU7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLG1CQUFtQjthQUN4QixhQUFRLEdBQVcsU0FBUyxBQUFwQixDQUFxQjtJQW1CN0MsWUFBOEIsa0JBQXlDO1FBQXpDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFidkUsZUFBVSxHQUF3QixFQUFFLENBQUM7UUFHckMsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFHekMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUVsQixrQkFBYSxHQUE0QixFQUFFLENBQUM7UUFFcEMsd0JBQW1CLEdBQTZCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2pGLHNCQUFpQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUd4RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDUDs7O1dBR0c7UUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQ3ZELENBQUMsTUFBK0IsRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNwQixJQUFJO3dCQUNILE1BQU0sQ0FBQyxHQUFHLENBQUM7NEJBQ1YsNkRBQTZEOzRCQUM3RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVTtnQ0FDekMsQ0FBQyxDQUFDLDZEQUE2RDtvQ0FDN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQ0FDeEIsQ0FBQyxDQUFDLDZEQUE2RDtvQ0FDN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDekI7b0JBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ1gsK0ZBQStGO3FCQUMvRjtpQkFDRDtnQkFFRCxPQUFPLE1BQU0sQ0FBQztZQUNmLENBQUMsRUFDRCxFQUFFLENBQ0YsQ0FBQztTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDbkMsTUFBTSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV0RixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ2pGLENBQUMsR0FBNEIsRUFBRSxHQUFXLEVBQUUsQ0FBUyxFQUFFLEVBQUU7Z0JBQ3hELCtFQUErRTtnQkFDL0UsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTNCLE9BQU8sR0FBRyxDQUFDO1lBQ1osQ0FBQyxFQUNELEVBQUUsQ0FDRixDQUFDO1NBQ0Y7YUFBTTtZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztTQUM1RDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFO1lBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUM1RDtRQUVEOzs7V0FHUztRQUNULE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDUCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBakZvQixtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUzsyRUFRVCxVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHREaXJlY3RpdmUsXG5cdGluamVjdCxcblx0SW5wdXQsXG5cdE9uSW5pdCxcblx0VHlwZSxcblx0Vmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgZXh0cmFjdEZ1bmN0aW9uRGVmYXVsdHMgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kQ29uZmlnIH0gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRDb21wb25lbnQgfSBmcm9tICcuL3BsYXlncm91bmQuY29tcG9uZW50JztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBwbGF5Z3JvdW5kcyBjb21wb25lbnRzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ0RvY0Jhc2VQbGF5Z3JvdW5kIGltcGxlbWVudHMgUGljazxOZ0RvY1BsYXlncm91bmRDb25maWcsICdkYXRhJz4sIE9uSW5pdCB7XG5cdHN0YXRpYyByZWFkb25seSBzZWxlY3Rvcjogc3RyaW5nID0gJ3Vua25vd24nO1xuXHRhYnN0cmFjdCByZWFkb25seSBwbGF5Z3JvdW5kPzogVHlwZTxhbnk+O1xuXHRhYnN0cmFjdCByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblx0YWJzdHJhY3QgcmVhZG9ubHkgY29uZmlnRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG5cdEBJbnB1dCgpXG5cdGFjdGlvbkRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cblx0QElucHV0KClcblx0Y29udGVudDogYW55ID0ge307XG5cblx0ZGVmYXVsdFZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuXHRwcml2YXRlIHBsYXlncm91bmRDb250YWluZXI6IE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCA9IGluamVjdChOZ0RvY1BsYXlncm91bmRDb21wb25lbnQpO1xuXHRwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cblx0cHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByaXZhdGUgcGxheWdyb3VuZEluc3RhbmNlPzogQ29uc3RydWN0b3I8dW5rbm93bj4pIHtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0Lypcblx0XHQgKiBFeHRyYWN0IGRlZmF1bHQgdmFsdWVzIGZyb20gcGxheWdyb3VuZCBwcm9wZXJ0aWVzLiBXZSBkbyB0aGlzIGluIGBuZ09uSW5pdGAgYmVjYXVzZSBpbiB0aGlzIGNhc2Vcblx0XHQgKiBpbnB1dCB2YWx1ZXMgcHJvdmlkZWQgZnJvbSB0aGUgdGVtcGxhdGUgYXJlIG5vdCBpbml0aWFsaXplZCB5ZXQsIGFuZCB3ZSBjYW4gcmVhZCBkZWZhdWx0IHZhbHVlcyBpbnN0ZWFkLlxuXHRcdCAqL1xuXHRcdGlmICh0aGlzLnBsYXlncm91bmQpIHtcblx0XHRcdHRoaXMuZGVmYXVsdFZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMucGxheWdyb3VuZCkucmVkdWNlKFxuXHRcdFx0XHQodmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kKSB7XG5cdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHR2YWx1ZXNba2V5XSA9XG5cdFx0XHRcdFx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciB3ZSBkbyBub3Qga25vdyB0aGUgdHlwZSBvZiB0aGUgcGxheWdyb3VuZFxuXHRcdFx0XHRcdFx0XHRcdHR5cGVvZiB0aGlzLnBsYXlncm91bmRba2V5XSA9PT0gJ2Z1bmN0aW9uJ1xuXHRcdFx0XHRcdFx0XHRcdFx0PyAvLyBAdHMtZXhwZWN0LWVycm9yIHdlIGRvIG5vdCBrbm93IHRoZSB0eXBlIG9mIHRoZSBwbGF5Z3JvdW5kXG5cdFx0XHRcdFx0XHRcdFx0XHQgIHRoaXMucGxheWdyb3VuZFtrZXldKClcblx0XHRcdFx0XHRcdFx0XHRcdDogLy8gQHRzLWV4cGVjdC1lcnJvciB3ZSBkbyBub3Qga25vdyB0aGUgdHlwZSBvZiB0aGUgcGxheWdyb3VuZFxuXHRcdFx0XHRcdFx0XHRcdFx0ICB0aGlzLnBsYXlncm91bmRba2V5XTtcblx0XHRcdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRcdFx0Ly8gd2UgZG8gY2F0Y2ggaGVyZSBiZWNhdXNlIHNvbWUgb2YgdGhlIHBsYXlncm91bmQgcHJvcGVydGllcyBjYW4gYmUgZ2V0dGVycyBhbmQgdGhyb3cgYW4gZXJyb3Jcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRyZXR1cm4gdmFsdWVzO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7fSxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnBsYXlncm91bmRJbnN0YW5jZSkge1xuXHRcdFx0Y29uc3QgZGVmYXVsdHMgPSBleHRyYWN0RnVuY3Rpb25EZWZhdWx0cyh0aGlzLnBsYXlncm91bmRJbnN0YW5jZS5wcm90b3R5cGUudHJhbnNmb3JtKTtcblxuXHRcdFx0dGhpcy5kZWZhdWx0VmFsdWVzID0gT2JqZWN0LmtleXModGhpcy5wbGF5Z3JvdW5kQ29udGFpbmVyLnByb3BlcnRpZXMgPz8ge30pLnJlZHVjZShcblx0XHRcdFx0KGRlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGtleTogc3RyaW5nLCBpOiBudW1iZXIpID0+IHtcblx0XHRcdFx0XHQvLyB3ZSBkbyArMSBiZWNhdXNlIHRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUgYHZhbHVlYCBvZiB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZGVmW2tleV0gPSBkZWZhdWx0c1tpICsgMV07XG5cblx0XHRcdFx0XHRyZXR1cm4gZGVmO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7fSxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignUGxheWdyb3VuZCBpcyBub3QgZGVmaW5lZCBvciBpbml0aWFsaXplZCcpO1xuXHRcdH1cblxuXHRcdGlmICghdGhpcy5wbGF5Z3JvdW5kQ29udGFpbmVyLmRlZmF1bHRWYWx1ZXMpIHtcblx0XHRcdHRoaXMucGxheWdyb3VuZENvbnRhaW5lci5kZWZhdWx0VmFsdWVzID0gdGhpcy5kZWZhdWx0VmFsdWVzO1xuXHRcdH1cblxuXHRcdC8qXG4gICAgICAgICAgICAgVGhpcyBpcyBhIGhhY2sganVzdCB0byB3YWl0IGZvciB0aGUgcGxheWdyb3VuZCBjb250YWluZXIgdG8gYmUgaW5pdGlhbGl6ZWQgYW5kIG9ubHkgdGhlblxuICAgICAgICAgICAgIGF0dGFjaCB0aGUgY2hhbmdlIGRldGVjdG9yIHRvIGhhdmUgY29ycmVjdCBpbnB1dHMgdmFsdWVzLlxuICAgICAgICAgKi9cblx0XHRQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYucmVhdHRhY2goKTtcblx0XHR9KTtcblx0fVxuXG5cdGdldCBkYXRhKCk6IGFueSB7XG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnRGF0YSwgdGhpcy5hY3Rpb25EYXRhKTtcblx0fVxufVxuIl19
@@ -102,15 +102,15 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
102
102
  this.unsubscribe$.next();
103
103
  this.unsubscribe$.complete();
104
104
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundDemoComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPlaygroundDemoComponent, isStandalone: true, selector: "ng-doc-playground-demo", inputs: { id: "id", pipeName: "pipeName", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form", expanded: "expanded" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-smooth-resize *ngDocLet=\"code | async as codeContent\" [trigger]=\"codeContent\">\n\t<ng-doc-demo-displayer\n\t\t[code]=\"codeContent ?? ''\"\n\t\t[border]=\"false\"\n\t\t[expanded]=\"expanded\"\n\t\tlanguage=\"html\">\n\t\t<ng-container #demoOutlet></ng-container>\n\t</ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"], dependencies: [{ kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundDemoComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NgDocPlaygroundDemoComponent, isStandalone: true, selector: "ng-doc-playground-demo", inputs: { id: "id", pipeName: "pipeName", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form", expanded: "expanded" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-smooth-resize *ngDocLet=\"code | async as codeContent\" [trigger]=\"codeContent\">\n\t<ng-doc-demo-displayer\n\t\t[code]=\"codeContent ?? ''\"\n\t\t[border]=\"false\"\n\t\t[expanded]=\"expanded\"\n\t\tlanguage=\"html\">\n\t\t<ng-container #demoOutlet></ng-container>\n\t</ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"], dependencies: [{ kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
107
  };
108
108
  NgDocPlaygroundDemoComponent = __decorate([
109
109
  UntilDestroy(),
110
110
  __metadata("design:paramtypes", [Injector])
111
111
  ], NgDocPlaygroundDemoComponent);
112
112
  export { NgDocPlaygroundDemoComponent };
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundDemoComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundDemoComponent, decorators: [{
114
114
  type: Component,
115
115
  args: [{ selector: 'ng-doc-playground-demo', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocDemoDisplayerComponent, AsyncPipe, NgDocSmoothResizeComponent, NgDocLetDirective], template: "<ng-doc-smooth-resize *ngDocLet=\"code | async as codeContent\" [trigger]=\"codeContent\">\n\t<ng-doc-demo-displayer\n\t\t[code]=\"codeContent ?? ''\"\n\t\t[border]=\"false\"\n\t\t[expanded]=\"expanded\"\n\t\tlanguage=\"html\">\n\t\t<ng-container #demoOutlet></ng-container>\n\t</ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"] }]
116
116
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { id: [{
@@ -96,10 +96,10 @@ export class NgDocPlaygroundPropertiesComponent {
96
96
  }
97
97
  return undefined;
98
98
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPlaygroundPropertiesComponent, isStandalone: true, selector: "ng-doc-playground-properties", inputs: { form: "form", properties: "properties", ignoreInputs: "ignoreInputs", dynamicContent: "dynamicContent", defaultValues: "defaultValues", hideSidePanel: "hideSidePanel", recreateDemo: "recreateDemo", showResetButton: "showResetButton" }, outputs: { recreateDemoChange: "recreateDemoChange", resetForm: "resetForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"alert\" (click)=\"resetForm.emit()\" *ngIf=\"showResetButton\">\n\t\t\t\tReset\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\">\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.inputName\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[defaultValue]=\"defaultValues[propertyControl.propertyName]\"\n\t\t\t\t[control]=\"\n\t\t\t\t\tgetFormControl | bind: this | execute: 'properties':propertyControl.propertyName\n\t\t\t\t\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | bind: this | execute: 'content':content.key\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded"] }, { kind: "component", type: NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: ["name", "property", "typeControl", "control", "defaultValue"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: NgDocBindPipe, name: "bind" }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NgDocPlaygroundPropertiesComponent, isStandalone: true, selector: "ng-doc-playground-properties", inputs: { form: "form", properties: "properties", ignoreInputs: "ignoreInputs", dynamicContent: "dynamicContent", defaultValues: "defaultValues", hideSidePanel: "hideSidePanel", recreateDemo: "recreateDemo", showResetButton: "showResetButton" }, outputs: { recreateDemoChange: "recreateDemoChange", resetForm: "resetForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"alert\" (click)=\"resetForm.emit()\" *ngIf=\"showResetButton\">\n\t\t\t\tReset\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\">\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.inputName\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[defaultValue]=\"defaultValues[propertyControl.propertyName]\"\n\t\t\t\t[control]=\"\n\t\t\t\t\tgetFormControl | bind: this | execute: 'properties':propertyControl.propertyName\n\t\t\t\t\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | bind: this | execute: 'content':content.key\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded", "signalInput"] }, { kind: "component", type: NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: ["name", "property", "typeControl", "control", "defaultValue"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: NgDocBindPipe, name: "bind" }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, decorators: [{
103
103
  type: Component,
104
104
  args: [{ selector: 'ng-doc-playground-properties', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
105
105
  NgDocTextComponent,
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
138
138
  }], resetForm: [{
139
139
  type: Output
140
140
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUUsT0FBTyxFQUNOLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FB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c0JBRFgsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBLZXlWYWx1ZVBpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5qZWN0aW9uVG9rZW4sXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0aXNEZXZNb2RlLFxuXHRPbkNoYW5nZXMsXG5cdE91dHB1dCxcblx0U2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzUGxheWdyb3VuZFByb3BlcnR5IH0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQgeyBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFRva2VuRm9yVHlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb3ZpZGVycy90eXBlLWNvbnRyb2wnO1xuaW1wb3J0IHsgZXh0cmFjdFZhbHVlT3JUaHJvdywgaXNQcmVzZW50LCBvYmplY3RLZXlzIH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7XG5cdE5nRG9jUGxheWdyb3VuZENvbnRlbnQsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5LFxufSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuXHROZ0RvY0JpbmRQaXBlLFxuXHROZ0RvY0J1dHRvbkNvbXBvbmVudCxcblx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0TmdEb2NFeGVjdXRlUGlwZSxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY1RleHRDb21wb25lbnQsXG5cdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kRm9ybSB9IGZyb20gJy4uL3BsYXlncm91bmQtZm9ybSc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYXlncm91bmQtcHJvcGVydHkvcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sIH0gZnJvbSAnLi4vcGxheWdyb3VuZC1wcm9wZXJ0eS1jb250cm9sJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcycsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0RvY1RleHRDb21wb25lbnQsXG5cdFx0TmdEb2NCdXR0b25Db21wb25lbnQsXG5cdFx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHRcdE5nSWYsXG5cdFx0TmdGb3IsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb21wb25lbnQsXG5cdFx0QXN5bmNQaXBlLFxuXHRcdEtleVZhbHVlUGlwZSxcblx0XHROZ0RvY0JpbmRQaXBlLFxuXHRcdE5nRG9jRXhlY3V0ZVBpcGUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQ8XG5cdFAgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHRDIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgTmdEb2NQbGF5Z3JvdW5kQ29udGVudD4sXG4+IGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG5cdEBJbnB1dCgpXG5cdGZvcm0hOiBGb3JtR3JvdXA8TmdEb2NQbGF5Z3JvdW5kRm9ybT47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFA7XG5cblx0QElucHV0KClcblx0aWdub3JlSW5wdXRzPzogc3RyaW5nW10gPSBbXTtcblxuXHRASW5wdXQoKVxuXHRkeW5hbWljQ29udGVudD86IEM7XG5cblx0QElucHV0KClcblx0ZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdEBJbnB1dCgpXG5cdGhpZGVTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRzaG93UmVzZXRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRAT3V0cHV0KClcblx0cmVjcmVhdGVEZW1vQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0QE91dHB1dCgpXG5cdHJlc2V0Rm9ybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHJlYWRvbmx5IGJyZWFrcG9pbnRzOiBzdHJpbmdbXSA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xuXHRyZWFkb25seSBvYnNlcnZlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuXHRwcm90ZWN0ZWQgcHJvcGVydHlDb250cm9sczogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sW10gPSBbXTtcblx0cHJvdGVjdGVkIGNvbnRlbnRUeXBlQ29udHJvbD86IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbEZvclR5cGUoJ2Jvb2xlYW4nKTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG5cdFx0cHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG5cdCkge1xuXHRcdHRoaXMub2JzZXJ2ZXIgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxuXHRcdFx0Lm9ic2VydmUodGhpcy5icmVha3BvaW50cylcblx0XHRcdC5waXBlKG1hcCgoc3RhdGU6IEJyZWFrcG9pbnRTdGF0ZSkgPT4gc3RhdGUubWF0Y2hlcykpO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoeyBwcm9wZXJ0aWVzIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAocHJvcGVydGllcyAmJiB0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdHRoaXMucHJvcGVydHlDb250cm9scyA9IG9iamVjdEtleXModGhpcy5wcm9wZXJ0aWVzKVxuXHRcdFx0XHQuZmlsdGVyKChrZXk6IGtleW9mIFApID0+IHRoaXMuaWdub3JlSW5wdXRzPy5pbmNsdWRlcyhTdHJpbmcoa2V5KSkgIT09IHRydWUpXG5cdFx0XHRcdC5tYXAoKGtleToga2V5b2YgUCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSA9IHRoaXMucHJvcGVydGllc1trZXldO1xuXHRcdFx0XHRcdFx0Y29uc3QgdHlwZUNvbnRyb2w6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0VHlwZUNvbnRyb2wocHJvcGVydHkpO1xuXG5cdFx0XHRcdFx0XHRpZiAodHlwZUNvbnRyb2wpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eU5hbWU6IFN0cmluZyhrZXkpLFxuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRcdHR5cGVDb250cm9sLFxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZmlsdGVyKGlzUHJlc2VudClcblx0XHRcdFx0LnNvcnQoKGE6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbCwgYjogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgYU9yZGVyOiBudW1iZXIgfCB1bmRlZmluZWQgPSBhLnR5cGVDb250cm9sLm9wdGlvbnM/Lm9yZGVyO1xuXHRcdFx0XHRcdGNvbnN0IGJPcmRlcjogbnVtYmVyIHwgdW5kZWZpbmVkID0gYi50eXBlQ29udHJvbC5vcHRpb25zPy5vcmRlcjtcblxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYU9yZGVyKSAmJiBpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGFPcmRlciAtIGJPcmRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChhT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gLTE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBhLnByb3BlcnR5LmlucHV0TmFtZS5sb2NhbGVDb21wYXJlKGIucHJvcGVydHkuaW5wdXROYW1lKTtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0Rm9ybUNvbnRyb2woY29udHJvbFR5cGU6IGtleW9mIHR5cGVvZiB0aGlzLmZvcm0uY29udHJvbHMsIGtleTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuXHRcdHJldHVybiB0aGlzLmZvcm0uZ2V0KGNvbnRyb2xUeXBlKT8uZ2V0KGtleSkgYXMgRm9ybUNvbnRyb2w7XG5cdH1cblxuXHRwcml2YXRlIGdldFR5cGVDb250cm9sKHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdHlwZTogc3RyaW5nID0gcHJvcGVydHkudHlwZTtcblx0XHRjb25zdCB0eXBlQ29udHJvbDogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkID1cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGUodHlwZSkgPz9cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGVBbGlhcyhpc1BsYXlncm91bmRQcm9wZXJ0eShwcm9wZXJ0eSkgPyBwcm9wZXJ0eS5vcHRpb25zIDogdW5kZWZpbmVkKTtcblxuXHRcdGlmICghdHlwZUNvbnRyb2wgJiYgaXNEZXZNb2RlKCkpIHtcblx0XHRcdGNvbnNvbGUud2Fybihcblx0XHRcdFx0YE5nRG9jUGxheWdyb3VuZCBkaWRuJ3QgZmluZCB0aGUgY29udHJvbCBmb3IgdGhlIEBJbnB1dCBcIiR7cHJvcGVydHkuaW5wdXROYW1lfVwiLCB0aGUgdHlwZSBcIiR7dHlwZX1cIiB3YXMgbm90IHJlY29nbml6ZWQnYCxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHR5cGVDb250cm9sO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb250cm9sRm9yVHlwZSh0eXBlOiBzdHJpbmcpOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+IHwgdW5kZWZpbmVkID0gZ2V0VG9rZW5Gb3JUeXBlKHR5cGUpO1xuXG5cdFx0cmV0dXJuIHRva2VuID8gdGhpcy5pbmplY3Rvci5nZXQodG9rZW4pIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb250cm9sRm9yVHlwZUFsaWFzKG9wdGlvbnM/OiBzdHJpbmdbXSk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5sZW5ndGgpIHtcblx0XHRcdGxldCBvcHRpb25zSXNWYWxpZDogYm9vbGVhbiA9IHRydWU7XG5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdC8vIGNoZWNraW5nIHRoYXQgYWxsIHZhbHVlcyBhcmUgZXh0cmFjdGFibGVcblx0XHRcdFx0b3B0aW9ucy5mb3JFYWNoKChpdGVtOiBzdHJpbmcpID0+IGV4dHJhY3RWYWx1ZU9yVGhyb3coaXRlbSkpO1xuXHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdG9wdGlvbnNJc1ZhbGlkID0gZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChvcHRpb25zSXNWYWxpZCkge1xuXHRcdFx0XHRjb25zdCB0b2tlbjogSW5qZWN0aW9uVG9rZW48TmdEb2NQcm92aWRlZFR5cGVDb250cm9sPiB8IHVuZGVmaW5lZCA9XG5cdFx0XHRcdFx0Z2V0VG9rZW5Gb3JUeXBlKCdOZ0RvY1R5cGVBbGlhcycpO1xuXG5cdFx0XHRcdHJldHVybiB0b2tlbiA/IHRoaXMuaW5qZWN0b3IuZ2V0KHRva2VuKSA6IHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG59XG4iLCI8ZGl2XG5cdGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcy13cmFwcGVyXCJcblx0W2NsYXNzLnZlcnRpY2FsXT1cIm9ic2VydmVyIHwgYXN5bmNcIlxuXHQqbmdJZj1cImRlZmF1bHRWYWx1ZXNcIj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWRlbW9zXCI+XG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnRpZXNcIiAqbmdJZj1cIiFoaWRlU2lkZVBhbmVsXCI+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWhlYWRlclwiPlxuXHRcdFx0PGg0IG5nLWRvYy10ZXh0PlBsYXlncm91bmQ8L2g0PlxuXHRcdFx0PGJ1dHRvbiBuZy1kb2MtYnV0dG9uIGNvbG9yPVwiYWxlcnRcIiAoY2xpY2spPVwicmVzZXRGb3JtLmVtaXQoKVwiICpuZ0lmPVwic2hvd1Jlc2V0QnV0dG9uXCI+XG5cdFx0XHRcdFJlc2V0XG5cdFx0XHQ8L2J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtc2V0dGluZ1wiPlxuXHRcdFx0PG5nLWRvYy1jaGVja2JveCBbKG5nTW9kZWwpXT1cInJlY3JlYXRlRGVtb1wiIChuZ01vZGVsQ2hhbmdlKT1cInJlY3JlYXRlRGVtb0NoYW5nZS5lbWl0KCRldmVudClcIj5cblx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHRuZy1kb2MtdGV4dFxuXHRcdFx0XHRcdFtuZ0RvY1Rvb2x0aXBdPVwiJ1JlY3JlYXRlcyBkZW1vIGV2ZXJ5dGltZVxcbm9uZSBvZiB0aGUgaW5wdXQgaGFzIGNoYW5nZWQnXCJcblx0XHRcdFx0XHRbcG9zaXRpb25zXT1cIlsnYm90dG9tLXJpZ2h0JywgJ2xlZnQtY2VudGVyJ11cIj5cblx0XHRcdFx0XHRSZWNyZWF0ZVxuXHRcdFx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiaW5mb1wiIG5nRG9jVGV4dFJpZ2h0PjwvbmctZG9jLWljb24+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvbmctZG9jLWNoZWNrYm94PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1kaXZpZGVyXCI+PC9kaXY+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5Q29udHJvbHMubGVuZ3RoXCI+XG5cdFx0XHQ8aDUgY2xhc3M9XCJuZy1kb2MtdGl0bGVcIiBuZy1kb2MtdGV4dD5TZXR0aW5nczwvaDU+XG5cdFx0XHQ8bmctZG9jLXBsYXlncm91bmQtcHJvcGVydHlcblx0XHRcdFx0Km5nRm9yPVwibGV0IHByb3BlcnR5Q29udHJvbCBvZiBwcm9wZXJ0eUNvbnRyb2xzXCJcblx0XHRcdFx0W25hbWVdPVwicHJvcGVydHlDb250cm9sLnByb3BlcnR5LmlucHV0TmFtZVwiXG5cdFx0XHRcdFtwcm9wZXJ0eV09XCJwcm9wZXJ0eUNvbnRyb2wucHJvcGVydHlcIlxuXHRcdFx0XHRbdHlwZUNvbnRyb2xdPVwicHJvcGVydHlDb250cm9sLnR5cGVDb250cm9sXCJcblx0XHRcdFx0W2RlZmF1bHRWYWx1ZV09XCJkZWZhdWx0VmFsdWVzW3Byb3BlcnR5Q29udHJvbC5wcm9wZXJ0eU5hbWVdXCJcblx0XHRcdFx0W2NvbnRyb2xdPVwiXG5cdFx0XHRcdFx0Z2V0Rm9ybUNvbnRyb2wgfCBiaW5kOiB0aGlzIHwgZXhlY3V0ZTogJ3Byb3BlcnRpZXMnOnByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eU5hbWVcblx0XHRcdFx0XCI+XG5cdFx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIihkeW5hbWljQ29udGVudCB8IGtleXZhbHVlKT8ubGVuZ3RoXCI+XG5cdFx0XHQ8aDUgY2xhc3M9XCJuZy1kb2MtdGl0bGVcIiBuZy1kb2MtdGV4dD5Db250ZW50PC9oNT5cblx0XHRcdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eVxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgY29udGVudCBvZiBkeW5hbWljQ29udGVudCB8IGtleXZhbHVlXCJcblx0XHRcdFx0W25hbWVdPVwiY29udGVudC52YWx1ZS5sYWJlbFwiXG5cdFx0XHRcdFtwcm9wZXJ0eV09XCJjb250ZW50LnZhbHVlXCJcblx0XHRcdFx0W3R5cGVDb250cm9sXT1cImNvbnRlbnRUeXBlQ29udHJvbFwiXG5cdFx0XHRcdFtjb250cm9sXT1cImdldEZvcm1Db250cm9sIHwgYmluZDogdGhpcyB8IGV4ZWN1dGU6ICdjb250ZW50Jzpjb250ZW50LmtleVwiPlxuXHRcdFx0PC9uZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eT5cblx0XHQ8L25nLWNvbnRhaW5lcj5cblx0PC9kaXY+XG48L2Rpdj5cbiJdfQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUUsT0FBTyxFQUNOLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FB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c0JBRFgsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBLZXlWYWx1ZVBpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5qZWN0aW9uVG9rZW4sXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0aXNEZXZNb2RlLFxuXHRPbkNoYW5nZXMsXG5cdE91dHB1dCxcblx0U2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzUGxheWdyb3VuZFByb3BlcnR5IH0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQgeyBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFRva2VuRm9yVHlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb3ZpZGVycy90eXBlLWNvbnRyb2wnO1xuaW1wb3J0IHsgZXh0cmFjdFZhbHVlT3JUaHJvdywgaXNQcmVzZW50LCBvYmplY3RLZXlzIH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7XG5cdE5nRG9jUGxheWdyb3VuZENvbnRlbnQsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5LFxufSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuXHROZ0RvY0JpbmRQaXBlLFxuXHROZ0RvY0J1dHRvbkNvbXBvbmVudCxcblx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0TmdEb2NFeGVjdXRlUGlwZSxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY1RleHRDb21wb25lbnQsXG5cdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kRm9ybSB9IGZyb20gJy4uL3BsYXlncm91bmQtZm9ybSc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYXlncm91bmQtcHJvcGVydHkvcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sIH0gZnJvbSAnLi4vcGxheWdyb3VuZC1wcm9wZXJ0eS1jb250cm9sJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcycsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0RvY1RleHRDb21wb25lbnQsXG5cdFx0TmdEb2NCdXR0b25Db21wb25lbnQsXG5cdFx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHRcdE5nSWYsXG5cdFx0TmdGb3IsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb21wb25lbnQsXG5cdFx0QXN5bmNQaXBlLFxuXHRcdEtleVZhbHVlUGlwZSxcblx0XHROZ0RvY0JpbmRQaXBlLFxuXHRcdE5nRG9jRXhlY3V0ZVBpcGUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQ8XG5cdFAgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHRDIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgTmdEb2NQbGF5Z3JvdW5kQ29udGVudD4sXG4+IGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG5cdEBJbnB1dCgpXG5cdGZvcm0hOiBGb3JtR3JvdXA8TmdEb2NQbGF5Z3JvdW5kRm9ybT47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFA7XG5cblx0QElucHV0KClcblx0aWdub3JlSW5wdXRzPzogc3RyaW5nW10gPSBbXTtcblxuXHRASW5wdXQoKVxuXHRkeW5hbWljQ29udGVudD86IEM7XG5cblx0QElucHV0KClcblx0ZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdEBJbnB1dCgpXG5cdGhpZGVTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRzaG93UmVzZXRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRAT3V0cHV0KClcblx0cmVjcmVhdGVEZW1vQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0QE91dHB1dCgpXG5cdHJlc2V0Rm9ybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHJlYWRvbmx5IGJyZWFrcG9pbnRzOiBzdHJpbmdbXSA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xuXHRyZWFkb25seSBvYnNlcnZlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuXHRwcm90ZWN0ZWQgcHJvcGVydHlDb250cm9sczogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sW10gPSBbXTtcblx0cHJvdGVjdGVkIGNvbnRlbnRUeXBlQ29udHJvbD86IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbEZvclR5cGUoJ2Jvb2xlYW4nKTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG5cdFx0cHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG5cdCkge1xuXHRcdHRoaXMub2JzZXJ2ZXIgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxuXHRcdFx0Lm9ic2VydmUodGhpcy5icmVha3BvaW50cylcblx0XHRcdC5waXBlKG1hcCgoc3RhdGU6IEJyZWFrcG9pbnRTdGF0ZSkgPT4gc3RhdGUubWF0Y2hlcykpO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoeyBwcm9wZXJ0aWVzIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAocHJvcGVydGllcyAmJiB0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdHRoaXMucHJvcGVydHlDb250cm9scyA9IG9iamVjdEtleXModGhpcy5wcm9wZXJ0aWVzKVxuXHRcdFx0XHQuZmlsdGVyKChrZXk6IGtleW9mIFApID0+IHRoaXMuaWdub3JlSW5wdXRzPy5pbmNsdWRlcyhTdHJpbmcoa2V5KSkgIT09IHRydWUpXG5cdFx0XHRcdC5tYXAoKGtleToga2V5b2YgUCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSA9IHRoaXMucHJvcGVydGllc1trZXldO1xuXHRcdFx0XHRcdFx0Y29uc3QgdHlwZUNvbnRyb2w6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0VHlwZUNvbnRyb2wocHJvcGVydHkpO1xuXG5cdFx0XHRcdFx0XHRpZiAodHlwZUNvbnRyb2wpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eU5hbWU6IFN0cmluZyhrZXkpLFxuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRcdHR5cGVDb250cm9sLFxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZmlsdGVyKGlzUHJlc2VudClcblx0XHRcdFx0LnNvcnQoKGE6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbCwgYjogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgYU9yZGVyOiBudW1iZXIgfCB1bmRlZmluZWQgPSBhLnR5cGVDb250cm9sLm9wdGlvbnM/Lm9yZGVyO1xuXHRcdFx0XHRcdGNvbnN0IGJPcmRlcjogbnVtYmVyIHwgdW5kZWZpbmVkID0gYi50eXBlQ29udHJvbC5vcHRpb25zPy5vcmRlcjtcblxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYU9yZGVyKSAmJiBpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGFPcmRlciAtIGJPcmRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChhT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gLTE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBhLnByb3BlcnR5LmlucHV0TmFtZS5sb2NhbGVDb21wYXJlKGIucHJvcGVydHkuaW5wdXROYW1lKTtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0Rm9ybUNvbnRyb2woY29udHJvbFR5cGU6IGtleW9mIHR5cGVvZiB0aGlzLmZvcm0uY29udHJvbHMsIGtleTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuXHRcdHJldHVybiB0aGlzLmZvcm0uZ2V0KGNvbnRyb2xUeXBlKT8uZ2V0KGtleSkgYXMgRm9ybUNvbnRyb2w7XG5cdH1cblxuXHRwcml2YXRlIGdldFR5cGVDb250cm9sKHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdHlwZTogc3RyaW5nID0gcHJvcGVydHkudHlwZTtcblx0XHRjb25zdCB0eXBlQ29udHJvbDogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkID1cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGUodHlwZSkgPz9cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGVBbGlhcyhpc1BsYXlncm91bmRQcm9wZXJ0eShwcm9wZXJ0eSkgPyBwcm9wZXJ0eS5vcHRpb25zIDogdW5kZWZpbmVkKTtcblxuXHRcdGlmICghdHlwZUNvbnRyb2wgJiYgaXNEZXZNb2RlKCkpIHtcblx0XHRcdGNvbnNvbGUud2Fybihcblx0XHRcdFx0YE5nRG9jUGxheWdyb3VuZCBkaWRuJ3QgZmluZCB0aGUgY29udHJvbCBmb3IgdGhlIEBJbnB1dCBcIiR7cHJvcGVydHkuaW5wdXROYW1lfVwiLCB0aGUgdHlwZSBcIiR7dHlwZX1cIiB3YXMgbm90IHJlY29nbml6ZWQnYCxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHR5cGVDb250cm9sO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb250cm9sRm9yVHlwZSh0eXBlOiBzdHJpbmcpOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+IHwgdW5kZWZpbmVkID0gZ2V0VG9rZW5Gb3JUeXBlKHR5cGUpO1xuXG5cdFx0cmV0dXJuIHRva2VuID8gdGhpcy5pbmplY3Rvci5nZXQodG9rZW4pIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb250cm9sRm9yVHlwZUFsaWFzKG9wdGlvbnM/OiBzdHJpbmdbXSk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5sZW5ndGgpIHtcblx0XHRcdGxldCBvcHRpb25zSXNWYWxpZDogYm9vbGVhbiA9IHRydWU7XG5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdC8vIGNoZWNraW5nIHRoYXQgYWxsIHZhbHVlcyBhcmUgZXh0cmFjdGFibGVcblx0XHRcdFx0b3B0aW9ucy5mb3JFYWNoKChpdGVtOiBzdHJpbmcpID0+IGV4dHJhY3RWYWx1ZU9yVGhyb3coaXRlbSkpO1xuXHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdG9wdGlvbnNJc1ZhbGlkID0gZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChvcHRpb25zSXNWYWxpZCkge1xuXHRcdFx0XHRjb25zdCB0b2tlbjogSW5qZWN0aW9uVG9rZW48TmdEb2NQcm92aWRlZFR5cGVDb250cm9sPiB8IHVuZGVmaW5lZCA9XG5cdFx0XHRcdFx0Z2V0VG9rZW5Gb3JUeXBlKCdOZ0RvY1R5cGVBbGlhcycpO1xuXG5cdFx0XHRcdHJldHVybiB0b2tlbiA/IHRoaXMuaW5qZWN0b3IuZ2V0KHRva2VuKSA6IHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG59XG4iLCI8ZGl2XG5cdGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcy13cmFwcGVyXCJcblx0W2NsYXNzLnZlcnRpY2FsXT1cIm9ic2VydmVyIHwgYXN5bmNcIlxuXHQqbmdJZj1cImRlZmF1bHRWYWx1ZXNcIj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWRlbW9zXCI+XG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnRpZXNcIiAqbmdJZj1cIiFoaWRlU2lkZVBhbmVsXCI+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWhlYWRlclwiPlxuXHRcdFx0PGg0IG5nLWRvYy10ZXh0PlBsYXlncm91bmQ8L2g0PlxuXHRcdFx0PGJ1dHRvbiBuZy1kb2MtYnV0dG9uIGNvbG9yPVwiYWxlcnRcIiAoY2xpY2spPVwicmVzZXRGb3JtLmVtaXQoKVwiICpuZ0lmPVwic2hvd1Jlc2V0QnV0dG9uXCI+XG5cdFx0XHRcdFJlc2V0XG5cdFx0XHQ8L2J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtc2V0dGluZ1wiPlxuXHRcdFx0PG5nLWRvYy1jaGVja2JveCBbKG5nTW9kZWwpXT1cInJlY3JlYXRlRGVtb1wiIChuZ01vZGVsQ2hhbmdlKT1cInJlY3JlYXRlRGVtb0NoYW5nZS5lbWl0KCRldmVudClcIj5cblx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHRuZy1kb2MtdGV4dFxuXHRcdFx0XHRcdFtuZ0RvY1Rvb2x0aXBdPVwiJ1JlY3JlYXRlcyBkZW1vIGV2ZXJ5dGltZVxcbm9uZSBvZiB0aGUgaW5wdXQgaGFzIGNoYW5nZWQnXCJcblx0XHRcdFx0XHRbcG9zaXRpb25zXT1cIlsnYm90dG9tLXJpZ2h0JywgJ2xlZnQtY2VudGVyJ11cIj5cblx0XHRcdFx0XHRSZWNyZWF0ZVxuXHRcdFx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiaW5mb1wiIG5nRG9jVGV4dFJpZ2h0PjwvbmctZG9jLWljb24+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvbmctZG9jLWNoZWNrYm94PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1kaXZpZGVyXCI+PC9kaXY+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5Q29udHJvbHMubGVuZ3RoXCI+XG5cdFx0XHQ8aDUgY2xhc3M9XCJuZy1kb2MtdGl0bGVcIiBuZy1kb2MtdGV4dD5TZXR0aW5nczwvaDU+XG5cdFx0XHQ8bmctZG9jLXBsYXlncm91bmQtcHJvcGVydHlcblx0XHRcdFx0Km5nRm9yPVwibGV0IHByb3BlcnR5Q29udHJvbCBvZiBwcm9wZXJ0eUNvbnRyb2xzXCJcblx0XHRcdFx0W25hbWVdPVwicHJvcGVydHlDb250cm9sLnByb3BlcnR5LmlucHV0TmFtZVwiXG5cdFx0XHRcdFtwcm9wZXJ0eV09XCJwcm9wZXJ0eUNvbnRyb2wucHJvcGVydHlcIlxuXHRcdFx0XHRbdHlwZUNvbnRyb2xdPVwicHJvcGVydHlDb250cm9sLnR5cGVDb250cm9sXCJcblx0XHRcdFx0W2RlZmF1bHRWYWx1ZV09XCJkZWZhdWx0VmFsdWVzW3Byb3BlcnR5Q29udHJvbC5wcm9wZXJ0eU5hbWVdXCJcblx0XHRcdFx0W2NvbnRyb2xdPVwiXG5cdFx0XHRcdFx0Z2V0Rm9ybUNvbnRyb2wgfCBiaW5kOiB0aGlzIHwgZXhlY3V0ZTogJ3Byb3BlcnRpZXMnOnByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eU5hbWVcblx0XHRcdFx0XCI+XG5cdFx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIihkeW5hbWljQ29udGVudCB8IGtleXZhbHVlKT8ubGVuZ3RoXCI+XG5cdFx0XHQ8aDUgY2xhc3M9XCJuZy1kb2MtdGl0bGVcIiBuZy1kb2MtdGV4dD5Db250ZW50PC9oNT5cblx0XHRcdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eVxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgY29udGVudCBvZiBkeW5hbWljQ29udGVudCB8IGtleXZhbHVlXCJcblx0XHRcdFx0W25hbWVdPVwiY29udGVudC52YWx1ZS5sYWJlbFwiXG5cdFx0XHRcdFtwcm9wZXJ0eV09XCJjb250ZW50LnZhbHVlXCJcblx0XHRcdFx0W3R5cGVDb250cm9sXT1cImNvbnRlbnRUeXBlQ29udHJvbFwiXG5cdFx0XHRcdFtjb250cm9sXT1cImdldEZvcm1Db250cm9sIHwgYmluZDogdGhpcyB8IGV4ZWN1dGU6ICdjb250ZW50Jzpjb250ZW50LmtleVwiPlxuXHRcdFx0PC9uZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eT5cblx0XHQ8L25nLWNvbnRhaW5lcj5cblx0PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -38,10 +38,10 @@ export class NgDocPlaygroundPropertyComponent {
38
38
  ? this.property.description ?? ''
39
39
  : '';
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundPropertyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPlaygroundPropertyComponent, isStandalone: true, selector: "ng-doc-playground-property", inputs: { name: "name", property: "property", typeControl: "typeControl", control: "control", defaultValue: "defaultValue" }, host: { properties: { "attr.data-has-property-control": "this.hasPropertyControl" } }, viewQueries: [{ propertyName: "propertyOutlet", first: true, predicate: ["propertyOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<label [ng-doc-label]=\"option?.hideLabel ? '' : labelContent\">\n\t<ng-template #labelContent>\n\t\t<span\n\t\t\t[ngDocTooltip]=\"tooltipTemplate\"\n\t\t\t[canOpen]=\"!!tooltipContent\"\n\t\t\t[positions]=\"['left-center', 'top-right', 'bottom-right']\"\n\t\t\t>{{ name }}</span\n\t\t>\n\t\t<ng-template #tooltipTemplate>\n\t\t\t<div [innerHTML]=\"tooltipContent | ngDocSanitizeHtml\"></div>\n\t\t</ng-template>\n\t</ng-template>\n\t<ng-container #propertyOutlet></ng-container>\n</label>\n", styles: [":host{display:block}:host[data-has-property-control=false]{display:none}\n"], dependencies: [{ kind: "component", type: NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundPropertyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NgDocPlaygroundPropertyComponent, isStandalone: true, selector: "ng-doc-playground-property", inputs: { name: "name", property: "property", typeControl: "typeControl", control: "control", defaultValue: "defaultValue" }, host: { properties: { "attr.data-has-property-control": "this.hasPropertyControl" } }, viewQueries: [{ propertyName: "propertyOutlet", first: true, predicate: ["propertyOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<label [ng-doc-label]=\"option?.hideLabel ? '' : labelContent\">\n\t<ng-template #labelContent>\n\t\t<span\n\t\t\t[ngDocTooltip]=\"tooltipTemplate\"\n\t\t\t[canOpen]=\"!!tooltipContent\"\n\t\t\t[positions]=\"['left-center', 'top-right', 'bottom-right']\"\n\t\t\t>{{ name }}</span\n\t\t>\n\t\t<ng-template #tooltipTemplate>\n\t\t\t<div [innerHTML]=\"tooltipContent | ngDocSanitizeHtml\"></div>\n\t\t</ng-template>\n\t</ng-template>\n\t<ng-container #propertyOutlet></ng-container>\n</label>\n", styles: [":host{display:block}:host[data-has-property-control=false]{display:none}\n"], dependencies: [{ kind: "component", type: NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundPropertyComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundPropertyComponent, decorators: [{
45
45
  type: Component,
46
46
  args: [{ selector: 'ng-doc-playground-property', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocLabelComponent, NgDocTooltipDirective, NgDocSanitizeHtmlPipe], template: "<label [ng-doc-label]=\"option?.hideLabel ? '' : labelContent\">\n\t<ng-template #labelContent>\n\t\t<span\n\t\t\t[ngDocTooltip]=\"tooltipTemplate\"\n\t\t\t[canOpen]=\"!!tooltipContent\"\n\t\t\t[positions]=\"['left-center', 'top-right', 'bottom-right']\"\n\t\t\t>{{ name }}</span\n\t\t>\n\t\t<ng-template #tooltipTemplate>\n\t\t\t<div [innerHTML]=\"tooltipContent | ngDocSanitizeHtml\"></div>\n\t\t</ng-template>\n\t</ng-template>\n\t<ng-container #propertyOutlet></ng-container>\n</label>\n", styles: [":host{display:block}:host[data-has-property-control=false]{display:none}\n"] }]
47
47
  }], propDecorators: { name: [{
@@ -74,10 +74,10 @@ export class NgDocPlaygroundComponent {
74
74
  content: this.defaultContent,
75
75
  });
76
76
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundComponent, deps: [{ token: i1.NgDocRootPage }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPlaygroundComponent, isStandalone: true, selector: "ng-doc-playground", inputs: { id: "id", pipeName: "pipeName", selectors: "selectors", properties: "properties", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[ignoreInputs]=\"configuration.hiddenInputs\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[showResetButton]=\"!isDefaultState()\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\">\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\">\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\">\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block;margin:var(--ng-doc-playground-margin)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: ["form", "properties", "ignoreInputs", "dynamicContent", "defaultValues", "hideSidePanel", "recreateDemo", "showResetButton"], outputs: ["recreateDemoChange", "resetForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: ["id", "pipeName", "selector", "configuration", "properties", "recreateDemo", "form", "expanded"] }, { kind: "pipe", type: NgDocAsArrayPipe, name: "asArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundComponent, deps: [{ token: i1.NgDocRootPage }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NgDocPlaygroundComponent, isStandalone: true, selector: "ng-doc-playground", inputs: { id: "id", pipeName: "pipeName", selectors: "selectors", properties: "properties", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[ignoreInputs]=\"configuration.hiddenInputs\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[showResetButton]=\"!isDefaultState()\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\">\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\">\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\">\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block;margin:var(--ng-doc-playground-margin)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: ["form", "properties", "ignoreInputs", "dynamicContent", "defaultValues", "hideSidePanel", "recreateDemo", "showResetButton"], outputs: ["recreateDemoChange", "resetForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: ["id", "pipeName", "selector", "configuration", "properties", "recreateDemo", "form", "expanded"] }, { kind: "pipe", type: NgDocAsArrayPipe, name: "asArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPlaygroundComponent, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocPlaygroundComponent, decorators: [{
81
81
  type: Component,
82
82
  args: [{ selector: 'ng-doc-playground', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
83
83
  NgIf,
@@ -24,10 +24,10 @@ import * as i2 from "@tinkoff/ng-polymorpheus";
24
24
  * ```
25
25
  */
26
26
  export class NgDocCustomNavbarDirective {
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocCustomNavbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: NgDocCustomNavbarDirective, isStandalone: true, selector: "[ngDocCustomNavbar]", ngImport: i0 }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocCustomNavbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: NgDocCustomNavbarDirective, isStandalone: true, selector: "[ngDocCustomNavbar]", ngImport: i0 }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocCustomNavbarDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocCustomNavbarDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[ngDocCustomNavbar]',
@@ -48,10 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
48
48
  * ```
49
49
  */
50
50
  export class NgDocCustomSidebarDirective {
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocCustomSidebarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: NgDocCustomSidebarDirective, isStandalone: true, selector: "[ngDocCustomSidebar]", ngImport: i0 }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocCustomSidebarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: NgDocCustomSidebarDirective, isStandalone: true, selector: "[ngDocCustomSidebar]", ngImport: i0 }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocCustomSidebarDirective, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocCustomSidebarDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  selector: '[ngDocCustomSidebar]',
@@ -89,15 +89,15 @@ let NgDocRootComponent = class NgDocRootComponent {
89
89
  hasBackdrop: isMobile,
90
90
  })), delay(0));
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocRootComponent, deps: [{ token: i1.NgDocSidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocRootComponent, isStandalone: true, selector: "ng-doc-root", inputs: { sidebar: "sidebar", footerContent: "footerContent", noWidthLimit: "noWidthLimit" }, host: { properties: { "attr.data-ng-doc-no-width-limit": "this.noWidthLimit" } }, providers: [], viewQueries: [{ propertyName: "sidenav", first: true, predicate: NgDocSidenavComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngDocLet=\"!!(sidebarService.isMobileMode() | async) as isMobileMode\">\n\t<div class=\"ng-doc-root-wrapper\" [class.collapsable]=\"isMobileMode\">\n\t\t<div class=\"ng-doc-header\">\n\t\t\t<ng-content select=\"ng-doc-navbar\"></ng-content>\n\t\t\t<ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n\t\t</div>\n\t\t<main *ngDocLet=\"sidebar && !!(sidebarService.isExpanded() | async) as opened\">\n\t\t\t<ng-doc-sidenav\n\t\t\t\t*ngDocLet=\"sidenavState$ | async as sidenavState\"\n\t\t\t\t[sidebar]=\"sidebarContent\"\n\t\t\t\t[opened]=\"opened\"\n\t\t\t\t[over]=\"sidenavState?.over ?? false\"\n\t\t\t\t[align]=\"sidenavState?.align ?? 'left'\"\n\t\t\t\t[hasBackdrop]=\"sidenavState?.hasBackdrop ?? false\"\n\t\t\t\t(closeEvent)=\"sidebarService.hide()\">\n\t\t\t\t<ng-template #sidebarContent>\n\t\t\t\t\t<ng-content select=\"ng-doc-sidebar\"></ng-content>\n\t\t\t\t\t<ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n\t\t\t\t</ng-template>\n\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-doc-sidenav>\n\t\t</main>\n\t\t<footer *ngIf=\"footerContent\">\n\t\t\t<ng-container *polymorpheusOutlet=\"footerContent as text\"> {{ text }} </ng-container>\n\t\t</footer>\n\t</div>\n</ng-container>\n", styles: [":host[data-ng-doc-no-width-limit=true] .ng-doc-root-wrapper main{max-width:none}:host .ng-doc-root-wrapper{display:flex;flex-direction:column;height:100%}:host .ng-doc-root-wrapper main{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding:var(--ng-doc-main-padding);--ng-doc-sidenav-top: var(--ng-doc-navbar-height);--ng-doc-sidenav-width: var(--ng-doc-sidebar-width);--ng-doc-sidenav-content-padding: var(--ng-doc-page-padding)}:host .ng-doc-root-wrapper footer{margin-top:auto}:host .ng-doc-root-wrapper .ng-doc-header{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}\n"], dependencies: [{ kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "component", type: NgDocSidenavComponent, selector: "ng-doc-sidenav", inputs: ["sidebar", "align", "over", "opened", "hasBackdrop"], outputs: ["openedChange", "closeEvent", "beforeOpen", "beforeClose", "afterOpen", "afterClose"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocRootComponent, deps: [{ token: i1.NgDocSidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NgDocRootComponent, isStandalone: true, selector: "ng-doc-root", inputs: { sidebar: "sidebar", footerContent: "footerContent", noWidthLimit: "noWidthLimit" }, host: { properties: { "attr.data-ng-doc-no-width-limit": "this.noWidthLimit" } }, providers: [], viewQueries: [{ propertyName: "sidenav", first: true, predicate: NgDocSidenavComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngDocLet=\"!!(sidebarService.isMobileMode() | async) as isMobileMode\">\n\t<div class=\"ng-doc-root-wrapper\" [class.collapsable]=\"isMobileMode\">\n\t\t<div class=\"ng-doc-header\">\n\t\t\t<ng-content select=\"ng-doc-navbar\"></ng-content>\n\t\t\t<ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n\t\t</div>\n\t\t<main *ngDocLet=\"sidebar && !!(sidebarService.isExpanded() | async) as opened\">\n\t\t\t<ng-doc-sidenav\n\t\t\t\t*ngDocLet=\"sidenavState$ | async as sidenavState\"\n\t\t\t\t[sidebar]=\"sidebarContent\"\n\t\t\t\t[opened]=\"opened\"\n\t\t\t\t[over]=\"sidenavState?.over ?? false\"\n\t\t\t\t[align]=\"sidenavState?.align ?? 'left'\"\n\t\t\t\t[hasBackdrop]=\"sidenavState?.hasBackdrop ?? false\"\n\t\t\t\t(closeEvent)=\"sidebarService.hide()\">\n\t\t\t\t<ng-template #sidebarContent>\n\t\t\t\t\t<ng-content select=\"ng-doc-sidebar\"></ng-content>\n\t\t\t\t\t<ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n\t\t\t\t</ng-template>\n\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-doc-sidenav>\n\t\t</main>\n\t\t<footer *ngIf=\"footerContent\">\n\t\t\t<ng-container *polymorpheusOutlet=\"footerContent as text\"> {{ text }} </ng-container>\n\t\t</footer>\n\t</div>\n</ng-container>\n", styles: [":host[data-ng-doc-no-width-limit=true] .ng-doc-root-wrapper main{max-width:none}:host .ng-doc-root-wrapper{display:flex;flex-direction:column;height:100%}:host .ng-doc-root-wrapper main{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding:var(--ng-doc-main-padding);--ng-doc-sidenav-top: var(--ng-doc-navbar-height);--ng-doc-sidenav-width: var(--ng-doc-sidebar-width);--ng-doc-sidenav-content-padding: var(--ng-doc-page-padding)}:host .ng-doc-root-wrapper footer{margin-top:auto}:host .ng-doc-root-wrapper .ng-doc-header{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}\n"], dependencies: [{ kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "component", type: NgDocSidenavComponent, selector: "ng-doc-sidenav", inputs: ["sidebar", "align", "over", "opened", "hasBackdrop"], outputs: ["openedChange", "closeEvent", "beforeOpen", "beforeClose", "afterOpen", "afterClose"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
94
  };
95
95
  NgDocRootComponent = __decorate([
96
96
  UntilDestroy(),
97
97
  __metadata("design:paramtypes", [NgDocSidebarService])
98
98
  ], NgDocRootComponent);
99
99
  export { NgDocRootComponent };
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocRootComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocRootComponent, decorators: [{
101
101
  type: Component,
102
102
  args: [{ selector: 'ng-doc-root', providers: [], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocLetDirective, NgDocSidenavComponent, NgIf, PolymorpheusModule, AsyncPipe], template: "<ng-container *ngDocLet=\"!!(sidebarService.isMobileMode() | async) as isMobileMode\">\n\t<div class=\"ng-doc-root-wrapper\" [class.collapsable]=\"isMobileMode\">\n\t\t<div class=\"ng-doc-header\">\n\t\t\t<ng-content select=\"ng-doc-navbar\"></ng-content>\n\t\t\t<ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n\t\t</div>\n\t\t<main *ngDocLet=\"sidebar && !!(sidebarService.isExpanded() | async) as opened\">\n\t\t\t<ng-doc-sidenav\n\t\t\t\t*ngDocLet=\"sidenavState$ | async as sidenavState\"\n\t\t\t\t[sidebar]=\"sidebarContent\"\n\t\t\t\t[opened]=\"opened\"\n\t\t\t\t[over]=\"sidenavState?.over ?? false\"\n\t\t\t\t[align]=\"sidenavState?.align ?? 'left'\"\n\t\t\t\t[hasBackdrop]=\"sidenavState?.hasBackdrop ?? false\"\n\t\t\t\t(closeEvent)=\"sidebarService.hide()\">\n\t\t\t\t<ng-template #sidebarContent>\n\t\t\t\t\t<ng-content select=\"ng-doc-sidebar\"></ng-content>\n\t\t\t\t\t<ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n\t\t\t\t</ng-template>\n\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-doc-sidenav>\n\t\t</main>\n\t\t<footer *ngIf=\"footerContent\">\n\t\t\t<ng-container *polymorpheusOutlet=\"footerContent as text\"> {{ text }} </ng-container>\n\t\t</footer>\n\t</div>\n</ng-container>\n", styles: [":host[data-ng-doc-no-width-limit=true] .ng-doc-root-wrapper main{max-width:none}:host .ng-doc-root-wrapper{display:flex;flex-direction:column;height:100%}:host .ng-doc-root-wrapper main{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding:var(--ng-doc-main-padding);--ng-doc-sidenav-top: var(--ng-doc-navbar-height);--ng-doc-sidenav-width: var(--ng-doc-sidebar-width);--ng-doc-sidenav-content-padding: var(--ng-doc-page-padding)}:host .ng-doc-root-wrapper footer{margin-top:auto}:host .ng-doc-root-wrapper .ng-doc-header{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}\n"] }]
103
103
  }], ctorParameters: () => [{ type: i1.NgDocSidebarService }], propDecorators: { sidebar: [{
@@ -33,13 +33,13 @@ let NgDocSearchComponent = class NgDocSearchComponent {
33
33
  getPositions(key, item) {
34
34
  return item.positions[key] ?? [];
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocSearchComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgDocSearchEngine, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocSearchComponent, isStandalone: true, selector: "ng-doc-search", inputs: { mod: "mod" }, host: { properties: { "attr.data-ng-doc-mod": "this.mod" } }, providers: [
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocSearchComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgDocSearchEngine, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NgDocSearchComponent, isStandalone: true, selector: "ng-doc-search", inputs: { mod: "mod" }, host: { properties: { "attr.data-ng-doc-mod": "this.mod" } }, providers: [
38
38
  {
39
39
  provide: NgDocListHost,
40
40
  useExisting: forwardRef(() => NgDocSearchComponent),
41
41
  },
42
- ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement />\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash' }\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement />\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list\n\t\t\t\t[items]=\"state?.result ?? []\"\n\t\t\t\t[itemContent]=\"itemContent\"\n\t\t\t\t[emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a\n\t\t\t\t\t\tclass=\"ng-doc-search-option\"\n\t\t\t\t\t\t[routerLink]=\"item.index.route\"\n\t\t\t\t\t\t[fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass=\"ng-doc-search-option-breadcrumb-divider\"\n\t\t\t\t\t\t\t\t\t\t*ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | execute: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | execute: 'content':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\"\n\t\t\t\t\t\t\t\t>Please enter your search query\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n", styles: [":host{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-7)}:host[data-ng-doc-mod=input]{width:480px}.ng-doc-search-result-content{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}.ng-doc-search-wrapper{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper ng-doc-input-wrapper{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper .ng-doc-search-result-content{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-6);--ng-doc-tag-color: var(--ng-doc-base-6);--ng-doc-tag-background: transparent}::ng-deep .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:var(--ng-doc-base-gutter);--ng-doc-font-weight: 900}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}.ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty{padding:0 22px}.ng-doc-search-progress{display:flex;align-items:center}.ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\n"], dependencies: [{ kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocDropdownOriginDirective, selector: "[ngDocDropdownOrigin]", exportAs: ["ngDocDropdownOrigin"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocDropdownComponent, selector: "ng-doc-dropdown", inputs: ["content", "origin", "closeIfOutsideClick", "closeIfInnerClick", "withArrow", "borderOffset", "panelClass", "contactBorder", "hasBackdrop", "positions", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgDocFocusCatcherDirective, selector: "[ngDocFocusCatcher]", outputs: ["focusEvent", "blurEvent"], exportAs: ["ngDocFocusCatcher"] }, { kind: "directive", type: NgDocHotkeyDirective, selector: "[ngDocHotkey]", inputs: ["ngDocHotkey"], outputs: ["ngDocHotkey"] }, { kind: "component", type: NgDocTagComponent, selector: "ng-doc-tag", inputs: ["color", "size", "mod"] }, { kind: "component", type: NgDocDataListComponent, selector: "ng-doc-data-list", inputs: ["autofocus", "items", "itemContent", "emptyContent", "itemDisabledFn", "defineValueFn", "trackByFn"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocSpinnerComponent, selector: "ng-doc-spinner", inputs: ["size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: NgDocHighlighterPipe, name: "ngDocHighlighterPipe" }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement />\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash' }\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement />\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list\n\t\t\t\t[items]=\"state?.result ?? []\"\n\t\t\t\t[itemContent]=\"itemContent\"\n\t\t\t\t[emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a\n\t\t\t\t\t\tclass=\"ng-doc-search-option\"\n\t\t\t\t\t\t[routerLink]=\"item.index.route\"\n\t\t\t\t\t\t[fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass=\"ng-doc-search-option-breadcrumb-divider\"\n\t\t\t\t\t\t\t\t\t\t*ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | execute: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | execute: 'content':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\"\n\t\t\t\t\t\t\t\t>Please enter your search query\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n", styles: [":host{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-7)}:host[data-ng-doc-mod=input]{width:480px}.ng-doc-search-result-content{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}.ng-doc-search-wrapper{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper ng-doc-input-wrapper{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper .ng-doc-search-result-content{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-6);--ng-doc-tag-color: var(--ng-doc-base-6);--ng-doc-tag-background: transparent}::ng-deep .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:var(--ng-doc-base-gutter);--ng-doc-font-weight: 900}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}.ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty{padding:0 22px}.ng-doc-search-progress{display:flex;align-items:center}.ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\n"], dependencies: [{ kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocDropdownOriginDirective, selector: "[ngDocDropdownOrigin]", exportAs: ["ngDocDropdownOrigin"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocDropdownComponent, selector: "ng-doc-dropdown", inputs: ["content", "origin", "closeIfOutsideClick", "closeIfInnerClick", "withArrow", "borderOffset", "panelClass", "contactBorder", "hasBackdrop", "positions", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgDocFocusCatcherDirective, selector: "[ngDocFocusCatcher]", outputs: ["focusEvent", "blurEvent"], exportAs: ["ngDocFocusCatcher"] }, { kind: "directive", type: NgDocHotkeyDirective, selector: "[ngDocHotkey]", inputs: ["ngDocHotkey"], outputs: ["ngDocHotkey"] }, { kind: "component", type: NgDocTagComponent, selector: "ng-doc-tag", inputs: ["color", "size", "mod"] }, { kind: "component", type: NgDocDataListComponent, selector: "ng-doc-data-list", inputs: ["autofocus", "items", "itemContent", "emptyContent", "itemDisabledFn", "defineValueFn", "trackByFn"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocSpinnerComponent, selector: "ng-doc-spinner", inputs: ["size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: NgDocHighlighterPipe, name: "ngDocHighlighterPipe" }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  };
44
44
  NgDocSearchComponent = __decorate([
45
45
  UntilDestroy(),
@@ -47,7 +47,7 @@ NgDocSearchComponent = __decorate([
47
47
  NgDocSearchEngine])
48
48
  ], NgDocSearchComponent);
49
49
  export { NgDocSearchComponent };
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocSearchComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NgDocSearchComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'ng-doc-search', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
53
53
  {
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
90
90
  type: ViewChild,
91
91
  args: ['inputElement']
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUNOLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFFcEIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixlQUFlLEdBRWYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxF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d0JBQ2xCLEtBQUs7d0JBQ0wscUJBQXFCO3dCQUNyQixTQUFTO3dCQUNULG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7cUJBQ3JCOzswQkFrQkMsUUFBUTt5Q0FaVixHQUFHO3NCQUZGLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUluQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0Zm9yd2FyZFJlZixcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0Vmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaEVuZ2luZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvc2VhcmNoLWVuZ2luZSc7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaFJlc3VsdCB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmdEb2NTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnQG5nLWRvYy9hcHAvcGlwZXMnO1xuaW1wb3J0IHtcblx0TmdEb2NBdXRvZm9jdXNEaXJlY3RpdmUsXG5cdE5nRG9jQnV0dG9uSWNvbkNvbXBvbmVudCxcblx0TmdEb2NEYXRhTGlzdENvbXBvbmVudCxcblx0TmdEb2NEcm9wZG93bkNvbXBvbmVudCxcblx0TmdEb2NEcm9wZG93bk9yaWdpbkRpcmVjdGl2ZSxcblx0TmdEb2NFeGVjdXRlUGlwZSxcblx0TmdEb2NGb2N1c0NhdGNoZXJEaXJlY3RpdmUsXG5cdE5nRG9jSGlnaGxpZ2h0ZXJQaXBlLFxuXHROZ0RvY0hpZ2hsaWdodFBvc2l0aW9uLFxuXHROZ0RvY0hvdGtleURpcmVjdGl2ZSxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY0lucHV0U3RyaW5nRGlyZWN0aXZlLFxuXHROZ0RvY0lucHV0V3JhcHBlckNvbXBvbmVudCxcblx0TmdEb2NMZXREaXJlY3RpdmUsXG5cdE5nRG9jU3Bpbm5lckNvbXBvbmVudCxcblx0TmdEb2NUYWdDb21wb25lbnQsXG5cdE5nRG9jVGV4dENvbXBvbmVudCxcblx0b2JzZXJ2YWJsZVN0YXRlLFxuXHRTdGF0ZWRPYnNlcnZhYmxlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBOZ0RvY0xpc3RIb3N0IH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY2xhc3Nlcyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgTkVWRVIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXNlYXJjaCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5nRG9jTGlzdEhvc3QsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ0RvY1NlYXJjaENvbXBvbmVudCksXG5cdFx0fSxcblx0XSxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdE5nRG9jTGV0RGlyZWN0aXZlLFxuXHRcdE5nSWYsXG5cdFx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jRHJvcGRvd25PcmlnaW5EaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jRHJvcGRvd25Db21wb25lbnQsXG5cdFx0TmdEb2NJbnB1dFdyYXBwZXJDb21wb25lbnQsXG5cdFx0TmdEb2NJbnB1dFN0cmluZ0RpcmVjdGl2ZSxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY0F1dG9mb2N1c0RpcmVjdGl2ZSxcblx0XHROZ1RlbXBsYXRlT3V0bGV0LFxuXHRcdE5nRG9jRm9jdXNDYXRjaGVyRGlyZWN0aXZlLFxuXHRcdE5nRG9jSG90a2V5RGlyZWN0aXZlLFxuXHRcdE5nRG9jVGFnQ29tcG9uZW50LFxuXHRcdE5nRG9jRGF0YUxpc3RDb21wb25lbnQsXG5cdFx0Um91dGVyTGluayxcblx0XHROZ0RvY1RleHRDb21wb25lbnQsXG5cdFx0TmdGb3IsXG5cdFx0TmdEb2NTcGlubmVyQ29tcG9uZW50LFxuXHRcdEFzeW5jUGlwZSxcblx0XHROZ0RvY0hpZ2hsaWdodGVyUGlwZSxcblx0XHROZ0RvY0V4ZWN1dGVQaXBlLFxuXHRcdE5nRG9jU2FuaXRpemVIdG1sUGlwZSxcblx0XSxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1NlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE5nRG9jTGlzdEhvc3Qge1xuXHRASW5wdXQoKVxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1uZy1kb2MtbW9kJylcblx0bW9kOiAnaW5wdXQnIHwgJ2ljb24nID0gJ2lucHV0JztcblxuXHRAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKVxuXHRpbnB1dEVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHRzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJztcblxuXHRyZWFkb25seSBxdWVyeSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblx0cmVhZG9ubHkgc2VhcmNoJDogU3RhdGVkT2JzZXJ2YWJsZTxOZ0RvY1NlYXJjaFJlc3VsdFtdPjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdEBPcHRpb25hbCgpXG5cdFx0cHJpdmF0ZSByZWFkb25seSBzZWFyY2hFbmdpbmU/OiBOZ0RvY1NlYXJjaEVuZ2luZSxcblx0KSB7XG5cdFx0aWYgKCF0aGlzLnNlYXJjaEVuZ2luZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBOZ0RvYzogU2VhcmNoIGVuZ2luZSBpcyBub3QgcHJvdmlkZWQsXG5cdFx0XHRwbGVhc2UgY2hlY2sgdGhpcyBhcnRpY2xlOiBodHRwczovL25nLWRvYy5jb20vZ2V0dGluZy1zdGFydGVkL2luc3RhbGxhdGlvbiNpbXBvcnRpbmctZ2xvYmFsLW1vZHVsZXNcblx0XHRcdHRvIGxlYXJuIGhvdyB0byBwcm92aWRlIGl0LmApO1xuXHRcdH1cblxuXHRcdHRoaXMuc2VhcmNoJCA9IHRoaXMucXVlcnkkLnBpcGUoXG5cdFx0XHRza2lwKDEpLFxuXHRcdFx0c3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMuc2VhcmNoRW5naW5lPy5zZWFyY2godGVybSkucGlwZShvYnNlcnZhYmxlU3RhdGUoKSkgPz8gTkVWRVIpLFxuXHRcdFx0dW50aWxEZXN0cm95ZWQodGhpcyksXG5cdFx0KTtcblx0fVxuXG5cdGdldCBsaXN0SG9zdE9yaWdpbigpOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB7XG5cdFx0cmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50ID8/IHRoaXMuZWxlbWVudFJlZjtcblx0fVxuXG5cdGdldFBvc2l0aW9uczxUIGV4dGVuZHMgTmdEb2NTZWFyY2hSZXN1bHQsIEsgZXh0ZW5kcyBrZXlvZiBUWydwb3NpdGlvbnMnXT4oXG5cdFx0a2V5OiBLLFxuXHRcdGl0ZW06IFQsXG5cdCk6IE5nRG9jSGlnaGxpZ2h0UG9zaXRpb25bXSB7XG5cdFx0cmV0dXJuIGl0ZW0ucG9zaXRpb25zW2tleV0gPz8gW107XG5cdH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRG9jTGV0PVwic2VhcmNoJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2QgPT09ICdpY29uJzsgZWxzZSBzZWFyY2hJbnB1dFwiPlxuXHRcdDxidXR0b24gbmctZG9jLWJ1dHRvbi1pY29uIHNpemU9XCJsYXJnZVwiIChjbGljayk9XCJpbnB1dERyb3Bkb3duLnRvZ2dsZSgpXCIgbmdEb2NEcm9wZG93bk9yaWdpbj5cblx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwic2VhcmNoXCIgW3NpemVdPVwiMjRcIj48L25nLWRvYy1pY29uPlxuXG5cdFx0XHQ8bmctZG9jLWRyb3Bkb3duXG5cdFx0XHRcdFtjb250ZW50XT1cImRyb3Bkb3duQ29udGVudFwiXG5cdFx0XHRcdHBhbmVsQ2xhc3M9XCJuZy1kb2Mtc2VhcmNoLWRyb3Bkb3duXCJcblx0XHRcdFx0d2lkdGg9XCIxMDAlXCJcblx0XHRcdFx0aGVpZ2h0PVwiODB2aFwiXG5cdFx0XHRcdCNpbnB1dERyb3Bkb3duPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC13cmFwcGVyXCI+XG5cdFx0XHRcdFx0XHQ8bmctZG9jLWlucHV0LXdyYXBwZXIgW2xlZnRDb250ZW50XT1cImxlZnRDb250ZW50XCIgbmdEb2NEcm9wZG93bk9yaWdpbj5cblx0XHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlICNsZWZ0Q29udGVudD5cblx0XHRcdFx0XHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInNlYXJjaFwiPjwvbmctZG9jLWljb24+XG5cdFx0XHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dFxuXHRcdFx0XHRcdFx0XHRcdG5nRG9jSW5wdXRTdHJpbmdcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuXHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInF1ZXJ5JC5uZXh0KCRldmVudClcIlxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCJcblx0XHRcdFx0XHRcdFx0XHRuZ0RvY0F1dG9mb2N1c1xuXHRcdFx0XHRcdFx0XHRcdFtzZWxlY3RBbGxdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0I2lucHV0RWxlbWVudCAvPlxuXHRcdFx0XHRcdFx0PC9uZy1kb2MtaW5wdXQtd3JhcHBlcj5cblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hSZXN1bHRzXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L25nLWRvYy1kcm9wZG93bj5cblx0XHQ8L2J1dHRvbj5cblx0PC9uZy1jb250YWluZXI+XG5cblx0PG5nLXRlbXBsYXRlICNzZWFyY2hJbnB1dD5cblx0XHQ8bmctZG9jLWlucHV0LXdyYXBwZXJcblx0XHRcdFtsZWZ0Q29udGVudF09XCJsZWZ0Q29udGVudFwiXG5cdFx0XHRbcmlnaHRDb250ZW50XT1cInJpZ2h0Q29udGVudFwiXG5cdFx0XHRuZ0RvY0Ryb3Bkb3duT3JpZ2luXG5cdFx0XHRuZ0RvY0ZvY3VzQ2F0Y2hlclxuXHRcdFx0KGZvY3VzRXZlbnQpPVwiaW5wdXRFbGVtZW50LnZhbHVlID8gZHJvcGRvd24ub3BlbigpIDogbnVsbFwiXG5cdFx0XHQoY2xpY2spPVwiaW5wdXRFbGVtZW50LnZhbHVlID8gZHJvcGRvd24ub3BlbigpIDogbnVsbFwiXG5cdFx0XHQjaW5wdXQ+XG5cdFx0XHQ8bmctdGVtcGxhdGUgI2xlZnRDb250ZW50PlxuXHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInNlYXJjaFwiPjwvbmctZG9jLWljb24+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PGlucHV0XG5cdFx0XHRcdG5nRG9jSW5wdXRTdHJpbmdcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcblx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwicXVlcnkkLm5leHQoJGV2ZW50KTsgZHJvcGRvd24ub3BlbigpXCJcblx0XHRcdFx0cGxhY2Vob2xkZXI9XCJTZWFyY2guLi5cIlxuXHRcdFx0XHRbbmdEb2NIb3RrZXldPVwieyBjdHJsS2V5OiBmYWxzZSwgYWx0S2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlLCBjb2RlOiAnU2xhc2gnIH1cIlxuXHRcdFx0XHQobmdEb2NIb3RrZXkpPVwiaW5wdXRFbGVtZW50LmZvY3VzKCk7IGlucHV0RWxlbWVudC5zZWxlY3QoKVwiXG5cdFx0XHRcdCNpbnB1dEVsZW1lbnQgLz5cblx0XHRcdDxuZy10ZW1wbGF0ZSAjcmlnaHRDb250ZW50PlxuXHRcdFx0XHQ8bmctZG9jLXRhZyBjbGFzcz1cInNlYXJjaC1ob3RrZXlcIj4vPC9uZy1kb2MtdGFnPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy1kb2MtZHJvcGRvd25cblx0XHRcdFx0W2NvbnRlbnRdPVwic2VhcmNoUmVzdWx0c1wiXG5cdFx0XHRcdHBvc2l0aW9ucz1cImJvdHRvbS1yaWdodFwiXG5cdFx0XHRcdFt3aWR0aF09XCJpbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcIlxuXHRcdFx0XHRtYXhIZWlnaHQ9XCJjYWxjKDk1dmggLSB2YXIoLS1uZy1kb2MtbmF2YmFyLWhlaWdodClcIlxuXHRcdFx0XHQjZHJvcGRvd24+XG5cdFx0XHRcdDxcblx0XHRcdDwvbmctZG9jLWRyb3Bkb3duPlxuXHRcdDwvbmctZG9jLWlucHV0LXdyYXBwZXI+XG5cdDwvbmctdGVtcGxhdGU+XG5cblx0PG5nLXRlbXBsYXRlICNzZWFyY2hSZXN1bHRzPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLXJlc3VsdC1jb250ZW50XCIgW2F0dHIuZGF0YS1uZy1kb2MtbW9kXT1cIm1vZFwiPlxuXHRcdFx0PG5nLWRvYy1kYXRhLWxpc3Rcblx0XHRcdFx0W2l0ZW1zXT1cInN0YXRlPy5yZXN1bHQgPz8gW11cIlxuXHRcdFx0XHRbaXRlbUNvbnRlbnRdPVwiaXRlbUNvbnRlbnRcIlxuXHRcdFx0XHRbZW1wdHlDb250ZW50XT1cImVtcHR5Q29udGVudFwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgbGV0LWl0ZW0gI2l0ZW1Db250ZW50PlxuXHRcdFx0XHRcdDxhXG5cdFx0XHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1zZWFyY2gtb3B0aW9uXCJcblx0XHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIml0ZW0uaW5kZXgucm91dGVcIlxuXHRcdFx0XHRcdFx0W2ZyYWdtZW50XT1cIml0ZW0uaW5kZXguZnJhZ21lbnRcIj5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLW9wdGlvbi1oZWFkZXJcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWRvYy10YWcgc2l6ZT1cInNtYWxsXCIgW2F0dHIuZGF0YS1uZy1kb2MtcGFnZS10eXBlXT1cIml0ZW0uaW5kZXgucGFnZVR5cGVcIj5cblx0XHRcdFx0XHRcdFx0XHR7eyBpdGVtLmluZGV4LnBhZ2VUeXBlIH19XG5cdFx0XHRcdFx0XHRcdDwvbmctZG9jLXRhZz5cblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLW9wdGlvbi1icmVhZGNydW1ic1wiIG5nLWRvYy10ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJyZWFkY3J1bSBvZiBpdGVtLmluZGV4LmJyZWFkY3J1bWJzOyBsZXQgaSA9IGluZGV4XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3Bhbj57eyBicmVhZGNydW0gfX08L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1zZWFyY2gtb3B0aW9uLWJyZWFkY3J1bWItZGl2aWRlclwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCpuZ0lmPVwiaSAhPT0gaXRlbS5pbmRleC5icmVhZGNydW1icy5sZW5ndGggLSAxXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Pi88L3NwYW5cblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8aDVcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJuZy1kb2Mtc2VhcmNoLXNlY3Rpb24tdGl0bGVcIlxuXHRcdFx0XHRcdFx0XHRuZy1kb2MtdGV4dFxuXHRcdFx0XHRcdFx0XHRbaW5uZXJIVE1MXT1cIlxuXHRcdFx0XHRcdFx0XHRcdChpdGVtLmluZGV4LnNlY3Rpb25cblx0XHRcdFx0XHRcdFx0XHRcdHwgbmdEb2NIaWdobGlnaHRlclBpcGU6IChnZXRQb3NpdGlvbnMgfCBleGVjdXRlOiAnc2VjdGlvbic6aXRlbSlcblx0XHRcdFx0XHRcdFx0XHRcdHwgbmdEb2NTYW5pdGl6ZUh0bWwpIHx8IGl0ZW0uaW5kZXgudGl0bGVcblx0XHRcdFx0XHRcdFx0XCI+PC9oNT5cblx0XHRcdFx0XHRcdDxkaXZcblx0XHRcdFx0XHRcdFx0Km5nSWY9XCJpdGVtLmluZGV4LmNvbnRlbnRcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1zZWFyY2gtY29udGVudFwiXG5cdFx0XHRcdFx0XHRcdFtpbm5lckhUTUxdPVwiXG5cdFx0XHRcdFx0XHRcdFx0aXRlbS5pbmRleC5jb250ZW50XG5cdFx0XHRcdFx0XHRcdFx0XHR8IG5nRG9jSGlnaGxpZ2h0ZXJQaXBlOiAoZ2V0UG9zaXRpb25zIHwgZXhlY3V0ZTogJ2NvbnRlbnQnOml0ZW0pXG5cdFx0XHRcdFx0XHRcdFx0XHR8IG5nRG9jU2FuaXRpemVIdG1sXG5cdFx0XHRcdFx0XHRcdFwiXG5cdFx0XHRcdFx0XHRcdG5nLWRvYy10ZXh0PjwvZGl2PlxuXHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PG5nLXRlbXBsYXRlICNlbXB0eUNvbnRlbnQ+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZT8ucGVuZGluZ1wiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtZW1wdHlcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5JC52YWx1ZS5sZW5ndGhcIj5Ob3RoaW5nIGZvdW5kPC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhcXVlcnkkLnZhbHVlLmxlbmd0aFwiXG5cdFx0XHRcdFx0XHRcdFx0PlBsZWFzZSBlbnRlciB5b3VyIHNlYXJjaCBxdWVyeVxuXHRcdFx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZT8ucGVuZGluZ1wiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtcHJvZ3Jlc3NcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWRvYy1zcGlubmVyIHNpemU9XCJzbWFsbFwiPjwvbmctZG9jLXNwaW5uZXI+XG5cdFx0XHRcdFx0XHRcdFNlYXJjaGluZy4uLlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L25nLWRvYy1kYXRhLWxpc3Q+XG5cdFx0PC9kaXY+XG5cdDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUNOLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFFcEIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixlQUFlLEdBRWYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxF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d0JBQ2xCLEtBQUs7d0JBQ0wscUJBQXFCO3dCQUNyQixTQUFTO3dCQUNULG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7cUJBQ3JCOzswQkFrQkMsUUFBUTt5Q0FaVixHQUFHO3NCQUZGLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUluQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0Zm9yd2FyZFJlZixcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0Vmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaEVuZ2luZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvc2VhcmNoLWVuZ2luZSc7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaFJlc3VsdCB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmdEb2NTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnQG5nLWRvYy9hcHAvcGlwZXMnO1xuaW1wb3J0IHtcblx0TmdEb2NBdXRvZm9jdXNEaXJlY3RpdmUsXG5cdE5nRG9jQnV0dG9uSWNvbkNvbXBvbmVudCxcblx0TmdEb2NEYXRhTGlzdENvbXBvbmVudCxcblx0TmdEb2NEcm9wZG93bkNvbXBvbmVudCxcblx0TmdEb2NEcm9wZG93bk9yaWdpbkRpcmVjdGl2ZSxcblx0TmdEb2NFeGVjdXRlUGlwZSxcblx0TmdEb2NGb2N1c0NhdGNoZXJEaXJlY3RpdmUsXG5cdE5nRG9jSGlnaGxpZ2h0ZXJQaXBlLFxuXHROZ0RvY0hpZ2hsaWdodFBvc2l0aW9uLFxuXHROZ0RvY0hvdGtleURpcmVjdGl2ZSxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY0lucHV0U3RyaW5nRGlyZWN0aXZlLFxuXHROZ0RvY0lucHV0V3JhcHBlckNvbXBvbmVudCxcblx0TmdEb2NMZXREaXJlY3RpdmUsXG5cdE5nRG9jU3Bpbm5lckNvbXBvbmVudCxcblx0TmdEb2NUYWdDb21wb25lbnQsXG5cdE5nRG9jVGV4dENvbXBvbmVudCxcblx0b2JzZXJ2YWJsZVN0YXRlLFxuXHRTdGF0ZWRPYnNlcnZhYmxlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBOZ0RvY0xpc3RIb3N0IH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY2xhc3Nlcyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgTkVWRVIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXNlYXJjaCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5nRG9jTGlzdEhvc3QsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ0RvY1NlYXJjaENvbXBvbmVudCksXG5cdFx0fSxcblx0XSxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdE5nRG9jTGV0RGlyZWN0aXZlLFxuXHRcdE5nSWYsXG5cdFx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jRHJvcGRvd25PcmlnaW5EaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jRHJvcGRvd25Db21wb25lbnQsXG5cdFx0TmdEb2NJbnB1dFdyYXBwZXJDb21wb25lbnQsXG5cdFx0TmdEb2NJbnB1dFN0cmluZ0RpcmVjdGl2ZSxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY0F1dG9mb2N1c0RpcmVjdGl2ZSxcblx0XHROZ1RlbXBsYXRlT3V0bGV0LFxuXHRcdE5nRG9jRm9jdXNDYXRjaGVyRGlyZWN0aXZlLFxuXHRcdE5nRG9jSG90a2V5RGlyZWN0aXZlLFxuXHRcdE5nRG9jVGFnQ29tcG9uZW50LFxuXHRcdE5nRG9jRGF0YUxpc3RDb21wb25lbnQsXG5cdFx0Um91dGVyTGluayxcblx0XHROZ0RvY1RleHRDb21wb25lbnQsXG5cdFx0TmdGb3IsXG5cdFx0TmdEb2NTcGlubmVyQ29tcG9uZW50LFxuXHRcdEFzeW5jUGlwZSxcblx0XHROZ0RvY0hpZ2hsaWdodGVyUGlwZSxcblx0XHROZ0RvY0V4ZWN1dGVQaXBlLFxuXHRcdE5nRG9jU2FuaXRpemVIdG1sUGlwZSxcblx0XSxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1NlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE5nRG9jTGlzdEhvc3Qge1xuXHRASW5wdXQoKVxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1uZy1kb2MtbW9kJylcblx0bW9kOiAnaW5wdXQnIHwgJ2ljb24nID0gJ2lucHV0JztcblxuXHRAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKVxuXHRpbnB1dEVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHRzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJztcblxuXHRyZWFkb25seSBxdWVyeSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblx0cmVhZG9ubHkgc2VhcmNoJDogU3RhdGVkT2JzZXJ2YWJsZTxOZ0RvY1NlYXJjaFJlc3VsdFtdPjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdEBPcHRpb25hbCgpXG5cdFx0cHJpdmF0ZSByZWFkb25seSBzZWFyY2hFbmdpbmU/OiBOZ0RvY1NlYXJjaEVuZ2luZSxcblx0KSB7XG5cdFx0aWYgKCF0aGlzLnNlYXJjaEVuZ2luZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBOZ0RvYzogU2VhcmNoIGVuZ2luZSBpcyBub3QgcHJvdmlkZWQsXG5cdFx0XHRwbGVhc2UgY2hlY2sgdGhpcyBhcnRpY2xlOiBodHRwczovL25nLWRvYy5jb20vZ2V0dGluZy1zdGFydGVkL2luc3RhbGxhdGlvbiNpbXBvcnRpbmctZ2xvYmFsLW1vZHVsZXNcblx0XHRcdHRvIGxlYXJuIGhvdyB0byBwcm92aWRlIGl0LmApO1xuXHRcdH1cblxuXHRcdHRoaXMuc2VhcmNoJCA9IHRoaXMucXVlcnkkLnBpcGUoXG5cdFx0XHRza2lwKDEpLFxuXHRcdFx0c3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMuc2VhcmNoRW5naW5lPy5zZWFyY2godGVybSkucGlwZShvYnNlcnZhYmxlU3RhdGUoKSkgPz8gTkVWRVIpLFxuXHRcdFx0dW50aWxEZXN0cm95ZWQodGhpcyksXG5cdFx0KTtcblx0fVxuXG5cdGdldCBsaXN0SG9zdE9yaWdpbigpOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB7XG5cdFx0cmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50ID8/IHRoaXMuZWxlbWVudFJlZjtcblx0fVxuXG5cdGdldFBvc2l0aW9uczxUIGV4dGVuZHMgTmdEb2NTZWFyY2hSZXN1bHQsIEsgZXh0ZW5kcyBrZXlvZiBUWydwb3NpdGlvbnMnXT4oXG5cdFx0a2V5OiBLLFxuXHRcdGl0ZW06IFQsXG5cdCk6IE5nRG9jSGlnaGxpZ2h0UG9zaXRpb25bXSB7XG5cdFx0cmV0dXJuIGl0ZW0ucG9zaXRpb25zW2tleV0gPz8gW107XG5cdH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRG9jTGV0PVwic2VhcmNoJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2QgPT09ICdpY29uJzsgZWxzZSBzZWFyY2hJbnB1dFwiPlxuXHRcdDxidXR0b24gbmctZG9jLWJ1dHRvbi1pY29uIHNpemU9XCJsYXJnZVwiIChjbGljayk9XCJpbnB1dERyb3Bkb3duLnRvZ2dsZSgpXCIgbmdEb2NEcm9wZG93bk9yaWdpbj5cblx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwic2VhcmNoXCIgW3NpemVdPVwiMjRcIj48L25nLWRvYy1pY29uPlxuXG5cdFx0XHQ8bmctZG9jLWRyb3Bkb3duXG5cdFx0XHRcdFtjb250ZW50XT1cImRyb3Bkb3duQ29udGVudFwiXG5cdFx0XHRcdHBhbmVsQ2xhc3M9XCJuZy1kb2Mtc2VhcmNoLWRyb3Bkb3duXCJcblx0XHRcdFx0d2lkdGg9XCIxMDAlXCJcblx0XHRcdFx0aGVpZ2h0PVwiODB2aFwiXG5cdFx0XHRcdCNpbnB1dERyb3Bkb3duPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC13cmFwcGVyXCI+XG5cdFx0XHRcdFx0XHQ8bmctZG9jLWlucHV0LXdyYXBwZXIgW2xlZnRDb250ZW50XT1cImxlZnRDb250ZW50XCIgbmdEb2NEcm9wZG93bk9yaWdpbj5cblx0XHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlICNsZWZ0Q29udGVudD5cblx0XHRcdFx0XHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInNlYXJjaFwiPjwvbmctZG9jLWljb24+XG5cdFx0XHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dFxuXHRcdFx0XHRcdFx0XHRcdG5nRG9jSW5wdXRTdHJpbmdcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuXHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInF1ZXJ5JC5uZXh0KCRldmVudClcIlxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCJcblx0XHRcdFx0XHRcdFx0XHRuZ0RvY0F1dG9mb2N1c1xuXHRcdFx0XHRcdFx0XHRcdFtzZWxlY3RBbGxdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0I2lucHV0RWxlbWVudCAvPlxuXHRcdFx0XHRcdFx0PC9uZy1kb2MtaW5wdXQtd3JhcHBlcj5cblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hSZXN1bHRzXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L25nLWRvYy1kcm9wZG93bj5cblx0XHQ8L2J1dHRvbj5cblx0PC9uZy1jb250YWluZXI+XG5cblx0PG5nLXRlbXBsYXRlICNzZWFyY2hJbnB1dD5cblx0XHQ8bmctZG9jLWlucHV0LXdyYXBwZXJcblx0XHRcdFtsZWZ0Q29udGVudF09XCJsZWZ0Q29udGVudFwiXG5cdFx0XHRbcmlnaHRDb250ZW50XT1cInJpZ2h0Q29udGVudFwiXG5cdFx0XHRuZ0RvY0Ryb3Bkb3duT3JpZ2luXG5cdFx0XHRuZ0RvY0ZvY3VzQ2F0Y2hlclxuXHRcdFx0KGZvY3VzRXZlbnQpPVwiaW5wdXRFbGVtZW50LnZhbHVlID8gZHJvcGRvd24ub3BlbigpIDogbnVsbFwiXG5cdFx0XHQoY2xpY2spPVwiaW5wdXRFbGVtZW50LnZhbHVlID8gZHJvcGRvd24ub3BlbigpIDogbnVsbFwiXG5cdFx0XHQjaW5wdXQ+XG5cdFx0XHQ8bmctdGVtcGxhdGUgI2xlZnRDb250ZW50PlxuXHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInNlYXJjaFwiPjwvbmctZG9jLWljb24+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PGlucHV0XG5cdFx0XHRcdG5nRG9jSW5wdXRTdHJpbmdcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcblx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwicXVlcnkkLm5leHQoJGV2ZW50KTsgZHJvcGRvd24ub3BlbigpXCJcblx0XHRcdFx0cGxhY2Vob2xkZXI9XCJTZWFyY2guLi5cIlxuXHRcdFx0XHRbbmdEb2NIb3RrZXldPVwieyBjdHJsS2V5OiBmYWxzZSwgYWx0S2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlLCBjb2RlOiAnU2xhc2gnIH1cIlxuXHRcdFx0XHQobmdEb2NIb3RrZXkpPVwiaW5wdXRFbGVtZW50LmZvY3VzKCk7IGlucHV0RWxlbWVudC5zZWxlY3QoKVwiXG5cdFx0XHRcdCNpbnB1dEVsZW1lbnQgLz5cblx0XHRcdDxuZy10ZW1wbGF0ZSAjcmlnaHRDb250ZW50PlxuXHRcdFx0XHQ8bmctZG9jLXRhZyBjbGFzcz1cInNlYXJjaC1ob3RrZXlcIj4vPC9uZy1kb2MtdGFnPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy1kb2MtZHJvcGRvd25cblx0XHRcdFx0W2NvbnRlbnRdPVwic2VhcmNoUmVzdWx0c1wiXG5cdFx0XHRcdHBvc2l0aW9ucz1cImJvdHRvbS1yaWdodFwiXG5cdFx0XHRcdFt3aWR0aF09XCJpbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcIlxuXHRcdFx0XHRtYXhIZWlnaHQ9XCJjYWxjKDk1dmggLSB2YXIoLS1uZy1kb2MtbmF2YmFyLWhlaWdodClcIlxuXHRcdFx0XHQjZHJvcGRvd24+XG5cdFx0XHRcdDxcblx0XHRcdDwvbmctZG9jLWRyb3Bkb3duPlxuXHRcdDwvbmctZG9jLWlucHV0LXdyYXBwZXI+XG5cdDwvbmctdGVtcGxhdGU+XG5cblx0PG5nLXRlbXBsYXRlICNzZWFyY2hSZXN1bHRzPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLXJlc3VsdC1jb250ZW50XCIgW2F0dHIuZGF0YS1uZy1kb2MtbW9kXT1cIm1vZFwiPlxuXHRcdFx0PG5nLWRvYy1kYXRhLWxpc3Rcblx0XHRcdFx0W2l0ZW1zXT1cInN0YXRlPy5yZXN1bHQgPz8gW11cIlxuXHRcdFx0XHRbaXRlbUNvbnRlbnRdPVwiaXRlbUNvbnRlbnRcIlxuXHRcdFx0XHRbZW1wdHlDb250ZW50XT1cImVtcHR5Q29udGVudFwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgbGV0LWl0ZW0gI2l0ZW1Db250ZW50PlxuXHRcdFx0XHRcdDxhXG5cdFx0XHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1zZWFyY2gtb3B0aW9uXCJcblx0XHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIml0ZW0uaW5kZXgucm91dGVcIlxuXHRcdFx0XHRcdFx0W2ZyYWdtZW50XT1cIml0ZW0uaW5kZXguZnJhZ21lbnRcIj5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLW9wdGlvbi1oZWFkZXJcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWRvYy10YWcgc2l6ZT1cInNtYWxsXCIgW2F0dHIuZGF0YS1uZy1kb2MtcGFnZS10eXBlXT1cIml0ZW0uaW5kZXgucGFnZVR5cGVcIj5cblx0XHRcdFx0XHRcdFx0XHR7eyBpdGVtLmluZGV4LnBhZ2VUeXBlIH19XG5cdFx0XHRcdFx0XHRcdDwvbmctZG9jLXRhZz5cblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLW9wdGlvbi1icmVhZGNydW1ic1wiIG5nLWRvYy10ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJyZWFkY3J1bSBvZiBpdGVtLmluZGV4LmJyZWFkY3J1bWJzOyBsZXQgaSA9IGluZGV4XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3Bhbj57eyBicmVhZGNydW0gfX08L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1zZWFyY2gtb3B0aW9uLWJyZWFkY3J1bWItZGl2aWRlclwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCpuZ0lmPVwiaSAhPT0gaXRlbS5pbmRleC5icmVhZGNydW1icy5sZW5ndGggLSAxXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Pi88L3NwYW5cblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8aDVcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJuZy1kb2Mtc2VhcmNoLXNlY3Rpb24tdGl0bGVcIlxuXHRcdFx0XHRcdFx0XHRuZy1kb2MtdGV4dFxuXHRcdFx0XHRcdFx0XHRbaW5uZXJIVE1MXT1cIlxuXHRcdFx0XHRcdFx0XHRcdChpdGVtLmluZGV4LnNlY3Rpb25cblx0XHRcdFx0XHRcdFx0XHRcdHwgbmdEb2NIaWdobGlnaHRlclBpcGU6IChnZXRQb3NpdGlvbnMgfCBleGVjdXRlOiAnc2VjdGlvbic6aXRlbSlcblx0XHRcdFx0XHRcdFx0XHRcdHwgbmdEb2NTYW5pdGl6ZUh0bWwpIHx8IGl0ZW0uaW5kZXgudGl0bGVcblx0XHRcdFx0XHRcdFx0XCI+PC9oNT5cblx0XHRcdFx0XHRcdDxkaXZcblx0XHRcdFx0XHRcdFx0Km5nSWY9XCJpdGVtLmluZGV4LmNvbnRlbnRcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1zZWFyY2gtY29udGVudFwiXG5cdFx0XHRcdFx0XHRcdFtpbm5lckhUTUxdPVwiXG5cdFx0XHRcdFx0XHRcdFx0aXRlbS5pbmRleC5jb250ZW50XG5cdFx0XHRcdFx0XHRcdFx0XHR8IG5nRG9jSGlnaGxpZ2h0ZXJQaXBlOiAoZ2V0UG9zaXRpb25zIHwgZXhlY3V0ZTogJ2NvbnRlbnQnOml0ZW0pXG5cdFx0XHRcdFx0XHRcdFx0XHR8IG5nRG9jU2FuaXRpemVIdG1sXG5cdFx0XHRcdFx0XHRcdFwiXG5cdFx0XHRcdFx0XHRcdG5nLWRvYy10ZXh0PjwvZGl2PlxuXHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PG5nLXRlbXBsYXRlICNlbXB0eUNvbnRlbnQ+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZT8ucGVuZGluZ1wiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtZW1wdHlcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5JC52YWx1ZS5sZW5ndGhcIj5Ob3RoaW5nIGZvdW5kPC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhcXVlcnkkLnZhbHVlLmxlbmd0aFwiXG5cdFx0XHRcdFx0XHRcdFx0PlBsZWFzZSBlbnRlciB5b3VyIHNlYXJjaCBxdWVyeVxuXHRcdFx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZT8ucGVuZGluZ1wiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtcHJvZ3Jlc3NcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWRvYy1zcGlubmVyIHNpemU9XCJzbWFsbFwiPjwvbmctZG9jLXNwaW5uZXI+XG5cdFx0XHRcdFx0XHRcdFNlYXJjaGluZy4uLlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L25nLWRvYy1kYXRhLWxpc3Q+XG5cdFx0PC9kaXY+XG5cdDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==