@taiga-ui/addon-doc 4.68.0 → 4.69.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.
|
@@ -38,7 +38,7 @@ class TuiDocPage {
|
|
|
38
38
|
return !!this.seeAlso.length && this.activeItemIndex === 0;
|
|
39
39
|
}
|
|
40
40
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocPage, isStandalone: true, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", tags: "tags", path: "path", deprecated: "deprecated" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnector }], ngImport: i0, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocPage, isStandalone: true, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", tags: "tags", path: "path", deprecated: "deprecated" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnector }], ngImport: i0, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:right;margin:0 0 1rem;margin-inline-start:1.5rem}@supports (float: inline-end){.t-see-also{float:inline-end}}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-right-side{display:flex;gap:1rem;align-items:center;align-self:center;margin-inline-start:auto}.t-source-code{block-size:3.125rem}\n"], dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: TuiAutoColorPipe, name: "tuiAutoColor" }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "component", type: TuiDocLanguageSwitcher, selector: "tui-doc-language-switcher" }, { kind: "component", type: TuiDocSeeAlso, selector: "tui-doc-see-also", inputs: ["seeAlso"] }, { kind: "component", type: TuiDocSourceCode, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { kind: "pipe", type: TuiReplacePipe, name: "tuiReplace" }, { kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "directive", type: i2.TuiTab, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "component", type: i2.TuiTabsWithMore, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["size", "moreContent", "dropdownContent", "underline", "itemsLimit", "activeItemIndex"], outputs: ["activeItemIndexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
42
42
|
}
|
|
43
43
|
export { TuiDocPage };
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocPage, decorators: [{
|
|
@@ -58,7 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
58
58
|
TuiDocSourceCode,
|
|
59
59
|
TuiReplacePipe,
|
|
60
60
|
TuiTabs,
|
|
61
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, providers: PAGE_PROVIDERS, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:
|
|
61
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: PAGE_PROVIDERS, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:right;margin:0 0 1rem;margin-inline-start:1.5rem}@supports (float: inline-end){.t-see-also{float:inline-end}}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-right-side{display:flex;gap:1rem;align-items:center;align-self:center;margin-inline-start:auto}.t-source-code{block-size:3.125rem}\n"] }]
|
|
62
62
|
}], propDecorators: { header: [{
|
|
63
63
|
type: Input
|
|
64
64
|
}], package: [{
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
75
75
|
type: ContentChildren,
|
|
76
76
|
args: [TuiDocPageTabConnector]
|
|
77
77
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvcGFnZS9wYWdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFDSCxjQUFjLEVBQ2QsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixZQUFZLEdBRWYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUU1RCxNQXdCYSxVQUFVO0lBeEJ2QjtRQXlCdUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELG9CQUFlLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbkQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osT0FBRSxHQUFHLEdBQUcsQ0FBQztRQUdyQixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFHN0IsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRy9CLFNBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUd6QixTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFHekIsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBR3pCLGVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUc1QixrQkFBYSxHQUFzQyxXQUFXLENBQUM7UUFFeEUsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBS25EO0lBSEcsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7K0dBbENRLFVBQVU7bUdBQVYsVUFBVSxpTEFGUixjQUFjLHdEQTRCUixzQkFBc0IsNkJDaEYzQyxrL0ZBaUdBLHMvQ0QvRFEsWUFBWSxpREFDWixPQUFPLG1IQUNQLElBQUksNkZBQ0osZ0JBQWdCLG9KQUNoQixrQkFBa0IsOEhBQ2xCLFVBQVUsNE5BQ1YsZ0JBQWdCLHlNQUNoQixnQkFBZ0IscURBQ2hCLE9BQU8saUZBQ1Asc0JBQXNCLHNFQUN0QixhQUFhLGtGQUNiLGdCQUFnQiwwR0FDaEIsY0FBYzs7U0FRVCxVQUFVOzRGQUFWLFVBQVU7a0JBeEJ0QixTQUFTO2lDQUNNLElBQUksWUFDTixjQUFjLFdBQ2Y7d0JBQ0wsWUFBWTt3QkFDWixPQUFPO3dCQUNQLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1Asc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxPQUFPO3FCQUNWLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLGNBQWM7OEJBV2xCLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJVSxhQUFhO3NCQUQ1QixlQUFlO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7S2V5VmFsdWVQaXBlLCBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUVUlfRE9DX0RFRkFVTFRfVEFCUywgVFVJX0RPQ19TVVBQT1JUX0xBTkdVQUdFfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVJlcGxhY2VQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL3JlcGxhY2UnO1xuaW1wb3J0IHtUdWlBdXRvQ29sb3JQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9hdXRvLWNvbG9yJztcbmltcG9ydCB7VHVpQ2hpcH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoaXAnO1xuaW1wb3J0IHtUdWlUYWJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpRG9jU2VlQWxzb30gZnJvbSAnLi4vaW50ZXJuYWwvc2VlLWFsc28nO1xuaW1wb3J0IHtUdWlEb2NTb3VyY2VDb2RlfSBmcm9tICcuLi9pbnRlcm5hbC9zb3VyY2UtY29kZS9zb3VyY2UtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEb2NMYW5ndWFnZVN3aXRjaGVyfSBmcm9tICcuLi9sYW5ndWFnZS1zd2l0Y2hlcic7XG5pbXBvcnQge1xuICAgIFBBR0VfUFJPVklERVJTLFxuICAgIFBBR0VfU0VFX0FMU08sXG4gICAgVFVJX0RPQ19QQUdFX09QVElPTlMsXG4gICAgVFVJX0RPQ19UQUJTLFxuICAgIHR5cGUgVHVpRG9jUGFnZU9wdGlvbnMsXG59IGZyb20gJy4vcGFnZS5wcm92aWRlcnMnO1xuaW1wb3J0IHtUdWlEb2NQYWdlVGFiQ29ubmVjdG9yfSBmcm9tICcuL3BhZ2UtdGFiLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLXBhZ2UnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgS2V5VmFsdWVQaXBlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgIFR1aUF1dG9Db2xvclBpcGUsXG4gICAgICAgIFR1aUNoaXAsXG4gICAgICAgIFR1aURvY0xhbmd1YWdlU3dpdGNoZXIsXG4gICAgICAgIFR1aURvY1NlZUFsc28sXG4gICAgICAgIFR1aURvY1NvdXJjZUNvZGUsXG4gICAgICAgIFR1aVJlcGxhY2VQaXBlLFxuICAgICAgICBUdWlUYWJzLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBQQUdFX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jUGFnZSBpbXBsZW1lbnRzIFR1aURvY1BhZ2VPcHRpb25zIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRE9DX1BBR0VfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnMgPSBpbmplY3QoVFVJX0RPQ19UQUJTKShpbmplY3QoQWN0aXZhdGVkUm91dGUpLnNuYXBzaG90KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3VwcG9ydExhbmd1YWdlID0gaW5qZWN0KFRVSV9ET0NfU1VQUE9SVF9MQU5HVUFHRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRUYWJzID0gaW5qZWN0KFRVSV9ET0NfREVGQVVMVF9UQUJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnJvbSA9IC8gL2c7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvID0gJ18nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGVyID0gdGhpcy5vcHRpb25zLmhlYWRlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhY2thZ2UgPSB0aGlzLm9wdGlvbnMucGFja2FnZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGUgPSB0aGlzLm9wdGlvbnMudHlwZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRhZ3MgPSB0aGlzLm9wdGlvbnMudGFncztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhdGggPSB0aGlzLm9wdGlvbnMucGF0aDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlcHJlY2F0ZWQgPSB0aGlzLm9wdGlvbnMuZGVwcmVjYXRlZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpRG9jUGFnZVRhYkNvbm5lY3RvcilcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFiQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY1BhZ2VUYWJDb25uZWN0b3I+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwdWJsaWMgYWN0aXZlSXRlbUluZGV4ID0gMDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VlQWxzbyA9IGluamVjdChQQUdFX1NFRV9BTFNPKTtcblxuICAgIHB1YmxpYyBnZXQgc2hvd1NlZUFsc28oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VlQWxzby5sZW5ndGggJiYgdGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IDA7XG4gICAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cInQtaGVhZGVyXCI+XG4gICAgPGgxXG4gICAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRpdGxlXCJcbiAgICA+XG4gICAgICAgIHt7IGhlYWRlciB9fVxuICAgICAgICA8dHVpLWNoaXBcbiAgICAgICAgICAgICpuZ0lmPVwiISFkZXByZWNhdGVkIHx8IGRlcHJlY2F0ZWQgPT09ICcnXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJjdXN0b21cIlxuICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWcgdC10YWdfZGVwcmVjYXRlZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIGRlcHJlY2F0ZWRcbiAgICAgICAgPC90dWktY2hpcD5cbiAgICAgICAgPHR1aS1jaGlwXG4gICAgICAgICAgICAqbmdJZj1cInBhY2thZ2VcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19wYWNrYWdlXCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInBhY2thZ2UgfCB0dWlBdXRvQ29sb3JcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBwYWNrYWdlIH19XG4gICAgICAgIDwvdHVpLWNoaXA+XG4gICAgICAgIDx0dWktY2hpcFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJjdXN0b21cIlxuICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWcgdC10YWdfcGFja2FnZVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJ0YWcgfCB0dWlBdXRvQ29sb3JcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0YWcgfX1cbiAgICAgICAgPC90dWktY2hpcD5cbiAgICA8L2gxPlxuICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgKm5nSWY9XCJ0YWJDb25uZWN0b3JzLmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiQ29ubmVjdG9yczsgZmlyc3QgYXMgZmlyc3Q7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiLnBhZ2VUYWIgfHwgZGVmYXVsdFRhYnNbaW5kZXhdIGFzIHRhYk5hbWVcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJmaXJzdCA/ICcuLycgOiAodGFiTmFtZSB8IHR1aVJlcGxhY2U6IGZyb20gOiB0bylcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie2V4YWN0OiBmaXJzdH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiTmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnMgfCBrZXl2YWx1ZVwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJ0YWIua2V5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0YWIua2V5IH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInBhY2thZ2UgfHwgcGF0aCB8fCB0eXBlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXJpZ2h0LXNpZGVcIlxuICAgID5cbiAgICAgICAgPHR1aS1kb2Mtc291cmNlLWNvZGVcbiAgICAgICAgICAgIGNsYXNzPVwidC1zb3VyY2UtY29kZVwiXG4gICAgICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXG4gICAgICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIFtwYXRoXT1cInBhdGhcIlxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPHR1aS1kb2MtbGFuZ3VhZ2Utc3dpdGNoZXIgKm5nSWY9XCJzdXBwb3J0TGFuZ3VhZ2UuaGFzKGhlYWRlcilcIiAvPlxuICAgIDwvZGl2PlxuPC9oZWFkZXI+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8dHVpLWRvYy1zZWUtYWxzb1xuICAgICAgICAqbmdJZj1cInNob3dTZWVBbHNvXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNlZS1hbHNvXCJcbiAgICAgICAgW3NlZUFsc29dPVwic2VlQWxzb1wiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiQ29ubmVjdG9yczsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi50ZW1wbGF0ZVwiXG4gICAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnMgfCBrZXl2YWx1ZTsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV4ICsgdGFiQ29ubmVjdG9ycy5sZW5ndGggPT09IGFjdGl2ZUl0ZW1JbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwidGFiLnZhbHVlIGFzIHRleHRcIj57eyB0ZXh0IH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvcGFnZS9wYWdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFDSCxjQUFjLEVBQ2QsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixZQUFZLEdBRWYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUU1RCxNQXdCYSxVQUFVO0lBeEJ2QjtRQXlCdUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELG9CQUFlLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbkQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osT0FBRSxHQUFHLEdBQUcsQ0FBQztRQUdyQixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFHN0IsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRy9CLFNBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUd6QixTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFHekIsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBR3pCLGVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUc1QixrQkFBYSxHQUFzQyxXQUFXLENBQUM7UUFFeEUsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDWCxZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBS25EO0lBSEcsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7K0dBbENRLFVBQVU7bUdBQVYsVUFBVSxpTEFGUixjQUFjLHdEQTRCUixzQkFBc0IsNkJDaEYzQyxrL0ZBaUdBLDZpREQvRFEsWUFBWSxpREFDWixPQUFPLG1IQUNQLElBQUksNkZBQ0osZ0JBQWdCLG9KQUNoQixrQkFBa0IsOEhBQ2xCLFVBQVUsNE5BQ1YsZ0JBQWdCLHlNQUNoQixnQkFBZ0IscURBQ2hCLE9BQU8saUZBQ1Asc0JBQXNCLHNFQUN0QixhQUFhLGtGQUNiLGdCQUFnQiwwR0FDaEIsY0FBYzs7U0FRVCxVQUFVOzRGQUFWLFVBQVU7a0JBeEJ0QixTQUFTO2lDQUNNLElBQUksWUFDTixjQUFjLFdBQ2Y7d0JBQ0wsWUFBWTt3QkFDWixPQUFPO3dCQUNQLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1Asc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxPQUFPO3FCQUNWLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLGNBQWM7OEJBV2xCLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJVSxhQUFhO3NCQUQ1QixlQUFlO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7S2V5VmFsdWVQaXBlLCBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUVUlfRE9DX0RFRkFVTFRfVEFCUywgVFVJX0RPQ19TVVBQT1JUX0xBTkdVQUdFfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVJlcGxhY2VQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL3JlcGxhY2UnO1xuaW1wb3J0IHtUdWlBdXRvQ29sb3JQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9hdXRvLWNvbG9yJztcbmltcG9ydCB7VHVpQ2hpcH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoaXAnO1xuaW1wb3J0IHtUdWlUYWJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpRG9jU2VlQWxzb30gZnJvbSAnLi4vaW50ZXJuYWwvc2VlLWFsc28nO1xuaW1wb3J0IHtUdWlEb2NTb3VyY2VDb2RlfSBmcm9tICcuLi9pbnRlcm5hbC9zb3VyY2UtY29kZS9zb3VyY2UtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEb2NMYW5ndWFnZVN3aXRjaGVyfSBmcm9tICcuLi9sYW5ndWFnZS1zd2l0Y2hlcic7XG5pbXBvcnQge1xuICAgIFBBR0VfUFJPVklERVJTLFxuICAgIFBBR0VfU0VFX0FMU08sXG4gICAgVFVJX0RPQ19QQUdFX09QVElPTlMsXG4gICAgVFVJX0RPQ19UQUJTLFxuICAgIHR5cGUgVHVpRG9jUGFnZU9wdGlvbnMsXG59IGZyb20gJy4vcGFnZS5wcm92aWRlcnMnO1xuaW1wb3J0IHtUdWlEb2NQYWdlVGFiQ29ubmVjdG9yfSBmcm9tICcuL3BhZ2UtdGFiLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLXBhZ2UnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgS2V5VmFsdWVQaXBlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgIFR1aUF1dG9Db2xvclBpcGUsXG4gICAgICAgIFR1aUNoaXAsXG4gICAgICAgIFR1aURvY0xhbmd1YWdlU3dpdGNoZXIsXG4gICAgICAgIFR1aURvY1NlZUFsc28sXG4gICAgICAgIFR1aURvY1NvdXJjZUNvZGUsXG4gICAgICAgIFR1aVJlcGxhY2VQaXBlLFxuICAgICAgICBUdWlUYWJzLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBQQUdFX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jUGFnZSBpbXBsZW1lbnRzIFR1aURvY1BhZ2VPcHRpb25zIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRE9DX1BBR0VfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnMgPSBpbmplY3QoVFVJX0RPQ19UQUJTKShpbmplY3QoQWN0aXZhdGVkUm91dGUpLnNuYXBzaG90KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3VwcG9ydExhbmd1YWdlID0gaW5qZWN0KFRVSV9ET0NfU1VQUE9SVF9MQU5HVUFHRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRUYWJzID0gaW5qZWN0KFRVSV9ET0NfREVGQVVMVF9UQUJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnJvbSA9IC8gL2c7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvID0gJ18nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGVyID0gdGhpcy5vcHRpb25zLmhlYWRlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhY2thZ2UgPSB0aGlzLm9wdGlvbnMucGFja2FnZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGUgPSB0aGlzLm9wdGlvbnMudHlwZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRhZ3MgPSB0aGlzLm9wdGlvbnMudGFncztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhdGggPSB0aGlzLm9wdGlvbnMucGF0aDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlcHJlY2F0ZWQgPSB0aGlzLm9wdGlvbnMuZGVwcmVjYXRlZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpRG9jUGFnZVRhYkNvbm5lY3RvcilcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFiQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY1BhZ2VUYWJDb25uZWN0b3I+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwdWJsaWMgYWN0aXZlSXRlbUluZGV4ID0gMDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VlQWxzbyA9IGluamVjdChQQUdFX1NFRV9BTFNPKTtcblxuICAgIHB1YmxpYyBnZXQgc2hvd1NlZUFsc28oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VlQWxzby5sZW5ndGggJiYgdGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IDA7XG4gICAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cInQtaGVhZGVyXCI+XG4gICAgPGgxXG4gICAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRpdGxlXCJcbiAgICA+XG4gICAgICAgIHt7IGhlYWRlciB9fVxuICAgICAgICA8dHVpLWNoaXBcbiAgICAgICAgICAgICpuZ0lmPVwiISFkZXByZWNhdGVkIHx8IGRlcHJlY2F0ZWQgPT09ICcnXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJjdXN0b21cIlxuICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWcgdC10YWdfZGVwcmVjYXRlZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIGRlcHJlY2F0ZWRcbiAgICAgICAgPC90dWktY2hpcD5cbiAgICAgICAgPHR1aS1jaGlwXG4gICAgICAgICAgICAqbmdJZj1cInBhY2thZ2VcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19wYWNrYWdlXCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInBhY2thZ2UgfCB0dWlBdXRvQ29sb3JcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBwYWNrYWdlIH19XG4gICAgICAgIDwvdHVpLWNoaXA+XG4gICAgICAgIDx0dWktY2hpcFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJjdXN0b21cIlxuICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWcgdC10YWdfcGFja2FnZVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJ0YWcgfCB0dWlBdXRvQ29sb3JcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0YWcgfX1cbiAgICAgICAgPC90dWktY2hpcD5cbiAgICA8L2gxPlxuICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgKm5nSWY9XCJ0YWJDb25uZWN0b3JzLmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiQ29ubmVjdG9yczsgZmlyc3QgYXMgZmlyc3Q7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiLnBhZ2VUYWIgfHwgZGVmYXVsdFRhYnNbaW5kZXhdIGFzIHRhYk5hbWVcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJmaXJzdCA/ICcuLycgOiAodGFiTmFtZSB8IHR1aVJlcGxhY2U6IGZyb20gOiB0bylcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie2V4YWN0OiBmaXJzdH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiTmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnMgfCBrZXl2YWx1ZVwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJ0YWIua2V5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0YWIua2V5IH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInBhY2thZ2UgfHwgcGF0aCB8fCB0eXBlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXJpZ2h0LXNpZGVcIlxuICAgID5cbiAgICAgICAgPHR1aS1kb2Mtc291cmNlLWNvZGVcbiAgICAgICAgICAgIGNsYXNzPVwidC1zb3VyY2UtY29kZVwiXG4gICAgICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXG4gICAgICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIFtwYXRoXT1cInBhdGhcIlxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPHR1aS1kb2MtbGFuZ3VhZ2Utc3dpdGNoZXIgKm5nSWY9XCJzdXBwb3J0TGFuZ3VhZ2UuaGFzKGhlYWRlcilcIiAvPlxuICAgIDwvZGl2PlxuPC9oZWFkZXI+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8dHVpLWRvYy1zZWUtYWxzb1xuICAgICAgICAqbmdJZj1cInNob3dTZWVBbHNvXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNlZS1hbHNvXCJcbiAgICAgICAgW3NlZUFsc29dPVwic2VlQWxzb1wiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiQ29ubmVjdG9yczsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi50ZW1wbGF0ZVwiXG4gICAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnMgfCBrZXl2YWx1ZTsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV4ICsgdGFiQ29ubmVjdG9ycy5sZW5ndGggPT09IGFjdGl2ZUl0ZW1JbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwidGFiLnZhbHVlIGFzIHRleHRcIj57eyB0ZXh0IH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1398,7 +1398,7 @@ class TuiDocPage {
|
|
|
1398
1398
|
return !!this.seeAlso.length && this.activeItemIndex === 0;
|
|
1399
1399
|
}
|
|
1400
1400
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1401
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocPage, isStandalone: true, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", tags: "tags", path: "path", deprecated: "deprecated" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnector }], ngImport: i0, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:
|
|
1401
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocPage, isStandalone: true, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", tags: "tags", path: "path", deprecated: "deprecated" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnector }], ngImport: i0, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:right;margin:0 0 1rem;margin-inline-start:1.5rem}@supports (float: inline-end){.t-see-also{float:inline-end}}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-right-side{display:flex;gap:1rem;align-items:center;align-self:center;margin-inline-start:auto}.t-source-code{block-size:3.125rem}\n"], dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: TuiAutoColorPipe, name: "tuiAutoColor" }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "component", type: TuiDocLanguageSwitcher, selector: "tui-doc-language-switcher" }, { kind: "component", type: TuiDocSeeAlso, selector: "tui-doc-see-also", inputs: ["seeAlso"] }, { kind: "component", type: TuiDocSourceCode, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { kind: "pipe", type: TuiReplacePipe, name: "tuiReplace" }, { kind: "directive", type: i1$2.TuiItem, selector: "[tuiItem]" }, { kind: "directive", type: i2$1.TuiTab, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "component", type: i2$1.TuiTabsWithMore, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["size", "moreContent", "dropdownContent", "underline", "itemsLimit", "activeItemIndex"], outputs: ["activeItemIndexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1402
1402
|
}
|
|
1403
1403
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocPage, decorators: [{
|
|
1404
1404
|
type: Component,
|
|
@@ -1417,7 +1417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1417
1417
|
TuiDocSourceCode,
|
|
1418
1418
|
TuiReplacePipe,
|
|
1419
1419
|
TuiTabs,
|
|
1420
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, providers: PAGE_PROVIDERS, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:
|
|
1420
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: PAGE_PROVIDERS, template: "<header class=\"t-header\">\n <h1\n *ngIf=\"header\"\n class=\"t-title\"\n >\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"tab.key\"\n >\n {{ tab.key }}\n </a>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher *ngIf=\"supportLanguage.has(header)\" />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n <ng-container *ngFor=\"let tab of tabs | keyvalue; index as index\">\n <ng-container *ngIf=\"index + tabConnectors.length === activeItemIndex\">\n <ng-container *polymorpheusOutlet=\"tab.value as text\">{{ text }}</ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1;font:var(--tui-font-text-m)}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);margin:0}}@media screen and (max-width: 47.9625em){.t-header:not(:empty){min-block-size:4.5rem;padding:0 1.25rem}}.t-title{min-inline-size:100%;padding:3.75rem 0 0;font-size:inherit;margin:0}@media screen and (max-width: 47.9625em){.t-title{padding:1.25rem 0 0}}.t-tag{vertical-align:middle;text-transform:uppercase;margin-inline-end:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-block-start:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:right;margin:0 0 1rem;margin-inline-start:1.5rem}@supports (float: inline-end){.t-see-also{float:inline-end}}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-right-side{display:flex;gap:1rem;align-items:center;align-self:center;margin-inline-start:auto}.t-source-code{block-size:3.125rem}\n"] }]
|
|
1421
1421
|
}], propDecorators: { header: [{
|
|
1422
1422
|
type: Input
|
|
1423
1423
|
}], package: [{
|