atr-components 0.2.103 → 0.2.105
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/atr-components.module.d.ts +4 -7
- package/atr-public-api.d.ts +6 -0
- package/core/base/atr-common.d.ts +7 -2
- package/core/directive/hq-spin.directive.d.ts +4 -3
- package/core/pipe/china-num.pipe.d.ts +7 -0
- package/core/pipe/count.pipe.d.ts +7 -0
- package/core/pipe/is-empty.pipe.d.ts +1 -1
- package/core/pipe/oss.pipe.d.ts +7 -0
- package/core/pipe/ossStatic.pipe.d.ts +7 -0
- package/core/pipe/pipe-module.module.d.ts +8 -2
- package/core/pipe/remove-html.pipe.d.ts +10 -0
- package/core/pipe/safe-url.pipe.d.ts +10 -0
- package/core/services/upload-oss.service.d.ts +3 -1
- package/core/utils/ToolsUtil.d.ts +4 -0
- package/esm2020/atr-components.module.mjs +5 -10
- package/esm2020/atr-public-api.mjs +7 -4
- package/esm2020/core/base/atr-common.mjs +5 -1
- package/esm2020/core/directive/hq-spin.directive.mjs +16 -4
- package/esm2020/core/pipe/china-num.pipe.mjs +36 -0
- package/esm2020/core/pipe/count.pipe.mjs +34 -0
- package/esm2020/core/pipe/is-empty.pipe.mjs +5 -2
- package/esm2020/core/pipe/oss.pipe.mjs +17 -0
- package/esm2020/core/pipe/ossStatic.pipe.mjs +17 -0
- package/esm2020/core/pipe/pipe-module.module.mjs +12 -3
- package/esm2020/core/pipe/remove-html.pipe.mjs +21 -0
- package/esm2020/core/pipe/safe-url.pipe.mjs +20 -0
- package/esm2020/core/services/upload-oss.service.mjs +47 -1
- package/esm2020/core/utils/ToolsUtil.mjs +31 -1
- package/esm2020/lib/shared/atr-shared.module.mjs +10 -4
- package/esm2020/lib/shared/quill-editor/quill-editor.component.mjs +86 -1
- package/esm2020/lib/shared/table/table-form-item/table-form-item.component.mjs +3 -3
- package/esm2020/lib/shared/table/table.component.mjs +8 -1
- package/fesm2015/atr-components.mjs +461 -146
- package/fesm2015/atr-components.mjs.map +1 -1
- package/fesm2020/atr-components.mjs +461 -146
- package/fesm2020/atr-components.mjs.map +1 -1
- package/lib/shared/atr-shared.module.d.ts +15 -12
- package/lib/shared/quill-editor/quill-editor.component.d.ts +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { ToolsUtil } from "../utils/ToolsUtil";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OssPipe {
|
|
5
|
+
transform(value, defaultVal) {
|
|
6
|
+
return ToolsUtil.getOssUrl(value);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
OssPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
OssPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OssPipe, name: "oss" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OssPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'oss'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvb3NzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sT0FBTztJQUNsQixTQUFTLENBQUMsS0FBVSxFQUFFLFVBQWU7UUFDbkMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O3FHQUhVLE9BQU87bUdBQVAsT0FBTzs0RkFBUCxPQUFPO2tCQUhuQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1Rvb2xzVXRpbH0gZnJvbSBcIi4uL3V0aWxzL1Rvb2xzVXRpbFwiO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdvc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPc3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGRlZmF1bHRWYWw/OmFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gVG9vbHNVdGlsLmdldE9zc1VybCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { ToolsUtil } from "../utils/ToolsUtil";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OssStaticPipe {
|
|
5
|
+
transform(value, defaultVal) {
|
|
6
|
+
return ToolsUtil.getStaticOssUrl(value);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
OssStaticPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OssStaticPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
OssStaticPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OssStaticPipe, name: "ossStatic" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OssStaticPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'ossStatic'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NzU3RhdGljLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvb3NzU3RhdGljLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sYUFBYTtJQUN4QixTQUFTLENBQUMsS0FBVSxFQUFFLFVBQWU7UUFDbkMsT0FBTyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7OzJHQUhVLGFBQWE7eUdBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUh6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUb29sc1V0aWx9IGZyb20gXCIuLi91dGlscy9Ub29sc1V0aWxcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnb3NzU3RhdGljJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT3NzU3RhdGljUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkZWZhdWx0VmFsPzphbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIFRvb2xzVXRpbC5nZXRTdGF0aWNPc3NVcmwodmFsdWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -8,13 +8,22 @@ import { SafeComputePipe } from "./safe-compute.pipe";
|
|
|
8
8
|
import { IsNotEmptyPipe } from "./is-not-empty.pipe";
|
|
9
9
|
import { OssImgPipe } from "./image-pipe.pipe";
|
|
10
10
|
import { SafeHtmlPipe } from "./safe-html.pipe";
|
|
11
|
+
import { ChinaNumPipe } from "./china-num.pipe";
|
|
12
|
+
import { CountPipe } from "./count.pipe";
|
|
13
|
+
import { OssPipe } from "./oss.pipe";
|
|
14
|
+
import { OssStaticPipe } from "./ossStatic.pipe";
|
|
15
|
+
import { RemoveHtmlPipe } from "./remove-html.pipe";
|
|
16
|
+
import { SafeUrlPipe } from "./safe-url.pipe";
|
|
11
17
|
import * as i0 from "@angular/core";
|
|
12
18
|
// const PIPES = [IsNotEmptyPipe, DefaultValPipe, DictsPipe, DayPipe, IsEmptyPipe, SafeComputePipe,OssImgPipe]
|
|
13
|
-
const PIPES = [IsNotEmptyPipe, DefaultValPipe, DictsPipe, DayPipe, IsEmptyPipe, SafeComputePipe, OssImgPipe, SafeHtmlPipe
|
|
19
|
+
const PIPES = [IsNotEmptyPipe, DefaultValPipe, DictsPipe, DayPipe, IsEmptyPipe, SafeComputePipe, OssImgPipe, SafeHtmlPipe,
|
|
20
|
+
ChinaNumPipe, CountPipe, OssPipe, OssStaticPipe, RemoveHtmlPipe, SafeUrlPipe];
|
|
14
21
|
export class PipeModuleModule {
|
|
15
22
|
}
|
|
16
23
|
PipeModuleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PipeModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
-
PipeModuleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PipeModuleModule, declarations: [IsNotEmptyPipe, DefaultValPipe, DictsPipe, DayPipe, IsEmptyPipe, SafeComputePipe, OssImgPipe, SafeHtmlPipe
|
|
24
|
+
PipeModuleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PipeModuleModule, declarations: [IsNotEmptyPipe, DefaultValPipe, DictsPipe, DayPipe, IsEmptyPipe, SafeComputePipe, OssImgPipe, SafeHtmlPipe,
|
|
25
|
+
ChinaNumPipe, CountPipe, OssPipe, OssStaticPipe, RemoveHtmlPipe, SafeUrlPipe], imports: [CommonModule], exports: [IsNotEmptyPipe, DefaultValPipe, DictsPipe, DayPipe, IsEmptyPipe, SafeComputePipe, OssImgPipe, SafeHtmlPipe,
|
|
26
|
+
ChinaNumPipe, CountPipe, OssPipe, OssStaticPipe, RemoveHtmlPipe, SafeUrlPipe] });
|
|
18
27
|
PipeModuleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PipeModuleModule, imports: [[
|
|
19
28
|
CommonModule,
|
|
20
29
|
]] });
|
|
@@ -28,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
28
37
|
]
|
|
29
38
|
}]
|
|
30
39
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1tb2R1bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9waXBlL3BpcGUtbW9kdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFNUMsOEdBQThHO0FBQzlHLE1BQU0sS0FBSyxHQUFHLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFDLFlBQVk7SUFDdEgsWUFBWSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLGNBQWMsRUFBQyxXQUFXLENBQUMsQ0FBQTtBQVMxRSxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBVmQsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFDLFlBQVk7UUFDdEgsWUFBWSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLGNBQWMsRUFBQyxXQUFXLGFBTXJFLFlBQVksYUFQRCxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUMsWUFBWTtRQUN0SCxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsY0FBYyxFQUFDLFdBQVc7K0dBUzVELGdCQUFnQixZQUpsQjtZQUNQLFlBQVk7U0FDYjs0RkFFVSxnQkFBZ0I7a0JBUDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxLQUFLO29CQUNkLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SXNFbXB0eVBpcGV9IGZyb20gXCIuL2lzLWVtcHR5LnBpcGVcIjtcbmltcG9ydCB7RGljdHNQaXBlfSBmcm9tIFwiLi9kaWN0cy5waXBlXCI7XG5pbXBvcnQge0RlZmF1bHRWYWxQaXBlfSBmcm9tIFwiLi9kZWZhdWx0VmFsLnBpcGVcIjtcbmltcG9ydCB7RGF5UGlwZX0gZnJvbSBcIi4vZGF5LnBpcGVcIjtcbmltcG9ydCB7U2FmZUNvbXB1dGVQaXBlfSBmcm9tIFwiLi9zYWZlLWNvbXB1dGUucGlwZVwiO1xuaW1wb3J0IHtJc05vdEVtcHR5UGlwZX0gZnJvbSBcIi4vaXMtbm90LWVtcHR5LnBpcGVcIjtcbmltcG9ydCB7T3NzSW1nUGlwZX0gZnJvbSBcIi4vaW1hZ2UtcGlwZS5waXBlXCI7XG5pbXBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSBcIi4vc2FmZS1odG1sLnBpcGVcIjtcbmltcG9ydCB7Q2hpbmFOdW1QaXBlfSBmcm9tIFwiLi9jaGluYS1udW0ucGlwZVwiO1xuaW1wb3J0IHtDb3VudFBpcGV9IGZyb20gXCIuL2NvdW50LnBpcGVcIjtcbmltcG9ydCB7T3NzUGlwZX0gZnJvbSBcIi4vb3NzLnBpcGVcIjtcbmltcG9ydCB7T3NzU3RhdGljUGlwZX0gZnJvbSBcIi4vb3NzU3RhdGljLnBpcGVcIjtcbmltcG9ydCB7UmVtb3ZlSHRtbFBpcGV9IGZyb20gXCIuL3JlbW92ZS1odG1sLnBpcGVcIjtcbmltcG9ydCB7U2FmZVVybFBpcGV9IGZyb20gXCIuL3NhZmUtdXJsLnBpcGVcIjtcblxuLy8gY29uc3QgUElQRVMgPSBbSXNOb3RFbXB0eVBpcGUsIERlZmF1bHRWYWxQaXBlLCBEaWN0c1BpcGUsIERheVBpcGUsIElzRW1wdHlQaXBlLCBTYWZlQ29tcHV0ZVBpcGUsT3NzSW1nUGlwZV1cbmNvbnN0IFBJUEVTID0gW0lzTm90RW1wdHlQaXBlLCBEZWZhdWx0VmFsUGlwZSwgRGljdHNQaXBlLCBEYXlQaXBlLCBJc0VtcHR5UGlwZSwgU2FmZUNvbXB1dGVQaXBlLCBPc3NJbWdQaXBlLFNhZmVIdG1sUGlwZSxcbiAgQ2hpbmFOdW1QaXBlLENvdW50UGlwZSxPc3NQaXBlLE9zc1N0YXRpY1BpcGUsUmVtb3ZlSHRtbFBpcGUsU2FmZVVybFBpcGVdXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLlBJUEVTXSxcbiAgZXhwb3J0czogUElQRVMsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGlwZU1vZHVsZU1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { ToolsUtil } from '../utils/ToolsUtil';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class RemoveHtmlPipe {
|
|
6
|
+
constructor(sanitized) {
|
|
7
|
+
this.sanitized = sanitized;
|
|
8
|
+
}
|
|
9
|
+
transform(value, ...args) {
|
|
10
|
+
return ToolsUtil.removeHtml(value);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
RemoveHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RemoveHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
14
|
+
RemoveHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RemoveHtmlPipe, name: "removeHtml" });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RemoveHtmlPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'removeHtml'
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWh0bWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvcGlwZS9yZW1vdmUtaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSy9DLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs0R0FQVSxjQUFjOzBHQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFRvb2xzVXRpbCB9IGZyb20gJy4uL3V0aWxzL1Rvb2xzVXRpbCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3JlbW92ZUh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW1vdmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xyXG4gICAgcmV0dXJuIFRvb2xzVXRpbC5yZW1vdmVIdG1sKHZhbHVlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class SafeUrlPipe {
|
|
5
|
+
constructor(sanitized) {
|
|
6
|
+
this.sanitized = sanitized;
|
|
7
|
+
}
|
|
8
|
+
transform(value, ...args) {
|
|
9
|
+
return this.sanitized.bypassSecurityTrustResourceUrl(value);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
SafeUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
SafeUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SafeUrlPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{
|
|
17
|
+
name: 'safeUrl'
|
|
18
|
+
}]
|
|
19
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvcGlwZS9zYWZlLXVybC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFDaEQsU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFHLElBQVc7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7O3lHQUxVLFdBQVc7dUdBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NhZmVVcmwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7IH1cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVkLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -33,6 +33,52 @@ export class UploadOssService {
|
|
|
33
33
|
this.httpService.post(atr_static_datas.OSS_POLICY, { dir: dir, fileName: fileName }, ToolsUtil.getHttpOptions()).subscribe(success, error);
|
|
34
34
|
});
|
|
35
35
|
};
|
|
36
|
+
this.customReqP = (file) => {
|
|
37
|
+
const formData = new FormData();
|
|
38
|
+
formData.append('OSSAccessKeyId', this.uploadData.OSSAccessKeyId);
|
|
39
|
+
formData.append('policy', this.uploadData.policy);
|
|
40
|
+
formData.append('Signature', this.uploadData.Signature);
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
formData.append('key', file['key']);
|
|
43
|
+
formData.append('success_action_status', '200');
|
|
44
|
+
formData.append('file', file);
|
|
45
|
+
const req = new HttpRequest('POST', atr_static_datas.OSS_URL, formData, {
|
|
46
|
+
reportProgress: true
|
|
47
|
+
});
|
|
48
|
+
return this.httpClient.request(req).toPromise();
|
|
49
|
+
};
|
|
50
|
+
this.uploadOssFiles = (files) => {
|
|
51
|
+
return new Observable(observe => {
|
|
52
|
+
const success = (result) => {
|
|
53
|
+
if (result.status === 200) {
|
|
54
|
+
this.uploadData = result.data;
|
|
55
|
+
let param = [];
|
|
56
|
+
files.forEach(item => {
|
|
57
|
+
item.key = this.uploadData.dir + ToolsUtil.getRandomFileName() + '.' + ToolsUtil.getFileExt(item.name);
|
|
58
|
+
param.push(this.customReqP(item));
|
|
59
|
+
});
|
|
60
|
+
Promise.all(param).then(events => {
|
|
61
|
+
for (let i = 0; i < events.length; i++) {
|
|
62
|
+
if (events[i].status == 200) {
|
|
63
|
+
events[i].url = events[i].url + files[i].key;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
observe.next(events);
|
|
67
|
+
observe.unsubscribe();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
observe.next(false);
|
|
72
|
+
observe.unsubscribe();
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const error = (err) => {
|
|
76
|
+
observe.next(false);
|
|
77
|
+
observe.unsubscribe();
|
|
78
|
+
};
|
|
79
|
+
this.httpService.post(atr_static_datas.OSS_POLICY, { dir: 'ueditor' }, ToolsUtil.getHttpOptions()).subscribe(success, error);
|
|
80
|
+
});
|
|
81
|
+
};
|
|
36
82
|
this.customReq = (file) => {
|
|
37
83
|
const formData = new FormData();
|
|
38
84
|
for (let key in this.uploadData) {
|
|
@@ -67,4 +113,4 @@ UploadOssService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
|
|
|
67
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadOssService, decorators: [{
|
|
68
114
|
type: Injectable
|
|
69
115
|
}], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.HttpClient }]; } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW9zcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy91cGxvYWQtb3NzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUF5QixZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixXQUF3QixFQUFTLFVBQXNCO1FBQXZELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUUzRSxjQUFTLEdBQUcsQ0FBQyxJQUFRLEVBQUMsR0FBRyxHQUFHLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQU0sT0FBTyxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBVSxFQUFFLEVBQUU7b0JBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7d0JBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0QkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUN4QixDQUFDLENBQUMsQ0FBQztxQkFFSjt5QkFBTTt3QkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7cUJBQ3ZCO2dCQUNILENBQUMsQ0FBQztnQkFFRixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQU8sRUFBRSxFQUFFO29CQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQztnQkFDRixJQUFJLFFBQVEsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxFQUFFLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUksQ0FBQyxDQUFDLENBQUM7UUFFTCxDQUFDLENBQUE7UUFFRCxjQUFTLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUN6QixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLEtBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBQztnQkFDN0IsSUFBRyxHQUFHLElBQUUsTUFBTTtvQkFDZCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7YUFDMUM7WUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFXLENBQUMsQ0FBQztZQUVyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUNuRSxjQUFjLEVBQUUsSUFBSTthQUNyQixDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksVUFBVSxDQUFNLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRTtvQkFDeEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxjQUFjLEVBQUU7cUJBRWhEO3lCQUFNLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTt3QkFDeEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQzt3QkFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO3FCQUN2QjtnQkFDSCxDQUFDLENBQUE7Z0JBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFO29CQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQztnQkFFRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBO0lBMUQ4RSxDQUFDOzs4R0FIckUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVG9vbHNVdGlsIH0gZnJvbSAnLi4vdXRpbHMvVG9vbHNVdGlsJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXN9IGZyb20gXCIuLi9iYXNlL2F0ci1jb21tb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVwbG9hZE9zc1NlcnZpY2Uge1xyXG4gIHVwbG9hZERhdGE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UscHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgdXBsb2FkT3NzID0gKGZpbGU6YW55LGRpciA9ICd1ZWRpdG9yJykgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSAocmVzdWx0OmFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudXBsb2FkRGF0YSA9IHJlc3VsdC5kYXRhO1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21SZXEoZmlsZSkuc3Vic2NyaWJlKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9IChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGxldCBmaWxlTmFtZSA9IFRvb2xzVXRpbC5nZXRSYW5kb21GaWxlTmFtZSgpICsgXCIuXCIgKyBUb29sc1V0aWwuZ2V0RmlsZUV4dChmaWxlLm5hbWUpO1xyXG4gICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QoYXRyX3N0YXRpY19kYXRhcy5PU1NfUE9MSUNZLCB7IGRpcjogZGlyLGZpbGVOYW1lOmZpbGVOYW1lfSwgVG9vbHNVdGlsLmdldEh0dHBPcHRpb25zKCkpLnN1YnNjcmliZShzdWNjZXNzLCBlcnJvcik7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBjdXN0b21SZXEgPSAoZmlsZTogRmlsZSkgPT4ge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcihsZXQga2V5IGluIHRoaXMudXBsb2FkRGF0YSl7XHJcbiAgICAgIGlmKGtleSE9J2hvc3QnKVxyXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LHRoaXMudXBsb2FkRGF0YVtrZXldKVxyXG4gICAgfVxyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSBhcyBhbnkpO1xyXG5cclxuICAgIGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsIHRoaXMudXBsb2FkRGF0YS5ob3N0ISwgZm9ybURhdGEsIHtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBjb25zdCBzdWNjZXNzID0gKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XHJcblxyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGNvbnN0IHVybCA9IGV2ZW50LnVybCArIHRoaXMudXBsb2FkRGF0YS5rZXk7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQodXJsKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGVycm9yID0gKCkgPT4ge1xyXG4gICAgICAgIG9ic2VydmUubmV4dChmYWxzZSk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocmVxKS5zdWJzY3JpYmUoc3VjY2VzcywgZXJyb3IpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW9zcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy91cGxvYWQtb3NzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUF5QixZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixXQUF3QixFQUFTLFVBQXNCO1FBQXZELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUUzRSxjQUFTLEdBQUcsQ0FBQyxJQUFRLEVBQUMsR0FBRyxHQUFHLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQU0sT0FBTyxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBVSxFQUFFLEVBQUU7b0JBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7d0JBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0QkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUN4QixDQUFDLENB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Ozs4R0FIckUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVG9vbHNVdGlsIH0gZnJvbSAnLi4vdXRpbHMvVG9vbHNVdGlsJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXN9IGZyb20gXCIuLi9iYXNlL2F0ci1jb21tb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVwbG9hZE9zc1NlcnZpY2Uge1xyXG4gIHVwbG9hZERhdGE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UscHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgdXBsb2FkT3NzID0gKGZpbGU6YW55LGRpciA9ICd1ZWRpdG9yJykgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSAocmVzdWx0OmFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudXBsb2FkRGF0YSA9IHJlc3VsdC5kYXRhO1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21SZXEoZmlsZSkuc3Vic2NyaWJlKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9IChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGxldCBmaWxlTmFtZSA9IFRvb2xzVXRpbC5nZXRSYW5kb21GaWxlTmFtZSgpICsgXCIuXCIgKyBUb29sc1V0aWwuZ2V0RmlsZUV4dChmaWxlLm5hbWUpO1xyXG4gICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QoYXRyX3N0YXRpY19kYXRhcy5PU1NfUE9MSUNZLCB7IGRpcjogZGlyLGZpbGVOYW1lOmZpbGVOYW1lfSwgVG9vbHNVdGlsLmdldEh0dHBPcHRpb25zKCkpLnN1YnNjcmliZShzdWNjZXNzLCBlcnJvcik7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGN1c3RvbVJlcVAgPSAoZmlsZTogRmlsZSkgPT4ge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnT1NTQWNjZXNzS2V5SWQnLCB0aGlzLnVwbG9hZERhdGEuT1NTQWNjZXNzS2V5SWQpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdwb2xpY3knLCB0aGlzLnVwbG9hZERhdGEucG9saWN5KTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnU2lnbmF0dXJlJywgdGhpcy51cGxvYWREYXRhLlNpZ25hdHVyZSk7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2tleScsIGZpbGVbJ2tleSddKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnc3VjY2Vzc19hY3Rpb25fc3RhdHVzJywgJzIwMCcpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSBhcyBhbnkpO1xyXG5cclxuICAgIGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsIGF0cl9zdGF0aWNfZGF0YXMuT1NTX1VSTCwgZm9ybURhdGEsIHtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWVcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIHVwbG9hZE9zc0ZpbGVzID0gKGZpbGVzOiBhbnlbXSkgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSAocmVzdWx0OmFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudXBsb2FkRGF0YSA9IHJlc3VsdC5kYXRhO1xyXG4gICAgICAgICAgbGV0IHBhcmFtOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgZmlsZXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgICAgaXRlbS5rZXkgPSB0aGlzLnVwbG9hZERhdGEuZGlyICsgVG9vbHNVdGlsLmdldFJhbmRvbUZpbGVOYW1lKCkgKyAnLicgKyBUb29sc1V0aWwuZ2V0RmlsZUV4dChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICBwYXJhbS5wdXNoKHRoaXMuY3VzdG9tUmVxUChpdGVtKSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgUHJvbWlzZS5hbGwocGFyYW0pLnRoZW4oZXZlbnRzID0+IHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICBpZiAoZXZlbnRzW2ldLnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgIGV2ZW50c1tpXS51cmwgPSBldmVudHNbaV0udXJsICsgZmlsZXNbaV0ua2V5O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlLm5leHQoZXZlbnRzKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3QgZXJyb3IgPSAoZXJyOmFueSkgPT4ge1xyXG4gICAgICAgIG9ic2VydmUubmV4dChmYWxzZSk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5odHRwU2VydmljZS5wb3N0KGF0cl9zdGF0aWNfZGF0YXMuT1NTX1BPTElDWSwge2RpcjogJ3VlZGl0b3InfSwgVG9vbHNVdGlsLmdldEh0dHBPcHRpb25zKCkpLnN1YnNjcmliZShzdWNjZXNzLCBlcnJvcik7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGN1c3RvbVJlcSA9IChmaWxlOiBGaWxlKSA9PiB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZm9yKGxldCBrZXkgaW4gdGhpcy51cGxvYWREYXRhKXtcclxuICAgICAgaWYoa2V5IT0naG9zdCcpXHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksdGhpcy51cGxvYWREYXRhW2tleV0pXHJcbiAgICB9XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlIGFzIGFueSk7XHJcblxyXG4gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdGhpcy51cGxvYWREYXRhLmhvc3QhLCBmb3JtRGF0YSwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSAoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3MpIHtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgY29uc3QgdXJsID0gZXZlbnQudXJsICsgdGhpcy51cGxvYWREYXRhLmtleTtcclxuICAgICAgICAgIG9ic2VydmUubmV4dCh1cmwpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLmh0dHBDbGllbnQucmVxdWVzdChyZXEpLnN1YnNjcmliZShzdWNjZXNzLCBlcnJvcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import { atr_static_datas } from '../base/atr-common';
|
|
2
2
|
import { Validators } from "@angular/forms";
|
|
3
3
|
export class ToolsUtil {
|
|
4
|
+
static isBase64(string) {
|
|
5
|
+
let reg = /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i;
|
|
6
|
+
return reg.test(string);
|
|
7
|
+
}
|
|
8
|
+
static dataURItoBlob(code) {
|
|
9
|
+
const parts = code.split(';base64,');
|
|
10
|
+
const contentType = parts[0].split(':')[1];
|
|
11
|
+
const raw = window.atob(parts[1]);
|
|
12
|
+
const rawLength = raw.length;
|
|
13
|
+
const uInt8Array = new Uint8Array(rawLength);
|
|
14
|
+
for (let i = 0; i < rawLength; ++i) {
|
|
15
|
+
uInt8Array[i] = raw.charCodeAt(i);
|
|
16
|
+
}
|
|
17
|
+
return new Blob([uInt8Array], { type: contentType });
|
|
18
|
+
}
|
|
4
19
|
static isNull(val) {
|
|
5
20
|
if (val || ['boolean', 'string', 'number'].some(v => typeof val == v)) {
|
|
6
21
|
return false;
|
|
@@ -143,6 +158,21 @@ export class ToolsUtil {
|
|
|
143
158
|
}
|
|
144
159
|
return atr_static_datas.OSS_URL + url;
|
|
145
160
|
}
|
|
161
|
+
static getStaticOssUrl(url) {
|
|
162
|
+
if (!url) {
|
|
163
|
+
return "";
|
|
164
|
+
}
|
|
165
|
+
if (url.startsWith("http")) {
|
|
166
|
+
return url;
|
|
167
|
+
}
|
|
168
|
+
return atr_static_datas.STATIC_OSS_URL + url;
|
|
169
|
+
}
|
|
170
|
+
static removeHtml(value) {
|
|
171
|
+
if (!value) {
|
|
172
|
+
return '';
|
|
173
|
+
}
|
|
174
|
+
return value.replace(/<[^<>]+>/g, '').replace(/ /ig, '');
|
|
175
|
+
}
|
|
146
176
|
static mul(...numbers) {
|
|
147
177
|
if (numbers.length < 2) {
|
|
148
178
|
return;
|
|
@@ -269,4 +299,4 @@ ToolsUtil.allEqual = (...array) => array.every(item => item === array[0]);
|
|
|
269
299
|
* @param array
|
|
270
300
|
*/
|
|
271
301
|
ToolsUtil.satisfiedFn = (callback, ...array) => array.every(callback);
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9vbHNVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS91dGlscy9Ub29sc1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sU0FBUztJQWdCcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFPO1FBQ25CLElBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUNsRSxPQUFPLEtBQUssQ0FBQTtTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVksRUFBRSxZQUFzQjtRQUMzRCxJQUFJLGNBQWMsR0FBUSxFQUFFLENBQUE7UUFDNUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7WUFDMUIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTthQUM3RDtpQkFBTTtnQkFDTCxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTthQUN0QztTQUNGO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBTztRQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFBO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQWtCLEVBQUUsTUFBa0I7UUFDckQsSUFBSSxJQUFJLEtBQUssU0FBUztZQUFFLE9BQU87UUFFL0IsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE1BQU0sRUFBRSxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFvQixFQUFFLE1BQWtCO1FBQ3hELElBQUksSUFBSSxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsT0FBTztRQUM3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxJQUFJLEtBQUssU0FBUztnQkFBRSxTQUFTO1lBQ2pDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlDLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsT0FBTzthQUNSO1NBR0Y7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFTO1FBRTNCLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDL0MsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBUztRQUM3QixJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRS9DLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBUztRQUMzQixJQUFJLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVztRQUM5QixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsOENBQThDLENBQUM7SUFDbkYsQ0FBQztJQUNELE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBUztRQUM3QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVM7UUFDN0IsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFpQkQsTUFBTSxDQUFDLGNBQWM7UUFDbkIsT0FBTyxFQUFDLGtCQUFrQixFQUFFLElBQUksRUFBQyxDQUFBO0lBQ25DLENBQUM7SUFHRCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQWUsRUFBRSxJQUFVO1FBQy9DLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQiwyQkFBMkI7WUFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUM5RixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksTUFBTTt3QkFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt5QkFDOUIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBRTt3QkFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDbEM7O3dCQUNDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2lCQUN6QjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQVU7UUFDN0IsSUFBSSxLQUFLLEdBQW9CLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLEdBQW9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU5QyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUVELElBQUksT0FBTyxJQUFJLENBQUMsRUFBRTtZQUNoQixPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQTtRQUN2RCxRQUFRO1FBQ1IseUVBQXlFO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBVTtRQUNqQyxJQUFJLEtBQUssR0FBb0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sR0FBb0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTlDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2pTLENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBVTtRQUNyQyxJQUFJLEtBQUssR0FBb0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sR0FBb0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlDLElBQUksS0FBSyxHQUFvQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0MsSUFBSSxPQUFPLEdBQW9CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqRCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUVELElBQUksT0FBTyxJQUFJLENBQUMsRUFBRTtZQUNoQixPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztTQUN6QjtRQUNELElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUN4RixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFCLE9BQU8sR0FBRyxDQUFBO1NBQ1g7UUFDRCxPQUFPLGdCQUFnQixDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFXO1FBQ3ZCLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixPQUFPLENBQUMsT0FBTyxDQUNiLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFhO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxPQUFPLENBQ2IsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsSUFBSTtnQkFDRixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7YUFDNUI7WUFBQyxPQUFPLENBQUMsRUFBRTthQUNYO1FBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDRixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVEsRUFBRSxRQUFpQixFQUFFLFFBQWlCO1FBQy9ELGNBQWM7UUFDZCxvQ0FBb0M7UUFDcEMsOEZBQThGO1FBQzlGLGNBQWM7UUFDZCxrQ0FBa0M7UUFDbEMsbURBQW1EO1FBQ25ELGdEQUFnRDtRQUNoRCxFQUFFO1FBQ0YsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUN2QixFQUFFO1FBQ0Ysa0JBQWtCO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDZCx5QkFBeUI7UUFDekIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQSxDQUFDLENBQUEsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUM3QyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFVLEVBQUUsTUFBWTtRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksTUFBTSxFQUFFO1lBQ1YsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNYLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2YsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQTtpQkFDdEM7YUFDRjtTQUNGO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixvQkFBb0I7UUFDcEIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNiLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBUztRQUN6QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDbEIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQVlELFdBQVc7SUFDWCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBUztRQUMxQixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELFVBQVU7SUFDVixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBUztRQUMxQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBUztRQUMxQixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQVU7UUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVk7UUFDZixPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO0lBQ2pELENBQUM7SUFDRCxNQUFNLENBQUMsV0FBVztRQUVkLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7SUFDaEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2hCLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBQyxDQUFDO0lBQ3BGLENBQUM7O0FBblRNLG9CQUFVLEdBQUc7SUFDbEIsb0JBQW9CO0lBQ3BCLDhDQUE4QztJQUM5QywyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLHFCQUFxQjtJQUNyQixzQ0FBc0M7SUFDdEMscUNBQXFDO0lBQ3JDLHFDQUFxQztJQUNyQyxxQ0FBcUM7SUFDckMscUNBQXFDO0lBQ3JDLElBQUk7SUFFSixPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMsQ0FBQTtBQStFTSwyQkFBaUIsR0FBRztJQUN6QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsT0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRTtRQUMxQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEQ7SUFDRCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQTtBQUVNLG9CQUFVLEdBQUcsVUFBVSxRQUFlO0lBQzNDLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFBO0FBa0tNLGtCQUFRLEdBQUcsQ0FBQyxHQUFHLEtBQVcsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU3RTs7Ozs7R0FLRztBQUNJLHFCQUFXLEdBQUcsQ0FBQyxRQUFxQyxFQUFFLEdBQUcsS0FBVyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtqc29uLCBBdHJGb3JtT3B0LCBhdHJfc3RhdGljX2RhdGFzfSBmcm9tICcuLi9iYXNlL2F0ci1jb21tb24nO1xyXG5pbXBvcnQge2Zvcm1hdERhdGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SHR0cEhlYWRlcnN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1NpbXBsZUNoYW5nZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VmFsaWRhdG9yc30gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVG9vbHNVdGlsIHtcclxuICBzdGF0aWMgZ2V0T3JnQ29kZSA9IGZ1bmN0aW9uICgpIHtcclxuICAgIC8vIHZhciBvcmdDb2RlID0gJyc7XHJcbiAgICAvLyB2YXIgaHJlZnMgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpXHJcbiAgICAvLyBpZiAoaHJlZnMubGVuZ3RoID49IDIpIHtcclxuICAgIC8vICAgdmFyIHBhcmFtU3RyID0gaHJlZnNbMV07XHJcbiAgICAvLyAgIC8v5Y+C5pWw5a2X56ym5Liy6YeM5pyJ5rKh5bimID0/LyNcclxuICAgIC8vICAgb3JnQ29kZSA9IHBhcmFtU3RyLnNwbGl0KCc9JylbMF07XHJcbiAgICAvLyAgIG9yZ0NvZGUgPSBvcmdDb2RlLnNwbGl0KCc/JylbMF07XHJcbiAgICAvLyAgIG9yZ0NvZGUgPSBvcmdDb2RlLnNwbGl0KCcvJylbMF07XHJcbiAgICAvLyAgIG9yZ0NvZGUgPSBvcmdDb2RlLnNwbGl0KCcjJylbMF07XHJcbiAgICAvLyAgIG9yZ0NvZGUgPSBvcmdDb2RlLnNwbGl0KCcvJylbMF07XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBzdGF0aWMgaXNOdWxsKHZhbDphbnkpe1xyXG4gICAgaWYodmFsIHx8IFsnYm9vbGVhbicsJ3N0cmluZycsJ251bWJlciddLnNvbWUodiA9PiB0eXBlb2YgdmFsID09IHYpICl7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWVcclxuICB9XHJcbiAgc3RhdGljIGdldENvbnRyb2xzQ29uZmlnKGRhdGFGcm9tOmFueSwgcmVxdWlyZWRSdWxlOiBzdHJpbmdbXSkge1xyXG4gICAgbGV0IGNvbnRyb2xzQ29uZmlnOiBhbnkgPSB7fVxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YUZyb20pIHtcclxuICAgICAgaWYgKHJlcXVpcmVkUnVsZS5zb21lKGl0ZW0gPT4gaXRlbSA9PSBrZXkpKSB7XHJcbiAgICAgICAgY29udHJvbHNDb25maWdba2V5XSA9IFtkYXRhRnJvbVtrZXldLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29udHJvbHNDb25maWdba2V5XSA9IFtkYXRhRnJvbVtrZXldXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29udHJvbHNDb25maWc7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaHR0cFN1Y2NlcyhyZXM6YW55KSB7XHJcbiAgICByZXR1cm4gcmVzLnN0YXR1cyA9PSAyMDBcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkaWZmSW5wdXQoY2huZzogU2ltcGxlQ2hhbmdlLCBhY3Rpb246ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmIChjaG5nID09PSB1bmRlZmluZWQpIHJldHVybjtcclxuXHJcbiAgICBsZXQgY3VyID0gSlNPTi5zdHJpbmdpZnkoY2huZy5jdXJyZW50VmFsdWUpO1xyXG4gICAgbGV0IHByZXYgPSBKU09OLnN0cmluZ2lmeShjaG5nLnByZXZpb3VzVmFsdWUpO1xyXG4gICAgaWYgKGN1ciAhPT0gcHJldikge1xyXG4gICAgICBhY3Rpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBkaWZmSW5wdXRzKGNobmc6IFNpbXBsZUNoYW5nZVtdLCBhY3Rpb246ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmIChjaG5nID09PSB1bmRlZmluZWQpIHJldHVybjtcclxuICAgIGlmIChjaG5nLmxlbmd0aCA9PSAwKSByZXR1cm47XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNobmcubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGl0ZW0gPSBjaG5nW2ldO1xyXG4gICAgICBpZiAoaXRlbSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZTtcclxuICAgICAgbGV0IGN1ciA9IEpTT04uc3RyaW5naWZ5KGl0ZW0uY3VycmVudFZhbHVlKTtcclxuICAgICAgbGV0IHByZXYgPSBKU09OLnN0cmluZ2lmeShpdGVtLnByZXZpb3VzVmFsdWUpO1xyXG4gICAgICBpZiAoY3VyICE9PSBwcmV2KSB7XHJcbiAgICAgICAgYWN0aW9uKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRZZXN0ZXJkYXkoZGF5OiBEYXRlKTogRGF0ZSB7XHJcblxyXG4gICAgbGV0IHRpbWUgPSBkYXkuZ2V0VGltZSgpIC0gMTAwMCAqIDYwICogNjAgKiAyNDtcclxuICAgIGRheSA9IG5ldyBEYXRlKHRpbWUpO1xyXG5cclxuICAgIHJldHVybiBkYXk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0VG9tb3Jyb3dkYXkoZGF5OiBEYXRlKTogRGF0ZSB7XHJcbiAgICBsZXQgdGltZSA9IGRheS5nZXRUaW1lKCkgKyAxMDAwICogNjAgKiA2MCAqIDI0O1xyXG5cclxuICAgIHJldHVybiBuZXcgRGF0ZSh0aW1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXROZXh0TW9udGgoZGF5OiBEYXRlKSB7XHJcbiAgICBsZXQgZHMgPSBuZXcgRGF0ZShkYXkpLnNldE1vbnRoKGRheS5nZXRNb250aCgpICsgMSk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZHMpO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0VmlkZW9Db3Zlcih1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFRvb2xzVXRpbC5nZXRPc3NVcmwodXJsKSArIFwiP3gtb3NzLXByb2Nlc3M9dmlkZW8vc25hcHNob3QsdF8xMDAwMCxtX2Zhc3RcIjtcclxuICB9XHJcbiAgc3RhdGljIGZpc3REYXlPZk1vbnRoKGRheTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKG5ldyBEYXRlKGRheSkuc2V0RGF0ZSgxKSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbGFzdERheU9mTW9udGgoZGF5OiBEYXRlKSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoVG9vbHNVdGlsLmdldE5leHRNb250aChkYXkpLnNldERhdGUoMCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFJhbmRvbUZpbGVOYW1lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc3QgZXhwZWN0ID0gMTY7XHJcbiAgICBsZXQgc3RyID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xyXG4gICAgd2hpbGUgKHN0ci5sZW5ndGggPCBleHBlY3QpIHtcclxuICAgICAgc3RyICs9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHIuc3Vic3RyaW5nKDAsIGV4cGVjdCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZUV4dCA9IGZ1bmN0aW9uIChmaWxlTmFtZTpzdHJpbmcpIHtcclxuICAgIHZhciBpbmRleCA9IGZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKTtcclxuICAgIHZhciBzdWZmaXggPSBmaWxlTmFtZS5zdWJzdHIoaW5kZXggKyAxKTtcclxuICAgIHJldHVybiBzdWZmaXg7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0SHR0cE9wdGlvbnMoKTogYW55IHtcclxuICAgIHJldHVybiB7aXNDb21tb25IdHRwSGVhZGVyOiB0cnVlfVxyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyByZXNldEZvcm1WYWx1ZShvcHQ6IEF0ckZvcm1PcHQsIGpzb246IGpzb24pOiBBdHJGb3JtT3B0IHtcclxuICAgIGZvciAobGV0IGl0ZW0gb2Ygb3B0Lml0ZW1zKSB7XHJcbiAgICAgIGl0ZW0udmFsdWUgPSBcIlwiO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhpdGVtLnZhbHVlKTtcclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoanNvbikpIHtcclxuICAgICAgICBpZiAoanNvbi5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIGpzb25ba2V5XSAhPSBudWxsICYmIGpzb25ba2V5XSAhPSB1bmRlZmluZWQgJiYga2V5ID09IGl0ZW0ua2V5KSB7XHJcbiAgICAgICAgICBpZiAoaXRlbS50eXBlID09ICdkYXRlJylcclxuICAgICAgICAgICAgaXRlbS52YWx1ZSA9IG5ldyBEYXRlKGpzb25ba2V5XSk7XHJcbiAgICAgICAgICBlbHNlIGlmIChpdGVtLnR5cGUgPT0gJ2RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0gbmV3IERhdGUoanNvbltrZXldKTtcclxuICAgICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0ganNvbltrZXldXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgbW9udGg6IHN0cmluZyB8IG51bWJlciA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XHJcbiAgICBsZXQgc3RyRGF0ZTogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXREYXRlKCk7XHJcblxyXG4gICAgaWYgKG1vbnRoIDw9IDkpIHtcclxuICAgICAgbW9udGggPSBcIjBcIiArIG1vbnRoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJEYXRlIDw9IDkpIHtcclxuICAgICAgc3RyRGF0ZSA9IFwiMFwiICsgc3RyRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICsgXCItXCIgKyBtb250aCArIFwiLVwiICsgc3RyRGF0ZVxyXG4gICAgLy8gKyBcIiBcIlxyXG4gICAgLy8gKyBkYXRlLmdldEhvdXJzKCkgKyBcIjpcIiArIGRhdGUuZ2V0TWludXRlcygpICsgXCI6XCIgKyBkYXRlLmdldFNlY29uZHMoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGb3JtYXREYXRlRnVsbChkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBtb250aDogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgIGxldCBzdHJEYXRlOiBzdHJpbmcgfCBudW1iZXIgPSBkYXRlLmdldERhdGUoKTtcclxuXHJcbiAgICBpZiAobW9udGggPD0gOSkge1xyXG4gICAgICBtb250aCA9IFwiMFwiICsgbW9udGg7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN0ckRhdGUgPD0gOSkge1xyXG4gICAgICBzdHJEYXRlID0gXCIwXCIgKyBzdHJEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBzdHJEYXRlICsgXCIgXCIgKyAoZGF0ZS5nZXRIb3VycygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldEhvdXJzKCkgOiBkYXRlLmdldEhvdXJzKCkpICsgXCI6XCIgKyAoZGF0ZS5nZXRNaW51dGVzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0TWludXRlcygpIDogZGF0ZS5nZXRNaW51dGVzKCkpICsgXCI6XCIgKyAoZGF0ZS5nZXRTZWNvbmRzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0U2Vjb25kcygpIDogZGF0ZS5nZXRTZWNvbmRzKCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZvcm1hdERhdGVXaXRob3V0UyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBtb250aDogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgIGxldCBzdHJEYXRlOiBzdHJpbmcgfCBudW1iZXIgPSBkYXRlLmdldERhdGUoKTtcclxuICAgIGxldCBob3Vyczogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRIb3VycygpO1xyXG4gICAgbGV0IHNlY29uZHM6IHN0cmluZyB8IG51bWJlciA9IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgaWYgKG1vbnRoIDw9IDkpIHtcclxuICAgICAgbW9udGggPSBcIjBcIiArIG1vbnRoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJEYXRlIDw9IDkpIHtcclxuICAgICAgc3RyRGF0ZSA9IFwiMFwiICsgc3RyRGF0ZTtcclxuICAgIH1cclxuICAgIGlmIChob3VycyA8PSA5KSB7XHJcbiAgICAgIGhvdXJzID0gXCIwXCIgKyBob3VycztcclxuICAgIH1cclxuICAgIGlmIChzZWNvbmRzIDw9IDkpIHtcclxuICAgICAgc2Vjb25kcyA9IFwiMFwiICsgc2Vjb25kcztcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBzdHJEYXRlICsgXCIgXCIgKyBob3VycyArIFwiOlwiICsgc2Vjb25kcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRPc3NVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICghdXJsKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHVybC5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xyXG4gICAgICByZXR1cm4gdXJsXHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXRyX3N0YXRpY19kYXRhcy5PU1NfVVJMICsgdXJsO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG11bCguLi5udW1iZXJzOmFueSkge1xyXG4gICAgaWYgKG51bWJlcnMubGVuZ3RoIDwgMikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgbSA9IHRoaXMuZ2V0RGlnaXQobnVtYmVycyk7XHJcbiAgICBsZXQgcmVzdWx0ID0gMTtcclxuICAgIG51bWJlcnMuZm9yRWFjaChcclxuICAgICAgKG51bTphbnkpID0+IHtcclxuICAgICAgICBsZXQgcyA9IG51bS50b1N0cmluZygpO1xyXG4gICAgICAgIHJlc3VsdCAqPSBOdW1iZXIocy5yZXBsYWNlKFwiLlwiLCBcIlwiKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICByZXR1cm4gcmVzdWx0IC8gTWF0aC5wb3coMTAsIG0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERpZ2l0KC4uLm51bWJlcnM6YW55W10pIHtcclxuICAgIGxldCBtID0gMDtcclxuICAgIG51bWJlcnMuZm9yRWFjaChcclxuICAgICAgbnVtID0+IHtcclxuICAgICAgICBsZXQgcyA9IG51bS50b1N0cmluZygpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBtICs9IHMuc3BsaXQoXCIuXCIpWzFdLmxlbmd0aFxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICByZXR1cm4gbTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkb3dubG9hZEltZyhkYXRhOmFueSwgZmlsZU5hbWU/OiBzdHJpbmcsIGVuZHBvaW50Pzogc3RyaW5nKSB7XHJcbiAgICAvLyAvLyDkuIvovb3nsbvlnosgeGxzXHJcbiAgICAvLyBjb25zdCBjb250ZW50VHlwZSA9ICdpbWFnZS9qcGVnJztcclxuICAgIC8vIC8vIGNvbnN0IGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JztcclxuICAgIC8vIC8vIOS4i+i9veexu+Wei++8mmNzdlxyXG4gICAgLy8gY29uc3QgZGVidWcgPSB7aGVsbG86IFwid29ybGRcIn07XHJcbiAgICAvLyBjb25zdCBibG9iID0gbmV3IEJsb2IoW10se3R5cGUgOiAnaW1hZ2UvanBlZyd9KTtcclxuICAgIC8vIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgLy9cclxuICAgIC8vIC8vIOaJk+W8gOaWsOeql+WPo+aWueW8j+i/m+ihjOS4i+i9vVxyXG4gICAgLy8gLy8gd2luZG93Lm9wZW4odXJsKTtcclxuICAgIC8vXHJcbiAgICAvLyAvLyDku6XliqjmgIHliJvlu7ph5qCH562+6L+b6KGM5LiL6L29XHJcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgYS5ocmVmID0gZGF0YTtcclxuICAgIC8vIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZT9maWxlTmFtZTpcIlwiICsgZW5kcG9pbnQ7XHJcbiAgICBhLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZG93bmxvYWRYbHModXJsOnN0cmluZywgcGFyYW1zPzogYW55LCkge1xyXG4gICAgY29uc29sZS5sb2cocGFyYW1zKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgdXJsICs9IFwiP1wiO1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXJhbXMpKSB7XHJcbiAgICAgICAgaWYgKHBhcmFtc1trZXldKSB7XHJcbiAgICAgICAgICB1cmwgKz0ga2V5ICsgXCI9XCIgKyBwYXJhbXNba2V5XSArIFwiJiZcIlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2codXJsKTtcclxuICAgIC8vIHdpbmRvdy5vcGVuKHVybCk7XHJcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgYS5ocmVmID0gdXJsO1xyXG4gICAgLy8gLy8gYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgLy8gYS5kb3dubG9hZCA9IFwiMzMyMS54bHNcIjtcclxuICAgIGEuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBwaXhlbFRvTnVtKHdpZHRoOmFueSkge1xyXG4gICAgY29uc3QgcmUgPSAvcHgvZ2k7XHJcbiAgICBsZXQgd2lkdGhTdHIgPSB3aWR0aC5yZXBsYWNlKHJlLCBcIlwiKTtcclxuICAgIHJldHVybiBOdW1iZXIod2lkdGhTdHIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFsbEVxdWFsID0gKC4uLmFycmF5OmFueVtdKSA9PiBhcnJheS5ldmVyeShpdGVtID0+IGl0ZW0gPT09IGFycmF5WzBdKTtcclxuXHJcbiAgLyoqXHJcbiAgICogYXJyYXnmiYDmnInlj4LmlbDmu6HotrNmbuWHveaVsOi/lOWbnnRydWVcclxuICAgKiBhbGwoeCA9PiB4ID4gMSwxLDIsMyk7IC8vIHRydWVcclxuICAgKiBAcGFyYW0gY2FsbGJhY2tcclxuICAgKiBAcGFyYW0gYXJyYXlcclxuICAgKi9cclxuICBzdGF0aWMgc2F0aXNmaWVkRm4gPSAoY2FsbGJhY2s6ICguLi5hcmdzOiBhbnlbXSkgPT4gYm9vbGVhbiwgLi4uYXJyYXk6YW55W10pID0+IGFycmF5LmV2ZXJ5KGNhbGxiYWNrKTtcclxuXHJcbiAgLy/lhajpg6jkuI3nqbrkuLp0cnVlXHJcbiAgc3RhdGljIG5vdEVtcHR5KC4uLmFycjphbnlbXSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGFyci5ldmVyeShpdGVtID0+ICEhaXRlbSlcclxuICB9XHJcblxyXG4gIC8v5YyF5ZCr56m65Li6dHJ1ZVxyXG4gIHN0YXRpYyBoYXNFbXB0eSguLi5hcnI6YW55W10pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBhcnIuc29tZShpdGVtID0+ICFpdGVtKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhbGxFbXB0eSguLi5hcnI6YW55W10pIHtcclxuICAgIHJldHVybiBhcnIuZXZlcnkoaXRlbSA9PiAhaXRlbSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZW5jb2RlVmFsdWUocGFyYW1zOmFueSkge1xyXG4gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKGtleSA9PiBwYXJhbXNba2V5XSA9IGVuY29kZVVSSUNvbXBvbmVudChwYXJhbXNba2V5XSkpO1xyXG4gICAgcmV0dXJuIHBhcmFtcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyB3aW5kb3dIZWlnaHQoKSB7XHJcbiAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gIH1cclxuICBzdGF0aWMgd2luZG93V2lkdGgoKSB7XHJcblxyXG4gICAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1vZGFsZVN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHsnbWF4SGVpZ2h0JzogVG9vbHNVdGlsLndpbmRvd0hlaWdodCgpIC0gMjAwICsgJ3B4JywgJ292ZXJmbG93LXknOiAnYXV0byd9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9vbHNVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS91dGlscy9Ub29sc1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sU0FBUztJQWdCcEIsTUFBTSxDQUFFLFFBQVEsQ0FBQyxNQUFVO1FBQ3pCLElBQUksR0FBRyxHQUFHLDRHQUE0RyxDQUFDO1FBQ3ZILE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBQ0QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFRO1FBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNsQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMs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QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUE7QUFnTE0sa0JBQVEsR0FBRyxDQUFDLEdBQUcsS0FBVyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRTdFOzs7OztHQUtHO0FBQ0kscUJBQVcsR0FBRyxDQUFDLFFBQXFDLEVBQUUsR0FBRyxLQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2pzb24sIEF0ckZvcm1PcHQsIGF0cl9zdGF0aWNfZGF0YXN9IGZyb20gJy4uL2Jhc2UvYXRyLWNvbW1vbic7XHJcbmltcG9ydCB7Zm9ybWF0RGF0ZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtIdHRwSGVhZGVyc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7U2ltcGxlQ2hhbmdlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtWYWxpZGF0b3JzfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUb29sc1V0aWwge1xyXG4gIHN0YXRpYyBnZXRPcmdDb2RlID0gZnVuY3Rpb24gKCkge1xyXG4gICAgLy8gdmFyIG9yZ0NvZGUgPSAnJztcclxuICAgIC8vIHZhciBocmVmcyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCc/JylcclxuICAgIC8vIGlmIChocmVmcy5sZW5ndGggPj0gMikge1xyXG4gICAgLy8gICB2YXIgcGFyYW1TdHIgPSBocmVmc1sxXTtcclxuICAgIC8vICAgLy/lj4LmlbDlrZfnrKbkuLLph4zmnInmsqHluKYgPT8vI1xyXG4gICAgLy8gICBvcmdDb2RlID0gcGFyYW1TdHIuc3BsaXQoJz0nKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJz8nKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJy8nKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJyMnKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJy8nKVswXTtcclxuICAgIC8vIH1cclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIHN0YXRpYyAgaXNCYXNlNjQoc3RyaW5nOmFueSkge1xyXG4gICAgbGV0IHJlZyA9IC9eXFxzKmRhdGE6KFthLXpdK1xcL1thLXowLTktKy5dKyg7W2Etei1dKz1bYS16MC05LV0rKT8pPyg7YmFzZTY0KT8sKFthLXowLTkhJCYnLCgpKis7PVxcLS5ffjpAXFwvPyVcXHNdKj8pXFxzKiQvaTtcclxuICAgIHJldHVybiByZWcudGVzdChzdHJpbmcpXHJcbiAgfVxyXG4gIHN0YXRpYyBkYXRhVVJJdG9CbG9iKGNvZGU6YW55KSB7XHJcbiAgICBjb25zdCBwYXJ0cyA9IGNvZGUuc3BsaXQoJztiYXNlNjQsJyk7XHJcbiAgICBjb25zdCBjb250ZW50VHlwZSA9IHBhcnRzWzBdLnNwbGl0KCc6JylbMV07XHJcbiAgICBjb25zdCByYXcgPSB3aW5kb3cuYXRvYihwYXJ0c1sxXSk7XHJcbiAgICBjb25zdCByYXdMZW5ndGggPSByYXcubGVuZ3RoO1xyXG4gICAgY29uc3QgdUludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KHJhd0xlbmd0aCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJhd0xlbmd0aDsgKytpKSB7XHJcbiAgICAgIHVJbnQ4QXJyYXlbaV0gPSByYXcuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgQmxvYihbdUludDhBcnJheV0sIHt0eXBlOiBjb250ZW50VHlwZX0pO1xyXG4gIH1cclxuICBzdGF0aWMgaXNOdWxsKHZhbDphbnkpe1xyXG4gICAgaWYodmFsIHx8IFsnYm9vbGVhbicsJ3N0cmluZycsJ251bWJlciddLnNvbWUodiA9PiB0eXBlb2YgdmFsID09IHYpICl7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWVcclxuICB9XHJcbiAgc3RhdGljIGdldENvbnRyb2xzQ29uZmlnKGRhdGFGcm9tOmFueSwgcmVxdWlyZWRSdWxlOiBzdHJpbmdbXSkge1xyXG4gICAgbGV0IGNvbnRyb2xzQ29uZmlnOiBhbnkgPSB7fVxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YUZyb20pIHtcclxuICAgICAgaWYgKHJlcXVpcmVkUnVsZS5zb21lKGl0ZW0gPT4gaXRlbSA9PSBrZXkpKSB7XHJcbiAgICAgICAgY29udHJvbHNDb25maWdba2V5XSA9IFtkYXRhRnJvbVtrZXldLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29udHJvbHNDb25maWdba2V5XSA9IFtkYXRhRnJvbVtrZXldXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29udHJvbHNDb25maWc7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaHR0cFN1Y2NlcyhyZXM6YW55KSB7XHJcbiAgICByZXR1cm4gcmVzLnN0YXR1cyA9PSAyMDBcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkaWZmSW5wdXQoY2huZzogU2ltcGxlQ2hhbmdlLCBhY3Rpb246ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmIChjaG5nID09PSB1bmRlZmluZWQpIHJldHVybjtcclxuXHJcbiAgICBsZXQgY3VyID0gSlNPTi5zdHJpbmdpZnkoY2huZy5jdXJyZW50VmFsdWUpO1xyXG4gICAgbGV0IHByZXYgPSBKU09OLnN0cmluZ2lmeShjaG5nLnByZXZpb3VzVmFsdWUpO1xyXG4gICAgaWYgKGN1ciAhPT0gcHJldikge1xyXG4gICAgICBhY3Rpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBkaWZmSW5wdXRzKGNobmc6IFNpbXBsZUNoYW5nZVtdLCBhY3Rpb246ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmIChjaG5nID09PSB1bmRlZmluZWQpIHJldHVybjtcclxuICAgIGlmIChjaG5nLmxlbmd0aCA9PSAwKSByZXR1cm47XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNobmcubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGl0ZW0gPSBjaG5nW2ldO1xyXG4gICAgICBpZiAoaXRlbSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZTtcclxuICAgICAgbGV0IGN1ciA9IEpTT04uc3RyaW5naWZ5KGl0ZW0uY3VycmVudFZhbHVlKTtcclxuICAgICAgbGV0IHByZXYgPSBKU09OLnN0cmluZ2lmeShpdGVtLnByZXZpb3VzVmFsdWUpO1xyXG4gICAgICBpZiAoY3VyICE9PSBwcmV2KSB7XHJcbiAgICAgICAgYWN0aW9uKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRZZXN0ZXJkYXkoZGF5OiBEYXRlKTogRGF0ZSB7XHJcblxyXG4gICAgbGV0IHRpbWUgPSBkYXkuZ2V0VGltZSgpIC0gMTAwMCAqIDYwICogNjAgKiAyNDtcclxuICAgIGRheSA9IG5ldyBEYXRlKHRpbWUpO1xyXG5cclxuICAgIHJldHVybiBkYXk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0VG9tb3Jyb3dkYXkoZGF5OiBEYXRlKTogRGF0ZSB7XHJcbiAgICBsZXQgdGltZSA9IGRheS5nZXRUaW1lKCkgKyAxMDAwICogNjAgKiA2MCAqIDI0O1xyXG5cclxuICAgIHJldHVybiBuZXcgRGF0ZSh0aW1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXROZXh0TW9udGgoZGF5OiBEYXRlKSB7XHJcbiAgICBsZXQgZHMgPSBuZXcgRGF0ZShkYXkpLnNldE1vbnRoKGRheS5nZXRNb250aCgpICsgMSk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZHMpO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0VmlkZW9Db3Zlcih1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFRvb2xzVXRpbC5nZXRPc3NVcmwodXJsKSArIFwiP3gtb3NzLXByb2Nlc3M9dmlkZW8vc25hcHNob3QsdF8xMDAwMCxtX2Zhc3RcIjtcclxuICB9XHJcbiAgc3RhdGljIGZpc3REYXlPZk1vbnRoKGRheTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKG5ldyBEYXRlKGRheSkuc2V0RGF0ZSgxKSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbGFzdERheU9mTW9udGgoZGF5OiBEYXRlKSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoVG9vbHNVdGlsLmdldE5leHRNb250aChkYXkpLnNldERhdGUoMCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFJhbmRvbUZpbGVOYW1lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc3QgZXhwZWN0ID0gMTY7XHJcbiAgICBsZXQgc3RyID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xyXG4gICAgd2hpbGUgKHN0ci5sZW5ndGggPCBleHBlY3QpIHtcclxuICAgICAgc3RyICs9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHIuc3Vic3RyaW5nKDAsIGV4cGVjdCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZUV4dCA9IGZ1bmN0aW9uIChmaWxlTmFtZTpzdHJpbmcpIHtcclxuICAgIHZhciBpbmRleCA9IGZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKTtcclxuICAgIHZhciBzdWZmaXggPSBmaWxlTmFtZS5zdWJzdHIoaW5kZXggKyAxKTtcclxuICAgIHJldHVybiBzdWZmaXg7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0SHR0cE9wdGlvbnMoKTogYW55IHtcclxuICAgIHJldHVybiB7aXNDb21tb25IdHRwSGVhZGVyOiB0cnVlfVxyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyByZXNldEZvcm1WYWx1ZShvcHQ6IEF0ckZvcm1PcHQsIGpzb246IGpzb24pOiBBdHJGb3JtT3B0IHtcclxuICAgIGZvciAobGV0IGl0ZW0gb2Ygb3B0Lml0ZW1zKSB7XHJcbiAgICAgIGl0ZW0udmFsdWUgPSBcIlwiO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhpdGVtLnZhbHVlKTtcclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoanNvbikpIHtcclxuICAgICAgICBpZiAoanNvbi5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIGpzb25ba2V5XSAhPSBudWxsICYmIGpzb25ba2V5XSAhPSB1bmRlZmluZWQgJiYga2V5ID09IGl0ZW0ua2V5KSB7XHJcbiAgICAgICAgICBpZiAoaXRlbS50eXBlID09ICdkYXRlJylcclxuICAgICAgICAgICAgaXRlbS52YWx1ZSA9IG5ldyBEYXRlKGpzb25ba2V5XSk7XHJcbiAgICAgICAgICBlbHNlIGlmIChpdGVtLnR5cGUgPT0gJ2RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0gbmV3IERhdGUoanNvbltrZXldKTtcclxuICAgICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0ganNvbltrZXldXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgbW9udGg6IHN0cmluZyB8IG51bWJlciA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XHJcbiAgICBsZXQgc3RyRGF0ZTogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXREYXRlKCk7XHJcblxyXG4gICAgaWYgKG1vbnRoIDw9IDkpIHtcclxuICAgICAgbW9udGggPSBcIjBcIiArIG1vbnRoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJEYXRlIDw9IDkpIHtcclxuICAgICAgc3RyRGF0ZSA9IFwiMFwiICsgc3RyRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICsgXCItXCIgKyBtb250aCArIFwiLVwiICsgc3RyRGF0ZVxyXG4gICAgLy8gKyBcIiBcIlxyXG4gICAgLy8gKyBkYXRlLmdldEhvdXJzKCkgKyBcIjpcIiArIGRhdGUuZ2V0TWludXRlcygpICsgXCI6XCIgKyBkYXRlLmdldFNlY29uZHMoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGb3JtYXREYXRlRnVsbChkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBtb250aDogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgIGxldCBzdHJEYXRlOiBzdHJpbmcgfCBudW1iZXIgPSBkYXRlLmdldERhdGUoKTtcclxuXHJcbiAgICBpZiAobW9udGggPD0gOSkge1xyXG4gICAgICBtb250aCA9IFwiMFwiICsgbW9udGg7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN0ckRhdGUgPD0gOSkge1xyXG4gICAgICBzdHJEYXRlID0gXCIwXCIgKyBzdHJEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBzdHJEYXRlICsgXCIgXCIgKyAoZGF0ZS5nZXRIb3VycygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldEhvdXJzKCkgOiBkYXRlLmdldEhvdXJzKCkpICsgXCI6XCIgKyAoZGF0ZS5nZXRNaW51dGVzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0TWludXRlcygpIDogZGF0ZS5nZXRNaW51dGVzKCkpICsgXCI6XCIgKyAoZGF0ZS5nZXRTZWNvbmRzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0U2Vjb25kcygpIDogZGF0ZS5nZXRTZWNvbmRzKCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZvcm1hdERhdGVXaXRob3V0UyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBtb250aDogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgIGxldCBzdHJEYXRlOiBzdHJpbmcgfCBudW1iZXIgPSBkYXRlLmdldERhdGUoKTtcclxuICAgIGxldCBob3Vyczogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRIb3VycygpO1xyXG4gICAgbGV0IHNlY29uZHM6IHN0cmluZyB8IG51bWJlciA9IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgaWYgKG1vbnRoIDw9IDkpIHtcclxuICAgICAgbW9udGggPSBcIjBcIiArIG1vbnRoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJEYXRlIDw9IDkpIHtcclxuICAgICAgc3RyRGF0ZSA9IFwiMFwiICsgc3RyRGF0ZTtcclxuICAgIH1cclxuICAgIGlmIChob3VycyA8PSA5KSB7XHJcbiAgICAgIGhvdXJzID0gXCIwXCIgKyBob3VycztcclxuICAgIH1cclxuICAgIGlmIChzZWNvbmRzIDw9IDkpIHtcclxuICAgICAgc2Vjb25kcyA9IFwiMFwiICsgc2Vjb25kcztcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBzdHJEYXRlICsgXCIgXCIgKyBob3VycyArIFwiOlwiICsgc2Vjb25kcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRPc3NVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICghdXJsKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHVybC5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xyXG4gICAgICByZXR1cm4gdXJsXHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXRyX3N0YXRpY19kYXRhcy5PU1NfVVJMICsgdXJsO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0U3RhdGljT3NzVXJsKHVybDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXVybCkge1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuICAgIGlmICh1cmwuc3RhcnRzV2l0aChcImh0dHBcIikpIHtcclxuICAgICAgcmV0dXJuIHVybFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGF0cl9zdGF0aWNfZGF0YXMuU1RBVElDX09TU19VUkwgKyB1cmw7XHJcbiAgfVxyXG4gIHN0YXRpYyByZW1vdmVIdG1sKHZhbHVlOmFueSkge1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvPFtePD5dKz4vZywgJycpLnJlcGxhY2UoLyZuYnNwOy9pZywgJycpXHJcbiAgfVxyXG4gIHN0YXRpYyBtdWwoLi4ubnVtYmVyczphbnkpIHtcclxuICAgIGlmIChudW1iZXJzLmxlbmd0aCA8IDIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IG0gPSB0aGlzLmdldERpZ2l0KG51bWJlcnMpO1xyXG4gICAgbGV0IHJlc3VsdCA9IDE7XHJcbiAgICBudW1iZXJzLmZvckVhY2goXHJcbiAgICAgIChudW06YW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHMgPSBudW0udG9TdHJpbmcoKTtcclxuICAgICAgICByZXN1bHQgKj0gTnVtYmVyKHMucmVwbGFjZShcIi5cIiwgXCJcIikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHJlc3VsdCAvIE1hdGgucG93KDEwLCBtKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREaWdpdCguLi5udW1iZXJzOmFueVtdKSB7XHJcbiAgICBsZXQgbSA9IDA7XHJcbiAgICBudW1iZXJzLmZvckVhY2goXHJcbiAgICAgIG51bSA9PiB7XHJcbiAgICAgICAgbGV0IHMgPSBudW0udG9TdHJpbmcoKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgbSArPSBzLnNwbGl0KFwiLlwiKVsxXS5sZW5ndGhcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIG07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZG93bmxvYWRJbWcoZGF0YTphbnksIGZpbGVOYW1lPzogc3RyaW5nLCBlbmRwb2ludD86IHN0cmluZykge1xyXG4gICAgLy8gLy8g5LiL6L2957G75Z6LIHhsc1xyXG4gICAgLy8gY29uc3QgY29udGVudFR5cGUgPSAnaW1hZ2UvanBlZyc7XHJcbiAgICAvLyAvLyBjb25zdCBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc7XHJcbiAgICAvLyAvLyDkuIvovb3nsbvlnovvvJpjc3ZcclxuICAgIC8vIGNvbnN0IGRlYnVnID0ge2hlbGxvOiBcIndvcmxkXCJ9O1xyXG4gICAgLy8gY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtdLHt0eXBlIDogJ2ltYWdlL2pwZWcnfSk7XHJcbiAgICAvLyBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIC8vXHJcbiAgICAvLyAvLyDmiZPlvIDmlrDnqpflj6PmlrnlvI/ov5vooYzkuIvovb1cclxuICAgIC8vIC8vIHdpbmRvdy5vcGVuKHVybCk7XHJcbiAgICAvL1xyXG4gICAgLy8gLy8g5Lul5Yqo5oCB5Yib5bu6Yeagh+etvui/m+ihjOS4i+i9vVxyXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGEuaHJlZiA9IGRhdGE7XHJcbiAgICAvLyBhLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU/ZmlsZU5hbWU6XCJcIiArIGVuZHBvaW50O1xyXG4gICAgYS5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRvd25sb2FkWGxzKHVybDpzdHJpbmcsIHBhcmFtcz86IGFueSwpIHtcclxuICAgIGNvbnNvbGUubG9nKHBhcmFtcyk7XHJcbiAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgIHVybCArPSBcIj9cIjtcclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xyXG4gICAgICAgIGlmIChwYXJhbXNba2V5XSkge1xyXG4gICAgICAgICAgdXJsICs9IGtleSArIFwiPVwiICsgcGFyYW1zW2tleV0gKyBcIiYmXCJcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKHVybCk7XHJcbiAgICAvLyB3aW5kb3cub3Blbih1cmwpO1xyXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGEuaHJlZiA9IHVybDtcclxuICAgIC8vIC8vIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgIC8vIGEuZG93bmxvYWQgPSBcIjMzMjEueGxzXCI7XHJcbiAgICBhLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcGl4ZWxUb051bSh3aWR0aDphbnkpIHtcclxuICAgIGNvbnN0IHJlID0gL3B4L2dpO1xyXG4gICAgbGV0IHdpZHRoU3RyID0gd2lkdGgucmVwbGFjZShyZSwgXCJcIik7XHJcbiAgICByZXR1cm4gTnVtYmVyKHdpZHRoU3RyKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhbGxFcXVhbCA9ICguLi5hcnJheTphbnlbXSkgPT4gYXJyYXkuZXZlcnkoaXRlbSA9PiBpdGVtID09PSBhcnJheVswXSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIGFycmF55omA5pyJ5Y+C5pWw5ruh6LazZm7lh73mlbDov5Tlm550cnVlXHJcbiAgICogYWxsKHggPT4geCA+IDEsMSwyLDMpOyAvLyB0cnVlXHJcbiAgICogQHBhcmFtIGNhbGxiYWNrXHJcbiAgICogQHBhcmFtIGFycmF5XHJcbiAgICovXHJcbiAgc3RhdGljIHNhdGlzZmllZEZuID0gKGNhbGxiYWNrOiAoLi4uYXJnczogYW55W10pID0+IGJvb2xlYW4sIC4uLmFycmF5OmFueVtdKSA9PiBhcnJheS5ldmVyeShjYWxsYmFjayk7XHJcblxyXG4gIC8v5YWo6YOo5LiN56m65Li6dHJ1ZVxyXG4gIHN0YXRpYyBub3RFbXB0eSguLi5hcnI6YW55W10pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBhcnIuZXZlcnkoaXRlbSA9PiAhIWl0ZW0pXHJcbiAgfVxyXG5cclxuICAvL+WMheWQq+epuuS4unRydWVcclxuICBzdGF0aWMgaGFzRW1wdHkoLi4uYXJyOmFueVtdKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gYXJyLnNvbWUoaXRlbSA9PiAhaXRlbSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWxsRW1wdHkoLi4uYXJyOmFueVtdKSB7XHJcbiAgICByZXR1cm4gYXJyLmV2ZXJ5KGl0ZW0gPT4gIWl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGVuY29kZVZhbHVlKHBhcmFtczphbnkpIHtcclxuICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaChrZXkgPT4gcGFyYW1zW2tleV0gPSBlbmNvZGVVUklDb21wb25lbnQocGFyYW1zW2tleV0pKTtcclxuICAgIHJldHVybiBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgd2luZG93SGVpZ2h0KCkge1xyXG4gICAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICB9XHJcbiAgc3RhdGljIHdpbmRvd1dpZHRoKCkge1xyXG5cclxuICAgICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtb2RhbGVTdHlsZSgpIHtcclxuICAgIHJldHVybiB7J21heEhlaWdodCc6IFRvb2xzVXRpbC53aW5kb3dIZWlnaHQoKSAtIDIwMCArICdweCcsICdvdmVyZmxvdy15JzogJ2F1dG8nfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -24,6 +24,9 @@ import { SelectIconsComponent } from "./select-icons/select-icons.component";
|
|
|
24
24
|
import { EchartsComponent } from "./echarts/echarts.component";
|
|
25
25
|
import { ViewFormComponent } from "./view-form/view-form.component";
|
|
26
26
|
import { DragulaModule } from 'ng2-dragula';
|
|
27
|
+
import { AtrRoleDirective } from "../../core/directive/role.directive";
|
|
28
|
+
import { AtrErrorImgDirective } from "../../core/directive/error-img.directive";
|
|
29
|
+
import { HqSpinDirective } from "../../core/directive/hq-spin.directive";
|
|
27
30
|
import * as i0 from "@angular/core";
|
|
28
31
|
import * as i1 from "ng2-dragula";
|
|
29
32
|
import * as i2 from "ngx-quill";
|
|
@@ -37,6 +40,7 @@ registerLocaleData(zh);
|
|
|
37
40
|
// #region your componets & directives
|
|
38
41
|
const COMPONENTS = [QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
|
|
39
42
|
SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent];
|
|
43
|
+
const DIRECTIVES = [AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective,];
|
|
40
44
|
//SharedModule
|
|
41
45
|
// 应 包含定义:
|
|
42
46
|
// 应用通用自定义业务组件
|
|
@@ -46,7 +50,7 @@ export class AtrSharedModule {
|
|
|
46
50
|
}
|
|
47
51
|
AtrSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
48
52
|
AtrSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, declarations: [QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
|
|
49
|
-
SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent], imports: [PipeModuleModule,
|
|
53
|
+
SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent, AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective], imports: [PipeModuleModule,
|
|
50
54
|
CommonModule,
|
|
51
55
|
FormsModule,
|
|
52
56
|
ReactiveFormsModule,
|
|
@@ -61,7 +65,7 @@ AtrSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
61
65
|
ReactiveFormsModule,
|
|
62
66
|
RouterModule, CusNgZorroAntdModule,
|
|
63
67
|
NzResizableModule, QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
|
|
64
|
-
SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent, PipeModuleModule] });
|
|
68
|
+
SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent, PipeModuleModule, AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective] });
|
|
65
69
|
AtrSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, providers: SERVICE_PROVIDES, imports: [[
|
|
66
70
|
PipeModuleModule,
|
|
67
71
|
CommonModule,
|
|
@@ -171,6 +175,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
171
175
|
declarations: [
|
|
172
176
|
// your components
|
|
173
177
|
...COMPONENTS,
|
|
178
|
+
...DIRECTIVES
|
|
174
179
|
],
|
|
175
180
|
exports: [
|
|
176
181
|
DragDropModule,
|
|
@@ -182,9 +187,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
182
187
|
...THIRDMODULES,
|
|
183
188
|
// your components
|
|
184
189
|
...COMPONENTS,
|
|
185
|
-
PipeModuleModule
|
|
190
|
+
PipeModuleModule,
|
|
191
|
+
...DIRECTIVES
|
|
186
192
|
],
|
|
187
193
|
providers: SERVICE_PROVIDES
|
|
188
194
|
}]
|
|
189
195
|
}] });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2F0ci1zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxD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QUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3Q0FDL0IsQ0FBQzt3Q0FDRCxJQUFJOzRDQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7d0NBQy9CLENBQUM7cUNBQ0Y7aUNBQ0Y7NkJBQ0Y7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixHQUFHLFVBQVU7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLEdBQUcsWUFBWTt3QkFDZixrQkFBa0I7d0JBQ2xCLEdBQUcsVUFBVTt3QkFDYixnQkFBZ0I7cUJBQ2pCO29CQUNELFNBQVMsRUFBQyxnQkFBZ0I7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF0clRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC91cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXRyRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE56UmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9yZXNpemFibGUnO1xyXG5pbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgemggZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvemgnO1xyXG5pbXBvcnQgeyBMb2NhbFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vbG9jYWwtdXBsb2FkL2xvY2FsLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTZWxlY3RUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtdHJlZS9zZWxlY3QtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWaWRlb0NvbXBvbmVudCB9IGZyb20gJy4vdmlkZW8vdmlkZW8uY29tcG9uZW50JztcclxuaW1wb3J0IHtWZ0NvbnRyb2xzTW9kdWxlLCBWZ0NvcmVNb2R1bGUsIFZnT3ZlcmxheVBsYXlNb2R1bGUsIFZnQnVmZmVyaW5nTW9kdWxlfSBmcm9tIFwibmd4LXZpZGVvZ3VsYXJcIjtcclxuaW1wb3J0IHtEcmFnRHJvcE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcclxuaW1wb3J0IHtUYWJsZVRkQ29tcG9uZW50fSBmcm9tIFwiLi90YWJsZS90YWJsZS10ZC90YWJsZS10ZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUYWJsZUZvcm1JdGVtQ29tcG9uZW50fSBmcm9tIFwiLi90YWJsZS90YWJsZS1mb3JtLWl0ZW0vdGFibGUtZm9ybS1pdGVtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1BpcGVNb2R1bGVNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL3BpcGUvcGlwZS1tb2R1bGUubW9kdWxlXCI7XHJcbmltcG9ydCB7QXRyQ29tcG9uZW50c01vZHVsZX0gZnJvbSBcIi4uLy4uL2F0ci1jb21wb25lbnRzLm1vZHVsZVwiO1xyXG5pbXBvcnQge0N1c05nWm9ycm9BbnRkTW9kdWxlfSBmcm9tIFwiLi4vLi4vY29yZS9uZ3otbW9kdWxlL2N1cy16b3Jyby1hbnRkLm1vZHVsZVwiO1xyXG5pbXBvcnQge1F1aWxsRWRpdG9yQ29tcG9uZW50fSBmcm9tIFwiLi9xdWlsbC1lZGl0b3IvcXVpbGwtZWRpdG9yLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1F1aWxsTW9kdWxlfSBmcm9tIFwibmd4LXF1aWxsXCI7XHJcbmltcG9ydCB7U2VsZWN0SWNvbnNDb21wb25lbnR9IGZyb20gXCIuL3NlbGVjdC1pY29ucy9zZWxlY3QtaWNvbnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RWNoYXJ0c0NvbXBvbmVudH0gZnJvbSBcIi4vZWNoYXJ0cy9lY2hhcnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1ZpZXdGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi92aWV3LWZvcm0vdmlldy1mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEcmFndWxhTW9kdWxlIH0gZnJvbSAnbmcyLWRyYWd1bGEnO1xyXG5cclxuY29uc3QgVEhJUkRNT0RVTEVTID0gW1xyXG4gIEN1c05nWm9ycm9BbnRkTW9kdWxlLFxyXG4gIE56UmVzaXphYmxlTW9kdWxlLFxyXG5cclxuXTtcclxuXHJcbmNvbnN0IFNFUlZJQ0VfUFJPVklERVM6YW55ID0gW107XHJcbnJlZ2lzdGVyTG9jYWxlRGF0YSh6aCk7XHJcbi8vICNlbmRyZWdpb25cclxuXHJcbi8vICNyZWdpb24geW91ciBjb21wb25ldHMgJiBkaXJlY3RpdmVzXHJcbmNvbnN0IENPTVBPTkVOVFMgPSBbUXVpbGxFZGl0b3JDb21wb25lbnQsVGFibGVGb3JtSXRlbUNvbXBvbmVudCxUYWJsZVRkQ29tcG9uZW50LEF0clRhYmxlQ29tcG9uZW50LFVwbG9hZENvbXBvbmVudCxBdHJGb3JtQ29tcG9uZW50LExvY2FsVXBsb2FkQ29tcG9uZW50LFxyXG4gIFNlbGVjdFRyZWVDb21wb25lbnQsVmlkZW9Db21wb25lbnQsU2VsZWN0SWNvbnNDb21wb25lbnQsRWNoYXJ0c0NvbXBvbmVudCxWaWV3Rm9ybUNvbXBvbmVudF07XHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgUGlwZU1vZHVsZU1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIC8vIHRoaXJkIGxpYnNcclxuICAgIC4uLlRISVJETU9EVUxFUyxcclxuICAgIFZnQ29yZU1vZHVsZSxcclxuICAgIFZnQ29udHJvbHNNb2R1bGUsXHJcbiAgICBWZ092ZXJsYXlQbGF5TW9kdWxlLFxyXG4gICAgVmdCdWZmZXJpbmdNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIERyYWd1bGFNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgQXRyQ29tcG9uZW50c01vZHVsZSxcclxuICAgIFF1aWxsTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBtb2R1bGVzOiB7XHJcbiAgICAgICAgc3ludGF4OiBmYWxzZSxcclxuICAgICAgICAvLyBpbWFnZVJlc2l6ZToge30sXHJcbiAgICAgICAgdG9vbGJhcjoge1xyXG4gICAgICAgICAgY29udGFpbmVyOiBbXHJcbiAgICAgICAgICAgIFsndW5kbycsICdyZWRvJ10sXHJcbiAgICAgICAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJ10sICAgICAgICAvLyB0b2dnbGVkIGJ1dHRvbnNcclxuICAgICAgICAgICAgLy8gWydjb2RlLWJsb2NrJ10sIC8vIGJsb2NrcXVvdGVcclxuICAgICAgICAgICAgLy8gW3sgaGVhZGVyOiAxIH0sIHsgaGVhZGVyOiAyIH1dLCAgICAgICAgICAgICAgIC8vIGN1c3RvbSBidXR0b24gdmFsdWVzXHJcbiAgICAgICAgICAgIFt7bGlzdDogJ29yZGVyZWQnfSwge2xpc3Q6ICdidWxsZXQnfV0sXHJcbiAgICAgICAgICAgIC8vIFt7IHNjcmlwdDogJ3N1YicgfSwgeyBzY3JpcHQ6ICdzdXBlcicgfV0sICAgICAgLy8gc3VwZXJzY3JpcHQvc3Vic2NyaXB0XHJcbiAgICAgICAgICAgIFt7aW5kZW50OiAnLTEnfSwge2luZGVudDogJysxJ31dLCAgICAgICAgICAvLyBvdXRkZW50L2luZGVudFxyXG4gICAgICAgICAgICAvLyBbeyBkaXJlY3Rpb246ICdydGwnIH1dLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0IGRpcmVjdGlvblxyXG4gICAgICAgICAgICAvLyBbeyBzaXplOiBbJ3NtYWxsJywgZmFsc2UsICdsYXJnZScsICdodWdlJ10gfV0sICAvLyBjdXN0b20gZHJvcGRvd25cclxuICAgICAgICAgICAgW3toZWFkZXI6IFsxLCAyLCAzLCA0LCA1LCA2LCBmYWxzZV19XSxcclxuICAgICAgICAgICAgW3tjb2xvcjogW119LCB7YmFja2dyb3VuZDogW119XSwgICAgICAgICAgLy8gZHJvcGRvd24gd2l0aCBkZWZhdWx0cyBmcm9tIHRoZW1lXHJcbiAgICAgICAgICAgIC8vIFt7IGZvbnQ6IFtdIH1dLFxyXG4gICAgICAgICAgICBbe2FsaWduOiBbXX1dLFxyXG4gICAgICAgICAgICBbJ2NsZWFuJ10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgZm9ybWF0dGluZyBidXR0b25cclxuICAgICAgICAgICAgWydpbWFnZSddLCAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rIGFuZCBpbWFnZSwgdmlkZW9cclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBoYW5kbGVyczoge1xyXG4gICAgICAgICAgICByZWRvKCkge1xyXG4gICAgICAgICAgICAgIHRoaXNbJ3F1aWxsJ10uaGlzdG9yeS5yZWRvKCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHVuZG8oKSB7XHJcbiAgICAgICAgICAgICAgdGhpc1sncXVpbGwnXS5oaXN0b3J5LnVuZG8oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSksXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC8vIHlvdXIgY29tcG9uZW50c1xyXG4gICAgLi4uQ09NUE9ORU5UUyxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgLy8gdGhpcmQgbGlic1xyXG4gICAgLi4uVEhJUkRNT0RVTEVTLFxyXG4gICAgLy8geW91ciBjb21wb25lbnRzXHJcbiAgICAuLi5DT01QT05FTlRTLFxyXG4gICAgUGlwZU1vZHVsZU1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOlNFUlZJQ0VfUFJPVklERVNcclxufSlcclxuLy9TaGFyZWRNb2R1bGVcclxuLy8g5bqUIOWMheWQq+WumuS5ie+8mlxyXG4vLyDlupTnlKjpgJrnlKjoh6rlrprkuYnkuJrliqHnu4Tku7ZcclxuLy8g5bqUIOWvvOWHuuaJgOacieWMheWQq+eahOaooeWdl+OAglxyXG4vLyDkuI3lupQg5pyJIHByb3ZpZGVycyDlsZ7mgKfjgIJcclxuZXhwb3J0IGNsYXNzIEF0clNoYXJlZE1vZHVsZSB7IH1cclxuIl19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2F0ci1zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxD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LEVBQUUsS0FBSyxDQUFDLEVBQUMsQ0FBQzt3Q0FDckMsQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsRUFBRSxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQzt3Q0FDL0Isa0JBQWtCO3dDQUNsQixDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO3dDQUNiLENBQUMsT0FBTyxDQUFDO3dDQUNULENBQUMsT0FBTyxDQUFDLEVBQXVCLHdCQUF3QjtxQ0FDekQ7b0NBQ0QsUUFBUSxFQUFFO3dDQUNSLElBQUk7NENBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3Q0FDL0IsQ0FBQzt3Q0FDRCxJQUFJOzRDQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7d0NBQy9CLENBQUM7cUNBQ0Y7aUNBQ0Y7NkJBQ0Y7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixHQUFHLFlBQVk7d0JBQ2Ysa0JBQWtCO3dCQUNsQixHQUFHLFVBQVU7d0JBQ2IsZ0JBQWdCO3dCQUNoQixHQUFHLFVBQVU7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFDLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXRyVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnpSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Jlc2l6YWJsZSc7XHJcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB6aCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy96aCc7XHJcbmltcG9ydCB7IExvY2FsVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9sb2NhbC11cGxvYWQvbG9jYWwtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlbGVjdFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZGVvQ29tcG9uZW50IH0gZnJvbSAnLi92aWRlby92aWRlby5jb21wb25lbnQnO1xyXG5pbXBvcnQge1ZnQ29udHJvbHNNb2R1bGUsIFZnQ29yZU1vZHVsZSwgVmdPdmVybGF5UGxheU1vZHVsZSwgVmdCdWZmZXJpbmdNb2R1bGV9IGZyb20gXCJuZ3gtdmlkZW9ndWxhclwiO1xyXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1RhYmxlVGRDb21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLXRkL3RhYmxlLXRkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RhYmxlRm9ybUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2NvcmUvcGlwZS9waXBlLW1vZHVsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtBdHJDb21wb25lbnRzTW9kdWxlfSBmcm9tIFwiLi4vLi4vYXRyLWNvbXBvbmVudHMubW9kdWxlXCI7XHJcbmltcG9ydCB7Q3VzTmdab3Jyb0FudGRNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL25nei1tb2R1bGUvY3VzLXpvcnJvLWFudGQubW9kdWxlXCI7XHJcbmltcG9ydCB7UXVpbGxFZGl0b3JDb21wb25lbnR9IGZyb20gXCIuL3F1aWxsLWVkaXRvci9xdWlsbC1lZGl0b3IuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UXVpbGxNb2R1bGV9IGZyb20gXCJuZ3gtcXVpbGxcIjtcclxuaW1wb3J0IHtTZWxlY3RJY29uc0NvbXBvbmVudH0gZnJvbSBcIi4vc2VsZWN0LWljb25zL3NlbGVjdC1pY29ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtFY2hhcnRzQ29tcG9uZW50fSBmcm9tIFwiLi9lY2hhcnRzL2VjaGFydHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Vmlld0Zvcm1Db21wb25lbnR9IGZyb20gXCIuL3ZpZXctZm9ybS92aWV3LWZvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tICduZzItZHJhZ3VsYSc7XHJcbmltcG9ydCB7QXRyUm9sZURpcmVjdGl2ZX0gZnJvbSBcIi4uLy4uL2NvcmUvZGlyZWN0aXZlL3JvbGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7QXRyRXJyb3JJbWdEaXJlY3RpdmV9IGZyb20gXCIuLi8uLi9jb3JlL2RpcmVjdGl2ZS9lcnJvci1pbWcuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7SHFTcGluRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vY29yZS9kaXJlY3RpdmUvaHEtc3Bpbi5kaXJlY3RpdmVcIjtcclxuXHJcbmNvbnN0IFRISVJETU9EVUxFUyA9IFtcclxuICBDdXNOZ1pvcnJvQW50ZE1vZHVsZSxcclxuICBOelJlc2l6YWJsZU1vZHVsZSxcclxuXHJcbl07XHJcblxyXG5jb25zdCBTRVJWSUNFX1BST1ZJREVTOmFueSA9IFtdO1xyXG5yZWdpc3RlckxvY2FsZURhdGEoemgpO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIHlvdXIgY29tcG9uZXRzICYgZGlyZWN0aXZlc1xyXG5jb25zdCBDT01QT05FTlRTID0gW1F1aWxsRWRpdG9yQ29tcG9uZW50LFRhYmxlRm9ybUl0ZW1Db21wb25lbnQsVGFibGVUZENvbXBvbmVudCxBdHJUYWJsZUNvbXBvbmVudCxVcGxvYWRDb21wb25lbnQsQXRyRm9ybUNvbXBvbmVudCxMb2NhbFVwbG9hZENvbXBvbmVudCxcclxuICBTZWxlY3RUcmVlQ29tcG9uZW50LFZpZGVvQ29tcG9uZW50LFNlbGVjdEljb25zQ29tcG9uZW50LEVjaGFydHNDb21wb25lbnQsVmlld0Zvcm1Db21wb25lbnRdO1xyXG5jb25zdCBESVJFQ1RJVkVTID0gW0F0clJvbGVEaXJlY3RpdmUsIEF0ckVycm9ySW1nRGlyZWN0aXZlLCBIcVNwaW5EaXJlY3RpdmUsXTtcclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBQaXBlTW9kdWxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgLy8gdGhpcmQgbGlic1xyXG4gICAgLi4uVEhJUkRNT0RVTEVTLFxyXG4gICAgVmdDb3JlTW9kdWxlLFxyXG4gICAgVmdDb250cm9sc01vZHVsZSxcclxuICAgIFZnT3ZlcmxheVBsYXlNb2R1bGUsXHJcbiAgICBWZ0J1ZmZlcmluZ01vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgRHJhZ3VsYU1vZHVsZS5mb3JSb290KCksXHJcbiAgICBBdHJDb21wb25lbnRzTW9kdWxlLFxyXG4gICAgUXVpbGxNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgIG1vZHVsZXM6IHtcclxuICAgICAgICBzeW50YXg6IGZhbHNlLFxyXG4gICAgICAgIC8vIGltYWdlUmVzaXplOiB7fSxcclxuICAgICAgICB0b29sYmFyOiB7XHJcbiAgICAgICAgICBjb250YWluZXI6IFtcclxuICAgICAgICAgICAgWyd1bmRvJywgJ3JlZG8nXSxcclxuICAgICAgICAgICAgWydib2xkJywgJ2l0YWxpYycsICd1bmRlcmxpbmUnXSwgICAgICAgIC8vIHRvZ2dsZWQgYnV0dG9uc1xyXG4gICAgICAgICAgICAvLyBbJ2NvZGUtYmxvY2snXSwgLy8gYmxvY2txdW90ZVxyXG4gICAgICAgICAgICAvLyBbeyBoZWFkZXI6IDEgfSwgeyBoZWFkZXI6IDIgfV0sICAgICAgICAgICAgICAgLy8gY3VzdG9tIGJ1dHRvbiB2YWx1ZXNcclxuICAgICAgICAgICAgW3tsaXN0OiAnb3JkZXJlZCd9LCB7bGlzdDogJ2J1bGxldCd9XSxcclxuICAgICAgICAgICAgLy8gW3sgc2NyaXB0OiAnc3ViJyB9LCB7IHNjcmlwdDogJ3N1cGVyJyB9XSwgICAgICAvLyBzdXBlcnNjcmlwdC9zdWJzY3JpcHRcclxuICAgICAgICAgICAgW3tpbmRlbnQ6ICctMSd9LCB7aW5kZW50OiAnKzEnfV0sICAgICAgICAgIC8vIG91dGRlbnQvaW5kZW50XHJcbiAgICAgICAgICAgIC8vIFt7IGRpcmVjdGlvbjogJ3J0bCcgfV0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRleHQgZGlyZWN0aW9uXHJcbiAgICAgICAgICAgIC8vIFt7IHNpemU6IFsnc21hbGwnLCBmYWxzZSwgJ2xhcmdlJywgJ2h1Z2UnXSB9XSwgIC8vIGN1c3RvbSBkcm9wZG93blxyXG4gICAgICAgICAgICBbe2hlYWRlcjogWzEsIDIsIDMsIDQsIDUsIDYsIGZhbHNlXX1dLFxyXG4gICAgICAgICAgICBbe2NvbG9yOiBbXX0sIHtiYWNrZ3JvdW5kOiBbXX1dLCAgICAgICAgICAvLyBkcm9wZG93biB3aXRoIGRlZmF1bHRzIGZyb20gdGhlbWVcclxuICAgICAgICAgICAgLy8gW3sgZm9udDogW10gfV0sXHJcbiAgICAgICAgICAgIFt7YWxpZ246IFtdfV0sXHJcbiAgICAgICAgICAgIFsnY2xlYW4nXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBmb3JtYXR0aW5nIGJ1dHRvblxyXG4gICAgICAgICAgICBbJ2ltYWdlJ10sICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmsgYW5kIGltYWdlLCB2aWRlb1xyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIGhhbmRsZXJzOiB7XHJcbiAgICAgICAgICAgIHJlZG8oKSB7XHJcbiAgICAgICAgICAgICAgdGhpc1sncXVpbGwnXS5oaXN0b3J5LnJlZG8oKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdW5kbygpIHtcclxuICAgICAgICAgICAgICB0aGlzWydxdWlsbCddLmhpc3RvcnkudW5kbygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgLy8geW91ciBjb21wb25lbnRzXHJcbiAgICAuLi5DT01QT05FTlRTLFxyXG4gICAgLi4uRElSRUNUSVZFU1xyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICAvLyB0aGlyZCBsaWJzXHJcbiAgICAuLi5USElSRE1PRFVMRVMsXHJcbiAgICAvLyB5b3VyIGNvbXBvbmVudHNcclxuICAgIC4uLkNPTVBPTkVOVFMsXHJcbiAgICBQaXBlTW9kdWxlTW9kdWxlLFxyXG4gICAgLi4uRElSRUNUSVZFU1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOlNFUlZJQ0VfUFJPVklERVNcclxufSlcclxuLy9TaGFyZWRNb2R1bGVcclxuLy8g5bqUIOWMheWQq+WumuS5ie+8mlxyXG4vLyDlupTnlKjpgJrnlKjoh6rlrprkuYnkuJrliqHnu4Tku7ZcclxuLy8g5bqUIOWvvOWHuuaJgOacieWMheWQq+eahOaooeWdl+OAglxyXG4vLyDkuI3lupQg5pyJIHByb3ZpZGVycyDlsZ7mgKfjgIJcclxuZXhwb3J0IGNsYXNzIEF0clNoYXJlZE1vZHVsZSB7IH1cclxuIl19
|