@taiga-ui/addon-doc 3.39.1 → 3.40.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.
- package/bundles/taiga-ui-addon-doc-components.umd.js +49 -17
- package/bundles/taiga-ui-addon-doc-components.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-doc-tokens.umd.js +19 -4
- package/bundles/taiga-ui-addon-doc-tokens.umd.js.map +1 -1
- package/components/demo/demo.component.d.ts +3 -1
- package/components/example/example.component.d.ts +1 -1
- package/components/example/example.options.d.ts +1 -0
- package/components/internal/header/header.component.d.ts +3 -1
- package/components/internal/source-code/source-code.component.d.ts +3 -1
- package/components/main/main.component.d.ts +4 -1
- package/components/navigation/navigation.component.d.ts +6 -3
- package/esm2015/components/demo/demo.component.js +9 -4
- package/esm2015/components/example/example.component.js +2 -2
- package/esm2015/components/example/example.options.js +2 -1
- package/esm2015/components/internal/header/header.component.js +9 -5
- package/esm2015/components/internal/source-code/source-code.component.js +9 -5
- package/esm2015/components/main/main.component.js +13 -5
- package/esm2015/components/navigation/navigation.component.js +14 -6
- package/esm2015/tokens/doc-icons.js +13 -0
- package/esm2015/tokens/index.js +2 -1
- package/fesm2015/taiga-ui-addon-doc-components.js +48 -20
- package/fesm2015/taiga-ui-addon-doc-components.js.map +1 -1
- package/fesm2015/taiga-ui-addon-doc-tokens.js +14 -1
- package/fesm2015/taiga-ui-addon-doc-tokens.js.map +1 -1
- package/package.json +5 -5
- package/tokens/doc-icons.d.ts +11 -0
- package/tokens/index.d.ts +1 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/addon-doc/utils'), require('rxjs'), require('rxjs/operators')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc/tokens', ['exports', '@angular/core', '@taiga-ui/addon-doc/utils', 'rxjs', 'rxjs/operators'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-doc"] = global["taiga-ui"]["addon-doc"] || {}, global["taiga-ui"]["addon-doc"].tokens = {}), global.ng.core, global["taiga-ui"]["addon-doc"].utils, global.rxjs, global.rxjs.operators));
|
|
5
|
-
})(this, (function (exports, core, utils, rxjs, operators) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/addon-doc/utils'), require('rxjs'), require('rxjs/operators')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc/tokens', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/addon-doc/utils', 'rxjs', 'rxjs/operators'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-doc"] = global["taiga-ui"]["addon-doc"] || {}, global["taiga-ui"]["addon-doc"].tokens = {}), global.ng.core, global.cdk, global["taiga-ui"]["addon-doc"].utils, global.rxjs, global.rxjs.operators));
|
|
5
|
+
})(this, (function (exports, core, cdk, utils, rxjs, operators) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Code actions for the opened tab with code example
|
|
@@ -23,6 +23,18 @@
|
|
|
23
23
|
factory: function () { return []; },
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
+
var TUI_DOC_DEFAULT_ICONS = {
|
|
27
|
+
search: "tuiIconSearch",
|
|
28
|
+
day: "tuiIconSun",
|
|
29
|
+
night: "tuiIconMoon",
|
|
30
|
+
code: "tuiIconCode",
|
|
31
|
+
menu: "tuiIconMenuLarge",
|
|
32
|
+
};
|
|
33
|
+
var TUI_DOC_ICONS = cdk.tuiCreateOptions(TUI_DOC_DEFAULT_ICONS);
|
|
34
|
+
function tuiDocIconsProvider(icons) {
|
|
35
|
+
return cdk.tuiProvideOptions(TUI_DOC_ICONS, icons, TUI_DOC_DEFAULT_ICONS);
|
|
36
|
+
}
|
|
37
|
+
|
|
26
38
|
/**
|
|
27
39
|
* Processes content in example
|
|
28
40
|
*/
|
|
@@ -161,6 +173,7 @@
|
|
|
161
173
|
|
|
162
174
|
exports.TUI_DOC_CODE_ACTIONS = TUI_DOC_CODE_ACTIONS;
|
|
163
175
|
exports.TUI_DOC_CODE_EDITOR = TUI_DOC_CODE_EDITOR;
|
|
176
|
+
exports.TUI_DOC_DEFAULT_ICONS = TUI_DOC_DEFAULT_ICONS;
|
|
164
177
|
exports.TUI_DOC_DEFAULT_TABS = TUI_DOC_DEFAULT_TABS;
|
|
165
178
|
exports.TUI_DOC_DEMO_TEXTS = TUI_DOC_DEMO_TEXTS;
|
|
166
179
|
exports.TUI_DOC_DOCUMENTATION_TEXTS = TUI_DOC_DOCUMENTATION_TEXTS;
|
|
@@ -168,6 +181,7 @@
|
|
|
168
181
|
exports.TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR;
|
|
169
182
|
exports.TUI_DOC_EXAMPLE_TEXTS = TUI_DOC_EXAMPLE_TEXTS;
|
|
170
183
|
exports.TUI_DOC_EXCLUDED_PROPERTIES = TUI_DOC_EXCLUDED_PROPERTIES;
|
|
184
|
+
exports.TUI_DOC_ICONS = TUI_DOC_ICONS;
|
|
171
185
|
exports.TUI_DOC_LOGO = TUI_DOC_LOGO;
|
|
172
186
|
exports.TUI_DOC_MAP_PAGES = TUI_DOC_MAP_PAGES;
|
|
173
187
|
exports.TUI_DOC_MENU_TEXT = TUI_DOC_MENU_TEXT;
|
|
@@ -182,6 +196,7 @@
|
|
|
182
196
|
exports.TUI_DOC_TITLE = TUI_DOC_TITLE;
|
|
183
197
|
exports.TUI_DOC_URL_STATE_HANDLER = TUI_DOC_URL_STATE_HANDLER;
|
|
184
198
|
exports.tuiDocExcludeProperties = tuiDocExcludeProperties;
|
|
199
|
+
exports.tuiDocIconsProvider = tuiDocIconsProvider;
|
|
185
200
|
|
|
186
201
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
187
202
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-doc-tokens.umd.js","sources":["../../../projects/addon-doc/tokens/code-actions.ts","../../../projects/addon-doc/tokens/code-editor.ts","../../../projects/addon-doc/tokens/default-tabs.ts","../../../projects/addon-doc/tokens/example-content-processor.ts","../../../projects/addon-doc/tokens/excluded-properties.ts","../../../projects/addon-doc/tokens/i18n.ts","../../../projects/addon-doc/tokens/logo.ts","../../../projects/addon-doc/tokens/page-loaded.ts","../../../projects/addon-doc/tokens/pages.ts","../../../projects/addon-doc/tokens/scroll-behavior.ts","../../../projects/addon-doc/tokens/see-also.ts","../../../projects/addon-doc/tokens/source-code.ts","../../../projects/addon-doc/tokens/title.ts","../../../projects/addon-doc/tokens/url-state-handler.ts","../../../projects/addon-doc/tokens/taiga-ui-addon-doc-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Code actions for the opened tab with code example\n */\nexport const TUI_DOC_CODE_ACTIONS = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<string>>\n>(`[TUI_DOC_CODE_ACTIONS]`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiCodeEditor} from '@taiga-ui/addon-doc/interfaces';\n\n/**\n * Service for opening online IDE e.g. Stackblitz\n */\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n `[TUI_DOC_CODE_EDITOR]`,\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Array of default tab names\n */\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n `[TUI_DOC_DEFAULT_TABS]`,\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiTryParseMarkdownCodeBlock} from '@taiga-ui/addon-doc/utils';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Processes content in example\n */\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n>(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]`, {\n factory: () => identity,\n});\n\n/**\n * Processes markdown in code block\n */\nexport const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = new InjectionToken<\n TuiHandler<string, string[]>\n>(`[TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]`, {\n factory: () => tuiTryParseMarkdownCodeBlock,\n});\n","import {InjectionToken, Provider} from '@angular/core';\n\n/**\n * Token to exclude inherited documentation properties\n */\nexport const TUI_DOC_EXCLUDED_PROPERTIES = new InjectionToken<Set<string>>(\n `[TUI_DOC_EXCLUDED_PROPERTIES]`,\n {factory: () => new Set([])},\n);\n\nexport function tuiDocExcludeProperties(properties: readonly string[]): Provider {\n return {provide: TUI_DOC_EXCLUDED_PROPERTIES, useValue: new Set(properties)};\n}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * tui-doc-demo i18n texts\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n `[TUI_DOC_DEMO_TEXTS]`,\n {\n factory: () => [`Read more more about modes: `, `Background`, `Form value`],\n },\n);\n\n/**\n * tui-doc-documentation i18n texts\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = new InjectionToken<\n [string, string, string, string, string]\n>(`[TUI_DOC_DOCUMENTATION_TEXTS]`, {\n factory: () => [\n `Argument`,\n `Type`,\n `Name and description`,\n `Value`,\n `Learn about our dynamic templates from `,\n ],\n});\n\n/**\n * tui-doc-example i18n texts\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = new InjectionToken<[string, string, string]>(\n `[TUI_DOC_EXAMPLE_TEXTS]`,\n {\n factory: () => [`Preview`, `Link to a sample was successfully copied`, `Done`],\n },\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>(`[TUI_DOC_MENU_TEXT]`, {\n factory: () => `Menu`,\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>(`[TUI_DOC_SEARCH_TEXT]`, {\n factory: () => `Search`,\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n `[TUI_DOC_SEE_ALSO_TEXT]`,\n {\n factory: () => `See also`,\n },\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n `[TUI_DOC_SOURCE_CODE_TEXT]`,\n {\n factory: () => `Source code`,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Main logo\n */\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>(`[TUI_DOC_LOGO]`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\n/**\n * Stream that emits if loading of page is over (for example, to begin scrollIntoView)\n */\nexport const TUI_DOC_PAGE_LOADED = new InjectionToken<Observable<boolean>>(\n `[TUI_DOC_PAGE_LOADED]`,\n {factory: () => defer(() => timer(200).pipe(switchMap(() => of(true))))},\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport type {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {tuiToFlatMapPages} from '@taiga-ui/addon-doc/utils';\n\n/**\n * Documentation pages\n */\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n `[TUI_DOC_PAGES]`,\n {\n factory: () => [],\n },\n);\n\nexport const TUI_DOC_MAP_PAGES: InjectionToken<Map<string, TuiDocPage>> =\n new InjectionToken<Map<string, TuiDocPage>>(`[TUI_DOC_MAP_PAGES]`, {\n factory: () => {\n const pages: TuiDocPages = inject(TUI_DOC_PAGES);\n\n return tuiToFlatMapPages(pages);\n },\n });\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Defines the transition animation for scroll\n */\nexport const TUI_DOC_SCROLL_BEHAVIOR = new InjectionToken<ScrollBehavior>(\n `[TUI_DOC_SCROLL_BEHAVIOR]`,\n {factory: () => `smooth`},\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Array of arrays of related pages\n */\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n `[TUI_DOC_SEE_ALSO]`,\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDocSourceCodePathOptions} from '@taiga-ui/addon-doc/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Source code link\n */\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n `[TUI_DOC_SOURCE_CODE]`,\n {\n factory: () => null,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Page title prefix\n */\nexport const TUI_DOC_TITLE = new InjectionToken<string>(`[TUI_DOC_TITLE]`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\nimport type {UrlTree} from '@angular/router';\nimport type {TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const TUI_DOC_URL_STATE_HANDLER: InjectionToken<TuiStringHandler<UrlTree>> =\n new InjectionToken<TuiStringHandler<UrlTree>>(`[TUI_DOC_URL_STATE_HANDLER]`, {\n factory: () => String,\n });\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","identity","tuiTryParseMarkdownCodeBlock","defer","timer","switchMap","of","inject","tuiToFlatMapPages"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-doc-tokens.umd.js","sources":["../../../projects/addon-doc/tokens/code-actions.ts","../../../projects/addon-doc/tokens/code-editor.ts","../../../projects/addon-doc/tokens/default-tabs.ts","../../../projects/addon-doc/tokens/doc-icons.ts","../../../projects/addon-doc/tokens/example-content-processor.ts","../../../projects/addon-doc/tokens/excluded-properties.ts","../../../projects/addon-doc/tokens/i18n.ts","../../../projects/addon-doc/tokens/logo.ts","../../../projects/addon-doc/tokens/page-loaded.ts","../../../projects/addon-doc/tokens/pages.ts","../../../projects/addon-doc/tokens/scroll-behavior.ts","../../../projects/addon-doc/tokens/see-also.ts","../../../projects/addon-doc/tokens/source-code.ts","../../../projects/addon-doc/tokens/title.ts","../../../projects/addon-doc/tokens/url-state-handler.ts","../../../projects/addon-doc/tokens/taiga-ui-addon-doc-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Code actions for the opened tab with code example\n */\nexport const TUI_DOC_CODE_ACTIONS = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<string>>\n>(`[TUI_DOC_CODE_ACTIONS]`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiCodeEditor} from '@taiga-ui/addon-doc/interfaces';\n\n/**\n * Service for opening online IDE e.g. Stackblitz\n */\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n `[TUI_DOC_CODE_EDITOR]`,\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Array of default tab names\n */\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n `[TUI_DOC_DEFAULT_TABS]`,\n {\n factory: () => [],\n },\n);\n","import {Provider} from '@angular/core';\nimport {tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiDocIcons {\n readonly search: string;\n readonly day: string;\n readonly night: string;\n readonly code: string;\n readonly menu: string;\n}\n\nexport const TUI_DOC_DEFAULT_ICONS: TuiDocIcons = {\n search: `tuiIconSearch`,\n day: `tuiIconSun`,\n night: `tuiIconMoon`,\n code: `tuiIconCode`,\n menu: `tuiIconMenuLarge`,\n};\n\nexport const TUI_DOC_ICONS = tuiCreateOptions(TUI_DOC_DEFAULT_ICONS);\n\nexport function tuiDocIconsProvider(icons: Partial<TuiDocIcons>): Provider {\n return tuiProvideOptions(TUI_DOC_ICONS, icons, TUI_DOC_DEFAULT_ICONS);\n}\n","import {InjectionToken} from '@angular/core';\nimport {tuiTryParseMarkdownCodeBlock} from '@taiga-ui/addon-doc/utils';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Processes content in example\n */\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n>(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]`, {\n factory: () => identity,\n});\n\n/**\n * Processes markdown in code block\n */\nexport const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = new InjectionToken<\n TuiHandler<string, string[]>\n>(`[TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]`, {\n factory: () => tuiTryParseMarkdownCodeBlock,\n});\n","import {InjectionToken, Provider} from '@angular/core';\n\n/**\n * Token to exclude inherited documentation properties\n */\nexport const TUI_DOC_EXCLUDED_PROPERTIES = new InjectionToken<Set<string>>(\n `[TUI_DOC_EXCLUDED_PROPERTIES]`,\n {factory: () => new Set([])},\n);\n\nexport function tuiDocExcludeProperties(properties: readonly string[]): Provider {\n return {provide: TUI_DOC_EXCLUDED_PROPERTIES, useValue: new Set(properties)};\n}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * tui-doc-demo i18n texts\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n `[TUI_DOC_DEMO_TEXTS]`,\n {\n factory: () => [`Read more more about modes: `, `Background`, `Form value`],\n },\n);\n\n/**\n * tui-doc-documentation i18n texts\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = new InjectionToken<\n [string, string, string, string, string]\n>(`[TUI_DOC_DOCUMENTATION_TEXTS]`, {\n factory: () => [\n `Argument`,\n `Type`,\n `Name and description`,\n `Value`,\n `Learn about our dynamic templates from `,\n ],\n});\n\n/**\n * tui-doc-example i18n texts\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = new InjectionToken<[string, string, string]>(\n `[TUI_DOC_EXAMPLE_TEXTS]`,\n {\n factory: () => [`Preview`, `Link to a sample was successfully copied`, `Done`],\n },\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>(`[TUI_DOC_MENU_TEXT]`, {\n factory: () => `Menu`,\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>(`[TUI_DOC_SEARCH_TEXT]`, {\n factory: () => `Search`,\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n `[TUI_DOC_SEE_ALSO_TEXT]`,\n {\n factory: () => `See also`,\n },\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n `[TUI_DOC_SOURCE_CODE_TEXT]`,\n {\n factory: () => `Source code`,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Main logo\n */\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>(`[TUI_DOC_LOGO]`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\n/**\n * Stream that emits if loading of page is over (for example, to begin scrollIntoView)\n */\nexport const TUI_DOC_PAGE_LOADED = new InjectionToken<Observable<boolean>>(\n `[TUI_DOC_PAGE_LOADED]`,\n {factory: () => defer(() => timer(200).pipe(switchMap(() => of(true))))},\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport type {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {tuiToFlatMapPages} from '@taiga-ui/addon-doc/utils';\n\n/**\n * Documentation pages\n */\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n `[TUI_DOC_PAGES]`,\n {\n factory: () => [],\n },\n);\n\nexport const TUI_DOC_MAP_PAGES: InjectionToken<Map<string, TuiDocPage>> =\n new InjectionToken<Map<string, TuiDocPage>>(`[TUI_DOC_MAP_PAGES]`, {\n factory: () => {\n const pages: TuiDocPages = inject(TUI_DOC_PAGES);\n\n return tuiToFlatMapPages(pages);\n },\n });\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Defines the transition animation for scroll\n */\nexport const TUI_DOC_SCROLL_BEHAVIOR = new InjectionToken<ScrollBehavior>(\n `[TUI_DOC_SCROLL_BEHAVIOR]`,\n {factory: () => `smooth`},\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Array of arrays of related pages\n */\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n `[TUI_DOC_SEE_ALSO]`,\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDocSourceCodePathOptions} from '@taiga-ui/addon-doc/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Source code link\n */\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n `[TUI_DOC_SOURCE_CODE]`,\n {\n factory: () => null,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Page title prefix\n */\nexport const TUI_DOC_TITLE = new InjectionToken<string>(`[TUI_DOC_TITLE]`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\nimport type {UrlTree} from '@angular/router';\nimport type {TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const TUI_DOC_URL_STATE_HANDLER: InjectionToken<TuiStringHandler<UrlTree>> =\n new InjectionToken<TuiStringHandler<UrlTree>>(`[TUI_DOC_URL_STATE_HANDLER]`, {\n factory: () => String,\n });\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","tuiCreateOptions","tuiProvideOptions","identity","tuiTryParseMarkdownCodeBlock","defer","timer","switchMap","of","inject","tuiToFlatMapPages"],"mappings":"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"}
|
|
@@ -4,9 +4,11 @@ import { AbstractControl, FormGroup } from '@angular/forms';
|
|
|
4
4
|
import { UrlSerializer, UrlTree } from '@angular/router';
|
|
5
5
|
import { TuiStringHandler } from '@taiga-ui/cdk';
|
|
6
6
|
import { TuiBrightness } from '@taiga-ui/core';
|
|
7
|
+
import { TuiArrowOptions } from '@taiga-ui/kit';
|
|
7
8
|
import { Subject } from 'rxjs';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class TuiDocDemoComponent implements OnInit {
|
|
11
|
+
readonly options: TuiArrowOptions;
|
|
10
12
|
readonly isMobile: boolean;
|
|
11
13
|
private readonly el;
|
|
12
14
|
private readonly locationRef;
|
|
@@ -28,7 +30,7 @@ export declare class TuiDocDemoComponent implements OnInit {
|
|
|
28
30
|
sandboxWidth: number;
|
|
29
31
|
readonly change$: Subject<void>;
|
|
30
32
|
readonly items: readonly TuiBrightness[];
|
|
31
|
-
constructor(isMobile: boolean, el: ElementRef<HTMLElement>, locationRef: Location, urlSerializer: UrlSerializer, texts: [string, string, string], urlStateHandler: TuiStringHandler<UrlTree>);
|
|
33
|
+
constructor(options: TuiArrowOptions, isMobile: boolean, el: ElementRef<HTMLElement>, locationRef: Location, urlSerializer: UrlSerializer, texts: [string, string, string], urlStateHandler: TuiStringHandler<UrlTree>);
|
|
32
34
|
onResize(): void;
|
|
33
35
|
onMouseUp(): void;
|
|
34
36
|
ngOnInit(): void;
|
|
@@ -21,7 +21,7 @@ export declare class TuiDocExampleComponent {
|
|
|
21
21
|
private readonly router;
|
|
22
22
|
private readonly route;
|
|
23
23
|
private readonly ngLocation;
|
|
24
|
-
|
|
24
|
+
readonly options: TuiDocExampleOptions;
|
|
25
25
|
private readonly rawLoader$$;
|
|
26
26
|
id: string | null;
|
|
27
27
|
heading: PolymorpheusContent;
|
|
@@ -5,6 +5,7 @@ export interface TuiDocExampleOptions {
|
|
|
5
5
|
codeEditorVisibilityHandler: TuiBooleanHandler<Record<string, string>>;
|
|
6
6
|
tabTitles: Map<unknown, PolymorpheusContent>;
|
|
7
7
|
fullsize: boolean;
|
|
8
|
+
linkIcon: string;
|
|
8
9
|
}
|
|
9
10
|
export declare const TUI_DOC_EXAMPLE_DEFAULT_OPTIONS: TuiDocExampleOptions;
|
|
10
11
|
/**
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Router } from '@angular/router';
|
|
2
|
+
import { TuiDocIcons } from '@taiga-ui/addon-doc/tokens';
|
|
2
3
|
import { TuiSwipeService } from '@taiga-ui/cdk';
|
|
3
4
|
import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class TuiDocHeaderComponent {
|
|
7
|
+
readonly icons: TuiDocIcons;
|
|
6
8
|
readonly logo: PolymorpheusContent;
|
|
7
9
|
readonly menu: string;
|
|
8
10
|
private readonly router;
|
|
9
11
|
private readonly swipes$;
|
|
10
12
|
private readonly stream$;
|
|
11
13
|
readonly open$: import("rxjs").Observable<boolean>;
|
|
12
|
-
constructor(logo: PolymorpheusContent, menu: string, router: Router, swipes$: TuiSwipeService);
|
|
14
|
+
constructor(icons: TuiDocIcons, logo: PolymorpheusContent, menu: string, router: Router, swipes$: TuiSwipeService);
|
|
13
15
|
onClick(): void;
|
|
14
16
|
onActiveZone(active: boolean): void;
|
|
15
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocHeaderComponent, never>;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { TuiDocSourceCodePathOptions } from '@taiga-ui/addon-doc/interfaces';
|
|
2
|
+
import { TuiDocIcons } from '@taiga-ui/addon-doc/tokens';
|
|
2
3
|
import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class TuiDocSourceCodeComponent {
|
|
6
|
+
readonly icons: TuiDocIcons;
|
|
5
7
|
readonly sourceCode: PolymorpheusContent<TuiDocSourceCodePathOptions>;
|
|
6
8
|
readonly text: string;
|
|
7
9
|
header: string;
|
|
8
10
|
package: string;
|
|
9
11
|
type: string;
|
|
10
12
|
path: string;
|
|
11
|
-
constructor(sourceCode: PolymorpheusContent<TuiDocSourceCodePathOptions>, text: string);
|
|
13
|
+
constructor(icons: TuiDocIcons, sourceCode: PolymorpheusContent<TuiDocSourceCodePathOptions>, text: string);
|
|
12
14
|
get pathOptions(): TuiDocSourceCodePathOptions;
|
|
13
15
|
private getPathOptions;
|
|
14
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocSourceCodeComponent, never>;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { TuiThemeNightService, TuiThemeService } from '@taiga-ui/addon-doc/services';
|
|
2
|
+
import { TuiDocIcons } from '@taiga-ui/addon-doc/tokens';
|
|
2
3
|
import { TuiBrightness } from '@taiga-ui/core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class TuiDocMainComponent {
|
|
6
|
+
private readonly icons;
|
|
5
7
|
readonly theme: TuiThemeService;
|
|
6
8
|
readonly night: TuiThemeNightService;
|
|
7
9
|
readonly change$: TuiThemeNightService;
|
|
8
10
|
readonly night$: import("rxjs").Observable<boolean>;
|
|
9
|
-
constructor(theme: TuiThemeService, night: TuiThemeNightService);
|
|
11
|
+
constructor(icons: TuiDocIcons, theme: TuiThemeService, night: TuiThemeNightService);
|
|
10
12
|
get mode(): TuiBrightness | null;
|
|
13
|
+
get icon(): string;
|
|
11
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocMainComponent, never>;
|
|
12
15
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiDocMainComponent, "tui-doc-main", never, {}, {}, never, ["tuiDocNavigation", "tuiDocHeader", "tuiOverContent", "tuiOverDialogs", "tuiOverAlerts", "tuiOverPortals", "tuiOverHints"]>;
|
|
13
16
|
}
|
|
@@ -3,8 +3,9 @@ import { FormControl } from '@angular/forms';
|
|
|
3
3
|
import { Title } from '@angular/platform-browser';
|
|
4
4
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
5
5
|
import { TuiDocPage } from '@taiga-ui/addon-doc/interfaces';
|
|
6
|
+
import { TuiDocIcons } from '@taiga-ui/addon-doc/tokens';
|
|
6
7
|
import { TuiDocPages } from '@taiga-ui/addon-doc/types';
|
|
7
|
-
import { TuiBrightness, TuiModeDirective } from '@taiga-ui/core';
|
|
8
|
+
import { TuiBrightness, TuiCommonIcons, TuiModeDirective } from '@taiga-ui/core';
|
|
8
9
|
import { TuiInputComponent } from '@taiga-ui/kit';
|
|
9
10
|
import { Observable } from 'rxjs';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
@@ -20,6 +21,8 @@ export declare class TuiDocNavigationComponent {
|
|
|
20
21
|
private readonly destroy$;
|
|
21
22
|
private readonly readyToScroll$;
|
|
22
23
|
private readonly scrollBehavior;
|
|
24
|
+
readonly docIcons: TuiDocIcons;
|
|
25
|
+
readonly icons: TuiCommonIcons;
|
|
23
26
|
menuOpen: boolean;
|
|
24
27
|
openPagesArr: boolean[];
|
|
25
28
|
openPagesGroupsArr: boolean[];
|
|
@@ -27,7 +30,7 @@ export declare class TuiDocNavigationComponent {
|
|
|
27
30
|
readonly search: FormControl;
|
|
28
31
|
readonly filtered$: Observable<readonly (readonly TuiDocPage[])[]>;
|
|
29
32
|
readonly mode$: Observable<TuiBrightness>;
|
|
30
|
-
constructor(cdr: ChangeDetectorRef, titleService: Title, title$: Observable<string>, doc: Document, mode: TuiModeDirective, sidebar: unknown, labels: string[], items: readonly TuiDocPages[], searchText: string, router: Router, activatedRoute: ActivatedRoute, destroy$: Observable<void>, readyToScroll$: Observable<boolean>, scrollBehavior: ScrollBehavior);
|
|
33
|
+
constructor(cdr: ChangeDetectorRef, titleService: Title, title$: Observable<string>, doc: Document, mode: TuiModeDirective, sidebar: unknown, labels: string[], items: readonly TuiDocPages[], searchText: string, router: Router, activatedRoute: ActivatedRoute, destroy$: Observable<void>, readyToScroll$: Observable<boolean>, scrollBehavior: ScrollBehavior, docIcons: TuiDocIcons, icons: TuiCommonIcons);
|
|
31
34
|
get canOpen(): boolean;
|
|
32
35
|
get itemsWithoutSections(): TuiDocPages;
|
|
33
36
|
$pages(pages: any): readonly TuiDocPage[];
|
|
@@ -41,6 +44,6 @@ export declare class TuiDocNavigationComponent {
|
|
|
41
44
|
private handleAnchorLink;
|
|
42
45
|
private openActivePageGroup;
|
|
43
46
|
private navigateToAnchorLink;
|
|
44
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocNavigationComponent, [null, null, null, null, null, { optional: true; }, null, null, null, null, null, { self: true; }, null, null]>;
|
|
47
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocNavigationComponent, [null, null, null, null, null, { optional: true; }, null, null, null, null, null, { self: true; }, null, null, null, null]>;
|
|
45
48
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiDocNavigationComponent, "tui-doc-navigation", never, {}, {}, never, ["*"]>;
|
|
46
49
|
}
|
|
@@ -7,6 +7,7 @@ import { TUI_DOC_DEMO_TEXTS, TUI_DOC_URL_STATE_HANDLER } from '@taiga-ui/addon-d
|
|
|
7
7
|
import { tuiCoerceValueIsTrue } from '@taiga-ui/addon-doc/utils';
|
|
8
8
|
import { TUI_IS_MOBILE, tuiClamp, tuiCleanObject, TuiDestroyService, tuiPure, tuiPx, TuiResizeableDirective, tuiToInteger, } from '@taiga-ui/cdk';
|
|
9
9
|
import { TuiModeDirective } from '@taiga-ui/core';
|
|
10
|
+
import { TUI_ARROW_OPTIONS } from '@taiga-ui/kit';
|
|
10
11
|
import { Subject } from 'rxjs';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@taiga-ui/core";
|
|
@@ -17,8 +18,9 @@ import * as i5 from "@angular/forms";
|
|
|
17
18
|
import * as i6 from "@taiga-ui/cdk";
|
|
18
19
|
const MIN_WIDTH = 160;
|
|
19
20
|
export class TuiDocDemoComponent {
|
|
20
|
-
constructor(isMobile, el, locationRef, urlSerializer, texts, urlStateHandler) {
|
|
21
|
+
constructor(options, isMobile, el, locationRef, urlSerializer, texts, urlStateHandler) {
|
|
21
22
|
var _a, _b;
|
|
23
|
+
this.options = options;
|
|
22
24
|
this.isMobile = isMobile;
|
|
23
25
|
this.el = el;
|
|
24
26
|
this.locationRef = locationRef;
|
|
@@ -105,14 +107,14 @@ export class TuiDocDemoComponent {
|
|
|
105
107
|
return this.getUrlTree().queryParams;
|
|
106
108
|
}
|
|
107
109
|
}
|
|
108
|
-
TuiDocDemoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocDemoComponent, deps: [{ token: TUI_IS_MOBILE }, { token: ElementRef }, { token: Location }, { token: UrlSerializer }, { token: TUI_DOC_DEMO_TEXTS }, { token: TUI_DOC_URL_STATE_HANDLER }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
+
TuiDocDemoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocDemoComponent, deps: [{ token: TUI_ARROW_OPTIONS }, { token: TUI_IS_MOBILE }, { token: ElementRef }, { token: Location }, { token: UrlSerializer }, { token: TUI_DOC_DEMO_TEXTS }, { token: TUI_DOC_URL_STATE_HANDLER }], target: i0.ɵɵFactoryTarget.Component });
|
|
109
111
|
TuiDocDemoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocDemoComponent, selector: "tui-doc-demo", inputs: { control: "control", sticky: "sticky" }, host: { listeners: { "window:resize": "onResize()", "document:mouseup.silent": "onMouseUp()" }, properties: { "class._sticky": "this.sticky" } }, providers: [
|
|
110
112
|
TuiDestroyService,
|
|
111
113
|
{
|
|
112
114
|
provide: TuiModeDirective,
|
|
113
115
|
useExisting: forwardRef(() => TuiDocDemoComponent),
|
|
114
116
|
},
|
|
115
|
-
], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "resizeable", first: true, predicate: TuiResizeableDirective, descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "resizer", first: true, predicate: ["resizer"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n tuiResizeable\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"mode === 'onDark'\"\n [class.t-wrapper_gray]=\"mode === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n id=\"demo-content\"\n class=\"t-content\"\n >\n <div #content>\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n automation-id=\"tui-demo-button__toggle-details\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n automation-id=\"tui-demo-select__expand-update-on\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n automation-id=\"tui-demo-button__reset-state\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n automation-id=\"tui-demo-button__submit-state\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n </div>\n <div\n #resizer\n class=\"t-resizer\"\n [tuiResizer]=\"[1, 0]\"\n (tuiSizeChange)=\"updateWidth($event[0])\"\n ></div>\n</div>\n", styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.t-bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.t-bg-toggle>*{pointer-events:auto}.t-wrapper{box-shadow:0 1.5rem 1rem #00000008,0 .75rem .75rem #0000000a,0 .25rem .375rem #0000000d;display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;min-width:10rem;background-color:var(--tui-base-01);overflow:hidden}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.t-wrapper.t-wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.t-wrapper.t-wrapper_gray{background-color:#e5e7ea}.t-wrapper.t-wrapper_dark.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.t-wrapper.t-wrapper_gray.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}:host-context(tui-root._mobile) .t-wrapper{min-height:auto}.t-content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}:host-context(tui-root._mobile) .t-content{padding:1rem}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{width:100%;margin-bottom:.5rem}.t-expand{width:100%}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-icon_rotated{transform:rotate(180deg)}.t-value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.t-mode{width:12.5rem}.t-select{max-width:15rem}.t-resizer{box-shadow:0 1.5rem 1rem #00000008,0 .75rem .75rem #0000000a,0 .25rem .375rem #0000000d;position:relative;width:3.5rem;min-height:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-left:1px solid var(--tui-base-03);outline:none;background:var(--tui-base-01);color:var(--tui-text-01)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:calc(50% + 1rem);width:1px;background:var(--tui-base-04);box-shadow:-.25rem 0 var(--tui-base-04);transform:translate(0)}.t-resizer:after{bottom:.75rem;top:calc(50% + 1rem)}:host-context(tui-root._mobile) .t-resizer{display:none}.t-resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports ((position: -webkit-sticky) or (position: sticky)){@media screen and (min-height: 37.5rem){:host._sticky{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2.TuiRadioBlockComponent, selector: "tui-radio-block", inputs: ["item", "identityMatcher", "contentAlign", "size", "hideRadio", "pseudoDisabled"] }, { type: i2.TuiCheckboxLabeledComponent, selector: "tui-checkbox-labeled", inputs: ["size"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiSelectDirective, selector: "tui-select" }, { type: i1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i1.TuiHintOptionsDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i6.TuiResizeableDirective, selector: "[tuiResizeable]" }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i6.TuiResizerDirective, selector: "[tuiResizer]", inputs: ["tuiResizer"], outputs: ["tuiSizeChange"] }], pipes: { "json": i4.JsonPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
117
|
+
], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "resizeable", first: true, predicate: TuiResizeableDirective, descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "resizer", first: true, predicate: ["resizer"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n tuiResizeable\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"mode === 'onDark'\"\n [class.t-wrapper_gray]=\"mode === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n id=\"demo-content\"\n class=\"t-content\"\n >\n <div #content>\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n automation-id=\"tui-demo-button__toggle-details\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n [src]=\"options.iconSmall\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n automation-id=\"tui-demo-select__expand-update-on\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n automation-id=\"tui-demo-button__reset-state\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n automation-id=\"tui-demo-button__submit-state\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n </div>\n <div\n #resizer\n class=\"t-resizer\"\n [tuiResizer]=\"[1, 0]\"\n (tuiSizeChange)=\"updateWidth($event[0])\"\n ></div>\n</div>\n", styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.t-bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.t-bg-toggle>*{pointer-events:auto}.t-wrapper{box-shadow:0 1.5rem 1rem #00000008,0 .75rem .75rem #0000000a,0 .25rem .375rem #0000000d;display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;min-width:10rem;background-color:var(--tui-base-01);overflow:hidden}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.t-wrapper.t-wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.t-wrapper.t-wrapper_gray{background-color:#e5e7ea}.t-wrapper.t-wrapper_dark.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.t-wrapper.t-wrapper_gray.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}:host-context(tui-root._mobile) .t-wrapper{min-height:auto}.t-content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}:host-context(tui-root._mobile) .t-content{padding:1rem}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{width:100%;margin-bottom:.5rem}.t-expand{width:100%}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-icon_rotated{transform:rotate(180deg)}.t-value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.t-mode{width:12.5rem}.t-select{max-width:15rem}.t-resizer{box-shadow:0 1.5rem 1rem #00000008,0 .75rem .75rem #0000000a,0 .25rem .375rem #0000000d;position:relative;width:3.5rem;min-height:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-left:1px solid var(--tui-base-03);outline:none;background:var(--tui-base-01);color:var(--tui-text-01)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:calc(50% + 1rem);width:1px;background:var(--tui-base-04);box-shadow:-.25rem 0 var(--tui-base-04);transform:translate(0)}.t-resizer:after{bottom:.75rem;top:calc(50% + 1rem)}:host-context(tui-root._mobile) .t-resizer{display:none}.t-resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports ((position: -webkit-sticky) or (position: sticky)){@media screen and (min-height: 37.5rem){:host._sticky{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2.TuiRadioBlockComponent, selector: "tui-radio-block", inputs: ["item", "identityMatcher", "contentAlign", "size", "hideRadio", "pseudoDisabled"] }, { type: i2.TuiCheckboxLabeledComponent, selector: "tui-checkbox-labeled", inputs: ["size"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiSelectDirective, selector: "tui-select" }, { type: i1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i1.TuiHintOptionsDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i6.TuiResizeableDirective, selector: "[tuiResizeable]" }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i6.TuiResizerDirective, selector: "[tuiResizer]", inputs: ["tuiResizer"], outputs: ["tuiSizeChange"] }], pipes: { "json": i4.JsonPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
116
118
|
__decorate([
|
|
117
119
|
tuiPure
|
|
118
120
|
], TuiDocDemoComponent.prototype, "updateUrl", null);
|
|
@@ -132,6 +134,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
132
134
|
],
|
|
133
135
|
}]
|
|
134
136
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
137
|
+
type: Inject,
|
|
138
|
+
args: [TUI_ARROW_OPTIONS]
|
|
139
|
+
}] }, { type: undefined, decorators: [{
|
|
135
140
|
type: Inject,
|
|
136
141
|
args: [TUI_IS_MOBILE]
|
|
137
142
|
}] }, { type: i0.ElementRef, decorators: [{
|
|
@@ -175,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
175
180
|
type: HostListener,
|
|
176
181
|
args: ['document:mouseup.silent']
|
|
177
182
|
}], updateUrl: [] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kZW1vL2RlbW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZGVtby9kZW1vLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWtCLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBUyxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFDUixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxLQUFLLEVBQ0wsc0JBQXNCLEVBRXRCLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLGdCQUFnQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFFN0IsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBZXRCLE1BQU0sT0FBTyxtQkFBbUI7SUFtQzVCLFlBQ29DLFFBQWlCLEVBQ1osRUFB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QUFtQjtrQkFiL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLHNCQUFzQjtvQkFDbkMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ2hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQjs0QkFDSSxPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzt5QkFDckQ7cUJBQ0o7aUJBQ0o7OzBCQXFDUSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQyx5QkFBeUI7NENBdkNwQixVQUFVO3NCQUQxQixTQUFTO3VCQUFDLHNCQUFzQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFJaEMsT0FBTztzQkFEdkIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUluQixPQUFPO3NCQUR2QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSXBDLE9BQU87c0JBRE4sS0FBSztnQkFLTixNQUFNO3NCQUZMLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZUFBZTtnQkFJbkIsUUFBUTtzQkFEaEIsWUFBWTt1QkFBQyxXQUFXO2dCQTZCekIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWU7Z0JBTzdCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBdUQvQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UGFyYW1zLCBVcmxTZXJpYWxpemVyLCBVcmxUcmVlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUdWlEZW1vUGFyYW1zfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRE9DX0RFTU9fVEVYVFMsIFRVSV9ET0NfVVJMX1NUQVRFX0hBTkRMRVJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB7dHVpQ29lcmNlVmFsdWVJc1RydWV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIHR1aUNsYW1wLFxuICAgIHR1aUNsZWFuT2JqZWN0LFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUHgsXG4gICAgVHVpUmVzaXplYWJsZURpcmVjdGl2ZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxuICAgIHR1aVRvSW50ZWdlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aU1vZGVEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDE2MDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWRlbW8nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZW1vLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RlbW8uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVHVpTW9kZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aURvY0RlbW9Db21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoVHVpUmVzaXplYWJsZURpcmVjdGl2ZSwge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVhYmxlPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50Jywge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdyZXNpemVyJywge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zdGlja3knKVxuICAgIHN0aWNreSA9IHRydWU7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHJlYWRvbmx5IHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gfCBudWxsID0gbnVsbDtcblxuICAgIHRlc3RGb3JtPzogRm9ybUdyb3VwO1xuXG4gICAgcmVhZG9ubHkgdXBkYXRlT25WYXJpYW50cyA9IFsnY2hhbmdlJywgJ2JsdXInLCAnc3VibWl0J10gYXMgY29uc3Q7XG5cbiAgICB1cGRhdGVPbjogJ2JsdXInIHwgJ2NoYW5nZScgfCAnc3VibWl0JyA9XG4gICAgICAgIHRoaXMucGFyYW1zLnVwZGF0ZU9uIHx8IHRoaXMudXBkYXRlT25WYXJpYW50c1swXTtcblxuICAgIG9wYXF1ZSA9IHR1aUNvZXJjZVZhbHVlSXNUcnVlKHRoaXMucGFyYW1zLnNhbmRib3hPcGFxdWUgPz8gdHJ1ZSk7XG4gICAgZXhwYW5kZWQgPSB0dWlDb2VyY2VWYWx1ZUlzVHJ1ZSh0aGlzLnBhcmFtcy5zYW5kYm94RXhwYW5kZWQgPz8gZmFsc2UpO1xuICAgIG1vZGU6IFR1aUJyaWdodG5lc3MgfCBudWxsID0gdGhpcy5wYXJhbXMudHVpTW9kZSB8fCBudWxsO1xuICAgIHNhbmRib3hXaWR0aCA9IHR1aVRvSW50ZWdlcih0aGlzLnBhcmFtcy5zYW5kYm94V2lkdGgpO1xuXG4gICAgcmVhZG9ubHkgY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IFR1aUJyaWdodG5lc3NbXSA9IFsnb25MaWdodCcsICdvbkRhcmsnXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KExvY2F0aW9uKSBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uUmVmOiBMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChVcmxTZXJpYWxpemVyKSBwcml2YXRlIHJlYWRvbmx5IHVybFNlcmlhbGl6ZXI6IFVybFNlcmlhbGl6ZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ERU1PX1RFWFRTKSByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfVVJMX1NUQVRFX0hBTkRMRVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU3RhdGVIYW5kbGVyOiBUdWlTdHJpbmdIYW5kbGVyPFVybFRyZWU+LFxuICAgICkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVdpZHRoKCk7XG4gICAgICAgIHRoaXMub25Nb3VzZVVwKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cC5zaWxlbnQnKVxuICAgIG9uTW91c2VVcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVVcmwoe3NhbmRib3hXaWR0aDogdGhpcy5zYW5kYm94V2lkdGh9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5zYW5kYm94V2lkdGggKyB0aGlzLmRlbHRhKTtcbiAgICB9XG5cbiAgICBvbk1vZGVDaGFuZ2UobW9kZTogVHVpQnJpZ2h0bmVzcyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlID0gbW9kZTtcbiAgICAgICAgdGhpcy51cGRhdGVVcmwoe3NhbmRib3hXaWR0aDogdGhpcy5zYW5kYm94V2lkdGh9KTtcbiAgICAgICAgdGhpcy5jaGFuZ2UkLm5leHQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVEZXRhaWxzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMudXBkYXRlVXJsKHtzYW5kYm94RXhwYW5kZWQ6IHRoaXMuZXhwYW5kZWR9KTtcbiAgICB9XG5cbiAgICBjaGFuZ2VPcGFxdWUob3BhcXVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BhcXVlID0gb3BhcXVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVVybCh7c2FuZGJveE9wYXF1ZTogdGhpcy5vcGFxdWV9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVPbkNoYW5nZSh1cGRhdGVPbjogJ2JsdXInIHwgJ2NoYW5nZScgfCAnc3VibWl0Jyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZU9uID0gdXBkYXRlT247XG4gICAgICAgIHRoaXMudXBkYXRlVXJsKHt1cGRhdGVPbn0pO1xuICAgICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICB1cGRhdGVXaWR0aCh3aWR0aDogbnVtYmVyID0gTmFOKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yZXNpemVyIHx8ICF0aGlzLnJlc2l6ZWFibGUgfHwgIXRoaXMuY29udGVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FmZSA9IHdpZHRoIHx8IHRoaXMucmVzaXplYWJsZS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCB0b3RhbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgY2xhbXBlZCA9IE1hdGgucm91bmQodHVpQ2xhbXAoc2FmZSwgTUlOX1dJRFRILCB0b3RhbCkpIC0gdGhpcy5kZWx0YTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gc2FmZSA8IHRvdGFsID8gY2xhbXBlZCA6IE5hTjtcblxuICAgICAgICB0aGlzLnJlc2l6ZXIubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA9IFN0cmluZyhjbGFtcGVkIHx8ICctJyk7XG4gICAgICAgIHRoaXMucmVzaXplYWJsZS5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdmFsaWRhdGVkID8gdHVpUHgoc2FmZSkgOiAnJztcbiAgICAgICAgdGhpcy5zYW5kYm94V2lkdGggPSB2YWxpZGF0ZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZGVsdGEoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplYWJsZSAmJiB0aGlzLmNvbnRlbnRcbiAgICAgICAgICAgID8gdGhpcy5yZXNpemVhYmxlLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGhcbiAgICAgICAgICAgIDogMDtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgdXBkYXRlVXJsKHBhcmFtczogVHVpRGVtb1BhcmFtcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB0cmVlID0gdGhpcy5nZXRVcmxUcmVlKCk7XG4gICAgICAgIGNvbnN0IHtxdWVyeVBhcmFtc30gPSB0cmVlO1xuXG4gICAgICAgIGRlbGV0ZSBxdWVyeVBhcmFtcy5zYW5kYm94V2lkdGg7XG4gICAgICAgIGRlbGV0ZSBxdWVyeVBhcmFtcy50dWlNb2RlO1xuXG4gICAgICAgIHRyZWUucXVlcnlQYXJhbXMgPSB7XG4gICAgICAgICAgICAuLi5xdWVyeVBhcmFtcyxcbiAgICAgICAgICAgIC4uLnR1aUNsZWFuT2JqZWN0KHt0dWlNb2RlOiB0aGlzLm1vZGUsIC4uLnBhcmFtc30pLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubG9jYXRpb25SZWYuZ28odGhpcy51cmxTdGF0ZUhhbmRsZXIodHJlZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NvbnRyb2wsIHVwZGF0ZU9ufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMudGVzdEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt0ZXN0VmFsdWU6IGNvbnRyb2x9LCB7dXBkYXRlT259KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXJsVHJlZSgpOiBVcmxUcmVlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXJsU2VyaWFsaXplci5wYXJzZSh0aGlzLmxvY2F0aW9uUmVmLnBhdGgoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGFyYW1zKCk6IFBhcmFtcyB8IFR1aURlbW9QYXJhbXMge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRVcmxUcmVlKCkucXVlcnlQYXJhbXM7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwidC1iZy10b2dnbGVcIlxuICAgIFt0dWlNb2RlXT1cIm51bGxcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcD5cbiAgICAgICAge3sgdGV4dHNbMF0gfX1cbiAgICAgICAgPGFcbiAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgIHR1aU1vZGU9XCJvbkRhcmtcIlxuICAgICAgICAgICAgcm91dGVyTGluaz1cIi9kaXJlY3RpdmVzL21vZGVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8Y29kZT50dWlNb2RlPC9jb2RlPlxuICAgICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNb2JpbGU7IGVsc2UgZGVza3RvcFwiPlxuICAgICAgICA8dHVpLXNlbGVjdFxuICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cInNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LW1vZGVcIlxuICAgICAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdHVpSGludENvbnRlbnRdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJtb2RlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgdHVpTW9kZVxuICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICA+PC90dWktZGF0YS1saXN0LXdyYXBwZXI+XG4gICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2Rlc2t0b3A+XG4gICAgICAgIHR1aU1vZGU6XG4gICAgICAgIDx0dWktdG9vbHRpcFxuICAgICAgICAgICAgZGVzY3JpYmVJZD1cImZvcm1cIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwidG9vbHRpcFwiXG4gICAgICAgID48L3R1aS10b29sdGlwPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0dWlHcm91cFxuICAgICAgICAgICAgY2xhc3M9XCJ0LWdyb3VwXCJcbiAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktcmFkaW8tYmxvY2tcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgbmF0aXZlSWQ9XCJmb3JtXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICBbaXRlbV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICBbaGlkZVJhZGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICA8L3R1aS1yYWRpby1ibG9jaz5cbiAgICAgICAgICAgIDx0dWktcmFkaW8tYmxvY2tcbiAgICAgICAgICAgICAgICBpdGVtPVwib25EYXJrXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgbmF0aXZlSWQ9XCJmb3JtXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICBbaGlkZVJhZGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBvbkRhcmtcbiAgICAgICAgICAgIDwvdHVpLXJhZGlvLWJsb2NrPlxuICAgICAgICAgICAgPHR1aS1yYWRpby1ibG9ja1xuICAgICAgICAgICAgICAgIGl0ZW09XCJvbkxpZ2h0XCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgbmF0aXZlSWQ9XCJmb3JtXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICBbaGlkZVJhZGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBvbkxpZ2h0XG4gICAgICAgICAgICA8L3R1aS1yYWRpby1ibG9jaz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8dHVpLWNoZWNrYm94LWxhYmVsZWRcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBjbGFzcz1cInQtY2hlY2tib3hcIlxuICAgICAgICBbbmdNb2RlbF09XCJvcGFxdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VPcGFxdWUoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICB7eyB0ZXh0c1sxXSB9fVxuICAgIDwvdHVpLWNoZWNrYm94LWxhYmVsZWQ+XG48L2Rpdj5cbjxkaXZcbiAgICB0dWlSZXNpemVhYmxlXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFtjbGFzcy50LXdyYXBwZXJfZGFya109XCJtb2RlID09PSAnb25EYXJrJ1wiXG4gICAgW2NsYXNzLnQtd3JhcHBlcl9ncmF5XT1cIm1vZGUgPT09ICdvbkxpZ2h0J1wiXG4gICAgW2NsYXNzLnQtd3JhcHBlcl90cmFuc3BhcmVudF09XCIhb3BhcXVlXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgIGlkPVwiZGVtby1jb250ZW50XCJcbiAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgID5cbiAgICAgICAgPGRpdiAjY29udGVudD5cbiAgICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0ZXN0Rm9ybVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZvcm1cIlxuICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwidGVzdEZvcm1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LWlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZGVtby1idXR0b25fX3RvZ2dsZS1kZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uUmlnaHRdPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEZXRhaWxzKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dHNbMl0gfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ljb24+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9yb3RhdGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDx0dWktZXhwYW5kXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1leHBhbmRcIlxuICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHR1aUV4cGFuZENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPVwidC12YWx1ZVwiPkZvcm0gZGF0YToge3sgdGVzdEZvcm0udmFsdWUgfCBqc29uIH19PC9wcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZm9ybS1jb250cm9sc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRlbW8tc2VsZWN0X19leHBhbmQtdXBkYXRlLW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInVwZGF0ZU9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlT25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidXBkYXRlT25WYXJpYW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS1kYXRhLWxpc3Qtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRlbW8tYnV0dG9uX19yZXNldC1zdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRlbW8tYnV0dG9uX19zdWJtaXQtc3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1Ym1pdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90dWktZXhwYW5kPlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICNyZXNpemVyXG4gICAgICAgIGNsYXNzPVwidC1yZXNpemVyXCJcbiAgICAgICAgW3R1aVJlc2l6ZXJdPVwiWzEsIDBdXCJcbiAgICAgICAgKHR1aVNpemVDaGFuZ2UpPVwidXBkYXRlV2lkdGgoJGV2ZW50WzBdKVwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kZW1vL2RlbW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZGVtby9kZW1vLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWtCLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBUyxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFDUixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxLQUFLLEVBQ0wsc0JBQXNCLEVBRXRCLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLGdCQUFnQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQUU3QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFldEIs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QUF5QjtnQkF1RC9CLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtQYXJhbXMsIFVybFNlcmlhbGl6ZXIsIFVybFRyZWV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aURlbW9QYXJhbXN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ET0NfREVNT19URVhUUywgVFVJX0RPQ19VUkxfU1RBVEVfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHt0dWlDb2VyY2VWYWx1ZUlzVHJ1ZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1xuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgdHVpQ2xhbXAsXG4gICAgdHVpQ2xlYW5PYmplY3QsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlQeCxcbiAgICBUdWlSZXNpemVhYmxlRGlyZWN0aXZlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG4gICAgdHVpVG9JbnRlZ2VyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpQnJpZ2h0bmVzcywgVHVpTW9kZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQVJST1dfT1BUSU9OUywgVHVpQXJyb3dPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDE2MDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWRlbW8nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZW1vLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RlbW8uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVHVpTW9kZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aURvY0RlbW9Db21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoVHVpUmVzaXplYWJsZURpcmVjdGl2ZSwge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVhYmxlPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50Jywge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdyZXNpemVyJywge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zdGlja3knKVxuICAgIHN0aWNreSA9IHRydWU7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHJlYWRvbmx5IHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gfCBudWxsID0gbnVsbDtcblxuICAgIHRlc3RGb3JtPzogRm9ybUdyb3VwO1xuXG4gICAgcmVhZG9ubHkgdXBkYXRlT25WYXJpYW50cyA9IFsnY2hhbmdlJywgJ2JsdXInLCAnc3VibWl0J10gYXMgY29uc3Q7XG5cbiAgICB1cGRhdGVPbjogJ2JsdXInIHwgJ2NoYW5nZScgfCAnc3VibWl0JyA9XG4gICAgICAgIHRoaXMucGFyYW1zLnVwZGF0ZU9uIHx8IHRoaXMudXBkYXRlT25WYXJpYW50c1swXTtcblxuICAgIG9wYXF1ZSA9IHR1aUNvZXJjZVZhbHVlSXNUcnVlKHRoaXMucGFyYW1zLnNhbmRib3hPcGFxdWUgPz8gdHJ1ZSk7XG4gICAgZXhwYW5kZWQgPSB0dWlDb2VyY2VWYWx1ZUlzVHJ1ZSh0aGlzLnBhcmFtcy5zYW5kYm94RXhwYW5kZWQgPz8gZmFsc2UpO1xuICAgIG1vZGU6IFR1aUJyaWdodG5lc3MgfCBudWxsID0gdGhpcy5wYXJhbXMudHVpTW9kZSB8fCBudWxsO1xuICAgIHNhbmRib3hXaWR0aCA9IHR1aVRvSW50ZWdlcih0aGlzLnBhcmFtcy5zYW5kYm94V2lkdGgpO1xuXG4gICAgcmVhZG9ubHkgY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IFR1aUJyaWdodG5lc3NbXSA9IFsnb25MaWdodCcsICdvbkRhcmsnXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BUlJPV19PUFRJT05TKSByZWFkb25seSBvcHRpb25zOiBUdWlBcnJvd09wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoTG9jYXRpb24pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25SZWY6IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFVybFNlcmlhbGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VyaWFsaXplcjogVXJsU2VyaWFsaXplcixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0RFTU9fVEVYVFMpIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19VUkxfU1RBVEVfSEFORExFUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1cmxTdGF0ZUhhbmRsZXI6IFR1aVN0cmluZ0hhbmRsZXI8VXJsVHJlZT4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlV2lkdGgoKTtcbiAgICAgICAgdGhpcy5vbk1vdXNlVXAoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwLnNpbGVudCcpXG4gICAgb25Nb3VzZVVwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVVybCh7c2FuZGJveFdpZHRoOiB0aGlzLnNhbmRib3hXaWR0aH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLnNhbmRib3hXaWR0aCArIHRoaXMuZGVsdGEpO1xuICAgIH1cblxuICAgIG9uTW9kZUNoYW5nZShtb2RlOiBUdWlCcmlnaHRuZXNzIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGUgPSBtb2RlO1xuICAgICAgICB0aGlzLnVwZGF0ZVVybCh7c2FuZGJveFdpZHRoOiB0aGlzLnNhbmRib3hXaWR0aH0pO1xuICAgICAgICB0aGlzLmNoYW5nZSQubmV4dCgpO1xuICAgIH1cblxuICAgIHRvZ2dsZURldGFpbHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy51cGRhdGVVcmwoe3NhbmRib3hFeHBhbmRlZDogdGhpcy5leHBhbmRlZH0pO1xuICAgIH1cblxuICAgIGNoYW5nZU9wYXF1ZShvcGFxdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGFxdWUgPSBvcGFxdWU7XG4gICAgICAgIHRoaXMudXBkYXRlVXJsKHtzYW5kYm94T3BhcXVlOiB0aGlzLm9wYXF1ZX0pO1xuICAgIH1cblxuICAgIHVwZGF0ZU9uQ2hhbmdlKHVwZGF0ZU9uOiAnYmx1cicgfCAnY2hhbmdlJyB8ICdzdWJtaXQnKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlT24gPSB1cGRhdGVPbjtcbiAgICAgICAgdGhpcy51cGRhdGVVcmwoe3VwZGF0ZU9ufSk7XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVdpZHRoKHdpZHRoOiBudW1iZXIgPSBOYU4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc2l6ZXIgfHwgIXRoaXMucmVzaXplYWJsZSB8fCAhdGhpcy5jb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzYWZlID0gd2lkdGggfHwgdGhpcy5yZXNpemVhYmxlLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IHRvdGFsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5yb3VuZCh0dWlDbGFtcChzYWZlLCBNSU5fV0lEVEgsIHRvdGFsKSkgLSB0aGlzLmRlbHRhO1xuICAgICAgICBjb25zdCB2YWxpZGF0ZWQgPSBzYWZlIDwgdG90YWwgPyBjbGFtcGVkIDogTmFOO1xuXG4gICAgICAgIHRoaXMucmVzaXplci5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gU3RyaW5nKGNsYW1wZWQgfHwgJy0nKTtcbiAgICAgICAgdGhpcy5yZXNpemVhYmxlLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB2YWxpZGF0ZWQgPyB0dWlQeChzYWZlKSA6ICcnO1xuICAgICAgICB0aGlzLnNhbmRib3hXaWR0aCA9IHZhbGlkYXRlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBkZWx0YSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNpemVhYmxlICYmIHRoaXMuY29udGVudFxuICAgICAgICAgICAgPyB0aGlzLnJlc2l6ZWFibGUubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aFxuICAgICAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSB1cGRhdGVVcmwocGFyYW1zOiBUdWlEZW1vUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRyZWUgPSB0aGlzLmdldFVybFRyZWUoKTtcbiAgICAgICAgY29uc3Qge3F1ZXJ5UGFyYW1zfSA9IHRyZWU7XG5cbiAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1zLnNhbmRib3hXaWR0aDtcbiAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1zLnR1aU1vZGU7XG5cbiAgICAgICAgdHJlZS5xdWVyeVBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgLi4udHVpQ2xlYW5PYmplY3Qoe3R1aU1vZGU6IHRoaXMubW9kZSwgLi4ucGFyYW1zfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sb2NhdGlvblJlZi5nbyh0aGlzLnVybFN0YXRlSGFuZGxlcih0cmVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y29udHJvbCwgdXBkYXRlT259ID0gdGhpcztcblxuICAgICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy50ZXN0Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe3Rlc3RWYWx1ZTogY29udHJvbH0sIHt1cGRhdGVPbn0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVcmxUcmVlKCk6IFVybFRyZWUge1xuICAgICAgICByZXR1cm4gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHRoaXMubG9jYXRpb25SZWYucGF0aCgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwYXJhbXMoKTogUGFyYW1zIHwgVHVpRGVtb1BhcmFtcyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFVybFRyZWUoKS5xdWVyeVBhcmFtcztcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJ0LWJnLXRvZ2dsZVwiXG4gICAgW3R1aU1vZGVdPVwibnVsbFwiXG4+XG4gICAgPG5nLXRlbXBsYXRlICN0b29sdGlwPlxuICAgICAgICB7eyB0ZXh0c1swXSB9fVxuICAgICAgICA8YVxuICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgdHVpTW9kZT1cIm9uRGFya1wiXG4gICAgICAgICAgICByb3V0ZXJMaW5rPVwiL2RpcmVjdGl2ZXMvbW9kZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxjb2RlPnR1aU1vZGU8L2NvZGU+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01vYmlsZTsgZWxzZSBkZXNrdG9wXCI+XG4gICAgICAgIDx0dWktc2VsZWN0XG4gICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwic1wiXG4gICAgICAgICAgICBjbGFzcz1cInQtbW9kZVwiXG4gICAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0dWlIaW50Q29udGVudF09XCJ0b29sdGlwXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICB0dWlNb2RlXG4gICAgICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICAgICAgICAgID48L3R1aS1kYXRhLWxpc3Qtd3JhcHBlcj5cbiAgICAgICAgPC90dWktc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVza3RvcD5cbiAgICAgICAgdHVpTW9kZTpcbiAgICAgICAgPHR1aS10b29sdGlwXG4gICAgICAgICAgICBkZXNjcmliZUlkPVwiZm9ybVwiXG4gICAgICAgICAgICBbY29udGVudF09XCJ0b29sdGlwXCJcbiAgICAgICAgPjwvdHVpLXRvb2x0aXA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHR1aUdyb3VwXG4gICAgICAgICAgICBjbGFzcz1cInQtZ3JvdXBcIlxuICAgICAgICAgICAgW2NvbGxhcHNlZF09XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1yYWRpby1ibG9ja1xuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBuYXRpdmVJZD1cImZvcm1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFtpdGVtXT1cIm51bGxcIlxuICAgICAgICAgICAgICAgIFtoaWRlUmFkaW9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgIDwvdHVpLXJhZGlvLWJsb2NrPlxuICAgICAgICAgICAgPHR1aS1yYWRpby1ibG9ja1xuICAgICAgICAgICAgICAgIGl0ZW09XCJvbkRhcmtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBuYXRpdmVJZD1cImZvcm1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFtoaWRlUmFkaW9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIG9uRGFya1xuICAgICAgICAgICAgPC90dWktcmFkaW8tYmxvY2s+XG4gICAgICAgICAgICA8dHVpLXJhZGlvLWJsb2NrXG4gICAgICAgICAgICAgICAgaXRlbT1cIm9uTGlnaHRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBuYXRpdmVJZD1cImZvcm1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFtoaWRlUmFkaW9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIG9uTGlnaHRcbiAgICAgICAgICAgIDwvdHVpLXJhZGlvLWJsb2NrPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDx0dWktY2hlY2tib3gtbGFiZWxlZFxuICAgICAgICBzaXplPVwibVwiXG4gICAgICAgIGNsYXNzPVwidC1jaGVja2JveFwiXG4gICAgICAgIFtuZ01vZGVsXT1cIm9wYXF1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZU9wYXF1ZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIHt7IHRleHRzWzFdIH19XG4gICAgPC90dWktY2hlY2tib3gtbGFiZWxlZD5cbjwvZGl2PlxuPGRpdlxuICAgIHR1aVJlc2l6ZWFibGVcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgW2NsYXNzLnQtd3JhcHBlcl9kYXJrXT1cIm1vZGUgPT09ICdvbkRhcmsnXCJcbiAgICBbY2xhc3MudC13cmFwcGVyX2dyYXldPVwibW9kZSA9PT0gJ29uTGlnaHQnXCJcbiAgICBbY2xhc3MudC13cmFwcGVyX3RyYW5zcGFyZW50XT1cIiFvcGFxdWVcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgaWQ9XCJkZW1vLWNvbnRlbnRcIlxuICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgPlxuICAgICAgICA8ZGl2ICNjb250ZW50PlxuICAgICAgICAgICAgPGZvcm1cbiAgICAgICAgICAgICAgICAqbmdJZj1cInRlc3RGb3JtXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZm9ybVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJ0ZXN0Rm9ybVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtaW5wdXQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kZW1vLWJ1dHRvbl9fdG9nZ2xlLWRldGFpbHNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25SaWdodF09XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURldGFpbHMoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0c1syXSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWljb25fcm90YXRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIm9wdGlvbnMuaWNvblNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDx0dWktZXhwYW5kXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1leHBhbmRcIlxuICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHR1aUV4cGFuZENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPVwidC12YWx1ZVwiPkZvcm0gZGF0YToge3sgdGVzdEZvcm0udmFsdWUgfCBqc29uIH19PC9wcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZm9ybS1jb250cm9sc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRlbW8tc2VsZWN0X19leHBhbmQtdXBkYXRlLW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInVwZGF0ZU9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlT25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidXBkYXRlT25WYXJpYW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS1kYXRhLWxpc3Qtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRlbW8tYnV0dG9uX19yZXNldC1zdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRlbW8tYnV0dG9uX19zdWJtaXQtc3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1Ym1pdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90dWktZXhwYW5kPlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICNyZXNpemVyXG4gICAgICAgIGNsYXNzPVwidC1yZXNpemVyXCJcbiAgICAgICAgW3R1aVJlc2l6ZXJdPVwiWzEsIDBdXCJcbiAgICAgICAgKHR1aVNpemVDaGFuZ2UpPVwidXBkYXRlV2lkdGgoJGV2ZW50WzBdKVwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|