@matechat/ng 0.0.1-alpha.0 → 20.0.1-alpha.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/Base/base.component.d.ts +5 -5
- package/Bubble/bubble.component.d.ts +7 -5
- package/Input/button/button.component.d.ts +3 -2
- package/Input/input.component.d.ts +13 -4
- package/MarkdownCard/code-block.component.d.ts +49 -0
- package/MarkdownCard/index.d.ts +3 -0
- package/MarkdownCard/markdown-card.component.d.ts +200 -0
- package/MarkdownCard/markdown-card.module.d.ts +13 -0
- package/README.md +117 -13
- package/components-common/Base/foundation.d.ts +2 -0
- package/components-common/MarkdownCard/codeblock-foundation.d.ts +21 -0
- package/components-common/MarkdownCard/common/MDCardService.d.ts +14 -0
- package/components-common/MarkdownCard/common/MermaidService.d.ts +23 -0
- package/components-common/MarkdownCard/common/mdCard.types.d.ts +56 -0
- package/components-common/MarkdownCard/common/parser.d.ts +150 -0
- package/components-common/MarkdownCard/foundation.d.ts +38 -0
- package/esm2022/Base/base.component.mjs +2 -2
- package/esm2022/Bubble/bubble.component.mjs +15 -8
- package/esm2022/Input/button/button.component.mjs +1 -1
- package/esm2022/Input/input.component.mjs +107 -3
- package/esm2022/Locale/locale.service.mjs +5 -5
- package/esm2022/MarkdownCard/code-block.component.mjs +175 -0
- package/esm2022/MarkdownCard/index.mjs +4 -0
- package/esm2022/MarkdownCard/markdown-card.component.mjs +436 -0
- package/esm2022/MarkdownCard/markdown-card.module.mjs +44 -0
- package/esm2022/components-common/Base/foundation.mjs +4 -1
- package/esm2022/components-common/Input/foundation.mjs +1 -2
- package/esm2022/components-common/MarkdownCard/codeblock-foundation.mjs +132 -0
- package/esm2022/components-common/MarkdownCard/common/MDCardService.mjs +69 -0
- package/esm2022/components-common/MarkdownCard/common/MermaidService.mjs +222 -0
- package/esm2022/components-common/MarkdownCard/common/mdCard.types.mjs +6 -0
- package/esm2022/components-common/MarkdownCard/common/parser.mjs +194 -0
- package/esm2022/components-common/MarkdownCard/foundation.mjs +84 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/matechat-ng.mjs +1514 -17
- package/fesm2022/matechat-ng.mjs.map +1 -1
- package/package.json +12 -7
- package/public-api.d.ts +1 -0
- package/fesm2022/matechat-ng-en-us-DsYnUbZd.mjs +0 -28
- package/fesm2022/matechat-ng-en-us-DsYnUbZd.mjs.map +0 -1
- package/fesm2022/matechat-ng-zh-cn--_YVZHnW.mjs +0 -28
- package/fesm2022/matechat-ng-zh-cn--_YVZHnW.mjs.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Options, PluginSimple, PluginWithOptions, PluginWithParams } from 'markdown-it';
|
|
2
|
+
import type { Token } from 'markdown-it';
|
|
3
|
+
export interface MermaidConfig {
|
|
4
|
+
theme?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface CustomXssRule {
|
|
7
|
+
key: string;
|
|
8
|
+
value: string[] | null;
|
|
9
|
+
}
|
|
10
|
+
export interface CodBlockData {
|
|
11
|
+
code: string;
|
|
12
|
+
language: string;
|
|
13
|
+
}
|
|
14
|
+
export type CodeBlockSlot = {
|
|
15
|
+
actions?: () => void;
|
|
16
|
+
header?: () => void;
|
|
17
|
+
content?: () => void;
|
|
18
|
+
};
|
|
19
|
+
export type Theme = 'light' | 'dark';
|
|
20
|
+
export type TypingStyle = 'normal' | 'cursor' | 'color' | 'gradient';
|
|
21
|
+
export type IntervalType = number | [number, number];
|
|
22
|
+
export declare const defaultTypingConfig: {
|
|
23
|
+
step: number;
|
|
24
|
+
interval: number;
|
|
25
|
+
style: TypingStyle;
|
|
26
|
+
};
|
|
27
|
+
export interface MdPlugin {
|
|
28
|
+
plugin: PluginSimple | PluginWithOptions | PluginWithParams;
|
|
29
|
+
opts?: unknown;
|
|
30
|
+
}
|
|
31
|
+
export interface MarkdownCardProps {
|
|
32
|
+
content?: string;
|
|
33
|
+
typing?: boolean;
|
|
34
|
+
enableThink?: boolean;
|
|
35
|
+
typingOptions?: {
|
|
36
|
+
step?: number;
|
|
37
|
+
interval?: number | [number, number];
|
|
38
|
+
style?: TypingStyle;
|
|
39
|
+
};
|
|
40
|
+
thinkOptions?: {
|
|
41
|
+
customClass?: string;
|
|
42
|
+
};
|
|
43
|
+
mdOptions?: Options;
|
|
44
|
+
mdPlugins?: Array<MdPlugin>;
|
|
45
|
+
customXssRules?: Array<CustomXssRule>;
|
|
46
|
+
theme?: Theme;
|
|
47
|
+
enableMermaid?: boolean;
|
|
48
|
+
mermaidConfig?: MermaidConfig;
|
|
49
|
+
}
|
|
50
|
+
export interface ASTNode {
|
|
51
|
+
nodeType: string;
|
|
52
|
+
openNode: Token | null;
|
|
53
|
+
closeNode: Token | null;
|
|
54
|
+
children: (ASTNode | Token)[];
|
|
55
|
+
vNodeKey: string;
|
|
56
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type { Token } from "markdown-it";
|
|
2
|
+
import type { ASTNode } from './mdCard.types';
|
|
3
|
+
export declare const isSelfClosingTag: (token: Token) => boolean;
|
|
4
|
+
export declare const isClosingTag: (openToken: Token, closeToken: Token) => boolean;
|
|
5
|
+
export declare const genTreeNode: (node: Token | null) => ASTNode;
|
|
6
|
+
export declare const matchHtmlToken: (token: Token, stack: Token[]) => void;
|
|
7
|
+
export declare const isValidTagName: (tagName: string | undefined) => boolean;
|
|
8
|
+
export declare const tokensToAst: (tokens: Token[]) => ASTNode[];
|
|
9
|
+
declare const _default: {
|
|
10
|
+
isSelfClosingTag: (token: {
|
|
11
|
+
type: string;
|
|
12
|
+
tag: string;
|
|
13
|
+
attrs: [string, string][] | null;
|
|
14
|
+
map: [number, number] | null;
|
|
15
|
+
nesting: Token.Nesting;
|
|
16
|
+
level: number;
|
|
17
|
+
children: any[] | null;
|
|
18
|
+
content: string;
|
|
19
|
+
markup: string;
|
|
20
|
+
info: string;
|
|
21
|
+
meta: any;
|
|
22
|
+
block: boolean;
|
|
23
|
+
hidden: boolean;
|
|
24
|
+
attrIndex(name: string): number;
|
|
25
|
+
attrPush(attrData: [string, string]): void;
|
|
26
|
+
attrSet(name: string, value: string): void;
|
|
27
|
+
attrGet(name: string): string | null;
|
|
28
|
+
attrJoin(name: string, value: string): void;
|
|
29
|
+
}) => boolean;
|
|
30
|
+
isClosingTag: (openToken: {
|
|
31
|
+
type: string;
|
|
32
|
+
tag: string;
|
|
33
|
+
attrs: [string, string][] | null;
|
|
34
|
+
map: [number, number] | null;
|
|
35
|
+
nesting: Token.Nesting;
|
|
36
|
+
level: number;
|
|
37
|
+
children: any[] | null;
|
|
38
|
+
content: string;
|
|
39
|
+
markup: string;
|
|
40
|
+
info: string;
|
|
41
|
+
meta: any;
|
|
42
|
+
block: boolean;
|
|
43
|
+
hidden: boolean;
|
|
44
|
+
attrIndex(name: string): number;
|
|
45
|
+
attrPush(attrData: [string, string]): void;
|
|
46
|
+
attrSet(name: string, value: string): void;
|
|
47
|
+
attrGet(name: string): string | null;
|
|
48
|
+
attrJoin(name: string, value: string): void;
|
|
49
|
+
}, closeToken: {
|
|
50
|
+
type: string;
|
|
51
|
+
tag: string;
|
|
52
|
+
attrs: [string, string][] | null;
|
|
53
|
+
map: [number, number] | null;
|
|
54
|
+
nesting: Token.Nesting;
|
|
55
|
+
level: number;
|
|
56
|
+
children: any[] | null;
|
|
57
|
+
content: string;
|
|
58
|
+
markup: string;
|
|
59
|
+
info: string;
|
|
60
|
+
meta: any;
|
|
61
|
+
block: boolean;
|
|
62
|
+
hidden: boolean;
|
|
63
|
+
attrIndex(name: string): number;
|
|
64
|
+
attrPush(attrData: [string, string]): void;
|
|
65
|
+
attrSet(name: string, value: string): void;
|
|
66
|
+
attrGet(name: string): string | null;
|
|
67
|
+
attrJoin(name: string, value: string): void;
|
|
68
|
+
}) => boolean;
|
|
69
|
+
tokensToAst: (tokens: {
|
|
70
|
+
type: string;
|
|
71
|
+
tag: string;
|
|
72
|
+
attrs: [string, string][] | null;
|
|
73
|
+
map: [number, number] | null;
|
|
74
|
+
nesting: Token.Nesting;
|
|
75
|
+
level: number;
|
|
76
|
+
children: any[] | null;
|
|
77
|
+
content: string;
|
|
78
|
+
markup: string;
|
|
79
|
+
info: string;
|
|
80
|
+
meta: any;
|
|
81
|
+
block: boolean;
|
|
82
|
+
hidden: boolean;
|
|
83
|
+
attrIndex(name: string): number;
|
|
84
|
+
attrPush(attrData: [string, string]): void;
|
|
85
|
+
attrSet(name: string, value: string): void;
|
|
86
|
+
attrGet(name: string): string | null;
|
|
87
|
+
attrJoin(name: string, value: string): void;
|
|
88
|
+
}[]) => ASTNode[];
|
|
89
|
+
genTreeNode: (node: {
|
|
90
|
+
type: string;
|
|
91
|
+
tag: string;
|
|
92
|
+
attrs: [string, string][] | null;
|
|
93
|
+
map: [number, number] | null;
|
|
94
|
+
nesting: Token.Nesting;
|
|
95
|
+
level: number;
|
|
96
|
+
children: any[] | null;
|
|
97
|
+
content: string;
|
|
98
|
+
markup: string;
|
|
99
|
+
info: string;
|
|
100
|
+
meta: any;
|
|
101
|
+
block: boolean;
|
|
102
|
+
hidden: boolean;
|
|
103
|
+
attrIndex(name: string): number;
|
|
104
|
+
attrPush(attrData: [string, string]): void;
|
|
105
|
+
attrSet(name: string, value: string): void;
|
|
106
|
+
attrGet(name: string): string | null;
|
|
107
|
+
attrJoin(name: string, value: string): void;
|
|
108
|
+
} | null) => ASTNode;
|
|
109
|
+
matchHtmlToken: (token: {
|
|
110
|
+
type: string;
|
|
111
|
+
tag: string;
|
|
112
|
+
attrs: [string, string][] | null;
|
|
113
|
+
map: [number, number] | null;
|
|
114
|
+
nesting: Token.Nesting;
|
|
115
|
+
level: number;
|
|
116
|
+
children: any[] | null;
|
|
117
|
+
content: string;
|
|
118
|
+
markup: string;
|
|
119
|
+
info: string;
|
|
120
|
+
meta: any;
|
|
121
|
+
block: boolean;
|
|
122
|
+
hidden: boolean;
|
|
123
|
+
attrIndex(name: string): number;
|
|
124
|
+
attrPush(attrData: [string, string]): void;
|
|
125
|
+
attrSet(name: string, value: string): void;
|
|
126
|
+
attrGet(name: string): string | null;
|
|
127
|
+
attrJoin(name: string, value: string): void;
|
|
128
|
+
}, stack: {
|
|
129
|
+
type: string;
|
|
130
|
+
tag: string;
|
|
131
|
+
attrs: [string, string][] | null;
|
|
132
|
+
map: [number, number] | null;
|
|
133
|
+
nesting: Token.Nesting;
|
|
134
|
+
level: number;
|
|
135
|
+
children: any[] | null;
|
|
136
|
+
content: string;
|
|
137
|
+
markup: string;
|
|
138
|
+
info: string;
|
|
139
|
+
meta: any;
|
|
140
|
+
block: boolean;
|
|
141
|
+
hidden: boolean;
|
|
142
|
+
attrIndex(name: string): number;
|
|
143
|
+
attrPush(attrData: [string, string]): void;
|
|
144
|
+
attrSet(name: string, value: string): void;
|
|
145
|
+
attrGet(name: string): string | null;
|
|
146
|
+
attrJoin(name: string, value: string): void;
|
|
147
|
+
}[]) => void;
|
|
148
|
+
isValidTagName: (tagName: string | undefined) => boolean;
|
|
149
|
+
};
|
|
150
|
+
export default _default;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import BaseFoundation, { DefaultAdapter } from '../Base/foundation';
|
|
2
|
+
import type { Token } from 'markdown-it';
|
|
3
|
+
import type { ASTNode } from './common/mdCard.types';
|
|
4
|
+
export interface MarkdownCardAdapter extends DefaultAdapter {
|
|
5
|
+
locale(key: string, params?: Record<string, string>): string;
|
|
6
|
+
typingStart: () => void;
|
|
7
|
+
typingEnd: () => void;
|
|
8
|
+
typingEvent: () => void;
|
|
9
|
+
parseContent: (content: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare class MarkdownCardFoundation extends BaseFoundation<MarkdownCardAdapter> {
|
|
12
|
+
constructor(adapter: MarkdownCardAdapter);
|
|
13
|
+
isToken: (node: ASTNode | Token) => node is {
|
|
14
|
+
type: string;
|
|
15
|
+
tag: string;
|
|
16
|
+
attrs: [string, string][] | null;
|
|
17
|
+
map: [number, number] | null;
|
|
18
|
+
nesting: Token.Nesting;
|
|
19
|
+
level: number;
|
|
20
|
+
children: any[] | null;
|
|
21
|
+
content: string;
|
|
22
|
+
markup: string;
|
|
23
|
+
info: string;
|
|
24
|
+
meta: any;
|
|
25
|
+
block: boolean;
|
|
26
|
+
hidden: boolean;
|
|
27
|
+
attrIndex(name: string): number;
|
|
28
|
+
attrPush(attrData: [string, string]): void;
|
|
29
|
+
attrSet(name: string, value: string): void;
|
|
30
|
+
attrGet(name: string): string | null;
|
|
31
|
+
attrJoin(name: string, value: string): void;
|
|
32
|
+
};
|
|
33
|
+
typewriterEnd: () => void;
|
|
34
|
+
getThinkContent: (content: string, thinkOptions: any) => string;
|
|
35
|
+
parseTypingContent: (content: string) => string;
|
|
36
|
+
parseContent: () => void;
|
|
37
|
+
typewriterStart: () => void;
|
|
38
|
+
}
|
|
@@ -2,7 +2,6 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export default class BaseComponent {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.foundation = null;
|
|
6
5
|
}
|
|
7
6
|
ngOnDestroy() {
|
|
8
7
|
this.foundation &&
|
|
@@ -30,6 +29,7 @@ export default class BaseComponent {
|
|
|
30
29
|
getCache: (key) => key && this.cache[key],
|
|
31
30
|
getCaches: () => this.cache,
|
|
32
31
|
setCache: (key, value) => key && (this.cache[key] = value),
|
|
32
|
+
nextTick: (cb) => setTimeout(cb, 0),
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
43
43
|
template: '',
|
|
44
44
|
}]
|
|
45
45
|
}], ctorParameters: () => [] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLW5nL3NyYy9CYXNlL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sYUFBYTtJQUdoQztJQUNBLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVU7WUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLFVBQVU7WUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFO2dCQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ3pCLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMxQixDQUFDO29CQUNELEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDYixDQUFDO1lBQ0gsQ0FBQztZQUNELFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUM1QixTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUNyQixRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUN6QyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDM0IsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDMUQsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNwQyxDQUFDO0lBQ0osQ0FBQzs4R0FuQ2tCLGFBQWE7a0dBQWIsYUFBYSwrRUFGdEIsRUFBRTs7MkZBRU8sYUFBYTtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUZvdW5kYXRpb24sIHsgRGVmYXVsdEFkYXB0ZXIgfSBmcm9tICcuLi9jb21wb25lbnRzLWNvbW1vbi9CYXNlL2ZvdW5kYXRpb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdGUtYmFzZS1jb21wb25lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFzZUNvbXBvbmVudDxUIGV4dGVuZHMgQmFzZUZvdW5kYXRpb248RGVmYXVsdEFkYXB0ZXI+PiB7XG4gIGZvdW5kYXRpb246IFQ7XG4gIGNhY2hlOiBhbnk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3VuZGF0aW9uICYmXG4gICAgICB0eXBlb2YgdGhpcy5mb3VuZGF0aW9uLmRlc3Ryb3kgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIHRoaXMuZm91bmRhdGlvbi5kZXN0cm95KCk7XG4gIH1cblxuICBnZXQgYWRhcHRlcigpOiBEZWZhdWx0QWRhcHRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFByb3A6IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpc1trZXldO1xuICAgICAgfSxcbiAgICAgIGdldFByb3BzOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfSxcbiAgICAgIHNldFN0YXRlOiAoc3RhdGVzLCBjYikgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzdGF0ZXMpIHtcbiAgICAgICAgICBpZiAoc3RhdGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIHRoaXNba2V5XSA9IHN0YXRlc1trZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYiAmJiBjYigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZ2V0U3RhdGU6IChrZXkpID0+IHRoaXNba2V5XSxcbiAgICAgIGdldFN0YXRlczogKCkgPT4gdGhpcyxcbiAgICAgIGdldENhY2hlOiAoa2V5KSA9PiBrZXkgJiYgdGhpcy5jYWNoZVtrZXldLFxuICAgICAgZ2V0Q2FjaGVzOiAoKSA9PiB0aGlzLmNhY2hlLFxuICAgICAgc2V0Q2FjaGU6IChrZXksIHZhbHVlKSA9PiBrZXkgJiYgKHRoaXMuY2FjaGVba2V5XSA9IHZhbHVlKSxcbiAgICAgIG5leHRUaWNrOiAoY2IpID0+IHNldFRpbWVvdXQoY2IsIDApLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, ContentChild } from '@angular/core';
|
|
1
|
+
import { Component, Input, ContentChild, ContentChildren } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { BubbleLoadingComponent } from './bubble-loading/bubble-loading.component';
|
|
4
4
|
import { AvatarComponent } from './avatar/avatar.component';
|
|
@@ -8,6 +8,10 @@ import { TranslatePipe } from '../Locale/translate.pipe';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/common";
|
|
10
10
|
export class BubbleComponent extends BaseComponent {
|
|
11
|
+
// 计算是否有内容投影
|
|
12
|
+
get ngContentProjected() {
|
|
13
|
+
return this.contentChildren && this.contentChildren.length > 0;
|
|
14
|
+
}
|
|
11
15
|
constructor() {
|
|
12
16
|
super();
|
|
13
17
|
// 组件属性
|
|
@@ -17,9 +21,9 @@ export class BubbleComponent extends BaseComponent {
|
|
|
17
21
|
this.avatarPosition = 'side';
|
|
18
22
|
this.variant = 'filled';
|
|
19
23
|
// 内容投影模板引用
|
|
24
|
+
this.avatarTemplate = null;
|
|
20
25
|
this.topTemplate = null;
|
|
21
26
|
this.loadingTplTemplate = null;
|
|
22
|
-
this.defaultTemplate = null;
|
|
23
27
|
this.bottomTemplate = null;
|
|
24
28
|
}
|
|
25
29
|
ngOnInit() {
|
|
@@ -49,11 +53,11 @@ export class BubbleComponent extends BaseComponent {
|
|
|
49
53
|
}
|
|
50
54
|
;
|
|
51
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BubbleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: BubbleComponent, isStandalone: true, selector: "mc-bubble", inputs: { content: "content", loading: "loading", align: "align", avatarPosition: "avatarPosition", variant: "variant", avatarConfig: "avatarConfig" }, queries: [{ propertyName: "
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: BubbleComponent, isStandalone: true, selector: "mc-bubble", inputs: { content: "content", loading: "loading", align: "align", avatarPosition: "avatarPosition", variant: "variant", avatarConfig: "avatarConfig" }, queries: [{ propertyName: "avatarTemplate", first: true, predicate: ["avatar"], descendants: true }, { propertyName: "topTemplate", first: true, predicate: ["top"], descendants: true }, { propertyName: "loadingTplTemplate", first: true, predicate: ["loadingTpl"], descendants: true }, { propertyName: "bottomTemplate", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "contentChildren", predicate: ["ng-content"] }], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-bubble\" [ngClass]=\"bubbleClasses\" role=\"group\" [attr.aria-label]=\"'Bubble.ariaLabel' | translate\">\n <!-- \u81EA\u5B9A\u4E49\u5934\u50CF\u533A\u57DF -->\n <div *ngIf=\"avatarTemplate\" class=\"mc-bubble-avatar\" role=\"img\">\n <ng-container *ngTemplateOutlet=\"avatarTemplate\"></ng-container>\n <ng-content select=\"[avatar]\"></ng-content>\n </div>\n \n <!-- \u9ED8\u8BA4\u5934\u50CF\u914D\u7F6E -->\n <div *ngIf=\"!avatarTemplate && avatarConfig\"\n class=\"mc-bubble-avatar\" role=\"img\"\n [ngClass]=\"{ 'empty-avatar': isEmptyAvatar }\"\n >\n <mc-avatar\n *ngIf=\"!isEmptyAvatar\"\n [imgSrc]=\"avatarConfig?.imgSrc || ''\"\n [name]=\"avatarConfig?.name || ''\"\n [width]=\"avatarConfig?.width || 36\"\n [height]=\"avatarConfig?.height || 36\"\n [gender]=\"avatarConfig?.gender || ''\"\n />\n <div *ngIf=\"isEmptyAvatar\" class=\"mc-bubble-avatar-wrapper\" [attr.aria-label]=\"'Bubble.emptyAvatar' | translate\"\n [style.width.px]=\"avatarConfig?.width || 36\"\n [style.height.px]=\"avatarConfig?.height || 36\"></div>\n <span *ngIf=\"avatarPosition === 'top'\" class=\"mc-bubble-avatar-name\" [attr.aria-label]=\"'Bubble.userName' | translate:{ name: avatarConfig?.displayName || '' } \">{{\n avatarConfig?.displayName\n }}</span>\n </div>\n <div\n class=\"mc-bubble-content-container\" aria-live=\"polite\"\n [ngClass]=\"{ 'with-avatar': avatarTemplate || avatarConfig }\"\n >\n <!-- \u9876\u90E8\u5185\u5BB9\u6295\u5F71 -->\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngTemplateOutlet=\"topTemplate\"></ng-container>\n <ng-content select=\"[top]\"></ng-content>\n </ng-container>\n \n <!-- \u52A0\u8F7D\u72B6\u6001 -->\n <div *ngIf=\"loading\" class=\"loading-container\" role=\"status\" aria-busy=\"true\">\n <ng-container *ngIf=\"loadingTplTemplate; else defaultLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTplTemplate\"></ng-container>\n <ng-content select=\"[loadingTpl]\"></ng-content>\n </ng-container>\n <ng-template #defaultLoadingTemplate>\n <mc-bubble-loading></mc-bubble-loading>\n </ng-template>\n </div>\n \n <!-- \u4E3B\u8981\u5185\u5BB9 -->\n <div\n *ngIf=\"!loading\"\n class=\"mc-bubble-content\"\n [ngClass]=\"[variant]\"\n role=\"region\"\n >\n <ng-content></ng-content>\n <ng-container *ngIf=\"content && !ngContentProjected\">\n <span [attr.aria-label]=\"'Bubble.content' | translate\">{{ content }}</span>\n </ng-container>\n </div>\n \n <!-- \u5E95\u90E8\u5185\u5BB9\u6295\u5F71 -->\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngTemplateOutlet=\"bottomTemplate\"></ng-container>\n <ng-content select=\"[bottom]\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-bubble{display:flex;gap:4px;font-size:var(--devui-font-size, 14px)}.mc-bubble .mc-bubble-content{word-wrap:break-word}.mc-bubble .mc-bubble-content.filled,.mc-bubble .mc-bubble-content.bordered{padding:12px 16px;border-radius:12px}.mc-bubble .mc-bubble-content.filled{background-color:var(--devui-global-bg, #f6f6f8)}.mc-bubble .mc-bubble-content.bordered{border:1px solid var(--devui-dividing-line, #f2f2f3)}.mc-bubble .mc-bubble-avatar{flex-shrink:0;display:flex;gap:4px}.mc-bubble .mc-bubble-avatar .mc-bubble-avatar-name{font-size:14px}.mc-bubble .mc-bubble-avatar.empty-avatar{visibility:hidden}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar{align-items:center}.mc-bubble .mc-bubble-content-container{max-width:100%}.mc-bubble.mc-bubble-avatar-top{flex-direction:column}.mc-bubble.mc-bubble-avatar-top .mc-bubble-content-container{align-items:flex-start;flex-direction:column}.mc-bubble.mc-bubble-loading.mc-bubble-avatar-side{align-items:center}.mc-bubble.mc-bubble-avatar-side.mc-bubble-right{flex-direction:row-reverse;justify-content:end}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar,.mc-bubble.mc-bubble-avatar-top .mc-bubble-content-container{display:flex}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar,.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-content-container{align-items:flex-end}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar{flex-direction:row-reverse}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BubbleLoadingComponent, selector: "mc-bubble-loading" }, { kind: "component", type: AvatarComponent, selector: "mc-avatar", inputs: ["imgSrc", "name", "width", "height", "isRound", "gender"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
53
57
|
}
|
|
54
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BubbleComponent, decorators: [{
|
|
55
59
|
type: Component,
|
|
56
|
-
args: [{ selector: 'mc-bubble', standalone: true, imports: [CommonModule, BubbleLoadingComponent, AvatarComponent, TranslatePipe], template: "<div class=\"mc-bubble\" [ngClass]=\"bubbleClasses\" role=\"group\" [attr.aria-label]=\"'Bubble.ariaLabel' | translate\">\n <div\n *ngIf=\"avatarConfig\"\n class=\"mc-bubble-avatar\" role=\"img\"\n [ngClass]=\"{ 'empty-avatar': isEmptyAvatar }\"\n >\n <mc-avatar\n *ngIf=\"!isEmptyAvatar\"\n [imgSrc]=\"avatarConfig?.imgSrc || ''\"\n [name]=\"avatarConfig?.name || ''\"\n [width]=\"avatarConfig?.width || 36\"\n [height]=\"avatarConfig?.height || 36\"\n [gender]=\"avatarConfig?.gender || ''\"\n />\n <div *ngIf=\"isEmptyAvatar\" class=\"mc-bubble-avatar-wrapper\" [attr.aria-label]=\"'Bubble.emptyAvatar' | translate\"\n [style.width.px]=\"avatarConfig?.width || 36\"\n [style.height.px]=\"avatarConfig?.height || 36\"></div>\n <span *ngIf=\"avatarPosition === 'top'\" class=\"mc-bubble-avatar-name\" [attr.aria-label]=\"'Bubble.userName' | translate:{ name: avatarConfig?.displayName || '' } \">{{\n avatarConfig?.displayName\n }}</span>\n </div>\n <div\n class=\"mc-bubble-content-container\" aria-live=\"polite\"\n [ngClass]=\"{ 'with-avatar': avatarConfig }\"\n >\n <!-- \u9876\u90E8\u5185\u5BB9\u6295\u5F71 -->\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngTemplateOutlet=\"topTemplate\"></ng-container>\n <ng-content select=\"[top]\"></ng-content>\n </ng-container>\n \n <!-- \u52A0\u8F7D\u72B6\u6001 -->\n <div *ngIf=\"loading\" class=\"loading-container\" role=\"status\" aria-busy=\"true\">\n <ng-container *ngIf=\"loadingTplTemplate; else defaultLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTplTemplate\"></ng-container>\n <ng-content select=\"[loadingTpl]\"></ng-content>\n </ng-container>\n <ng-template #defaultLoadingTemplate>\n <mc-bubble-loading></mc-bubble-loading>\n </ng-template>\n </div>\n \n <!-- \u4E3B\u8981\u5185\u5BB9 -->\n <div\n *ngIf=\"
|
|
60
|
+
args: [{ selector: 'mc-bubble', standalone: true, imports: [CommonModule, BubbleLoadingComponent, AvatarComponent, TranslatePipe], template: "<div class=\"mc-bubble\" [ngClass]=\"bubbleClasses\" role=\"group\" [attr.aria-label]=\"'Bubble.ariaLabel' | translate\">\n <!-- \u81EA\u5B9A\u4E49\u5934\u50CF\u533A\u57DF -->\n <div *ngIf=\"avatarTemplate\" class=\"mc-bubble-avatar\" role=\"img\">\n <ng-container *ngTemplateOutlet=\"avatarTemplate\"></ng-container>\n <ng-content select=\"[avatar]\"></ng-content>\n </div>\n \n <!-- \u9ED8\u8BA4\u5934\u50CF\u914D\u7F6E -->\n <div *ngIf=\"!avatarTemplate && avatarConfig\"\n class=\"mc-bubble-avatar\" role=\"img\"\n [ngClass]=\"{ 'empty-avatar': isEmptyAvatar }\"\n >\n <mc-avatar\n *ngIf=\"!isEmptyAvatar\"\n [imgSrc]=\"avatarConfig?.imgSrc || ''\"\n [name]=\"avatarConfig?.name || ''\"\n [width]=\"avatarConfig?.width || 36\"\n [height]=\"avatarConfig?.height || 36\"\n [gender]=\"avatarConfig?.gender || ''\"\n />\n <div *ngIf=\"isEmptyAvatar\" class=\"mc-bubble-avatar-wrapper\" [attr.aria-label]=\"'Bubble.emptyAvatar' | translate\"\n [style.width.px]=\"avatarConfig?.width || 36\"\n [style.height.px]=\"avatarConfig?.height || 36\"></div>\n <span *ngIf=\"avatarPosition === 'top'\" class=\"mc-bubble-avatar-name\" [attr.aria-label]=\"'Bubble.userName' | translate:{ name: avatarConfig?.displayName || '' } \">{{\n avatarConfig?.displayName\n }}</span>\n </div>\n <div\n class=\"mc-bubble-content-container\" aria-live=\"polite\"\n [ngClass]=\"{ 'with-avatar': avatarTemplate || avatarConfig }\"\n >\n <!-- \u9876\u90E8\u5185\u5BB9\u6295\u5F71 -->\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngTemplateOutlet=\"topTemplate\"></ng-container>\n <ng-content select=\"[top]\"></ng-content>\n </ng-container>\n \n <!-- \u52A0\u8F7D\u72B6\u6001 -->\n <div *ngIf=\"loading\" class=\"loading-container\" role=\"status\" aria-busy=\"true\">\n <ng-container *ngIf=\"loadingTplTemplate; else defaultLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTplTemplate\"></ng-container>\n <ng-content select=\"[loadingTpl]\"></ng-content>\n </ng-container>\n <ng-template #defaultLoadingTemplate>\n <mc-bubble-loading></mc-bubble-loading>\n </ng-template>\n </div>\n \n <!-- \u4E3B\u8981\u5185\u5BB9 -->\n <div\n *ngIf=\"!loading\"\n class=\"mc-bubble-content\"\n [ngClass]=\"[variant]\"\n role=\"region\"\n >\n <ng-content></ng-content>\n <ng-container *ngIf=\"content && !ngContentProjected\">\n <span [attr.aria-label]=\"'Bubble.content' | translate\">{{ content }}</span>\n </ng-container>\n </div>\n \n <!-- \u5E95\u90E8\u5185\u5BB9\u6295\u5F71 -->\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngTemplateOutlet=\"bottomTemplate\"></ng-container>\n <ng-content select=\"[bottom]\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-bubble{display:flex;gap:4px;font-size:var(--devui-font-size, 14px)}.mc-bubble .mc-bubble-content{word-wrap:break-word}.mc-bubble .mc-bubble-content.filled,.mc-bubble .mc-bubble-content.bordered{padding:12px 16px;border-radius:12px}.mc-bubble .mc-bubble-content.filled{background-color:var(--devui-global-bg, #f6f6f8)}.mc-bubble .mc-bubble-content.bordered{border:1px solid var(--devui-dividing-line, #f2f2f3)}.mc-bubble .mc-bubble-avatar{flex-shrink:0;display:flex;gap:4px}.mc-bubble .mc-bubble-avatar .mc-bubble-avatar-name{font-size:14px}.mc-bubble .mc-bubble-avatar.empty-avatar{visibility:hidden}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar{align-items:center}.mc-bubble .mc-bubble-content-container{max-width:100%}.mc-bubble.mc-bubble-avatar-top{flex-direction:column}.mc-bubble.mc-bubble-avatar-top .mc-bubble-content-container{align-items:flex-start;flex-direction:column}.mc-bubble.mc-bubble-loading.mc-bubble-avatar-side{align-items:center}.mc-bubble.mc-bubble-avatar-side.mc-bubble-right{flex-direction:row-reverse;justify-content:end}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar,.mc-bubble.mc-bubble-avatar-top .mc-bubble-content-container{display:flex}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar,.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-content-container{align-items:flex-end}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar{flex-direction:row-reverse}\n"] }]
|
|
57
61
|
}], ctorParameters: () => [], propDecorators: { content: [{
|
|
58
62
|
type: Input
|
|
59
63
|
}], loading: [{
|
|
@@ -66,17 +70,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
66
70
|
type: Input
|
|
67
71
|
}], avatarConfig: [{
|
|
68
72
|
type: Input
|
|
73
|
+
}], avatarTemplate: [{
|
|
74
|
+
type: ContentChild,
|
|
75
|
+
args: ['avatar']
|
|
69
76
|
}], topTemplate: [{
|
|
70
77
|
type: ContentChild,
|
|
71
78
|
args: ['top']
|
|
72
79
|
}], loadingTplTemplate: [{
|
|
73
80
|
type: ContentChild,
|
|
74
81
|
args: ['loadingTpl']
|
|
75
|
-
}], defaultTemplate: [{
|
|
76
|
-
type: ContentChild,
|
|
77
|
-
args: ['defaultTemplate']
|
|
78
82
|
}], bottomTemplate: [{
|
|
79
83
|
type: ContentChild,
|
|
80
84
|
args: ['bottom']
|
|
85
|
+
}], contentChildren: [{
|
|
86
|
+
type: ContentChildren,
|
|
87
|
+
args: ['ng-content']
|
|
81
88
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL0J1YmJsZS9idWJibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy1uZy9zcmMvQnViYmxlL2J1YmJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBWSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxhQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFTekQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsYUFBYTtJQWVoRDtRQUFnQixLQUFLLEVBQUUsQ0FBQztRQWR4QixPQUFPO1FBQ0UsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFVBQUssR0FBZ0IsTUFBTSxDQUFDO1FBQzVCLG1CQUFjLEdBQW1CLE1BQU0sQ0FBQztRQUN4QyxZQUFPLEdBQWtCLFFBQVEsQ0FBQztRQUczQyxXQUFXO1FBQ1UsZ0JBQVcsR0FBNEIsSUFBSSxDQUFDO1FBQ3JDLHVCQUFrQixHQUE0QixJQUFJLENBQUM7UUFDOUMsb0JBQWUsR0FBNEIsSUFBSSxDQUFDO1FBQ3pELG1CQUFjLEdBQTRCLElBQUksQ0FBQztJQUU5QyxDQUFDO0lBRTFCLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsT0FBTztRQUNsQixPQUFPO1lBQ0wsR0FBRyxLQUFLLENBQUMsT0FBTztZQUNoQixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2FBQ2hDLENBQUM7U0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU87SUFDUCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBQUEsQ0FBQztJQUVGLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUFBLENBQUM7OEdBM0NTLGVBQWU7a0dBQWYsZUFBZSx1bkJDakI1QiwrcUZBaUVBLHM5Q0RwRFksWUFBWSx3WUFBRSxzQkFBc0IsOERBQUUsZUFBZSxxSEFBRSxhQUFhOzsyRkFJbkUsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7d0RBTXRFLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR2UsV0FBVztzQkFBL0IsWUFBWTt1QkFBQyxLQUFLO2dCQUNTLGtCQUFrQjtzQkFBN0MsWUFBWTt1QkFBQyxZQUFZO2dCQUNPLGVBQWU7c0JBQS9DLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNQLGNBQWM7c0JBQXJDLFlBQVk7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGNvbXB1dGVkLCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnViYmxlTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vYnViYmxlLWxvYWRpbmcvYnViYmxlLWxvYWRpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9BVkFUQVJfV0lEVEgsIERFRkFVTFRfQVZBVEFSX0hFSUdIVCwgQVZBVEFSX05BTUUsIEFWQVRBUl9JTUcgfSBmcm9tICcuLi9jb21wb25lbnRzLWNvbW1vbi9CdWJibGUvY29tbW9uL2J1YmJsZS1jb25zdGFudHMnO1xuaW1wb3J0IHsgQnViYmxlQWxpZ24sIEJ1YmJsZVZhcmlhbnQsIEF2YXRhclBvc2l0aW9uLCBCdWJibGVBdmF0YXIgfSBmcm9tICcuLi9jb21wb25lbnRzLWNvbW1vbi8vQnViYmxlL2NvbW1vbi9idWJibGUtdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlQWRhcHRlciwgQnViYmxlRm91bmRhdGlvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMtY29tbW9uL0J1YmJsZS9mb3VuZGF0aW9uJztcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gJy4uL0Jhc2UvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uL0xvY2FsZS90cmFuc2xhdGUucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21jLWJ1YmJsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1YmJsZUxvYWRpbmdDb21wb25lbnQsIEF2YXRhckNvbXBvbmVudCwgVHJhbnNsYXRlUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idWJibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWJibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCdWJibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgLy8g57uE5Lu25bGe5oCnXG4gIEBJbnB1dCgpIGNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsaWduOiBCdWJibGVBbGlnbiA9ICdsZWZ0JztcbiAgQElucHV0KCkgYXZhdGFyUG9zaXRpb246IEF2YXRhclBvc2l0aW9uID0gJ3NpZGUnO1xuICBASW5wdXQoKSB2YXJpYW50OiBCdWJibGVWYXJpYW50ID0gJ2ZpbGxlZCc7XG4gIEBJbnB1dCgpIGF2YXRhckNvbmZpZz86IEJ1YmJsZUF2YXRhcjtcblxuICAvLyDlhoXlrrnmipXlvbHmqKHmnb/lvJXnlKhcbiAgQENvbnRlbnRDaGlsZCgndG9wJykgdG9wVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZCgnbG9hZGluZ1RwbCcpIGxvYWRpbmdUcGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKCdkZWZhdWx0VGVtcGxhdGUnKSBkZWZhdWx0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZCgnYm90dG9tJykgYm90dG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKTsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm91bmRhdGlvbiA9IG5ldyBCdWJibGVGb3VuZGF0aW9uKHRoaXMuYWRhcHRlcik7XG4gICAgdGhpcy5mb3VuZGF0aW9uLmluaXQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBhZGFwdGVyKCk6IEJ1YmJsZUFkYXB0ZXIge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5hZGFwdGVyLFxuICAgICAgZ2V0UHJvcHM6ICgpID0+ICh7XG4gICAgICAgIGNvbnRlbnQ6IHRoaXMuY29udGVudCxcbiAgICAgICAgbG9hZGluZzogdGhpcy5sb2FkaW5nLFxuICAgICAgICBhbGlnbjogdGhpcy5hbGlnbixcbiAgICAgICAgYXZhdGFyUG9zaXRpb246IHRoaXMuYXZhdGFyUG9zaXRpb24sXG4gICAgICAgIHZhcmlhbnQ6IHRoaXMudmFyaWFudCxcbiAgICAgICAgYXZhdGFyQ29uZmlnOiB0aGlzLmF2YXRhckNvbmZpZyxcbiAgICAgIH0pLFxuICAgIH1cbiAgfVxuXG4gIC8vIOiuoeeul+WxnuaAp1xuICBnZXQgYnViYmxlQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvdW5kYXRpb24uZ2V0QnViYmxlQ2xhc3NlcygpO1xuICB9O1xuXG4gIGdldCBpc0VtcHR5QXZhdGFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZvdW5kYXRpb24uZ2V0SXNFbXB0eUF2YXRhcih0aGlzLmF2YXRhckNvbmZpZyk7XG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwibWMtYnViYmxlXCIgW25nQ2xhc3NdPVwiYnViYmxlQ2xhc3Nlc1wiIHJvbGU9XCJncm91cFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0J1YmJsZS5hcmlhTGFiZWwnIHwgdHJhbnNsYXRlXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImF2YXRhckNvbmZpZ1wiXG4gICAgY2xhc3M9XCJtYy1idWJibGUtYXZhdGFyXCIgcm9sZT1cImltZ1wiXG4gICAgW25nQ2xhc3NdPVwieyAnZW1wdHktYXZhdGFyJzogaXNFbXB0eUF2YXRhciB9XCJcbiAgPlxuICAgIDxtYy1hdmF0YXJcbiAgICAgICpuZ0lmPVwiIWlzRW1wdHlBdmF0YXJcIlxuICAgICAgW2ltZ1NyY109XCJhdmF0YXJDb25maWc/LmltZ1NyYyB8fCAnJ1wiXG4gICAgICBbbmFtZV09XCJhdmF0YXJDb25maWc/Lm5hbWUgfHwgJydcIlxuICAgICAgW3dpZHRoXT1cImF2YXRhckNvbmZpZz8ud2lkdGggfHwgMzZcIlxuICAgICAgW2hlaWdodF09XCJhdmF0YXJDb25maWc/LmhlaWdodCB8fCAzNlwiXG4gICAgICBbZ2VuZGVyXT1cImF2YXRhckNvbmZpZz8uZ2VuZGVyIHx8ICcnXCJcbiAgICAvPlxuICAgIDxkaXYgKm5nSWY9XCJpc0VtcHR5QXZhdGFyXCIgICAgY2xhc3M9XCJtYy1idWJibGUtYXZhdGFyLXdyYXBwZXJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidCdWJibGUuZW1wdHlBdmF0YXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJhdmF0YXJDb25maWc/LndpZHRoIHx8IDM2XCJcbiAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiYXZhdGFyQ29uZmlnPy5oZWlnaHQgfHwgMzZcIj48L2Rpdj5cbiAgICA8c3BhbiAqbmdJZj1cImF2YXRhclBvc2l0aW9uID09PSAndG9wJ1wiIGNsYXNzPVwibWMtYnViYmxlLWF2YXRhci1uYW1lXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQnViYmxlLnVzZXJOYW1lJyB8IHRyYW5zbGF0ZTp7IG5hbWU6IGF2YXRhckNvbmZpZz8uZGlzcGxheU5hbWUgfHwgJycgfSBcIj57e1xuICAgICAgYXZhdGFyQ29uZmlnPy5kaXNwbGF5TmFtZVxuICAgIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwibWMtYnViYmxlLWNvbnRlbnQtY29udGFpbmVyXCIgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICBbbmdDbGFzc109XCJ7ICd3aXRoLWF2YXRhcic6IGF2YXRhckNvbmZpZyB9XCJcbiAgPlxuICAgIDwhLS0g6aG26YOo5YaF5a655oqV5b2xIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9wXVwiPjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICA8IS0tIOWKoOi9veeKtuaAgSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIiByb2xlPVwic3RhdHVzXCIgYXJpYS1idXN5PVwidHJ1ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdUcGxUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0TG9hZGluZ1RlbXBsYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nVHBsVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xvYWRpbmdUcGxdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2FkaW5nVGVtcGxhdGU+XG4gICAgICAgIDxtYy1idWJibGUtbG9hZGluZz48L21jLWJ1YmJsZS1sb2FkaW5nPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8IS0tIOS4u+imgeWGheWuuSAtLT5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIihkZWZhdWx0VGVtcGxhdGUgfHwgY29udGVudCkgJiYgIWxvYWRpbmdcIlxuICAgICAgY2xhc3M9XCJtYy1idWJibGUtY29udGVudFwiXG4gICAgICBbbmdDbGFzc109XCJbdmFyaWFudF1cIlxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRUZW1wbGF0ZTsgZWxzZSBjb250ZW50VGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxuICAgICAgICA8c3BhbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidCdWJibGUuY29udGVudCcgfCB0cmFuc2xhdGVcIj57eyBjb250ZW50IH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8IS0tIOW6lemDqOWGheWuueaKleW9sSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib3R0b21UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL0J1YmJsZS9idWJibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy1uZy9zcmMvQnViYmxlL2J1YmJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBWSxZQUFZLEVBQWUsZUFBZSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHNUQsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pGLE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3pELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQStCO0lBa0JsRSxZQUFZO0lBQ1osSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7UUFBZ0IsS0FBSyxFQUFFLENBQUM7UUF0QnhCLE9BQU87UUFDRSxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsVUFBSyxHQUFnQixNQUFNLENBQUM7UUFDNUIsbUJBQWMsR0FBbUIsTUFBTSxDQUFDO1FBQ3hDLFlBQU8sR0FBa0IsUUFBUSxDQUFDO1FBRzNDLFdBQVc7UUFDYSxtQkFBYyxHQUE0QixJQUFJLENBQUM7UUFDbEQsZ0JBQVcsR0FBNEIsSUFBSSxDQUFDO1FBQ3JDLHVCQUFrQixHQUE0QixJQUFJLENBQUM7UUFDdkQsbUJBQWMsR0FBNEIsSUFBSSxDQUFDO0lBVTlDLENBQUM7SUFFMUIsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBYSxPQUFPO1FBQ2xCLE9BQU87WUFDTCxHQUFHLEtBQUssQ0FBQyxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7YUFDaEMsQ0FBQztTQUNILENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTztJQUNQLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQUEsQ0FBQzs4R0FuRFMsZUFBZTtrR0FBZixlQUFlLDZxQkNqQjVCLHcxRkFvRUEsczlDRHZEWSxZQUFZLHdZQUFFLHNCQUFzQiw4REFBRSxlQUFlLHFIQUFFLGFBQWE7OzJGQUluRSxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQzt3REFNdEUsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHa0IsY0FBYztzQkFBckMsWUFBWTt1QkFBQyxRQUFRO2dCQUNELFdBQVc7c0JBQS9CLFlBQVk7dUJBQUMsS0FBSztnQkFDUyxrQkFBa0I7c0JBQTdDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRixjQUFjO3NCQUFyQyxZQUFZO3VCQUFDLFFBQVE7Z0JBR1MsZUFBZTtzQkFBN0MsZUFBZTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgY29tcHV0ZWQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnViYmxlTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vYnViYmxlLWxvYWRpbmcvYnViYmxlLWxvYWRpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9BVkFUQVJfV0lEVEgsIERFRkFVTFRfQVZBVEFSX0hFSUdIVCwgQVZBVEFSX05BTUUsIEFWQVRBUl9JTUcgfSBmcm9tICcuLi9jb21wb25lbnRzLWNvbW1vbi9CdWJibGUvY29tbW9uL2J1YmJsZS1jb25zdGFudHMnO1xuaW1wb3J0IHsgQnViYmxlQWxpZ24sIEJ1YmJsZVZhcmlhbnQsIEF2YXRhclBvc2l0aW9uLCBCdWJibGVBdmF0YXIgfSBmcm9tICcuLi9jb21wb25lbnRzLWNvbW1vbi8vQnViYmxlL2NvbW1vbi9idWJibGUtdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlQWRhcHRlciwgQnViYmxlRm91bmRhdGlvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMtY29tbW9uL0J1YmJsZS9mb3VuZGF0aW9uJztcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gJy4uL0Jhc2UvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uL0xvY2FsZS90cmFuc2xhdGUucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21jLWJ1YmJsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1YmJsZUxvYWRpbmdDb21wb25lbnQsIEF2YXRhckNvbXBvbmVudCwgVHJhbnNsYXRlUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idWJibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWJibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCdWJibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PEJ1YmJsZUZvdW5kYXRpb24+IHtcbiAgLy8g57uE5Lu25bGe5oCnXG4gIEBJbnB1dCgpIGNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsaWduOiBCdWJibGVBbGlnbiA9ICdsZWZ0JztcbiAgQElucHV0KCkgYXZhdGFyUG9zaXRpb246IEF2YXRhclBvc2l0aW9uID0gJ3NpZGUnO1xuICBASW5wdXQoKSB2YXJpYW50OiBCdWJibGVWYXJpYW50ID0gJ2ZpbGxlZCc7XG4gIEBJbnB1dCgpIGF2YXRhckNvbmZpZz86IEJ1YmJsZUF2YXRhcjtcblxuICAvLyDlhoXlrrnmipXlvbHmqKHmnb/lvJXnlKhcbiAgQENvbnRlbnRDaGlsZCgnYXZhdGFyJykgYXZhdGFyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZCgndG9wJykgdG9wVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZCgnbG9hZGluZ1RwbCcpIGxvYWRpbmdUcGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKCdib3R0b20nKSBib3R0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICBcbiAgLy8g5qOA5rWL5piv5ZCm5pyJ5YaF5a655oqV5b2xXG4gIEBDb250ZW50Q2hpbGRyZW4oJ25nLWNvbnRlbnQnKSBjb250ZW50Q2hpbGRyZW46IFF1ZXJ5TGlzdDxhbnk+O1xuICBcbiAgLy8g6K6h566X5piv5ZCm5pyJ5YaF5a655oqV5b2xXG4gIGdldCBuZ0NvbnRlbnRQcm9qZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudENoaWxkcmVuICYmIHRoaXMuY29udGVudENoaWxkcmVuLmxlbmd0aCA+IDA7XG4gIH1cbiAgXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3VuZGF0aW9uID0gbmV3IEJ1YmJsZUZvdW5kYXRpb24odGhpcy5hZGFwdGVyKTtcbiAgICB0aGlzLmZvdW5kYXRpb24uaW5pdCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGFkYXB0ZXIoKTogQnViYmxlQWRhcHRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmFkYXB0ZXIsXG4gICAgICBnZXRQcm9wczogKCkgPT4gKHtcbiAgICAgICAgY29udGVudDogdGhpcy5jb250ZW50LFxuICAgICAgICBsb2FkaW5nOiB0aGlzLmxvYWRpbmcsXG4gICAgICAgIGFsaWduOiB0aGlzLmFsaWduLFxuICAgICAgICBhdmF0YXJQb3NpdGlvbjogdGhpcy5hdmF0YXJQb3NpdGlvbixcbiAgICAgICAgdmFyaWFudDogdGhpcy52YXJpYW50LFxuICAgICAgICBhdmF0YXJDb25maWc6IHRoaXMuYXZhdGFyQ29uZmlnLFxuICAgICAgfSksXG4gICAgfVxuICB9XG5cbiAgLy8g6K6h566X5bGe5oCnXG4gIGdldCBidWJibGVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm91bmRhdGlvbi5nZXRCdWJibGVDbGFzc2VzKCk7XG4gIH07XG5cbiAgZ2V0IGlzRW1wdHlBdmF0YXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm91bmRhdGlvbi5nZXRJc0VtcHR5QXZhdGFyKHRoaXMuYXZhdGFyQ29uZmlnKTtcbiAgfTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJtYy1idWJibGVcIiBbbmdDbGFzc109XCJidWJibGVDbGFzc2VzXCIgcm9sZT1cImdyb3VwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQnViYmxlLmFyaWFMYWJlbCcgfCB0cmFuc2xhdGVcIj5cbiAgPCEtLSDoh6rlrprkuYnlpLTlg4/ljLrln58gLS0+XG4gIDxkaXYgKm5nSWY9XCJhdmF0YXJUZW1wbGF0ZVwiIGNsYXNzPVwibWMtYnViYmxlLWF2YXRhclwiIHJvbGU9XCJpbWdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXZhdGFyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXZhdGFyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIFxuICA8IS0tIOm7mOiupOWktOWDj+mFjee9riAtLT5cbiAgPGRpdiAqbmdJZj1cIiFhdmF0YXJUZW1wbGF0ZSAmJiBhdmF0YXJDb25maWdcIlxuICAgIGNsYXNzPVwibWMtYnViYmxlLWF2YXRhclwiIHJvbGU9XCJpbWdcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2VtcHR5LWF2YXRhcic6IGlzRW1wdHlBdmF0YXIgfVwiXG4gID5cbiAgICA8bWMtYXZhdGFyXG4gICAgICAqbmdJZj1cIiFpc0VtcHR5QXZhdGFyXCJcbiAgICAgIFtpbWdTcmNdPVwiYXZhdGFyQ29uZmlnPy5pbWdTcmMgfHwgJydcIlxuICAgICAgW25hbWVdPVwiYXZhdGFyQ29uZmlnPy5uYW1lIHx8ICcnXCJcbiAgICAgIFt3aWR0aF09XCJhdmF0YXJDb25maWc/LndpZHRoIHx8IDM2XCJcbiAgICAgIFtoZWlnaHRdPVwiYXZhdGFyQ29uZmlnPy5oZWlnaHQgfHwgMzZcIlxuICAgICAgW2dlbmRlcl09XCJhdmF0YXJDb25maWc/LmdlbmRlciB8fCAnJ1wiXG4gICAgLz5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNFbXB0eUF2YXRhclwiICAgIGNsYXNzPVwibWMtYnViYmxlLWF2YXRhci13cmFwcGVyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQnViYmxlLmVtcHR5QXZhdGFyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiYXZhdGFyQ29uZmlnPy53aWR0aCB8fCAzNlwiXG4gICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImF2YXRhckNvbmZpZz8uaGVpZ2h0IHx8IDM2XCI+PC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCJhdmF0YXJQb3NpdGlvbiA9PT0gJ3RvcCdcIiBjbGFzcz1cIm1jLWJ1YmJsZS1hdmF0YXItbmFtZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0J1YmJsZS51c2VyTmFtZScgfCB0cmFuc2xhdGU6eyBuYW1lOiBhdmF0YXJDb25maWc/LmRpc3BsYXlOYW1lIHx8ICcnIH0gXCI+e3tcbiAgICAgIGF2YXRhckNvbmZpZz8uZGlzcGxheU5hbWVcbiAgICB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1jLWJ1YmJsZS1jb250ZW50LWNvbnRhaW5lclwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnd2l0aC1hdmF0YXInOiBhdmF0YXJUZW1wbGF0ZSB8fCBhdmF0YXJDb25maWcgfVwiXG4gID5cbiAgICA8IS0tIOmhtumDqOWGheWuueaKleW9sSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b3BUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgPCEtLSDliqDovb3nirbmgIEgLS0+XG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtYnVzeT1cInRydWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nVHBsVGVtcGxhdGU7IGVsc2UgZGVmYXVsdExvYWRpbmdUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1RwbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsb2FkaW5nVHBsXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TG9hZGluZ1RlbXBsYXRlPlxuICAgICAgICA8bWMtYnViYmxlLWxvYWRpbmc+PC9tYy1idWJibGUtbG9hZGluZz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgXG4gICAgPCEtLSDkuLvopoHlhoXlrrkgLS0+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhbG9hZGluZ1wiXG4gICAgICBjbGFzcz1cIm1jLWJ1YmJsZS1jb250ZW50XCJcbiAgICAgIFtuZ0NsYXNzXT1cIlt2YXJpYW50XVwiXG4gICAgICByb2xlPVwicmVnaW9uXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudCAmJiAhbmdDb250ZW50UHJvamVjdGVkXCI+XG4gICAgICAgIDxzcGFuIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0J1YmJsZS5jb250ZW50JyB8IHRyYW5zbGF0ZVwiPnt7IGNvbnRlbnQgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8IS0tIOW6lemDqOWGheWuueaKleW9sSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib3R0b21UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
80
80
|
type: HostListener,
|
|
81
81
|
args: ['mouseup']
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL0lucHV0L2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy1uZy9zcmMvSW5wdXQvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQXNCLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7QUFRMUcsTUFBTSxPQUFPLGVBQWdCLFNBQVEsYUFBYTtJQWdCbEQsWUFBb0IsYUFBNEI7UUFBSSxLQUFLLEVBQUUsQ0FBQztRQUF4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWZ2QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixtQkFBYyxHQUFtQixjQUFjLENBQUMsSUFBSSxDQUFDO1FBRXBELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSTlDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFrQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBRVYsQ0FBQztJQUU5RCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBNkIsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBR0QsU0FBUztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDOzhHQW5EWSxlQUFlO2tHQUFmLGVBQWUsMmNDZDlCLDRxSUEyQ0EsZ2lFRGhDWSxZQUFZLHdZQUFFLGlCQUFpQixvREFBRSxhQUFhOzsyRkFHM0MsZUFBZTtrQkFON0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQztrRkFJaEQsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUVjLGFBQWE7c0JBQWpDLFNBQVM7dUJBQUMsUUFBUTtnQkFrQm5CLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXO2dCQU16QixTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlbmRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VuZC1pY29uL3NlbmQtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VuZEJ0blZhcmlhbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzLWNvbW1vbi9JbnB1dC9jb21tb24vdHlwZXMnO1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSAnLi4vLi4vQmFzZS9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vTG9jYWxlJztcbmltcG9ydCB7IElucHV0QnV0dG9uQWRhcHRlciwgSW5wdXRCdXR0b25Gb3VuZGF0aW9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy1jb21tb24vSW5wdXQvYnV0dG9uLWZvdW5kYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYy1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTZW5kSWNvbkNvbXBvbmVudCwgVHJhbnNsYXRlUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzZW5kQnRuVmFyaWFudDogU2VuZEJ0blZhcmlhbnQgPSBTZW5kQnRuVmFyaWFudC5GdWxsO1xuICBcbiAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIFxuICBAVmlld0NoaWxkKCdidXR0b24nKSBidXR0b25FbGVtZW50ITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIFxuICBpc01vdXNlRG93bjogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93V2F2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICB3YXZlU3R5bGU6IHsgdG9wOiBzdHJpbmc7IGxlZnQ6IHN0cmluZyB9ID0geyB0b3A6ICcwcHgnLCBsZWZ0OiAnMHB4JyB9O1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlKSB7IHN1cGVyKCk7IH1cbiAgXG4gIGdldCBidXR0b25DbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm91bmRhdGlvbi5nZXRCdXR0b25DbGFzc2VzKCk7XG4gIH1cbiAgXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm91bmRhdGlvbiA9IG5ldyBJbnB1dEJ1dHRvbkZvdW5kYXRpb24odGhpcy5hZGFwdGVyIGFzIElucHV0QnV0dG9uQWRhcHRlcik7XG4gICAgdGhpcy5mb3VuZGF0aW9uLmluaXQoKTtcbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJylcbiAgb25Nb3VzZURvd24oKTogdm9pZCB7XG4gICAgdGhpcy5pc01vdXNlRG93biA9IHRydWU7XG4gIH1cbiAgXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKVxuICBvbk1vdXNlVXAoKTogdm9pZCB7XG4gICAgdGhpcy5pc01vdXNlRG93biA9IGZhbHNlO1xuICB9XG4gIFxuICBzaG93Q2xpY2tXYXZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mb3VuZGF0aW9uLnNob3dDbGlja1dhdmUodGhpcy5idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGV2ZW50KTtcbiAgfVxuICBcbiAgb25Db25maXJtKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zaG93Q2xpY2tXYXZlKGV2ZW50KTtcbiAgICBcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3VibWl0LmVtaXQodGhpcy5pbnB1dFZhbHVlKTtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLmlucHV0VmFsdWUpO1xuICAgIH1cbiAgfVxuICBcblxufSIsIjxidXR0b25cbiAgI2J1dHRvblxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgKCFsb2FkaW5nICYmICFpbnB1dFZhbHVlKVwiXG4gIFtuZ0NsYXNzXT1cImJ1dHRvbkNsYXNzZXNcIlxuICAoY2xpY2spPVwib25Db25maXJtKCRldmVudClcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImxvYWRpbmcgPyAoJ0lucHV0LnBhdXNlQW5zd2VyJyB8IHRyYW5zbGF0ZSkgOiAoJ0lucHV0LnNlbmQnIHwgdHJhbnNsYXRlKVwiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgKCFsb2FkaW5nICYmICFpbnB1dFZhbHVlKVwiXG4gIFthdHRyLmFyaWEtYnVzeV09XCJsb2FkaW5nXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJtYy1idXR0b24tY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9hZGluZ0ljb25cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxtYy1zZW5kLWljb24gKm5nSWY9XCIhbG9hZGluZ1wiPjwvbWMtc2VuZC1pY29uPlxuICAgIDxzcGFuICpuZ0lmPVwic2VuZEJ0blZhcmlhbnQgPT09ICdmdWxsJ1wiPlxuICAgICAge3tcbiAgICAgICAgbG9hZGluZyA/IChcIklucHV0LnBhdXNlQW5zd2VyXCIgfCB0cmFuc2xhdGUpIDogKFwiSW5wdXQuc2VuZFwiIHwgdHJhbnNsYXRlKVxuICAgICAgfX1cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwic2hvd1dhdmVcIlxuICAgIGNsYXNzPVwibWMtYnV0dG9uLXdhdGVyLXdhdmVcIlxuICAgIFtzdHlsZS50b3BdPVwid2F2ZVN0eWxlLnRvcFwiXG4gICAgW3N0eWxlLmxlZnRdPVwid2F2ZVN0eWxlLmxlZnRcIlxuICA+PC9kaXY+XG48L2J1dHRvbj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nSWNvbj5cbiAgPHN2Z1xuICAgIHdpZHRoPVwiMTZweFwiXG4gICAgaGVpZ2h0PVwiMTZweFwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gID5cbiAgICA8ZyBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMVwiIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk04LDEyIEM4LjI3NjE0MjM3LDEyIDguNSwxMi4yMjM4NTc2IDguNSwxMi41IEw4LjUsMTQuNSBDOC41LDE0Ljc3NjE0MjQgOC4yNzYxNDIzNywxNSA4LDE1IEM3LjcyMzg1NzYzLDE1IDcuNSwxNC43NzYxNDI0IDcuNSwxNC41IEw3LjUsMTIuNSBDNy41LDEyLjIyMzg1NzYgNy43MjM4NTc2MywxMiA4LDEyIFogTTExLjA0OTU0MjEsMTEuMzQ2NjgzOCBMMTIuMjI1MTEyNiwxMi45NjQ3MTc4IEMxMi4zODc0MjUxLDEzLjE4ODEyMTcgMTIuMzM3OTAwNiwxMy41MDA4MDY1IDEyLjExNDQ5NjgsMTMuNjYzMTE5IEMxMS44OTEwOTI5LDEzLjgyNTQzMTQgMTEuNTc4NDA4MSwxMy43NzU5MDcgMTEuNDE2MDk1NiwxMy41NTI1MDMxIEwxMC4yNDA1MjUxLDExLjkzNDQ2OTEgQzEwLjA3ODIxMjcsMTEuNzExMDY1MiAxMC4xMjc3MzcxLDExLjM5ODM4MDQgMTAuMzUxMTQxLDExLjIzNjA2OCBDMTAuNTc0NTQ0OSwxMS4wNzM3NTU2IDEwLjg4NzIyOTcsMTEuMTIzMjggMTEuMDQ5NTQyMSwxMS4zNDY2ODM4IFogTTUuNjQ4ODU4OTksMTEuMjM2MDY4IEM1Ljg3MjI2Mjg3LDExLjM5ODM4MDQgNS45MjE3ODcyOCwxMS43MTEwNjUyIDUuNzU5NDc0ODYsMTEuOTM0NDY5MSBMNC41ODM5MDQzNiwxMy41NTI1MDMxIEM0LjQyMTU5MTk0LDEzLjc3NTkwNyA0LjEwODkwNzExLDEzLjgyNTQzMTQgMy44ODU1MDMyMywxMy42NjMxMTkgQzMuNjYyMDk5MzYsMTMuNTAwODA2NSAzLjYxMjU3NDk1LDEzLjE4ODEyMTcgMy43NzQ4ODczNiwxMi45NjQ3MTc4IEw0Ljk1MDQ1Nzg3LDExLjM0NjY4MzggQzUuMTEyNzcwMjgsMTEuMTIzMjggNS40MjU0NTUxMiwxMS4wNzM3NTU2IDUuNjQ4ODU4OTksMTEuMjM2MDY4IFogTTEyLjQzNDI2MjgsOC45MTUwNDgyMiBMMTQuMzM2Mzc1OSw5LjUzMzA4MjIxIEMxNC41OTkwMDI5LDkuNjE4NDE0ODkgMTQuNzQyNzI4Myw5LjkwMDQ5MTk2IDE0LjY1NzM5NTYsMTAuMTYzMTE5IEMxNC41NzIwNjI5LDEwLjQyNTc0NiAxNC4yODk5ODU5LDEwLjU2OTQ3MTQgMTQuMDI3MzU4OSwxMC40ODQxMzg3IEwxMi4xMjUyNDU4LDkuODY2MTA0NzMgQzExLjg2MjYxODgsOS43ODA3NzIwNSAxMS43MTg4OTM0LDkuNDk4Njk0OTggMTEuODA0MjI2MSw5LjIzNjA2Nzk4IEMxMS44ODk1NTg4LDguOTczNDQwOTcgMTIuMTcxNjM1OCw4LjgyOTcxNTUzIDEyLjQzNDI2MjgsOC45MTUwNDgyMiBaIE00LjE5NTc3MzkzLDkuMjM2MDY3OTggQzQuMjgxMTA2NjIsOS40OTg2OTQ5OCA0LjEzNzM4MTE4LDkuNzgwNzcyMDUgMy44NzQ3NTQxNyw5Ljg2NjEwNDczIEwxLjk3MjY0MTE0LDEwLjQ4NDEzODcgQzEuNzEwMDE0MTQsMTAuNTY5NDcxNCAxLjQyNzkzNzA3LDEwLjQyNTc0NiAxLjM0MjYwNDM5LDEwLjE2MzExOSBDMS4yNTcyNzE3LDkuOTAwNDkxOTYgMS40MDA5OTcxNCw5LjYxODQxNDg5IDEuNjYzNjI0MTUsOS41MzMwODIyMSBMMy41NjU3MzcxOCw4LjkxNTA0ODIyIEMzLjgyODM2NDE4LDguODI5NzE1NTMgNC4xMTA0NDEyNSw4Ljk3MzQ0MDk3IDQuMTk1NzczOTMsOS4yMzYwNjc5OCBaIE0xNC42NTczOTU2LDUuODM2ODgxMDQgQzE0Ljc0MjcyODMsNi4wOTk1MDgwNCAxNC41OTkwMDI5LDYuMzgxNTg1MTEgMTQuMzM2Mzc1OSw2LjQ2NjkxNzc5IEwxMi40MzQyNjI4LDcuMDg0OTUxNzggQzEyLjE3MTYzNTgsNy4xNzAyODQ0NyAxMS44ODk1NTg4LDcuMDI2NTU5MDMgMTEuODA0MjI2MSw2Ljc2MzkzMjAyIEMxMS43MTg4OTM0LDYuNTAxMzA1MDIgMTEuODYyNjE4OCw2LjIxOTIyNzk1IDEyLjEyNTI0NTgsNi4xMzM4OTUyNyBMMTQuMDI3MzU4OSw1LjUxNTg2MTI4IEMxNC4yODk5ODU5LDUuNDMwNTI4NTkgMTQuNTcyMDYyOSw1LjU3NDI1NDAzIDE0LjY1NzM5NTYsNS44MzY4ODEwNCBaIE0xLjk3MjY0MTE0LDUuNTE1ODYxMjggTDMuODc0NzU0MTcsNi4xMzM4OTUyNyBDNC4xMzczODExOCw2LjIxOTIyNzk1IDQuMjgxMTA2NjIsNi41MDEzMDUwMiA0LjE5NTc3MzkzLDYuNzYzOTMyMDIgQzQuMTEwNDQxMjUsNy4wMjY1NTkwMyAzLjgyODM2NDE4LDcuMTcwMjg0NDcgMy41NjU3MzcxOCw3LjA4NDk1MTc4IEwxLjY2MzYyNDE1LDYuNDY2OTE3NzkgQzEuNDAwOTk3MTQsNi4zODE1ODUxMSAxLjI1NzI3MTcsNi4wOTk1MDgwNCAxLjM0MjYwNDM5LDUuODM2ODgxMDQgQzEuNDI3OTM3MDcsNS41NzQyNTQwMyAxLjcxMDAxNDE0LDUuNDMwNTI4NTkgMS45NzI2NDExNCw1LjUxNTg2MTI4IFogTTEyLjExNDQ5NjgsMi4zMzY4ODEwNCBDMTIuMzM3OTAwNiwyLjQ5OTE5MzQ1IDEyLjM4NzQyNTEsMi44MTE4NzgyOSAxMi4yMjUxMTI2LDMuMDM1MjgyMTYgTDExLjA0OTU0MjEsNC42NTMzMTYxNSBDMTAuODg3MjI5Nyw0Ljg3NjcyMDAzIDEwLjU3NDU0NDksNC45MjYyNDQ0NCAxMC4zNTExNDEsNC43NjM5MzIwMiBDMTAuMTI3NzM3MSw0LjYwMTYxOTYxIDEwLjA3ODIxMjcsNC4yODg5MzQ3NyAxMC4yNDA1MjUxLDQuMDY1NTMwOSBMMTEuNDE2MDk1NiwyLjQ0NzQ5NjkxIEMxMS41Nzg0MDgxLDIuMjI0MDkzMDQgMTEuODkxMDkyOSwyLjE3NDU2ODYyIDEyLjExNDQ5NjgsMi4zMzY4ODEwNCBaIE00LjU4MzkwNDM2LDIuNDQ3NDk2OTEgTDUuNzU5NDc0ODYsNC4wNjU1MzA5IEM1LjkyMTc4NzI4LDQuMjg4OTM0NzcgNS44NzIyNjI4Nyw0LjYwMTYxOTYxIDUuNjQ4ODU4OTksNC43NjM5MzIwMiBDNS40MjU0NTUxMiw0LjkyNjI0NDQ0IDUuMTEyNzcwMjgsNC44NzY3MjAwMyA0Ljk1MDQ1Nzg3LDQuNjUzMzE2MTUgTDMuNzc0ODg3MzYsMy4wMzUyODIxNiBDMy42MTI1NzQ5NSwyLjgxMTg3ODI5IDMuNjYyMDk5MzYsMi40OTkxOTM0NSAzLjg4NTUwMzIzLDIuMzM2ODgxMDQgQzQuMTA4OTA3MTEsMi4xNzQ1Njg2MiA0LjQyMTU5MTk0LDIuMjI0MDkzMDQgNC41ODM5MDQzNiwyLjQ0NzQ5NjkxIFogTTgsMSBDOC4yNzYxNDIzNywxIDguNSwxLjIyMzg1NzYzIDguNSwxLjUgTDguNSwzLjUgQzguNSwzLjc3NjE0MjM3IDguMjc2MTQyMzcsNCA4LDQgQzcuNzIzODU3NjMsNCA3LjUsMy43NzYxNDIzNyA3LjUsMy41IEw3LjUsMS41IEM3LjUsMS4yMjM4NTc2MyA3LjcyMzg1NzYzLDEgOCwxIFpcIlxuICAgICAgPjwvcGF0aD5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL0lucHV0L2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy1uZy9zcmMvSW5wdXQvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQXNCLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7QUFRMUcsTUFBTSxPQUFPLGVBQWdCLFNBQVEsYUFBb0M7SUFnQnpFLFlBQW9CLGFBQTRCO1FBQUksS0FBSyxFQUFFLENBQUM7UUFBeEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFmdkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsbUJBQWMsR0FBbUIsY0FBYyxDQUFDLElBQUksQ0FBQztRQUVwRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNwQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUk5QyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBa0MsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUVWLENBQUM7SUFFOUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQTZCLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUdELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzs4R0FuRFksZUFBZTtrR0FBZixlQUFlLDJjQ2Q5Qiw0cUlBMkNBLGdpRURoQ1ksWUFBWSx3WUFBRSxpQkFBaUIsb0RBQUUsYUFBYTs7MkZBRzNDLGVBQWU7a0JBTjdCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxhQUFhLENBQUM7a0ZBSWhELFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFFYyxhQUFhO3NCQUFqQyxTQUFTO3VCQUFDLFFBQVE7Z0JBa0JuQixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkFNekIsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTZW5kSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NlbmQtaWNvbi9zZW5kLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbmRCdG5WYXJpYW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy1jb21tb24vSW5wdXQvY29tbW9uL3R5cGVzJztcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gJy4uLy4uL0Jhc2UvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSwgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL0xvY2FsZSc7XG5pbXBvcnQgeyBJbnB1dEJ1dHRvbkFkYXB0ZXIsIElucHV0QnV0dG9uRm91bmRhdGlvbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMtY29tbW9uL0lucHV0L2J1dHRvbi1mb3VuZGF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWMtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2VuZEljb25Db21wb25lbnQsIFRyYW5zbGF0ZVBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KWV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PElucHV0QnV0dG9uRm91bmRhdGlvbj4ge1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzZW5kQnRuVmFyaWFudDogU2VuZEJ0blZhcmlhbnQgPSBTZW5kQnRuVmFyaWFudC5GdWxsO1xuICBcbiAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIFxuICBAVmlld0NoaWxkKCdidXR0b24nKSBidXR0b25FbGVtZW50ITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIFxuICBpc01vdXNlRG93bjogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93V2F2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICB3YXZlU3R5bGU6IHsgdG9wOiBzdHJpbmc7IGxlZnQ6IHN0cmluZyB9ID0geyB0b3A6ICcwcHgnLCBsZWZ0OiAnMHB4JyB9O1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlKSB7IHN1cGVyKCk7IH1cbiAgXG4gIGdldCBidXR0b25DbGFzc2VzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmZvdW5kYXRpb24uZ2V0QnV0dG9uQ2xhc3NlcygpO1xuICB9XG4gIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvdW5kYXRpb24gPSBuZXcgSW5wdXRCdXR0b25Gb3VuZGF0aW9uKHRoaXMuYWRhcHRlciBhcyBJbnB1dEJ1dHRvbkFkYXB0ZXIpO1xuICAgIHRoaXMuZm91bmRhdGlvbi5pbml0KCk7XG4gIH1cbiAgXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicpXG4gIG9uTW91c2VEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNb3VzZURvd24gPSB0cnVlO1xuICB9XG4gIFxuICBASG9zdExpc3RlbmVyKCdtb3VzZXVwJylcbiAgb25Nb3VzZVVwKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNb3VzZURvd24gPSBmYWxzZTtcbiAgfVxuICBcbiAgc2hvd0NsaWNrV2F2ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZm91bmRhdGlvbi5zaG93Q2xpY2tXYXZlKHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50LCBldmVudCk7XG4gIH1cbiAgXG4gIG9uQ29uZmlybShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0NsaWNrV2F2ZShldmVudCk7XG4gICAgXG4gICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1Ym1pdC5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJztcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5pbnB1dFZhbHVlKTtcbiAgICB9XG4gIH1cbiAgXG5cbn0iLCI8YnV0dG9uXG4gICNidXR0b25cbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8ICghbG9hZGluZyAmJiAhaW5wdXRWYWx1ZSlcIlxuICBbbmdDbGFzc109XCJidXR0b25DbGFzc2VzXCJcbiAgKGNsaWNrKT1cIm9uQ29uZmlybSgkZXZlbnQpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJsb2FkaW5nID8gKCdJbnB1dC5wYXVzZUFuc3dlcicgfCB0cmFuc2xhdGUpIDogKCdJbnB1dC5zZW5kJyB8IHRyYW5zbGF0ZSlcIlxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkIHx8ICghbG9hZGluZyAmJiAhaW5wdXRWYWx1ZSlcIlxuICBbYXR0ci5hcmlhLWJ1c3ldPVwibG9hZGluZ1wiXG4+XG4gIDxzcGFuIGNsYXNzPVwibWMtYnV0dG9uLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvYWRpbmdJY29uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bWMtc2VuZC1pY29uICpuZ0lmPVwiIWxvYWRpbmdcIj48L21jLXNlbmQtaWNvbj5cbiAgICA8c3BhbiAqbmdJZj1cInNlbmRCdG5WYXJpYW50ID09PSAnZnVsbCdcIj5cbiAgICAgIHt7XG4gICAgICAgIGxvYWRpbmcgPyAoXCJJbnB1dC5wYXVzZUFuc3dlclwiIHwgdHJhbnNsYXRlKSA6IChcIklucHV0LnNlbmRcIiB8IHRyYW5zbGF0ZSlcbiAgICAgIH19XG4gICAgPC9zcGFuPlxuICA8L3NwYW4+XG4gIDxkaXZcbiAgICAqbmdJZj1cInNob3dXYXZlXCJcbiAgICBjbGFzcz1cIm1jLWJ1dHRvbi13YXRlci13YXZlXCJcbiAgICBbc3R5bGUudG9wXT1cIndhdmVTdHlsZS50b3BcIlxuICAgIFtzdHlsZS5sZWZ0XT1cIndhdmVTdHlsZS5sZWZ0XCJcbiAgPjwvZGl2PlxuPC9idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ0ljb24+XG4gIDxzdmdcbiAgICB3aWR0aD1cIjE2cHhcIlxuICAgIGhlaWdodD1cIjE2cHhcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgIHZlcnNpb249XCIxLjFcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPGcgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjFcIiBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNOCwxMiBDOC4yNzYxNDIzNywxMiA4LjUsMTIuMjIzODU3NiA4LjUsMTIuNSBMOC41LDE0LjUgQzguNSwxNC43NzYxNDI0IDguMjc2MTQyMzcsMTUgOCwxNSBDNy43MjM4NTc2MywxNSA3LjUsMTQuNzc2MTQyNCA3LjUsMTQuNSBMNy41LDEyLjUgQzcuNSwxMi4yMjM4NTc2IDcuNzIzODU3NjMsMTIgOCwxMiBaIE0xMS4wNDk1NDIxLDExLjM0NjY4MzggTDEyLjIyNTExMjYsMTIuOTY0NzE3OCBDMTIuMzg3NDI1MSwxMy4xODgxMjE3IDEyLjMzNzkwMDYsMTMuNTAwODA2NSAxMi4xMTQ0OTY4LDEzLjY2MzExOSBDMTEuODkxMDkyOSwxMy44MjU0MzE0IDExLjU3ODQwODEsMTMuNzc1OTA3IDExLjQxNjA5NTYsMTMuNTUyNTAzMSBMMTAuMjQwNTI1MSwxMS45MzQ0NjkxIEMxMC4wNzgyMTI3LDExLjcxMTA2NTIgMTAuMTI3NzM3MSwxMS4zOTgzODA0IDEwLjM1MTE0MSwxMS4yMzYwNjggQzEwLjU3NDU0NDksMTEuMDczNzU1NiAxMC44ODcyMjk3LDExLjEyMzI4IDExLjA0OTU0MjEsMTEuMzQ2NjgzOCBaIE01LjY0ODg1ODk5LDExLjIzNjA2OCBDNS44NzIyNjI4NywxMS4zOTgzODA0IDUuOTIxNzg3MjgsMTEuNzExMDY1MiA1Ljc1OTQ3NDg2LDExLjkzNDQ2OTEgTDQuNTgzOTA0MzYsMTMuNTUyNTAzMSBDNC40MjE1OTE5NCwxMy43NzU5MDcgNC4xMDg5MDcxMSwxMy44MjU0MzE0IDMuODg1NTAzMjMsMTMuNjYzMTE5IEMzLjY2MjA5OTM2LDEzLjUwMDgwNjUgMy42MTI1NzQ5NSwxMy4xODgxMjE3IDMuNzc0ODg3MzYsMTIuOTY0NzE3OCBMNC45NTA0NTc4NywxMS4zNDY2ODM4IEM1LjExMjc3MDI4LDExLjEyMzI4IDUuNDI1NDU1MTIsMTEuMDczNzU1NiA1LjY0ODg1ODk5LDExLjIzNjA2OCBaIE0xMi40MzQyNjI4LDguOTE1MDQ4MjIgTDE0LjMzNjM3NTksOS41MzMwODIyMSBDMTQuNTk5MDAyOSw5LjYxODQxNDg5IDE0Ljc0MjcyODMsOS45MDA0OTE5NiAxNC42NTczOTU2LDEwLjE2MzExOSBDMTQuNTcyMDYyOSwxMC40MjU3NDYgMTQuMjg5OTg1OSwxMC41Njk0NzE0IDE0LjAyNzM1ODksMTAuNDg0MTM4NyBMMTIuMTI1MjQ1OCw5Ljg2NjEwNDczIEMxMS44NjI2MTg4LDkuNzgwNzcyMDUgMTEuNzE4ODkzNCw5LjQ5ODY5NDk4IDExLjgwNDIyNjEsOS4yMzYwNjc5OCBDMTEuODg5NTU4OCw4Ljk3MzQ0MDk3IDEyLjE3MTYzNTgsOC44Mjk3MTU1MyAxMi40MzQyNjI4LDguOTE1MDQ4MjIgWiBNNC4xOTU3NzM5Myw5LjIzNjA2Nzk4IEM0LjI4MTEwNjYyLDkuNDk4Njk0OTggNC4xMzczODExOCw5Ljc4MDc3MjA1IDMuODc0NzU0MTcsOS44NjYxMDQ3MyBMMS45NzI2NDExNCwxMC40ODQxMzg3IEMxLjcxMDAxNDE0LDEwLjU2OTQ3MTQgMS40Mjc5MzcwNywxMC40MjU3NDYgMS4zNDI2MDQzOSwxMC4xNjMxMTkgQzEuMjU3MjcxNyw5LjkwMDQ5MTk2IDEuNDAwOTk3MTQsOS42MTg0MTQ4OSAxLjY2MzYyNDE1LDkuNTMzMDgyMjEgTDMuNTY1NzM3MTgsOC45MTUwNDgyMiBDMy44MjgzNjQxOCw4LjgyOTcxNTUzIDQuMTEwNDQxMjUsOC45NzM0NDA5NyA0LjE5NTc3MzkzLDkuMjM2MDY3OTggWiBNMTQuNjU3Mzk1Niw1LjgzNjg4MTA0IEMxNC43NDI3MjgzLDYuMDk5NTA4MDQgMTQuNTk5MDAyOSw2LjM4MTU4NTExIDE0LjMzNjM3NTksNi40NjY5MTc3OSBMMTIuNDM0MjYyOCw3LjA4NDk1MTc4IEMxMi4xNzE2MzU4LDcuMTcwMjg0NDcgMTEuODg5NTU4OCw3LjAyNjU1OTAzIDExLjgwNDIyNjEsNi43NjM5MzIwMiBDMTEuNzE4ODkzNCw2LjUwMTMwNTAyIDExLjg2MjYxODgsNi4yMTkyMjc5NSAxMi4xMjUyNDU4LDYuMTMzODk1MjcgTDE0LjAyNzM1ODksNS41MTU4NjEyOCBDMTQuMjg5OTg1OSw1LjQzMDUyODU5IDE0LjU3MjA2MjksNS41NzQyNTQwMyAxNC42NTczOTU2LDUuODM2ODgxMDQgWiBNMS45NzI2NDExNCw1LjUxNTg2MTI4IEwzLjg3NDc1NDE3LDYuMTMzODk1MjcgQzQuMTM3MzgxMTgsNi4yMTkyMjc5NSA0LjI4MTEwNjYyLDYuNTAxMzA1MDIgNC4xOTU3NzM5Myw2Ljc2MzkzMjAyIEM0LjExMDQ0MTI1LDcuMDI2NTU5MDMgMy44MjgzNjQxOCw3LjE3MDI4NDQ3IDMuNTY1NzM3MTgsNy4wODQ5NTE3OCBMMS42NjM2MjQxNSw2LjQ2NjkxNzc5IEMxLjQwMDk5NzE0LDYuMzgxNTg1MTEgMS4yNTcyNzE3LDYuMDk5NTA4MDQgMS4zNDI2MDQzOSw1LjgzNjg4MTA0IEMxLjQyNzkzNzA3LDUuNTc0MjU0MDMgMS43MTAwMTQxNCw1LjQzMDUyODU5IDEuOTcyNjQxMTQsNS41MTU4NjEyOCBaIE0xMi4xMTQ0OTY4LDIuMzM2ODgxMDQgQzEyLjMzNzkwMDYsMi40OTkxOTM0NSAxMi4zODc0MjUxLDIuODExODc4MjkgMTIuMjI1MTEyNiwzLjAzNTI4MjE2IEwxMS4wNDk1NDIxLDQuNjUzMzE2MTUgQzEwLjg4NzIyOTcsNC44NzY3MjAwMyAxMC41NzQ1NDQ5LDQuOTI2MjQ0NDQgMTAuMzUxMTQxLDQuNzYzOTMyMDIgQzEwLjEyNzczNzEsNC42MDE2MTk2MSAxMC4wNzgyMTI3LDQuMjg4OTM0NzcgMTAuMjQwNTI1MSw0LjA2NTUzMDkgTDExLjQxNjA5NTYsMi40NDc0OTY5MSBDMTEuNTc4NDA4MSwyLjIyNDA5MzA0IDExLjg5MTA5MjksMi4xNzQ1Njg2MiAxMi4xMTQ0OTY4LDIuMzM2ODgxMDQgWiBNNC41ODM5MDQzNiwyLjQ0NzQ5NjkxIEw1Ljc1OTQ3NDg2LDQuMDY1NTMwOSBDNS45MjE3ODcyOCw0LjI4ODkzNDc3IDUuODcyMjYyODcsNC42MDE2MTk2MSA1LjY0ODg1ODk5LDQuNzYzOTMyMDIgQzUuNDI1NDU1MTIsNC45MjYyNDQ0NCA1LjExMjc3MDI4LDQuODc2NzIwMDMgNC45NTA0NTc4Nyw0LjY1MzMxNjE1IEwzLjc3NDg4NzM2LDMuMDM1MjgyMTYgQzMuNjEyNTc0OTUsMi44MTE4NzgyOSAzLjY2MjA5OTM2LDIuNDk5MTkzNDUgMy44ODU1MDMyMywyLjMzNjg4MTA0IEM0LjEwODkwNzExLDIuMTc0NTY4NjIgNC40MjE1OTE5NCwyLjIyNDA5MzA0IDQuNTgzOTA0MzYsMi40NDc0OTY5MSBaIE04LDEgQzguMjc2MTQyMzcsMSA4LjUsMS4yMjM4NTc2MyA4LjUsMS41IEw4LjUsMy41IEM4LjUsMy43NzYxNDIzNyA4LjI3NjE0MjM3LDQgOCw0IEM3LjcyMzg1NzYzLDQgNy41LDMuNzc2MTQyMzcgNy41LDMuNSBMNy41LDEuNSBDNy41LDEuMjIzODU3NjMgNy43MjM4NTc2MywxIDgsMSBaXCJcbiAgICAgID48L3BhdGg+XG4gICAgPC9nPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|