@bizdoc/core 1.15.6 → 1.16.1
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/assets/bizdoc-schema.json +14 -13
- package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +113 -44
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +43 -37
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +83 -84
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +8 -6
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +7 -7
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +5 -7
- package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +31 -26
- package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +32 -0
- package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +91 -55
- package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +13 -9
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +30 -39
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +24 -17
- package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +13 -17
- package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +14 -6
- package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +11 -15
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +12 -8
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +8 -3
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +11 -10
- package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +5 -6
- package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +11 -11
- package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +14 -6
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +13 -11
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +14 -4
- package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +12 -6
- package/esm2020/lib/admin/configuration-designer/privileges.component.mjs +25 -15
- package/esm2020/lib/admin/core/ace.input.mjs +14 -16
- package/esm2020/lib/admin/core/color-picker.input.mjs +2 -1
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
- package/esm2020/lib/admin/form/designer/designer.component.mjs +96 -40
- package/esm2020/lib/admin/patterns/patterns.component.mjs +1 -1
- package/esm2020/lib/admin/system.service.mjs +4 -1
- package/esm2020/lib/compose/box/box.component.mjs +4 -3
- package/esm2020/lib/core/datasource.service.mjs +1 -1
- package/esm2020/lib/core/functions.mjs +10 -3
- package/esm2020/lib/core/layout/layout.component.mjs +18 -30
- package/esm2020/lib/core/mailbox.service.mjs +2 -2
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/translations.mjs +6 -1
- package/esm2020/lib/cube/cube-info.service.mjs +1 -1
- package/esm2020/lib/cube/cube.service.mjs +1 -1
- package/esm2020/lib/cube/declarations.mjs +1 -1
- package/esm2020/lib/cube/matrix/matrix.base.mjs +2 -2
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +1 -1
- package/esm2020/lib/cube/matrix/table.component.mjs +19 -19
- package/esm2020/lib/cube/sum/sum.component.mjs +1 -1
- package/esm2020/lib/reports/cube/usage-base.mjs +1 -1
- package/esm2020/lib/shared.module.mjs +5 -4
- package/esm2020/lib/system.module.mjs +14 -8
- package/esm2020/lib/views/cube/parallel.component.mjs +1 -1
- package/esm2020/public-api.mjs +3 -2
- package/fesm2015/bizdoc-core.mjs +5670 -5435
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +5525 -5291
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/designer-element.component.d.ts +30 -10
- package/lib/admin/configuration-designer/designer.base.d.ts +75 -36
- package/lib/admin/configuration-designer/designer.component.d.ts +10 -7
- package/lib/admin/configuration-designer/elements/action.component.d.ts +2 -0
- package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +9 -8
- package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +12 -0
- package/lib/admin/configuration-designer/elements/cube.component.d.ts +17 -7
- package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +2 -2
- package/lib/admin/configuration-designer/elements/folder.component.d.ts +3 -0
- package/lib/admin/configuration-designer/elements/form.component.d.ts +7 -2
- package/lib/admin/configuration-designer/elements/guide.component.d.ts +4 -2
- package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +0 -2
- package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -1
- package/lib/admin/configuration-designer/elements/report.component.d.ts +3 -0
- package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +2 -4
- package/lib/admin/configuration-designer/elements/role.component.d.ts +5 -2
- package/lib/admin/configuration-designer/elements/rule.component.d.ts +2 -0
- package/lib/admin/configuration-designer/elements/state.component.d.ts +4 -1
- package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +2 -2
- package/lib/admin/configuration-designer/elements/type.component.d.ts +3 -1
- package/lib/admin/configuration-designer/elements/utility.component.d.ts +3 -0
- package/lib/admin/configuration-designer/elements/view.component.d.ts +4 -6
- package/lib/admin/configuration-designer/elements/widget.component.d.ts +2 -0
- package/lib/admin/configuration-designer/privileges.component.d.ts +6 -4
- package/lib/admin/core/ace.input.d.ts +4 -4
- package/lib/admin/core/color-picker.input.d.ts +1 -0
- package/lib/admin/form/designer/designer.component.d.ts +20 -12
- package/lib/admin/patterns/patterns.component.d.ts +2 -2
- package/lib/admin/system.service.d.ts +6 -0
- package/lib/core/datasource.service.d.ts +3 -3
- package/lib/core/layout/layout.component.d.ts +0 -2
- package/lib/core/models.d.ts +2 -2
- package/lib/core/translations.d.ts +5 -0
- package/lib/cube/cube-info.service.d.ts +3 -2
- package/lib/cube/cube.service.d.ts +8 -8
- package/lib/cube/declarations.d.ts +2 -0
- package/lib/cube/matrix/matrix.base.d.ts +4 -3
- package/lib/cube/matrix/matrix.pane.component.d.ts +3 -2
- package/lib/cube/matrix/table.component.d.ts +9 -5
- package/lib/reports/cube/usage-base.d.ts +2 -2
- package/lib/shared.module.d.ts +150 -151
- package/lib/system.module.d.ts +50 -47
- package/lib/views/cube/parallel.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -3
@@ -176,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
176
176
|
type: ViewChild,
|
177
177
|
args: [MatPaginator]
|
178
178
|
}] } });
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUczRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFRUixpQkFBaUIsU0FBakIsaUJBQWlCO0lBcUI1QixZQUFvQixRQUF3QixFQUNsQyxJQUFvQixFQUNwQixHQUFnQixFQUNJLElBQTZELEVBQ2pGLEtBQXdCLEVBQ3hCLFFBQXVCLEVBQ3ZCLEdBQWtCLEVBQ2xCLE9BQWtCO1FBUFIsYUFB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Q0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YsQ0FBQTs4R0ExSFksaUJBQWlCLHlHQXdCbEIsVUFBVTtrR0F4QlQsaUJBQWlCLG1NQVFqQixPQUFPLDRFQUNQLFlBQVksZ0RDdEN6Qiw4ckhBc0VBO0FEekNhLGlCQUFpQjtJQUg3QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7R0FDVyxpQkFBaUIsQ0EwSDdCO1NBMUhZLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTOzs7MEJBOEJMLE1BQU07MkJBQUMsVUFBVTs0SkFqQnVCLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDckIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1YmUsIEF4aXNUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBVdGlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxpdHlSZWYgfSBmcm9tIFwiLi4vdXRpbGl0eS1yZWZcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFYSVNfVkFMVUVfUEFUVEVSTiB9IGZyb20gJy4uLy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vc3lzdGVtLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgUEFHRV9TSVpFID0gMjA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcGF0dGVybnMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBhdHRlcm5zJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF0dGVybnNDb21wb25lbnQgaW1wbGVtZW50cyBVdGlsaXR5Q29tcG9uZW50PGJvb2xlYW4sIGFueT4sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBQQUdFX1NJWkUgPSBQQUdFX1NJWkU7XHJcbiAgcmVhZG9ubHkgcGF0dGVybiA9IEFYSVNfVkFMVUVfUEFUVEVSTjtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8UGF0dGVybj47XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICByZWFkb25seSBzZWdtZW50czogeyBba2V5OiBzdHJpbmddOiBPYnNlcnZhYmxlPFNvdXJjZVtdPiB9ID0ge307XHJcbiAgcm9sZXM6IFJvbGVbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ3Byb3BlcnRpZXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcm9wZXJ0aWVzOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydDogTWF0U29ydDtcclxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcbiAgaW5jbHVkZTogc3RyaW5nW107XHJcbiAgY3ViZTogQ3ViZTtcclxuICByZWFkb25seSBkaXNwbGF5ZWRDb2x1bW5zID0gWyd0aXRsZSddO1xyXG4gIHJlYWRvbmx5IGF4ZXMgPSB0aGlzLl9mYi5ncm91cCh7fSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGF4ZXM6IHRoaXMuYXhlcyxcclxuICAgIHRpdGxlOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgcm9sZXM6IHRoaXMuX2ZiLmNvbnRyb2woW10sIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgfSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcGFnaW5nOiBib29sZWFuO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIEBJbmplY3QoVXRpbGl0eVJlZikgcHJpdmF0ZSBfcmVmOiBVdGlsaXR5UmVmPGJvb2xlYW4sIFBhdHRlcm5bXSwgUGF0dGVybltdLCBhbnksIE9wdGlvbnM+LFxyXG4gICAgcHJpdmF0ZSBfdHlwZTogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZykge1xyXG4gICAgY29uc3QgeyBjdWJlLCBheGVzIH0gPSB0aGlzLl9yZWYub3B0aW9ucztcclxuICAgIGNvbnN0IGNjdWJlID0gY3ViZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBjdWJlKSA6IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIGlmICghY2N1YmUpXHJcbiAgICAgIHRocm93ICdjdWJlIG5vdCBmb3VuZC4nO1xyXG4gICAgdGhpcy5jdWJlID0gY2N1YmU7XHJcbiAgICB0aGlzLmluY2x1ZGUgPSBheGVzIHx8IGNjdWJlLmF4ZXMuZmlsdGVyKGEgPT4gIWEuaGlkZGVuICYmIGEuY29tYmluYXRpb24pLm1hcChhID0+IGEubmFtZSk7XHJcbiAgICB0aGlzLmN1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMuYWRkQ29udHJvbChhLm5hbWUsIHRoaXMuX2ZiLmNvbnRyb2wobnVsbCkpO1xyXG4gICAgICB0aGlzLnNlZ21lbnRzW2EubmFtZV0gPSB0aGlzLl90eXBlLmFsbChhLmRhdGFUeXBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpcnR5ID0gdHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyhyKTtcclxuICAgICAgICB0aGlzLl9kYXRhc291cmNlKHApO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IFBhdHRlcm5bXSkge1xyXG4gICAgLy8gcm9sZXMgc29ydGluZ1xyXG4gICAgZGF0YS5mb3JFYWNoKHAgPT4gcC5yb2xlcyAmJiBwLnJvbGVzLmZvckVhY2gociA9PiBwW3JdID0gdHJ1ZSkpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhIHx8IFtdKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgdGhpcy5wYWdpbmcgPSBkYXRhLmxlbmd0aCA+IFBBR0VfU0laRTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMocm9sZXM6IFJvbGVbXSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHJvbGVzO1xyXG4gICAgcm9sZXMuZm9yRWFjaChlID0+IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGUubmFtZSkpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ29wdGlvbnMnKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZShwYXR0ZXJuOiBQYXR0ZXJuLCByb2xlOiBzdHJpbmcsIGV2dDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGlmICghcGF0dGVybi5yb2xlcykgcGF0dGVybi5yb2xlcyA9IFtdO1xyXG4gICAgaWYgKGV2dC5jaGVja2VkKSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgcGF0dGVybltyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcGF0dGVybi5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIHBhdHRlcm5bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoeyBheGVzOiB7fSwgcm9sZXM6IFtdIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMucHJvcGVydGllcywge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgbWluV2lkdGg6ICc2NnZ3JyxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChwYXR0ZXJuOiBQYXR0ZXJuKSA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuKSB7XHJcbiAgICAgICAgcGF0dGVybi5uYW1lID0gcGF0dGVybi50aXRsZS5ub3JtYWxpemUoKTtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemUocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEucHVzaChwYXR0ZXJuKTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5yb2xlcy5mb3JFYWNoKHIgPT4gcGF0dGVybltyLm5hbWVdID0gcGF0dGVybi5yb2xlcy5pbmRleE9mKHIubmFtZSkgPiAtMSk7XHJcbiAgICBPYmplY3Qua2V5cyhwYXR0ZXJuLmF4ZXMpLmZvckVhY2goayA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuLmF4ZXNba10gPT09IG51bGwpXHJcbiAgICAgICAgZGVsZXRlIHBhdHRlcm4uYXhlc1trXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShwYXR0ZXJuKTtcclxuICB9XHJcbiAgZWRpdChwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShwYXR0ZXJuLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBpZiAocikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGF0dGVybiwgcik7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3JlZi5leGVjdXRlKHRoaXMuZGF0YVNvdXJjZS5kYXRhKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgIH0sICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBQYXR0ZXJuIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByb2xlczogc3RyaW5nW107XHJcbiAgYXhlczoge1xyXG4gICAgW2F4aXM6IHN0cmluZ106IEF4aXNUeXBlO1xyXG4gIH07XHJcbn1cclxuaW50ZXJmYWNlIFJvbGUge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBTb3VyY2Uge1xyXG4gIGtleTogYW55O1xyXG4gIHZhbHVlOiBhbnk7XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZSgpXCIgW2Rpc2FibGVkXT1cIiFkaXJ0eVwiPnt7J1NhdmVDaGFuZ2VzJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlKClcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIiBkYXRhLWd1aWRlPVwiY3JlYXRlXCI+PG1hdC1pY29uPmFkZDwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQ+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiIHN0aWNreT5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQudGl0bGV9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIiBbbWF0Q29sdW1uRGVmXT1cInIubmFtZVwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3tyLnRpdGxlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJlbGVtZW50LnJvbGVzICYmIGVsZW1lbnQucm9sZXMuaW5kZXhPZihyLm5hbWUpID4gLTFcIiAoY2hhbmdlKT1cInRvZ2dsZShlbGVtZW50LCByLm5hbWUsICRldmVudClcIj48L21hdC1jaGVja2JveD5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvcHRpb25zXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc1wiPjxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8bWF0LW1lbnUgI29wdGlvbnM+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJlZGl0KGVsZW1lbnQpXCI+e3snRWRpdCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZShlbGVtZW50KVwiPnt7J0Rpc2NhcmQnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IGVsZW1lbnQ7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuPG1hdC1wYWdpbmF0b3IgW3BhZ2VTaXplXT1cIlBBR0VfU0laRVwiIGhpZGVQYWdlU2l6ZSBzaG93Rmlyc3RMYXN0QnV0dG9ucyAqbmdJZj1cInBhZ2luZ1wiPjwvbWF0LXBhZ2luYXRvcj5cclxuPCEtLSBkaWFsb2cgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjcHJvcGVydGllcz5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIFtwbGFjZWhvbGRlcl09XCInVGl0bGUnfHRyYW5zbGF0ZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImF4ZXNcIiAqbmdJZj1cImN1YmVcIiBmeExheW91dC5ndC1zbT1cInJvdyB3cmFwXCIgZnhMYXlvdXQ9XCJjb2x1bW4gd3JhcFwiXHJcbiAgICAgICAgICAgZnhMYXlvdXRHYXA9XCI1cHggZ3JpZFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZS5heGVzXCI+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJpbmNsdWRlLmluZGV4T2YoYS5uYW1lKT4tMVwiIGZ4RmxleD1cIjUwXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJzZWdtZW50XCIgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlZ21lbnQ+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygc2VnbWVudHNbYS5uYW1lXSB8IGFzeW5jXCIgW3ZhbHVlXT1cIm8ua2V5XCI+e3tvLnZhbHVlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImF4ZXMuY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkXCI+e3snUGF0dGVybkVycicgfHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgW3BsYWNlaG9sZGVyXT1cIidSb2xlcyd8dHJhbnNsYXRlXCIgbXVsdGlwbGUgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgciBvZiByb2xlc1wiIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMucm9sZXMuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eydSZXF1aXJlZCd8dHJhbnNsYXRlOignUm9sZXMnfHRyYW5zbGF0ZSl9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZm9ybS52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPnt7J09LJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCd8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCVcclxuICB9XHJcbjwvc3R5bGU+XHJcbiJdfQ==
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUczRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFRUixpQkFBaUIsU0FBakIsaUJBQWlCO0lBcUI1QixZQUFvQixRQUF3QixFQUNsQyxJQUFvQixFQUNwQixHQUFnQixFQUNJLElBQTZELEVBQ2pGLEtBQXdCLEVBQ3hCLFFBQXVCLEVBQ3ZCLEdBQWtCLEVBQ2xCLE9BQWtCO1FBUFIsYUFB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Q0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YsQ0FBQTs4R0ExSFksaUJBQWlCLHlHQXdCbEIsVUFBVTtrR0F4QlQsaUJBQWlCLG1NQVFqQixPQUFPLDRFQUNQLFlBQVksZ0RDdEN6Qiw4ckhBc0VBO0FEekNhLGlCQUFpQjtJQUg3QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7R0FDVyxpQkFBaUIsQ0EwSDdCO1NBMUhZLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTOzs7MEJBOEJMLE1BQU07MkJBQUMsVUFBVTs0SkFqQnVCLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDckIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1YmUsIEF4aXNWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFBBR0VfU0laRSA9IDIwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wYXR0ZXJucydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhdHRlcm5zQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxib29sZWFuLCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgUEFHRV9TSVpFID0gUEFHRV9TSVpFO1xyXG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBBWElTX1ZBTFVFX1BBVFRFUk47XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFBhdHRlcm4+O1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgc2VnbWVudHM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxTb3VyY2VbXT4gfSA9IHt9O1xyXG4gIHJvbGVzOiBSb2xlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvcGVydGllczogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGluY2x1ZGU6IHN0cmluZ1tdO1xyXG4gIGN1YmU6IEN1YmU7XHJcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IFsndGl0bGUnXTtcclxuICByZWFkb25seSBheGVzID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBheGVzOiB0aGlzLmF4ZXMsXHJcbiAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHJvbGVzOiB0aGlzLl9mYi5jb250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHBhZ2luZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBQYXR0ZXJuW10sIFBhdHRlcm5bXSwgYW55LCBPcHRpb25zPixcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIGNvbnN0IHsgY3ViZSwgYXhlcyB9ID0gdGhpcy5fcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIWNjdWJlKVxyXG4gICAgICB0aHJvdyAnY3ViZSBub3QgZm91bmQuJztcclxuICAgIHRoaXMuY3ViZSA9IGNjdWJlO1xyXG4gICAgdGhpcy5pbmNsdWRlID0gYXhlcyB8fCBjY3ViZS5heGVzLmZpbHRlcihhID0+ICFhLmhpZGRlbiAmJiBhLmNvbWJpbmF0aW9uKS5tYXAoYSA9PiBhLm5hbWUpO1xyXG4gICAgdGhpcy5jdWJlLmF4ZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgdGhpcy5heGVzLmFkZENvbnRyb2woYS5uYW1lLCB0aGlzLl9mYi5jb250cm9sKG51bGwpKTtcclxuICAgICAgdGhpcy5zZWdtZW50c1thLm5hbWVdID0gdGhpcy5fdHlwZS5hbGwoYS5kYXRhVHlwZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kaXJ0eSA9IHRydWUpO1xyXG4gICAgdGhpcy5fc2VydmljZS5yb2xlcygpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5fcmVmLnBvcHVsYXRlKCkuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NvbHVtbnMocik7XHJcbiAgICAgICAgdGhpcy5fZGF0YXNvdXJjZShwKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGF0YXNvdXJjZShkYXRhOiBQYXR0ZXJuW10pIHtcclxuICAgIC8vIHJvbGVzIHNvcnRpbmdcclxuICAgIGRhdGEuZm9yRWFjaChwID0+IHAucm9sZXMgJiYgcC5yb2xlcy5mb3JFYWNoKHIgPT4gcFtyXSA9IHRydWUpKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSB8fCBbXSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIHRoaXMucGFnaW5nID0gZGF0YS5sZW5ndGggPiBQQUdFX1NJWkU7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb2x1bW5zKHJvbGVzOiBSb2xlW10pIHtcclxuICAgIHRoaXMucm9sZXMgPSByb2xlcztcclxuICAgIHJvbGVzLmZvckVhY2goZSA9PiB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChlLm5hbWUpKTtcclxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKCdvcHRpb25zJyk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGUocGF0dGVybjogUGF0dGVybiwgcm9sZTogc3RyaW5nLCBldnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XHJcbiAgICBpZiAoIXBhdHRlcm4ucm9sZXMpIHBhdHRlcm4ucm9sZXMgPSBbXTtcclxuICAgIGlmIChldnQuY2hlY2tlZCkge1xyXG4gICAgICBwYXR0ZXJuLnJvbGVzLnB1c2gocm9sZSk7XHJcbiAgICAgIHBhdHRlcm5bcm9sZV0gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucmVtb3ZlKHJvbGUpO1xyXG4gICAgICBwYXR0ZXJuW3JvbGVdID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgY3JlYXRlKCkge1xyXG4gICAgdGhpcy5mb3JtLnJlc2V0KHsgYXhlczoge30sIHJvbGVzOiBbXSB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMsIHtcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgIG1pbldpZHRoOiAnNjZ2dycsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlXHJcbiAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocGF0dGVybjogUGF0dGVybikgPT4ge1xyXG4gICAgICBpZiAocGF0dGVybikge1xyXG4gICAgICAgIHBhdHRlcm4ubmFtZSA9IHBhdHRlcm4udGl0bGUubm9ybWFsaXplKCk7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnB1c2gocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbm9ybWFsaXplKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMucm9sZXMuZm9yRWFjaChyID0+IHBhdHRlcm5bci5uYW1lXSA9IHBhdHRlcm4ucm9sZXMuaW5kZXhPZihyLm5hbWUpID4gLTEpO1xyXG4gICAgT2JqZWN0LmtleXMocGF0dGVybi5heGVzKS5mb3JFYWNoKGsgPT4ge1xyXG4gICAgICBpZiAocGF0dGVybi5heGVzW2tdID09PSBudWxsKVxyXG4gICAgICAgIGRlbGV0ZSBwYXR0ZXJuLmF4ZXNba107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5yZW1vdmUocGF0dGVybik7XHJcbiAgfVxyXG4gIGVkaXQocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUocGF0dGVybiwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4odGhpcy5wcm9wZXJ0aWVzKS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgaWYgKHIpIHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHBhdHRlcm4sIHIpO1xyXG4gICAgICAgIHRoaXMuX25vcm1hbGl6ZShwYXR0ZXJuKTtcclxuICAgICAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLl9yZWYuZXhlY3V0ZSh0aGlzLmRhdGFTb3VyY2UuZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9zYi50b2FzdCgnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gIGN1YmU6IHN0cmluZztcclxuICBheGVzOiBzdHJpbmdbXTtcclxufVxyXG5pbnRlcmZhY2UgUGF0dGVybiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gIGF4ZXM6IHtcclxuICAgIFtheGlzOiBzdHJpbmddOiBBeGlzVmFsdWU7XHJcbiAgfTtcclxufVxyXG5pbnRlcmZhY2UgUm9sZSB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFNvdXJjZSB7XHJcbiAga2V5OiBhbnk7XHJcbiAgdmFsdWU6IGFueTtcclxufVxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwiIWRpcnR5XCI+e3snU2F2ZUNoYW5nZXMnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjcmVhdGUoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiIGRhdGEtZ3VpZGU9XCJjcmVhdGVcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuPC9tYXQtdG9vbGJhcj5cclxuPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgbWF0U29ydD5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRpdGxlXCIgc3RpY2t5PlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snVGl0bGUnfHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC50aXRsZX19IDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgciBvZiByb2xlc1wiIFttYXRDb2x1bW5EZWZdPVwici5uYW1lXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57e3IudGl0bGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cImVsZW1lbnQucm9sZXMgJiYgZWxlbWVudC5yb2xlcy5pbmRleE9mKHIubmFtZSkgPiAtMVwiIChjaGFuZ2UpPVwidG9nZ2xlKGVsZW1lbnQsIHIubmFtZSwgJGV2ZW50KVwiPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm9wdGlvbnNcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxtYXQtbWVudSAjb3B0aW9ucz5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImVkaXQoZWxlbWVudClcIj57eydFZGl0J3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZGVsZXRlKGVsZW1lbnQpXCI+e3snRGlzY2FyZCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPC9tYXQtbWVudT5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxyXG48L3RhYmxlPlxyXG48bWF0LXBhZ2luYXRvciBbcGFnZVNpemVdPVwiUEFHRV9TSVpFXCIgaGlkZVBhZ2VTaXplIHNob3dGaXJzdExhc3RCdXR0b25zICpuZ0lmPVwicGFnaW5nXCI+PC9tYXQtcGFnaW5hdG9yPlxyXG48IS0tIGRpYWxvZyAtLT5cclxuPG5nLXRlbXBsYXRlICNwcm9wZXJ0aWVzPlxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgW3BsYWNlaG9sZGVyXT1cIidUaXRsZSd8dHJhbnNsYXRlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiYXhlc1wiICpuZ0lmPVwiY3ViZVwiIGZ4TGF5b3V0Lmd0LXNtPVwicm93IHdyYXBcIiBmeExheW91dD1cImNvbHVtbiB3cmFwXCJcclxuICAgICAgICAgICBmeExheW91dEdhcD1cIjVweCBncmlkXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlLmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImluY2x1ZGUuaW5kZXhPZihhLm5hbWUpPi0xXCIgZnhGbGV4PVwiNTBcIj5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cInNlZ21lbnRcIiBbcGF0dGVybl09XCJwYXR0ZXJuXCJcclxuICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiYS5uYW1lXCIgW3BsYWNlaG9sZGVyXT1cImEudGl0bGVcIiAvPlxyXG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjc2VnbWVudD5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBzZWdtZW50c1thLm5hbWVdIHwgYXN5bmNcIiBbdmFsdWVdPVwiby5rZXlcIj57e28udmFsdWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiYXhlcy5jb250cm9sc1thLm5hbWVdLmludmFsaWRcIj57eydQYXR0ZXJuRXJyJyB8dHJhbnNsYXRlfX08L21hdC1lcnJvcj5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicm9sZXNcIiBbcGxhY2Vob2xkZXJdPVwiJ1JvbGVzJ3x0cmFuc2xhdGVcIiBtdWx0aXBsZSByZXF1aXJlZD5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCByIG9mIHJvbGVzXCIgW3ZhbHVlXT1cInIubmFtZVwiPnt7ci50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5yb2xlcy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7J1JlcXVpcmVkJ3x0cmFuc2xhdGU6KCdSb2xlcyd8dHJhbnNsYXRlKX19PC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJmb3JtLnZhbHVlXCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCI+e3snT0snfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+e3snQ2FuY2VsJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPHN0eWxlIHNjb3BlZD5cclxuICB0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJVxyXG4gIH1cclxuPC9zdHlsZT5cclxuIl19
|
@@ -7,6 +7,9 @@ export class SystemService {
|
|
7
7
|
constructor(_http) {
|
8
8
|
this._http = _http;
|
9
9
|
}
|
10
|
+
rules(args) {
|
11
|
+
return this._http.get(`/api/system/form/rules`, { params: args });
|
12
|
+
}
|
10
13
|
synchrinize(name) {
|
11
14
|
return this._http.post(`/api/system/cube/${name}/synchronize`, {});
|
12
15
|
}
|
@@ -54,4 +57,4 @@ SystemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versio
|
|
54
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SystemService, decorators: [{
|
55
58
|
type: Injectable
|
56
59
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHN0MsTUFBTSxPQUFPLGFBQWE7SUE2Q3hCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFFckMsQ0FBQztJQTlDRCxLQUFLLENBQUMsSUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVcsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUlELE9BQU8sQ0FBQyxPQUFnRjtRQUN0RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDeEI7WUFDSCxJQUFJLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3RELElBQUksT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEQsSUFBSSxPQUFPLENBQUMsS0FBSztnQkFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNFLElBQUksT0FBTyxDQUFDLEdBQUc7Z0JBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0RTtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWlCLDBCQUEwQixFQUFFO1lBQ2hFLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSztRQUNILE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLDZCQUE2QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBYyx3QkFBd0IsRUFBRTtZQUMzRCxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRTtTQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFXLG9CQUFvQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxJQUFJLENBQUMsSUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU8sb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFVO1FBQ2IsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLG9CQUFvQixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7O0FBckNjLG9CQUFNLEdBQUcsRUFBRyxDQUFBOzBHQVBoQixhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGb3JtLCBSb2xlIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN5c3RlbVNlcnZpY2Uge1xyXG4gIHJ1bGVzKGFyZ3M/OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldCA8IFJ1bGVbXT4oYC9hcGkvc3lzdGVtL2Zvcm0vcnVsZXNgLCB7IHBhcmFtczogYXJncyB9KTtcclxuICB9XHJcbiAgc3luY2hyaW5pemUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KGAvYXBpL3N5c3RlbS9jdWJlLyR7bmFtZX0vc3luY2hyb25pemVgLCB7fSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIF9jYWNoZSA9IHt9O1xyXG4gIGZpbmRBbGwob3B0aW9uczogeyBzZWFyY2g/OiBzdHJpbmcsIHN0YXJ0PzogRGF0ZSwgZW5kPzogRGF0ZSwgZm9ybUlkPzogc3RyaW5nIH0pXHJcbiAgZmluZEFsbChzZWFyY2g/OiBzdHJpbmcpXHJcbiAgZmluZEFsbChvcHRpb25zOiBzdHJpbmcgfCB7IHNlYXJjaD86IHN0cmluZywgc3RhcnQ/OiBEYXRlLCBlbmQ/OiBEYXRlLCBmb3JtSWQ/OiBzdHJpbmcgfSk6IE9ic2VydmFibGU8RG9jdW1lbnRJbmZvW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xyXG4gICAgaWYgKGlzU3RyaW5nKG9wdGlvbnMpKVxyXG4gICAgICBwYXJhbXNbJ3NlYXJjaCddID0gb3B0aW9ucztcclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAob3B0aW9ucy5zZWFyY2gpIHBhcmFtc1snc2VhcmNoJ10gPSBvcHRpb25zLnNlYXJjaDtcclxuICAgICAgaWYgKG9wdGlvbnMuZm9ybUlkKSBwYXJhbXNbJ2Zvcm1JZCddID0gb3B0aW9ucy5mb3JtSWQ7XHJcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSBwYXJhbXNbJ3N0YXJ0J10gPSBuZXcgRGF0ZShvcHRpb25zLnN0YXJ0KS50b0lTT1N0cmluZygpO1xyXG4gICAgICBpZiAob3B0aW9ucy5lbmQpIHBhcmFtc1snZW5kJ10gPSBuZXcgRGF0ZShvcHRpb25zLmVuZCkudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxEb2N1bWVudEluZm9bXT4oJy9hcGkvc3lzdGVtL2Zvcm0vZmluZEFsbCcsIHtcclxuICAgICAgcGFyYW1zXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm9sZXMoKTogT2JzZXJ2YWJsZTxSb2xlW10+IHtcclxuICAgIHJldHVybiBTeXN0ZW1TZXJ2aWNlLl9jYWNoZVsncm9sZXMnXSB8fCAoU3lzdGVtU2VydmljZS5fY2FjaGVbJ3JvbGVzJ10gPVxyXG4gICAgICB0aGlzLl9odHRwLmdldDxSb2xlW10+KCcvYXBpL3N5c3RlbS9wb3NpdGlvbnMvcm9sZXMnKS5waXBlKHNoYXJlUmVwbGF5KCkpKTtcclxuICB9XHJcbiAgcmFuZ2UoZm9ybUlkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSYW5nZUluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFJhbmdlSW5mb1tdPignL2FwaS9zeXN0ZW0vZm9ybS9yYW5nZScsIHtcclxuICAgICAgcGFyYW1zOiB7IGZvcm1JZDogZm9ybUlkIHx8IG51bGwgfVxyXG4gICAgfSkucGlwZSh0YXAociA9PlxyXG4gICAgICByLmZvckVhY2gocCA9PiBwLmRhdGUgPSBuZXcgRGF0ZShwLmRhdGUpKVxyXG4gICAgKSk7XHJcbiAgfVxyXG4gIGN1YmUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Q3ViZUluZm8+KGAvYXBpL3N5c3RlbS9jdWJlLyR7bmFtZX1gKTtcclxuICB9XHJcbiAgZm9ybShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZvcm0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxGb3JtPihgL2FwaS9zeXN0ZW0vZm9ybS8ke25hbWV9YCk7XHJcbiAgfVxyXG4gIHNhdmUoZm9ybTogRm9ybSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB7IHdvcmtmbG93IH0gPSBmb3JtO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PG51bWJlcj4oYC9hcGkvc3lzdGVtL2Zvcm0vJHtmb3JtLm5hbWV9YCwgeyB3b3JrZmxvdyB9KTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCkge1xyXG5cclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSYW5nZUluZm8ge1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbiAgZGF0ZTogRGF0ZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50SW5mbyB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBudW1iZXI6IHN0cmluZztcclxuICBzdWJqZWN0OiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUluZm8geyB9XHJcbmludGVyZmFjZSBSdWxlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG4iXX0=
|
@@ -14,6 +14,7 @@ import * as i8 from "@angular/material/checkbox";
|
|
14
14
|
import * as i9 from "@angular/cdk/text-field";
|
15
15
|
import * as i10 from "@angular/material/input";
|
16
16
|
import * as i11 from "../../core/controls/select.input";
|
17
|
+
import * as i12 from "../../core/controls/auto-complete.input";
|
17
18
|
let BoxFormComponent = class BoxFormComponent {
|
18
19
|
constructor(_fb, ref) {
|
19
20
|
this._fb = _fb;
|
@@ -31,13 +32,13 @@ let BoxFormComponent = class BoxFormComponent {
|
|
31
32
|
}
|
32
33
|
};
|
33
34
|
BoxFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BoxFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FormRef }], target: i0.ɵɵFactoryTarget.Component });
|
34
|
-
BoxFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BoxFormComponent, selector: "ng-component", ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <section *ngFor=\"let s of metadata.sections\" [formGroupName]=\"s.name\">\r\n
|
35
|
+
BoxFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BoxFormComponent, selector: "ng-component", ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <ng-container formGroupName=\"content\"> \r\n <section *ngFor=\"let s of metadata.sections\" [formGroupName]=\"s.name\">\r\n <h2 class=\"mat-title\">{{''}}</h2>\r\n <ng-container [ngSwitch]=\"multiLine\"></ng-container>\r\n <div *ngFor=\"let r of s.rows\" fxLayout=\"row\">\r\n <ng-container *ngFor=\"let f of r.fields\" [ngSwitch]=\"f.kind\">\r\n <mat-form-field *ngSwitchCase=\"'Select'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <bizdoc-select [type]=\"f.dataType\" [formControlName]=\"f.name\" [required]=\"f.required\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Autocomplete'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <bizdoc-autocomplete [type]=\"f.dataType\" [formControlName]=\"f.name\" [required]=\"f.required\"></bizdoc-autocomplete>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Date'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput\r\n [formControlName]=\"f.name\"\r\n [required]=\"f.required\"\r\n [min]=\"f.min\"\r\n [max]=\"f.max\"\r\n [matDatepicker]=\"picker\" />\r\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Text'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <textarea matInput [formControl]=control cdkTextareaAutosize\r\n [formControlName]=\"f.name\"\r\n [required]=\"f.required\" [minlength]=\"f.min\" [maxlength]=\"f.max\"></textarea>\r\n </mat-form-field>\r\n <mat-checkbox [formControlName]=\"f.name\" *ngSwitchCase=\"'Checkbox'\">{{f.label}}</mat-checkbox>\r\n <mat-slide-toggle [formControlName]=\"f.name\" *ngSwitchCase=\"'Switch'\">{{f.label}}</mat-slide-toggle>\r\n <mat-form-field appearance=\"outline\" fxFlex *ngSwitchDefault>\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput [required]=\"f.required\" [formControlName]=\"f.name\" />\r\n </mat-form-field>\r\n \r\n </ng-container>\r\n </div>\r\n </section>\r\n </ng-container>\r\n</form>\r\n", styles: ["form{padding:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i9.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "component", type: i12.TypeAutocomplete, selector: "bizdoc-autocomplete", inputs: ["type", "placeholder", "text", "required", "disabled", "value", "minimumChars", "textFormControlName", "textFormControl"], outputs: ["textChange", "optionSelected"] }] });
|
35
36
|
BoxFormComponent = __decorate([
|
36
37
|
BizDoc({ selector: 'bizdoc-box-form' })
|
37
38
|
], BoxFormComponent);
|
38
39
|
export { BoxFormComponent };
|
39
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BoxFormComponent, decorators: [{
|
40
41
|
type: Component,
|
41
|
-
args: [{ template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <section *ngFor=\"let s of metadata.sections\" [formGroupName]=\"s.name\">\r\n
|
42
|
+
args: [{ template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <ng-container formGroupName=\"content\"> \r\n <section *ngFor=\"let s of metadata.sections\" [formGroupName]=\"s.name\">\r\n <h2 class=\"mat-title\">{{''}}</h2>\r\n <ng-container [ngSwitch]=\"multiLine\"></ng-container>\r\n <div *ngFor=\"let r of s.rows\" fxLayout=\"row\">\r\n <ng-container *ngFor=\"let f of r.fields\" [ngSwitch]=\"f.kind\">\r\n <mat-form-field *ngSwitchCase=\"'Select'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <bizdoc-select [type]=\"f.dataType\" [formControlName]=\"f.name\" [required]=\"f.required\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Autocomplete'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <bizdoc-autocomplete [type]=\"f.dataType\" [formControlName]=\"f.name\" [required]=\"f.required\"></bizdoc-autocomplete>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Date'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput\r\n [formControlName]=\"f.name\"\r\n [required]=\"f.required\"\r\n [min]=\"f.min\"\r\n [max]=\"f.max\"\r\n [matDatepicker]=\"picker\" />\r\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field *ngSwitchCase=\"'Text'\" appearance=\"outline\">\r\n <mat-label>{{f.label}}</mat-label>\r\n <textarea matInput [formControl]=control cdkTextareaAutosize\r\n [formControlName]=\"f.name\"\r\n [required]=\"f.required\" [minlength]=\"f.min\" [maxlength]=\"f.max\"></textarea>\r\n </mat-form-field>\r\n <mat-checkbox [formControlName]=\"f.name\" *ngSwitchCase=\"'Checkbox'\">{{f.label}}</mat-checkbox>\r\n <mat-slide-toggle [formControlName]=\"f.name\" *ngSwitchCase=\"'Switch'\">{{f.label}}</mat-slide-toggle>\r\n <mat-form-field appearance=\"outline\" fxFlex *ngSwitchDefault>\r\n <mat-label>{{f.label}}</mat-label>\r\n <input matInput [required]=\"f.required\" [formControlName]=\"f.name\" />\r\n </mat-form-field>\r\n \r\n </ng-container>\r\n </div>\r\n </section>\r\n </ng-container>\r\n</form>\r\n", styles: ["form{padding:8px}\n"] }]
|
42
43
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.FormRef }]; } });
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9ib3gvYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9ib3gvYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7OztJQVNsQyxnQkFBZ0IsU0FBaEIsZ0JBQWdCO0lBRzNCLFlBQW9CLEdBQWdCLEVBQ2xDLEdBQWtDO1FBRGhCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN2QyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDckYsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU0sQ0FBQyxJQUF3QixFQUFFLE9BQWE7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQUlGLENBQUE7NkdBeEJZLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG9EQ2Q3Qix5Z0ZBNENBO0FEOUJhLGdCQUFnQjtJQUQ1QixNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztHQUMzQixnQkFBZ0IsQ0F3QjVCO1NBeEJZLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUw1QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQm94Rm9ybU1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL2FkbWluL2Zvcm0vZGVzaWduZXIvZGVzaWduZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsIFZpZXdNb2RlIH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgRm9ybVJlZiB9IGZyb20gXCIuLi9mb3JtLXJlZlwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydib3guY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnYml6ZG9jLWJveC1mb3JtJyB9KVxyXG5leHBvcnQgY2xhc3MgQm94Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1Db21wb25lbnQ8YW55PiB7XHJcbiAgbWV0YWRhdGE6IEJveEZvcm1NZXRhZGF0YTtcclxuICBkYXRhOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcmVmOiBGb3JtUmVmPGFueSwgQm94Rm9ybU1ldGFkYXRhPikge1xyXG4gICAgdGhpcy5tZXRhZGF0YSA9IHJlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2ZiLmdyb3VwKHt9KTtcclxuICAgIHRoaXMuZm9ybSA9IF9mYi5ncm91cCh7IGNvbnRlbnQgfSk7XHJcbiAgICB0aGlzLm1ldGFkYXRhLnNlY3Rpb25zLmZvckVhY2gocyA9PiB7XHJcbiAgICAgIGNvbnN0IGdyb3VwID0gX2ZiLmdyb3VwKHt9KTtcclxuICAgICAgcy5yb3dzLmZvckVhY2gociA9PiByLmZpZWxkcy5mb3JFYWNoKGYgPT5cclxuICAgICAgICBncm91cC5hZGRDb250cm9sKGYubmFtZSwgX2ZiLmNvbnRyb2wobnVsbCwgZi5yZXF1aXJlZCA/IFZhbGlkYXRvcnMucmVxdWlyZWQgOiBudWxsKSlcclxuICAgICAgKSk7XHJcbiAgICAgIGNvbnRlbnQuYWRkQ29udHJvbChzLm5hbWUsIGdyb3VwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZWFkb25seSBmb3JtOiBGb3JtR3JvdXA8YW55PjtcclxuICBtb2RlOiBWaWV3TW9kZTtcclxuICBvbkJpbmQoZGF0YTogRG9jdW1lbnRNb2RlbDxhbnk+LCB2ZXJzaW9uPzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gIH1cclxuLy8gIG9uU2F2ZSgpIHtcclxuLy8gICAgcmV0dXJuIHRydWU7XHJcbi8vICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBmb3JtR3JvdXBOYW1lPVwiY29udGVudFwiPiAgICBcclxuICAgIDxzZWN0aW9uICpuZ0Zvcj1cImxldCBzIG9mIG1ldGFkYXRhLnNlY3Rpb25zXCIgW2Zvcm1Hcm91cE5hbWVdPVwicy5uYW1lXCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7Jyd9fTwvaDI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm11bHRpTGluZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByIG9mIHMucm93c1wiIGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiByLmZpZWxkc1wiIFtuZ1N3aXRjaF09XCJmLmtpbmRcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdTd2l0Y2hDYXNlPVwiJ1NlbGVjdCdcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7Zi5sYWJlbH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxiaXpkb2Mtc2VsZWN0IFt0eXBlXT1cImYuZGF0YVR5cGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImYubmFtZVwiIFtyZXF1aXJlZF09XCJmLnJlcXVpcmVkXCI+PC9iaXpkb2Mtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdTd2l0Y2hDYXNlPVwiJ0F1dG9jb21wbGV0ZSdcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7Zi5sYWJlbH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxiaXpkb2MtYXV0b2NvbXBsZXRlIFt0eXBlXT1cImYuZGF0YVR5cGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImYubmFtZVwiIFtyZXF1aXJlZF09XCJmLnJlcXVpcmVkXCI+PC9iaXpkb2MtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdTd2l0Y2hDYXNlPVwiJ0RhdGUnXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2YubGFiZWx9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZi5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmLnJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZi5taW5cIlxyXG4gICAgICAgICAgICAgICAgICAgW21heF09XCJmLm1heFwiXHJcbiAgICAgICAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIiAvPlxyXG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIFtmb3JdPVwicGlja2VyXCIgbWF0U3VmZml4PjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdTd2l0Y2hDYXNlPVwiJ1RleHQnXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2YubGFiZWx9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1jb250cm9sIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZi5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmLnJlcXVpcmVkXCIgW21pbmxlbmd0aF09XCJmLm1pblwiIFttYXhsZW5ndGhdPVwiZi5tYXhcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggW2Zvcm1Db250cm9sTmFtZV09XCJmLm5hbWVcIiAqbmdTd2l0Y2hDYXNlPVwiJ0NoZWNrYm94J1wiPnt7Zi5sYWJlbH19PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbZm9ybUNvbnRyb2xOYW1lXT1cImYubmFtZVwiICpuZ1N3aXRjaENhc2U9XCInU3dpdGNoJ1wiPnt7Zi5sYWJlbH19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgZnhGbGV4ICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tmLmxhYmVsfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFtyZXF1aXJlZF09XCJmLnJlcXVpcmVkXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmLm5hbWVcIiAvPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9mb3JtPlxyXG4iXX0=
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
72
72
|
type: Injectable,
|
73
73
|
args: [{ providedIn: 'root' }]
|
74
74
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3pELE1BQU07QUFFTixNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFGN0IsV0FBTSxHQUEyRCxFQUFFLENBQUM7SUFJNUUsQ0FBQztJQVZELElBQUksQ0FBQyxJQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBT0Q7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLElBQVksRUFBRSxLQUFVO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLElBQVksRUFBRSxXQUF3QztRQUN4RCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUM7Z0JBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7Z0JBQ2hHLE9BQU8sSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDeEM7UUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxFQUFTLENBQUM7WUFDekIsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDO29CQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQTs7b0JBQy9CLE1BQU0sQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDO2FBQ2pDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQTBCLGlCQUFpQixJQUFJLEVBQUUsRUFDaEY7Z0JBQ0UsTUFBTTthQUNQLENBQUMsQ0FBQztZQUVMLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUNqRTtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFtQixJQUFZLEVBQUUsV0FBd0M7UUFDMUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFRLENBQUM7SUFDbEUsQ0FBQzs7OEdBakVVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREosTUFBTTsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBpc09iamVjdCwgbWFwVG9BcnJheSB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgUGFyYW1NYXAsIFNjb3BlVHlwZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbic7XHJcblxyXG4vKiogKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIERhdGFzb3VyY2VTZXJ2aWNlIHtcclxuICBrZXlzKHR5cGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwKHR5cGUpLnBpcGUobWFwKG0gPT5cclxuICAgICAgT2JqZWN0LmtleXMobSlcclxuICAgICkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2FjaGU6IHsgW3R5cGU6IHN0cmluZ106IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBhbnkgfT4gfSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcblxyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdHlwZVxyXG4gICAqIEBwYXJhbSBrZXlcclxuICAgKi9cclxuICBnZXQodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXAodHlwZSkucGlwZShtYXAobSA9PiBtW2tleV0gfHwga2V5KSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB0eXBlXHJcbiAgICogQHBhcmFtIHZhbHVlXHJcbiAgICovXHJcbiAga2V5T2YodHlwZTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcCh0eXBlKS5waXBlKG1hcChtID0+IE9iamVjdC5rZXlzKG0pLmZpbmQoayA9PiBtW2tdID09PSB2YWx1ZSkpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHR5cGVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgbWFwKHR5cGU6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBzdHJpbmcgfCBudW1iZXIgfCBQYXJhbU1hcCk6IE9ic2VydmFibGU8eyBbbmFtZTogc3RyaW5nXTogYW55IH0+IHtcclxuICAgIGxldCBjYWNoZUlkID0gdHlwZTtcclxuICAgIGlmIChxdWVyeVBhcmFtcykge1xyXG4gICAgICBpZiAoaXNPYmplY3QocXVlcnlQYXJhbXMpKSBPYmplY3Qua2V5cyhxdWVyeVBhcmFtcykuZm9yRWFjaChrID0+IGNhY2hlSWQgKz0gYCR7a30ke3F1ZXJ5UGFyYW1zW2tdfWApO1xyXG4gICAgICBlbHNlIGNhY2hlSWQgKz0gcXVlcnlQYXJhbXMudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIGxldCBvYnNlcnZlID0gdGhpcy5fY2FjaGVbY2FjaGVJZF07XHJcblxyXG4gICAgaWYgKCFvYnNlcnZlKSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHt9IGFzIGFueTtcclxuICAgICAgaWYgKHF1ZXJ5UGFyYW1zKSB7XHJcbiAgICAgICAgaWYgKGlzT2JqZWN0KHF1ZXJ5UGFyYW1zKSlcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCBxdWVyeVBhcmFtcylcclxuICAgICAgICBlbHNlIHBhcmFtcy52YWx1ZSA9IHF1ZXJ5UGFyYW1zO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSB0aGlzLl9odHRwLmdldDx7IFtuYW1lOiBzdHJpbmddOiBhbnkgfT4oYC9hcGkvZGF0YXR5cGUvJHt0eXBlfWAsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGFyYW1zXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICBvYnNlcnZlID0gdGhpcy5fY2FjaGVbY2FjaGVJZF0gPSBkYXRhU291cmNlLnBpcGUoc2hhcmVSZXBsYXkoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9ic2VydmU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB0eXBlXHJcbiAgICogQHBhcmFtIHBhcmFtc1xyXG4gICAqL1xyXG4gIGFsbDxLID0gYW55LCBWID0gYW55Pih0eXBlOiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzogc3RyaW5nIHwgbnVtYmVyIHwgUGFyYW1NYXApOiBPYnNlcnZhYmxlPHsga2V5OiBLOyB2YWx1ZTogViB9W10+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcCh0eXBlLCBxdWVyeVBhcmFtcykucGlwZShtYXAobWFwVG9BcnJheSkpIGFzIGFueTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcclxuICBwYXJhbXM/O1xyXG4gIGRlcGVuZGVuY2llcz86IFBhcmFtTWFwO1xyXG59XHJcbiJdfQ==
|
@@ -9,11 +9,18 @@ export function isImage(contentType) {
|
|
9
9
|
export function cleanup(params) {
|
10
10
|
Object.keys(params).forEach(k => {
|
11
11
|
const val = params[k];
|
12
|
-
if (val === null || val === undefined
|
12
|
+
if (val === null || val === undefined)
|
13
13
|
delete params[k];
|
14
|
+
else if (typeof val === 'string' || val instanceof Date || typeof val === 'boolean')
|
15
|
+
return;
|
16
|
+
else if (Array.isArray(val)) {
|
17
|
+
if (val.length === 0)
|
18
|
+
return;
|
19
|
+
val.forEach(e => cleanup(e));
|
20
|
+
}
|
14
21
|
else if (isObject(val)) {
|
15
22
|
cleanup(val);
|
16
|
-
if (
|
23
|
+
if (Object.keys(val).length === 0)
|
17
24
|
delete params[k];
|
18
25
|
}
|
19
26
|
});
|
@@ -207,4 +214,4 @@ function getParameterByName(name, url = window.location.href) {
|
|
207
214
|
return '';
|
208
215
|
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
209
216
|
}
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUV6RSxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQTJCO0lBQ3BELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFdBQW1CO0lBQ3pDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxNQUFNO0lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRixJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixPQUFPLENBQUMsR0FBRyxD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O2lCQUMzRDs7b0JBRUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUNELFNBQVMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7SUFDMUQsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLElBQUksS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsbUJBQW1CLENBQUMsRUFDekQsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLElBQUksQ0FBQztJQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNCLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUFURVJJQUxfUEFMRVRURVMgfSBmcm9tIFwiLi9jb2xvcnNcIjtcclxuXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTWF0ZXJpYWxNb2RlID0gNTAgfCAxMDAgfCAyMDAgfCAzMDAgfCA0MDAgfCA1MDAgfCA2MDAgfCA3MDAgfCA4MDAgfCA5MDAgfCAnQTEwMCcgfCAnQTIwMCcgfCAnQTQwMCcgfCAnQTcwMCc7XHJcblxyXG5jb25zdCBJTUFHRV9UWVBFID0gWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9qcGcnLCAnaW1hZ2UvZ2lmJ107XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9BcnJheShtYXA6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcclxuICByZXR1cm4gT2JqZWN0LmtleXMobWFwKS5tYXAoayA9PiAoeyBrZXk6IGssIHZhbHVlOiBtYXBba10gfSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNJbWFnZShjb250ZW50VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIElNQUdFX1RZUEUuaW5kZXhPZihjb250ZW50VHlwZSkgPiAtMTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXAocGFyYW1zKSB7XHJcbiAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xyXG4gICAgY29uc3QgdmFsID0gcGFyYW1zW2tdO1xyXG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCB8fCAoaXNBcnJheSh2YWwpICYmICF2YWwubGVuZ3RoKSkgZGVsZXRlIHBhcmFtc1trXTtcclxuICAgIGVsc2UgaWYgKGlzT2JqZWN0KHZhbCkpIHtcclxuICAgICAgY2xlYW51cCh2YWwpO1xyXG4gICAgICBpZiAoIU9iamVjdC5rZXlzKHZhbCkubGVuZ3RoKSBkZWxldGUgcGFyYW1zW2tdO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIHJldHVybiBwYXJhbXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBvdXRPZkJvdW5kKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgY29uc3QgYm91bmRpbmcgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gIHJldHVybiBib3VuZGluZy50b3AgPCAwIHx8XHJcbiAgICBib3VuZGluZy5sZWZ0IDwgMCB8fFxyXG4gICAgYm91bmRpbmcucmlnaHQgPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHxcclxuICAgIGJvdW5kaW5nLmJvdHRvbSA+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbn1cclxuXHJcbmNvbnN0IElTX01PQklMRSA9IC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuZXhwb3J0IGZ1bmN0aW9uIGlzTW9iaWxlKCkge1xyXG4gIHJldHVybiBJU19NT0JJTEUgLyp8fCBkb2N1bWVudC5jb29raWUuaW5kZXhPZignYXJpYT0xJykgPiAtMSovO1xyXG59IGV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbCk6IHZhbCBpcyBGdW5jdGlvbiB7XHJcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbic7XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbih2YWwpOiB2YWwgaXMgYm9vbGVhbiB7XHJcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdib29sZWFuJztcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3QodmFsKSB7XHJcbiAgcmV0dXJuIHZhbCAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsKSB7XHJcbiAgcmV0dXJuIHR5cGVvZiB2YWwgIT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbCk7XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbWlzZShvYmopOiBvYmogaXMgUHJvbWlzZTxhbnk+IHtcclxuICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUHJvbWlzZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbCk6IHZhbCBpcyBEYXRlIHtcclxuICByZXR1cm4gdmFsIGluc3RhbmNlb2YgRGF0ZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJheSh2YWwpOiB2YWwgaXMgQXJyYXk8YW55PiB7XHJcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsKTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nIHtcclxuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdmFsIGluc3RhbmNlb2YgU3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2Fybihtb2RlOiBNYXRlcmlhbE1vZGUgPSA1MDApIHtcclxuICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbJ3JlZCddW21vZGVdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGxheUF1ZGlvKG5hbWU6ICdub3RpZmljYXRpb25fc2ltcGxlLTAxJyB8ICdhbGVydF9lcnJvci0wMycpIHtcclxuICB0cnkge1xyXG4gICAgY29uc3QgYXVkaW8gPSBuZXcgQXVkaW8oKTtcclxuICAgIGF1ZGlvLnNyYyA9IGAvYXNzZXRzL3NvdW5kcy8ke25hbWV9Lm9nZ2A7XHJcbiAgICBhdWRpby5sb2FkKCk7XHJcbiAgICBhdWRpby5wbGF5KCk7XHJcbiAgfSBjYXRjaCAoZSkge1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogXHJcbiAqIEBwYXJhbSBvMVxyXG4gKiBAcGFyYW0gbzJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWVwQXNzaWduKG8xLCBvMikge1xyXG4gIG8yICYmIE9iamVjdC5rZXlzKG8yKS5mb3JFYWNoKHAgPT4ge1xyXG4gICAgY29uc3QgdmFsMiA9IG8yW3BdLCB2YWwxID0gbzFbcF07XHJcbiAgICBpZiAodmFsMSA9PT0gdW5kZWZpbmVkIHx8IHZhbDEgPT09IG51bGwgfHwgaXNQcmltaXRpdmUodmFsMikpIC8vIHZhbCAhPT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkodmFsKVxyXG4gICAgICBvMVtwXSA9IHZhbDI7XHJcbiAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbDIpKSB7XHJcbiAgICAgIGlmICh2YWwyLmxlbmd0aCAmJiAhaXNQcmltaXRpdmUodmFsMlswXSkpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbDIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICh2YWwxW2ldICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIGRlZXBBc3NpZ24odmFsMVtpXSwgdmFsMltpXSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHZhbDEucHVzaCh2YWwyW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgKHZhbDEgYXMgYW55W10pLnNwbGljZSh2YWwyLmxlbmd0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIC8vKHZhbDIgYXMgYW55W10pLnNwbGljZSgwLCB2YWwyLmxlbmd0aCwgLi4udmFsKTtcclxuICAgICAgICBvMVtwXSA9IHZhbDI7XHJcbiAgICB9XHJcbiAgICBlbHNlIC8vaWYgKGlzT2JqZWN0KHZhbDIpKVxyXG4gICAgICBkZWVwQXNzaWduKHZhbDEsIHZhbDIpO1xyXG4gIH0pO1xyXG4gIHJldHVybiBvMTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVFbmNyeXB0aW9uTWFwKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0ge1xyXG4gIGNvbnN0IHZhbHVlcyA9IHt9O1xyXG4gIGZvciAobGV0IGkgPSA2NTsgaSA8IDkxOyBpKyspIHtcclxuICAgIGNvbnN0IGQgPSAoaSAtIDY1KS50b1N0cmluZygpLFxyXG4gICAgICBjID0gU3RyaW5nLmZyb21DaGFyQ29kZShpKTtcclxuICAgIHZhbHVlc1tkXSA9IGM7XHJcbiAgICB2YWx1ZXNbY10gPSBkO1xyXG4gIH1cclxuICBmb3IgKGxldCBpID0gOTc7IGkgPCAxMjM7IGkrKykge1xyXG4gICAgY29uc3QgZCA9IChpIC0gNzEpLnRvU3RyaW5nKCksXHJcbiAgICAgIGMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpO1xyXG4gICAgdmFsdWVzW2RdID0gYztcclxuICAgIHZhbHVlc1tjXSA9IGQ7XHJcbiAgfVxyXG4gIHJldHVybiB2YWx1ZXM7XHJcbn1cclxuY29uc3QgZGVjb2RlID0gZ2VuZXJhdGVFbmNyeXB0aW9uTWFwKCk7XHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgU3RyaW5nIHtcclxuICAgIGRlY29kZUlkOiAoKSA9PiBudW1iZXI7XHJcbiAgfVxyXG4gIGludGVyZmFjZSBOdW1iZXIge1xyXG4gICAgZW5jb2RlSWQ6ICgpID0+IHN0cmluZztcclxuICB9XHJcbn1cclxuU3RyaW5nLnByb3RvdHlwZS5kZWNvZGVJZCA9IGZ1bmN0aW9uICgpOiBudW1iZXIge1xyXG4gIGxldCB2ID0gJyc7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBjID0gdGhpcy5jaGFyQXQoaSk7XHJcbiAgICB2ICs9IGRlY29kZVtjXTtcclxuICB9XHJcbiAgcmV0dXJuIHBhcnNlSW50KHYpO1xyXG59O1xyXG5OdW1iZXIucHJvdG90eXBlLmVuY29kZUlkID0gZnVuY3Rpb24gKCk6IHN0cmluZyB7XHJcbiAgbGV0IHYgPSAnJyxcclxuICAgIGQgPSB0aGlzLnRvU3RyaW5nKCk7XHJcbiAgd2hpbGUgKGQubGVuZ3RoID4gMCkge1xyXG4gICAgbGV0IGkgPSA1MSxcclxuICAgICAgYyA9IGkudG9TdHJpbmcoKTtcclxuICAgIHdoaWxlICghZC5zdGFydHNXaXRoKGMpKSB7XHJcbiAgICAgIC0taSwgYyA9IGkudG9TdHJpbmcoKTtcclxuICAgIH0gdiArPSBkZWNvZGVbY107XHJcbiAgICBkID0gZC5zdWJzdHJpbmcoYy5sZW5ndGgpO1xyXG4gIH1cclxuICByZXR1cm4gdjtcclxufTtcclxuXHJcbi8qKiBnbG9iYWwgZXh0ZW5kZWQgYXJyYXkgZnVuY3Rpb25zICovXHJcbih3aW5kb3cgYXMgYW55KS5nbG9iYWwgPSB3aW5kb3c7XHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgQXJyYXk8VD4ge1xyXG4gICAgcmVtb3ZlKGl0ZW06IFQpOiBUW107XHJcbiAgICBsYXN0KCk6IFQ7XHJcbiAgICBhdmVyYWdlKHByZWRpY2F0ZTogKGk6IFQpID0+IG51bWJlcik6IG51bWJlcjtcclxuICAgIGRpc3RpbmN0PE0+KHByZWRpY2F0ZTogKGk6IFQpID0+IE0pOiBTZXQ8TT47XHJcbiAgICBzdW0ocHJlZGljYXRlOiAoaTogVCkgPT4gbnVtYmVyKTogbnVtYmVyO1xyXG4gICAgbWF4KHByZWRpY2F0ZTogKGk6IFQpID0+IG51bWJlcik6IG51bWJlcjtcclxuICB9XHJcbiAgaW50ZXJmYWNlIFN0cmluZyB7XHJcbiAgICBmb3JtYXRBcmdzKC4uLmFyZ3MpOiBzdHJpbmc7XHJcbiAgICBub3JtYWxpemUoKTogc3RyaW5nO1xyXG4gIH1cclxufVxyXG5TdHJpbmcucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uICgpIHtcclxuICByZXR1cm4gdGhpcy5yZXBsYWNlKC8gL2csICdfJykucmVwbGFjZSgvW15cXHddL2csICcnKS50b0xvd2VyQ2FzZSgpO1xyXG59XHJcblxyXG5TdHJpbmcucHJvdG90eXBlLmZvcm1hdEFyZ3MgPSBmdW5jdGlvbiAoLi4uYXJncyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHRoaXMucmVwbGFjZSgveyhcXGQrKX0vZywgKF8sIGluZGV4KSA9PiBhcmdzW2luZGV4XSB8fCAnJyk7XHJcbn1cclxuQXJyYXkucHJvdG90eXBlLmxhc3QgPSBmdW5jdGlvbiAoKSB7XHJcbiAgcmV0dXJuIHRoaXNbdGhpcy5sZW5ndGggLSAxXTtcclxufVxyXG4vKiogcmVtb3ZlIGVsZW1lbnQgZnJvbSBhcnJheSAqL1xyXG5BcnJheS5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gPFQ+KHZhbHVlOiBUKTogVFtdIHtcclxuICBjb25zdCBpbmRleCA9IHRoaXMuaW5kZXhPZih2YWx1ZSk7XHJcbiAgaWYgKGluZGV4ID4gLTEpIHRoaXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICByZXR1cm4gdGhpcztcclxufTtcclxuLyoqIGNhbGN1bGF0ZSBhdmVyYWdlIHVzaW5nIGVsZW1lbnQgcHJlZGljYXRlICovXHJcbkFycmF5LnByb3RvdHlwZS5hdmVyYWdlID0gZnVuY3Rpb24gPFQ+KHByZWRpY2F0ZT86IChpOiBUKSA9PiBudW1iZXIpOiBudW1iZXIge1xyXG4gIGxldCBhdmVyYWdlID0gMDtcclxuICB0aGlzLmZvckVhY2goaSA9PlxyXG4gICAgYXZlcmFnZSArPSBwcmVkaWNhdGUoaSlcclxuICApO1xyXG4gIHJldHVybiBhdmVyYWdlICE9PSAwID8gYXZlcmFnZSAvIHRoaXMubGVuZ3RoIDogMDtcclxufVxyXG5BcnJheS5wcm90b3R5cGUuZGlzdGluY3QgPSBmdW5jdGlvbiA8VCwgTT4ocHJlZGljYXRlPzogKGk6IFQpID0+IE0pOiBTZXQ8TT4ge1xyXG4gIGNvbnN0IHZhbHVlcyA9IG5ldyBTZXQ8TT4oKTtcclxuICB0aGlzLmZvckVhY2goaSA9PlxyXG4gICAgdmFsdWVzLmFkZChwcmVkaWNhdGUoaSkpXHJcbiAgKTtcclxuICByZXR1cm4gdmFsdWVzO1xyXG59XHJcbkFycmF5LnByb3RvdHlwZS5tYXggPSBmdW5jdGlvbiA8VD4ocHJlZGljYXRlPzogKGk6IFQpID0+IG51bWJlcik6IG51bWJlciB7XHJcbiAgbGV0IG4gPSAwO1xyXG4gIHRoaXMuZm9yRWFjaChpID0+XHJcbiAgICBuID0gTWF0aC5tYXgobiwgcHJlZGljYXRlKGkpKVxyXG4gICk7XHJcbiAgcmV0dXJuIG47XHJcbn1cclxuLyoqIHN1bSBlbGVtZW50cyB1c2luZyBwcmVkaWNhdGUgKi9cclxuQXJyYXkucHJvdG90eXBlLnN1bSA9IGZ1bmN0aW9uIDxUPihwcmVkaWNhdGU/OiAoaTogVCkgPT4gbnVtYmVyKTogbnVtYmVyIHtcclxuICBsZXQgbiA9IDA7XHJcbiAgdGhpcy5mb3JFYWNoKGkgPT5cclxuICAgIG4gKz0gcHJlZGljYXRlKGkpXHJcbiAgKTtcclxuICByZXR1cm4gbjtcclxufVxyXG4vKipcclxuICogXHJcbiAqIEBwYXJhbSBhcmdzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlQYXJhbXMoYXJnczogYW55KSB7XHJcbiAgY29uc3QgcGFyYW1zID0ge307XHJcbiAgYXJncyAmJlxyXG4gICAgT2JqZWN0LmtleXMoYXJncykuZm9yRWFjaChrID0+IHtcclxuICAgICAgY29uc3QgdmFsID0gYXJnc1trXTtcclxuXHJcbiAgICAgIGlmICh2YWwgIT09IG51bGwgJiYgdmFsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAoaXNTdHJpbmcodmFsKSlcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbDtcclxuICAgICAgICBlbHNlIGlmIChpc0FycmF5KHZhbCkgJiYgdmFsLmxlbmd0aClcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbDtcclxuICAgICAgICBlbHNlIGlmIChpc0RhdGUodmFsKSlcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbC50b0pTT04oKTtcclxuICAgICAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7XHJcbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXModmFsKS5sZW5ndGgpIHBhcmFtc1trXSA9IHF1ZXJ5UGFyYW1zKHZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgcmV0dXJuIHBhcmFtcztcclxufVxyXG5mdW5jdGlvbiBnZXRQYXJhbWV0ZXJCeU5hbWUobmFtZSwgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYpIHtcclxuICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFxbXFxdXS9nLCAnXFxcXCQmJyk7XHJcbiAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgnWz8mXScgKyBuYW1lICsgJyg9KFteJiNdKil8JnwjfCQpJyksXHJcbiAgICByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xyXG4gIGlmICghcmVzdWx0cykgcmV0dXJuIG51bGw7XHJcbiAgaWYgKCFyZXN1bHRzWzJdKSByZXR1cm4gJyc7XHJcbiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzJdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcclxufVxyXG4iXX0=
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUV6RSxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQTJCO0lBQ3BELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFdBQW1CO0lBQ3pDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxNQUFNO0lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVM7WUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLFlBQVksSUFBSSxJQUFJLE9BQU8sR0FBRyxLQUFLLFNBQVM7WUFBRSxPQUFPO2FBQ3ZGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxH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QUFDO29CQUNsQixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO3FCQUN0QixJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdEIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07d0JBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDM0Q7O29CQUVDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7YUFDbkI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFDRCxTQUFTLGtCQUFrQixDQUFDLElBQUksRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO0lBQzFELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2QyxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEVBQ3pELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMzQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1BVEVSSUFMX1BBTEVUVEVTIH0gZnJvbSBcIi4vY29sb3JzXCI7XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIE1hdGVyaWFsTW9kZSA9IDUwIHwgMTAwIHwgMjAwIHwgMzAwIHwgNDAwIHwgNTAwIHwgNjAwIHwgNzAwIHwgODAwIHwgOTAwIHwgJ0ExMDAnIHwgJ0EyMDAnIHwgJ0E0MDAnIHwgJ0E3MDAnO1xyXG5cclxuY29uc3QgSU1BR0VfVFlQRSA9IFsnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvanBnJywgJ2ltYWdlL2dpZiddO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1hcFRvQXJyYXkobWFwOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCkubWFwKGsgPT4gKHsga2V5OiBrLCB2YWx1ZTogbWFwW2tdIH0pKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzSW1hZ2UoY29udGVudFR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBJTUFHRV9UWVBFLmluZGV4T2YoY29udGVudFR5cGUpID4gLTE7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwKHBhcmFtcykge1xyXG4gIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaChrID0+IHtcclxuICAgIGNvbnN0IHZhbCA9IHBhcmFtc1trXTtcclxuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQpIGRlbGV0ZSBwYXJhbXNba107XHJcbiAgICBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB2YWwgaW5zdGFuY2VvZiBEYXRlIHx8IHR5cGVvZiB2YWwgPT09ICdib29sZWFuJykgcmV0dXJuO1xyXG4gICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XHJcbiAgICAgIGlmICh2YWwubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICAgIHZhbC5mb3JFYWNoKGUgPT4gY2xlYW51cChlKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7XHJcbiAgICAgIGNsZWFudXAodmFsKTtcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKHZhbCkubGVuZ3RoID09PSAwKSBkZWxldGUgcGFyYW1zW2tdO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIHJldHVybiBwYXJhbXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBvdXRPZkJvdW5kKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgY29uc3QgYm91bmRpbmcgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gIHJldHVybiBib3VuZGluZy50b3AgPCAwIHx8XHJcbiAgICBib3VuZGluZy5sZWZ0IDwgMCB8fFxyXG4gICAgYm91bmRpbmcucmlnaHQgPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHxcclxuICAgIGJvdW5kaW5nLmJvdHRvbSA+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbn1cclxuXHJcbmNvbnN0IElTX01PQklMRSA9IC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuZXhwb3J0IGZ1bmN0aW9uIGlzTW9iaWxlKCkge1xyXG4gIHJldHVybiBJU19NT0JJTEUgLyp8fCBkb2N1bWVudC5jb29raWUuaW5kZXhPZignYXJpYT0xJykgPiAtMSovO1xyXG59IGV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbCk6IHZhbCBpcyBGdW5jdGlvbiB7XHJcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbic7XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbih2YWwpOiB2YWwgaXMgYm9vbGVhbiB7XHJcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdib29sZWFuJztcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3QodmFsKSB7XHJcbiAgcmV0dXJuIHZhbCAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsKSB7XHJcbiAgcmV0dXJuIHR5cGVvZiB2YWwgIT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbCk7XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbWlzZShvYmopOiBvYmogaXMgUHJvbWlzZTxhbnk+IHtcclxuICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUHJvbWlzZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbCk6IHZhbCBpcyBEYXRlIHtcclxuICByZXR1cm4gdmFsIGluc3RhbmNlb2YgRGF0ZTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJheSh2YWwpOiB2YWwgaXMgQXJyYXk8YW55PiB7XHJcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsKTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nIHtcclxuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdmFsIGluc3RhbmNlb2YgU3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2Fybihtb2RlOiBNYXRlcmlhbE1vZGUgPSA1MDApIHtcclxuICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbJ3JlZCddW21vZGVdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGxheUF1ZGlvKG5hbWU6ICdub3RpZmljYXRpb25fc2ltcGxlLTAxJyB8ICdhbGVydF9lcnJvci0wMycpIHtcclxuICB0cnkge1xyXG4gICAgY29uc3QgYXVkaW8gPSBuZXcgQXVkaW8oKTtcclxuICAgIGF1ZGlvLnNyYyA9IGAvYXNzZXRzL3NvdW5kcy8ke25hbWV9Lm9nZ2A7XHJcbiAgICBhdWRpby5sb2FkKCk7XHJcbiAgICBhdWRpby5wbGF5KCk7XHJcbiAgfSBjYXRjaCAoZSkge1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogXHJcbiAqIEBwYXJhbSBvMVxyXG4gKiBAcGFyYW0gbzJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWVwQXNzaWduKG8xLCBvMikge1xyXG4gIG8yICYmIE9iamVjdC5rZXlzKG8yKS5mb3JFYWNoKHAgPT4ge1xyXG4gICAgY29uc3QgdmFsMiA9IG8yW3BdLCB2YWwxID0gbzFbcF07XHJcbiAgICBpZiAodmFsMSA9PT0gdW5kZWZpbmVkIHx8IHZhbDEgPT09IG51bGwgfHwgaXNQcmltaXRpdmUodmFsMikpIC8vIHZhbCAhPT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkodmFsKVxyXG4gICAgICBvMVtwXSA9IHZhbDI7XHJcbiAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbDIpKSB7XHJcbiAgICAgIGlmICh2YWwyLmxlbmd0aCAmJiAhaXNQcmltaXRpdmUodmFsMlswXSkpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbDIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICh2YWwxW2ldICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIGRlZXBBc3NpZ24odmFsMVtpXSwgdmFsMltpXSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHZhbDEucHVzaCh2YWwyW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgKHZhbDEgYXMgYW55W10pLnNwbGljZSh2YWwyLmxlbmd0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIC8vKHZhbDIgYXMgYW55W10pLnNwbGljZSgwLCB2YWwyLmxlbmd0aCwgLi4udmFsKTtcclxuICAgICAgICBvMVtwXSA9IHZhbDI7XHJcbiAgICB9XHJcbiAgICBlbHNlIC8vaWYgKGlzT2JqZWN0KHZhbDIpKVxyXG4gICAgICBkZWVwQXNzaWduKHZhbDEsIHZhbDIpO1xyXG4gIH0pO1xyXG4gIHJldHVybiBvMTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVFbmNyeXB0aW9uTWFwKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0ge1xyXG4gIGNvbnN0IHZhbHVlcyA9IHt9O1xyXG4gIGZvciAobGV0IGkgPSA2NTsgaSA8IDkxOyBpKyspIHtcclxuICAgIGNvbnN0IGQgPSAoaSAtIDY1KS50b1N0cmluZygpLFxyXG4gICAgICBjID0gU3RyaW5nLmZyb21DaGFyQ29kZShpKTtcclxuICAgIHZhbHVlc1tkXSA9IGM7XHJcbiAgICB2YWx1ZXNbY10gPSBkO1xyXG4gIH1cclxuICBmb3IgKGxldCBpID0gOTc7IGkgPCAxMjM7IGkrKykge1xyXG4gICAgY29uc3QgZCA9IChpIC0gNzEpLnRvU3RyaW5nKCksXHJcbiAgICAgIGMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpO1xyXG4gICAgdmFsdWVzW2RdID0gYztcclxuICAgIHZhbHVlc1tjXSA9IGQ7XHJcbiAgfVxyXG4gIHJldHVybiB2YWx1ZXM7XHJcbn1cclxuY29uc3QgZGVjb2RlID0gZ2VuZXJhdGVFbmNyeXB0aW9uTWFwKCk7XHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgU3RyaW5nIHtcclxuICAgIGRlY29kZUlkOiAoKSA9PiBudW1iZXI7XHJcbiAgfVxyXG4gIGludGVyZmFjZSBOdW1iZXIge1xyXG4gICAgZW5jb2RlSWQ6ICgpID0+IHN0cmluZztcclxuICB9XHJcbn1cclxuU3RyaW5nLnByb3RvdHlwZS5kZWNvZGVJZCA9IGZ1bmN0aW9uICgpOiBudW1iZXIge1xyXG4gIGxldCB2ID0gJyc7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBjID0gdGhpcy5jaGFyQXQoaSk7XHJcbiAgICB2ICs9IGRlY29kZVtjXTtcclxuICB9XHJcbiAgcmV0dXJuIHBhcnNlSW50KHYpO1xyXG59O1xyXG5OdW1iZXIucHJvdG90eXBlLmVuY29kZUlkID0gZnVuY3Rpb24gKCk6IHN0cmluZyB7XHJcbiAgbGV0IHYgPSAnJyxcclxuICAgIGQgPSB0aGlzLnRvU3RyaW5nKCk7XHJcbiAgd2hpbGUgKGQubGVuZ3RoID4gMCkge1xyXG4gICAgbGV0IGkgPSA1MSxcclxuICAgICAgYyA9IGkudG9TdHJpbmcoKTtcclxuICAgIHdoaWxlICghZC5zdGFydHNXaXRoKGMpKSB7XHJcbiAgICAgIC0taSwgYyA9IGkudG9TdHJpbmcoKTtcclxuICAgIH0gdiArPSBkZWNvZGVbY107XHJcbiAgICBkID0gZC5zdWJzdHJpbmcoYy5sZW5ndGgpO1xyXG4gIH1cclxuICByZXR1cm4gdjtcclxufTtcclxuXHJcbi8qKiBnbG9iYWwgZXh0ZW5kZWQgYXJyYXkgZnVuY3Rpb25zICovXHJcbih3aW5kb3cgYXMgYW55KS5nbG9iYWwgPSB3aW5kb3c7XHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgQXJyYXk8VD4ge1xyXG4gICAgcmVtb3ZlKGl0ZW06IFQpOiBUW107XHJcbiAgICBsYXN0KCk6IFQ7XHJcbiAgICBhdmVyYWdlKHByZWRpY2F0ZTogKGk6IFQpID0+IG51bWJlcik6IG51bWJlcjtcclxuICAgIGRpc3RpbmN0PE0+KHByZWRpY2F0ZTogKGk6IFQpID0+IE0pOiBTZXQ8TT47XHJcbiAgICBzdW0ocHJlZGljYXRlOiAoaTogVCkgPT4gbnVtYmVyKTogbnVtYmVyO1xyXG4gICAgbWF4KHByZWRpY2F0ZTogKGk6IFQpID0+IG51bWJlcik6IG51bWJlcjtcclxuICB9XHJcbiAgaW50ZXJmYWNlIFN0cmluZyB7XHJcbiAgICBmb3JtYXRBcmdzKC4uLmFyZ3MpOiBzdHJpbmc7XHJcbiAgICBub3JtYWxpemUoKTogc3RyaW5nO1xyXG4gIH1cclxufVxyXG5TdHJpbmcucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uICgpIHtcclxuICByZXR1cm4gdGhpcy5yZXBsYWNlKC8gL2csICdfJykucmVwbGFjZSgvW15cXHddL2csICcnKS50b0xvd2VyQ2FzZSgpO1xyXG59XHJcblxyXG5TdHJpbmcucHJvdG90eXBlLmZvcm1hdEFyZ3MgPSBmdW5jdGlvbiAoLi4uYXJncyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHRoaXMucmVwbGFjZSgveyhcXGQrKX0vZywgKF8sIGluZGV4KSA9PiBhcmdzW2luZGV4XSB8fCAnJyk7XHJcbn1cclxuQXJyYXkucHJvdG90eXBlLmxhc3QgPSBmdW5jdGlvbiAoKSB7XHJcbiAgcmV0dXJuIHRoaXNbdGhpcy5sZW5ndGggLSAxXTtcclxufVxyXG4vKiogcmVtb3ZlIGVsZW1lbnQgZnJvbSBhcnJheSAqL1xyXG5BcnJheS5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gPFQ+KHZhbHVlOiBUKTogVFtdIHtcclxuICBjb25zdCBpbmRleCA9IHRoaXMuaW5kZXhPZih2YWx1ZSk7XHJcbiAgaWYgKGluZGV4ID4gLTEpIHRoaXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICByZXR1cm4gdGhpcztcclxufTtcclxuLyoqIGNhbGN1bGF0ZSBhdmVyYWdlIHVzaW5nIGVsZW1lbnQgcHJlZGljYXRlICovXHJcbkFycmF5LnByb3RvdHlwZS5hdmVyYWdlID0gZnVuY3Rpb24gPFQ+KHByZWRpY2F0ZT86IChpOiBUKSA9PiBudW1iZXIpOiBudW1iZXIge1xyXG4gIGxldCBhdmVyYWdlID0gMDtcclxuICB0aGlzLmZvckVhY2goaSA9PlxyXG4gICAgYXZlcmFnZSArPSBwcmVkaWNhdGUoaSlcclxuICApO1xyXG4gIHJldHVybiBhdmVyYWdlICE9PSAwID8gYXZlcmFnZSAvIHRoaXMubGVuZ3RoIDogMDtcclxufVxyXG5BcnJheS5wcm90b3R5cGUuZGlzdGluY3QgPSBmdW5jdGlvbiA8VCwgTT4ocHJlZGljYXRlPzogKGk6IFQpID0+IE0pOiBTZXQ8TT4ge1xyXG4gIGNvbnN0IHZhbHVlcyA9IG5ldyBTZXQ8TT4oKTtcclxuICB0aGlzLmZvckVhY2goaSA9PlxyXG4gICAgdmFsdWVzLmFkZChwcmVkaWNhdGUoaSkpXHJcbiAgKTtcclxuICByZXR1cm4gdmFsdWVzO1xyXG59XHJcbkFycmF5LnByb3RvdHlwZS5tYXggPSBmdW5jdGlvbiA8VD4ocHJlZGljYXRlPzogKGk6IFQpID0+IG51bWJlcik6IG51bWJlciB7XHJcbiAgbGV0IG4gPSAwO1xyXG4gIHRoaXMuZm9yRWFjaChpID0+XHJcbiAgICBuID0gTWF0aC5tYXgobiwgcHJlZGljYXRlKGkpKVxyXG4gICk7XHJcbiAgcmV0dXJuIG47XHJcbn1cclxuLyoqIHN1bSBlbGVtZW50cyB1c2luZyBwcmVkaWNhdGUgKi9cclxuQXJyYXkucHJvdG90eXBlLnN1bSA9IGZ1bmN0aW9uIDxUPihwcmVkaWNhdGU/OiAoaTogVCkgPT4gbnVtYmVyKTogbnVtYmVyIHtcclxuICBsZXQgbiA9IDA7XHJcbiAgdGhpcy5mb3JFYWNoKGkgPT5cclxuICAgIG4gKz0gcHJlZGljYXRlKGkpXHJcbiAgKTtcclxuICByZXR1cm4gbjtcclxufVxyXG4vKipcclxuICogXHJcbiAqIEBwYXJhbSBhcmdzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlQYXJhbXMoYXJnczogYW55KSB7XHJcbiAgY29uc3QgcGFyYW1zID0ge307XHJcbiAgYXJncyAmJlxyXG4gICAgT2JqZWN0LmtleXMoYXJncykuZm9yRWFjaChrID0+IHtcclxuICAgICAgY29uc3QgdmFsID0gYXJnc1trXTtcclxuXHJcbiAgICAgIGlmICh2YWwgIT09IG51bGwgJiYgdmFsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAoaXNTdHJpbmcodmFsKSlcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbDtcclxuICAgICAgICBlbHNlIGlmIChpc0FycmF5KHZhbCkgJiYgdmFsLmxlbmd0aClcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbDtcclxuICAgICAgICBlbHNlIGlmIChpc0RhdGUodmFsKSlcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbC50b0pTT04oKTtcclxuICAgICAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7XHJcbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXModmFsKS5sZW5ndGgpIHBhcmFtc1trXSA9IHF1ZXJ5UGFyYW1zKHZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHBhcmFtc1trXSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgcmV0dXJuIHBhcmFtcztcclxufVxyXG5mdW5jdGlvbiBnZXRQYXJhbWV0ZXJCeU5hbWUobmFtZSwgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYpIHtcclxuICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFxbXFxdXS9nLCAnXFxcXCQmJyk7XHJcbiAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgnWz8mXScgKyBuYW1lICsgJyg9KFteJiNdKil8JnwjfCQpJyksXHJcbiAgICByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xyXG4gIGlmICghcmVzdWx0cykgcmV0dXJuIG51bGw7XHJcbiAgaWYgKCFyZXN1bHRzWzJdKSByZXR1cm4gJyc7XHJcbiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzJdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcclxufVxyXG4iXX0=
|
@@ -32,16 +32,14 @@ export class LayoutComponent {
|
|
32
32
|
this._children.length && this.focus();
|
33
33
|
}
|
34
34
|
ngOnChanges(changes) {
|
35
|
-
if (changes['fields']
|
36
|
-
this._cmpRef && this._cmpRef.destroy();
|
35
|
+
if (changes['fields'])
|
37
36
|
this.create();
|
38
|
-
|
39
|
-
else if (changes['model']) {
|
37
|
+
else if (changes['model'])
|
40
38
|
this._instance.form.patchValue(this.model, { emitEvent: false });
|
41
|
-
}
|
42
39
|
}
|
43
40
|
create() {
|
44
41
|
this.containerRef.clear();
|
42
|
+
const controls = {};
|
45
43
|
this._children = this.fields.map(f => {
|
46
44
|
let comp;
|
47
45
|
switch (f.type) {
|
@@ -92,20 +90,23 @@ export class LayoutComponent {
|
|
92
90
|
const factory = this._resolver.resolveComponentFactory(comp);
|
93
91
|
const cRef = this.containerRef.createComponent(factory);
|
94
92
|
cRef.instance.field = f;
|
95
|
-
|
93
|
+
f.defaultValue && cRef.instance.control.setValue(f.defaultValue);
|
94
|
+
f.validations &&
|
95
|
+
this._validations(f, cRef.instance.control);
|
96
|
+
controls[f.name] = cRef.instance.control;
|
96
97
|
return cRef.instance;
|
97
98
|
});
|
98
|
-
const controls = {};
|
99
|
-
this._children.forEach(c => {
|
100
|
-
const { control, field } = c;
|
101
|
-
const value = this.model[field.name] !== undefined ? this.model[field.name] : field.defaultValue;
|
102
|
-
(value !== undefined) && control.setValue(value);
|
103
|
-
controls[field.name] = control;
|
104
|
-
field.validations &&
|
105
|
-
this._validations(field, control);
|
106
|
-
});
|
107
99
|
this.form = new FormGroup(controls);
|
108
|
-
this.
|
100
|
+
this.form.patchValue(this.model);
|
101
|
+
this.form.valueChanges.pipe(takeUntil(this._destroy)).subscribe(c => {
|
102
|
+
Object.assign(this.model, c);
|
103
|
+
this.modelChange.emit(c);
|
104
|
+
});
|
105
|
+
this.form.statusChanges.pipe(startWith(), takeUntil(this._destroy)).subscribe(() => {
|
106
|
+
this.dirtyChange.emit(this.form.dirty);
|
107
|
+
this.valid = this.form.valid;
|
108
|
+
this.validChange.emit(this.form.valid);
|
109
|
+
});
|
109
110
|
}
|
110
111
|
_validations(field, control) {
|
111
112
|
const validators = [];
|
@@ -143,18 +144,6 @@ export class LayoutComponent {
|
|
143
144
|
});
|
144
145
|
control.setValidators(validators);
|
145
146
|
}
|
146
|
-
_bind(form) {
|
147
|
-
form.patchValue(this.model);
|
148
|
-
form.valueChanges.pipe(takeUntil(this._destroy)).subscribe(c => {
|
149
|
-
Object.assign(this.model, c);
|
150
|
-
this.modelChange.emit(c);
|
151
|
-
});
|
152
|
-
form.statusChanges.pipe(startWith(), takeUntil(this._destroy)).subscribe(() => {
|
153
|
-
this.dirtyChange.emit(form.dirty);
|
154
|
-
this.valid = form.valid;
|
155
|
-
this.validChange.emit(form.valid);
|
156
|
-
});
|
157
|
-
}
|
158
147
|
focus() {
|
159
148
|
this._children[0].focus();
|
160
149
|
//this._zone.runOutsideAngular(() => {
|
@@ -165,7 +154,6 @@ export class LayoutComponent {
|
|
165
154
|
ngOnDestroy() {
|
166
155
|
this._destroy.next();
|
167
156
|
this._destroy.complete();
|
168
|
-
this._cmpRef && this._cmpRef.destroy();
|
169
157
|
}
|
170
158
|
}
|
171
159
|
LayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: LayoutComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
@@ -193,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
193
181
|
type: ViewChild,
|
194
182
|
args: ['container', { static: true, read: ViewContainerRef }]
|
195
183
|
}] } });
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFzRyxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDaE4sT0FBTyxFQUFhLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFPekMsc0JBQXNCO0FBQ3RCLE1BQU0sT0FBTyxlQUFlO0lBZTFCLGtCQUFrQjtJQUNsQixZQUNVLFNBQW1DLEVBQ25DLEtBQWE7UUFEYixjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQUNuQyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBZkosZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTSxDQUFDO1FBRXJDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUcxQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHNUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFRaEQsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNmO2FBQ0ksSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25DLElBQUksSUFBSSxDQUFDO1lBQ1QsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNkLEtBQUssU0FBUyxDQUFDLElBQUk7b0JBQ2pCLElBQUksR0FBRyxhQUFhLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUMsSUFBSTtvQkFDakIsSUFBSSxHQUFHLFNBQVMsQ0FBQztvQkFDakIsTUFBTTtnQkFDUixLQUFLLFNBQVMsQ0FBQyxRQUFRO29CQUNyQixJQUFJLEdBQUcsVUFBVSxDQUFDO29CQUNsQixNQUFNO2dCQUNSLEtBQUssU0FBUyxDQUFDLE1BQU07b0JBQ25CLElBQUksR0FBRyxXQUFXLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNwQixLQUFLLFNBQVMsQ0FBQyxRQUFRO29CQUNyQixJQUFJLEdBQUcsU0FBUyxDQUFDO29CQUNqQixNQUFNO2dCQUNSLEtBQUssU0FBUyxDQUFDLFNBQVM7b0JBQ3RCLElBQUksR0FBRyxjQUFjLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7b0JBQ3pCLElBQUksR0FBRyxlQUFlLENBQUM7b0JBQ3ZCLE1BQU07Z0JBQ1IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7b0JBQ3ZCLElBQUksR0FBRyxhQUFhLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxHQUFHLFdBQVcsQ0FBQztvQkFDbkIsTUFBTTtnQkFDUixLQUFLLFNBQVMsQ0FBQyxZQUFZO29CQUN6QixJQUFJLEdBQUcsaUJBQWlCLENBQUM7b0JBQ3pCLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUMsSUFBSTtvQkFDakIsSUFBSSxHQUFHLFNBQVMsQ0FBQztvQkFDakIsTUFBTTtnQkFDUixLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RCLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQztnQkFDeEIsS0FBSyxTQUFTLENBQUMsT0FBTztvQkFDcEIsSUFBSSxHQUFHLFlBQVksQ0FBQztvQkFDcEIsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLEdBQUcsVUFBVSxDQUFDO2FBQ3JCO1lBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBWSxJQUFJLENBQUMsQ0FBQztZQUN4RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QixNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQ2pHLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7WUFDL0IsS0FBSyxDQUFDLFdBQVc7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBZ0IsRUFBRSxPQUF3QjtRQUM3RCxNQUFNLFVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVCLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDZCxLQUFLLGNBQWMsQ0FBQyxRQUFRO29CQUMxQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNO3dCQUN0RSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQzs7d0JBRXpDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN2QyxNQUFNO2dCQUNSLEtBQUssY0FBYyxDQUFDLE9BQU87b0JBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDbkQsTUFBTTtnQkFDUixLQUFLLGNBQWMsQ0FBQyxHQUFHO29CQUNyQixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzNDLE1BQU07Z0JBQ1IsS0FBSyxjQUFjLENBQUMsR0FBRztvQkFDckIsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxNQUFNO2dCQUNSLEtBQUssY0FBYyxDQUFDLFNBQVM7b0JBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDakQsTUFBTTtnQkFDUixLQUFLLGNBQWMsQ0FBQyxTQUFTO29CQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ2pELE1BQU07Z0JBQ1IsS0FBSyxjQUFjLENBQUMsS0FBSztvQkFDdkIsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2xDLE1BQU07Z0JBQ1IsS0FBSyxjQUFjLENBQUMsS0FBSztvQkFDdkIsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzNDLE1BQU07YUFDVDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQWU7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixzQ0FBc0M7UUFDdEMsNkhBQTZIO1FBQzdILDZDQUE2QztRQUM3QyxJQUFJO0lBQ04sQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7OzRHQWpLVSxlQUFlO2dHQUFmLGVBQWUsZ1hBU29CLGdCQUFnQixnRUFkcEQsMENBQTBDOzJGQUt6QyxlQUFlO2tCQVAzQixTQUFTOytCQUNFLGVBQWUsWUFDZiwwQ0FBMEMsUUFFOUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO29JQUloQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNhLFdBQVc7c0JBQTdCLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLO2dCQUNhLFdBQVc7c0JBQTdCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDYSxXQUFXO3NCQUE3QixNQUFNO2dCQUMyRCxZQUFZO3NCQUE3RSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDb250YWluZXJSZWYsIE9uRGVzdHJveSwgQ29tcG9uZW50UmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQWZ0ZXJWaWV3SW5pdCwgTmdab25lLCBWaWV3Q2hpbGQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8sIEZpZWxkVHlwZSwgVmFsaWRhdGlvblR5cGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gJy4vaW5wdXQuYmFzZSc7XHJcbmltcG9ydCB7IENoZWNrRmllbGQgfSBmcm9tIFwiLi9jaGVja2JveC5maWVsZFwiO1xyXG5pbXBvcnQgeyBTd2l0Y2hGaWVsZCB9IGZyb20gXCIuL3N3aXRjaC5maWVsZFwiO1xyXG5pbXBvcnQgeyBUaW1lc3BhbkZpZWxkIH0gZnJvbSBcIi4vdGltZXNwYW4uZmllbGRcIjtcclxuaW1wb3J0IHsgRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSBcIi4vZXhwcmVzc2lvbi5maWVsZFwiO1xyXG5pbXBvcnQgeyBTZWxlY3RGaWVsZCB9IGZyb20gXCIuL3NlbGVjdC5maWVsZFwiO1xyXG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gXCIuL2F1dG9jb21wbGV0ZS5maWVsZFwiO1xyXG5pbXBvcnQgeyBEYXRlRmllbGQgfSBmcm9tIFwiLi9kYXRlLmZpZWxkXCI7XHJcbmltcG9ydCB7IERhdGVSYW5nZUZpZWxkIH0gZnJvbSBcIi4vZGF0ZS1yYW5nZS5maWVsZFwiO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkIH0gZnJvbSBcIi4vdGV4dGFyZWEuZmllbGRcIjtcclxuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkIH0gZnJvbSBcIi4vbnVtZXJpYy5maWVsZFwiO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkIH0gZnJvbSBcIi4vaW5wdXQuZmllbGRcIjtcclxuaW1wb3J0IHsgSHRtbEZpZWxkIH0gZnJvbSAnLi9odG1sLmZpZWxkJztcclxuaW1wb3J0IHsgRmlsZUZpZWxkIH0gZnJvbSAnLi9maWxlLmZpZWxkJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZTogJzxuZy1jb250YWluZXIgI2NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj4nLFxyXG4gIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdsYXlvdXQnIH1cclxufSlcclxuLyoqIGxheW91dCBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGZpZWxkczogRmllbGRJbmZvW107XHJcbiAgQElucHV0KCkgbW9kZWwhOiB7fTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG4gIEBJbnB1dCgpIGRpcnR5OiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBkaXJ0eUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKSBwYXJhbXM6IGFueTtcclxuICBASW5wdXQoKSB2YWxpZDogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHByaXZhdGUgX2NtcFJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgX2luc3RhbmNlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IEZpZWxkQmFzZVtdO1xyXG4gIC8qKiBsYXlvdXQgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSkge1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGlsZHJlbi5sZW5ndGggJiYgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGRzJ10gfHwgY2hhbmdlc1sndGVtcGxhdGUnXSkge1xyXG4gICAgICB0aGlzLl9jbXBSZWYgJiYgdGhpcy5fY21wUmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jcmVhdGUoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGNoYW5nZXNbJ21vZGVsJ10pIHtcclxuICAgICAgdGhpcy5faW5zdGFuY2UuZm9ybS5wYXRjaFZhbHVlKHRoaXMubW9kZWwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgY3JlYXRlKCkge1xyXG4gICAgdGhpcy5jb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIHRoaXMuX2NoaWxkcmVuID0gdGhpcy5maWVsZHMubWFwKGYgPT4ge1xyXG4gICAgICBsZXQgY29tcDtcclxuICAgICAgc3dpdGNoIChmLnR5cGUpIHtcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxyXG4gICAgICAgICAgY29tcCA9IFRleHRhcmVhRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5IdG1sOlxyXG4gICAgICAgICAgY29tcCA9IEh0bWxGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLkNoZWNrYm94OlxyXG4gICAgICAgICAgY29tcCA9IENoZWNrRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5Td2l0Y2g6XHJcbiAgICAgICAgICBjb21wID0gU3dpdGNoRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVUaW1lOlxyXG4gICAgICAgICAgY29tcCA9IERhdGVGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVSYW5nZTpcclxuICAgICAgICAgIGNvbXAgPSBEYXRlUmFuZ2VGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgKEZpZWxkVHlwZS5FeHByZXNzaW9uKTpcclxuICAgICAgICAgIGNvbXAgPSBFeHByZXNzaW9uRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIChGaWVsZFR5cGUuRHVyYXRpb24pOlxyXG4gICAgICAgICAgY29tcCA9IFRpbWVzcGFuRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIChGaWVsZFR5cGUuQWRkcmVzcyk6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5TZWxlY3Q6XHJcbiAgICAgICAgICBjb21wID0gU2VsZWN0RmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XHJcbiAgICAgICAgICBjb21wID0gQXV0b2NvbXBsZXRlRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5GaWxlOlxyXG4gICAgICAgICAgY29tcCA9IEZpbGVGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLk51bWJlcjpcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXJyZW5jeTpcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5QZXJjZW50OlxyXG4gICAgICAgICAgY29tcCA9IE51bWVyaWNGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBjb21wID0gSW5wdXRGaWVsZDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5fcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3Rvcnk8RmllbGRCYXNlPihjb21wKTtcclxuICAgICAgY29uc3QgY1JlZiA9IHRoaXMuY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgY1JlZi5pbnN0YW5jZS5maWVsZCA9IGY7XHJcbiAgICAgIHRoaXMucGFyYW1zICYmIE9iamVjdC5hc3NpZ24oY1JlZi5pbnN0YW5jZSwgdGhpcy5wYXJhbXMpO1xyXG4gICAgICByZXR1cm4gY1JlZi5pbnN0YW5jZTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGNvbnRyb2xzID0ge307XHJcbiAgICB0aGlzLl9jaGlsZHJlbi5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICBjb25zdCB7IGNvbnRyb2wsIGZpZWxkIH0gPSBjO1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMubW9kZWxbZmllbGQubmFtZV0gIT09IHVuZGVmaW5lZCA/IHRoaXMubW9kZWxbZmllbGQubmFtZV0gOiBmaWVsZC5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSAmJiBjb250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgY29udHJvbHNbZmllbGQubmFtZV0gPSBjb250cm9sO1xyXG4gICAgICBmaWVsZC52YWxpZGF0aW9ucyAmJlxyXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25zKGZpZWxkLCBjb250cm9sKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cChjb250cm9scyk7XHJcbiAgICB0aGlzLl9iaW5kKHRoaXMuZm9ybSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF92YWxpZGF0aW9ucyhmaWVsZDogRmllbGRJbmZvLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgIGZpZWxkLnZhbGlkYXRpb25zLmZvckVhY2godiA9PiB7XHJcbiAgICAgIHN3aXRjaCAodi50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uVHlwZS5SZXF1aXJlZDpcclxuICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuQ2hlY2tib3ggfHwgZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLlN3aXRjaClcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uVHlwZS5QYXR0ZXJuOlxyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucGF0dGVybihmaWVsZC5wYXR0ZXJuKSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFZhbGlkYXRpb25UeXBlLk1pbjpcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbihmaWVsZC5taW4pKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgVmFsaWRhdGlvblR5cGUuTWF4OlxyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4KGZpZWxkLm1heCkpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uVHlwZS5NaW5MZW5ndGg6XHJcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW5MZW5ndGgoZmllbGQubWluKSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFZhbGlkYXRpb25UeXBlLk1heExlbmd0aDpcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChmaWVsZC5tYXgpKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgVmFsaWRhdGlvblR5cGUuRW1haWw6XHJcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5lbWFpbCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFZhbGlkYXRpb25UeXBlLlJhbmdlOlxyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluKGZpZWxkLm1pbikpO1xyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4KGZpZWxkLm1heCkpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYmluZChmb3JtOiBGb3JtR3JvdXApOiBhbnkge1xyXG4gICAgZm9ybS5wYXRjaFZhbHVlKHRoaXMubW9kZWwpO1xyXG4gICAgZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCBjKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGMpO1xyXG4gICAgfSk7XHJcbiAgICBmb3JtLnN0YXR1c0NoYW5nZXMucGlwZShzdGFydFdpdGgoKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRpcnR5Q2hhbmdlLmVtaXQoZm9ybS5kaXJ0eSk7XHJcbiAgICAgIHRoaXMudmFsaWQgPSBmb3JtLnZhbGlkO1xyXG4gICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQoZm9ybS52YWxpZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLl9jaGlsZHJlblswXS5mb2N1cygpO1xyXG4gICAgLy90aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgIC8vICBjb25zdCBpbnAgPSAodGhpcy5jb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKCcubWF0LXNlbGVjdCwgdGV4dGFyZWEsIGlucHV0JylbMF07XHJcbiAgICAvLyAgaW5wICYmIChpbnAgYXMgSFRNTElucHV0RWxlbWVudCkuZm9jdXMoKTtcclxuICAgIC8vfSlcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2NtcFJlZiAmJiB0aGlzLl9jbXBSZWYuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFzRyxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDaE4sT0FBTyxFQUFhLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFP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QzdDLElBQUk7SUFDTixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs0R0FuSlUsZUFBZTtnR0FBZixlQUFlLGdYQVNvQixnQkFBZ0IsZ0VBZHBELDBDQUEwQzsyRkFLekMsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxlQUFlLFlBQ2YsMENBQTBDLFFBRTlDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtvSUFJaEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDYSxXQUFXO3NCQUE3QixNQUFNO2dCQUNFLEtBQUs7c0JBQWIsS0FBSztnQkFDYSxXQUFXO3NCQUE3QixNQUFNO2dCQUNFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2EsV0FBVztzQkFBN0IsTUFBTTtnQkFDMkQsWUFBWTtzQkFBN0UsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3ksIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEFmdGVyVmlld0luaXQsIE5nWm9uZSwgVmlld0NoaWxkLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmllbGRJbmZvLCBGaWVsZFR5cGUsIFZhbGlkYXRpb25UeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGaWVsZEJhc2UgfSBmcm9tICcuL2lucHV0LmJhc2UnO1xyXG5pbXBvcnQgeyBDaGVja0ZpZWxkIH0gZnJvbSBcIi4vY2hlY2tib3guZmllbGRcIjtcclxuaW1wb3J0IHsgU3dpdGNoRmllbGQgfSBmcm9tIFwiLi9zd2l0Y2guZmllbGRcIjtcclxuaW1wb3J0IHsgVGltZXNwYW5GaWVsZCB9IGZyb20gXCIuL3RpbWVzcGFuLmZpZWxkXCI7XHJcbmltcG9ydCB7IEV4cHJlc3Npb25GaWVsZCB9IGZyb20gXCIuL2V4cHJlc3Npb24uZmllbGRcIjtcclxuaW1wb3J0IHsgU2VsZWN0RmllbGQgfSBmcm9tIFwiLi9zZWxlY3QuZmllbGRcIjtcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlRmllbGQgfSBmcm9tIFwiLi9hdXRvY29tcGxldGUuZmllbGRcIjtcclxuaW1wb3J0IHsgRGF0ZUZpZWxkIH0gZnJvbSBcIi4vZGF0ZS5maWVsZFwiO1xyXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWVsZCB9IGZyb20gXCIuL2RhdGUtcmFuZ2UuZmllbGRcIjtcclxuaW1wb3J0IHsgVGV4dGFyZWFGaWVsZCB9IGZyb20gXCIuL3RleHRhcmVhLmZpZWxkXCI7XHJcbmltcG9ydCB7IE51bWVyaWNGaWVsZCB9IGZyb20gXCIuL251bWVyaWMuZmllbGRcIjtcclxuaW1wb3J0IHsgSW5wdXRGaWVsZCB9IGZyb20gXCIuL2lucHV0LmZpZWxkXCI7XHJcbmltcG9ydCB7IEh0bWxGaWVsZCB9IGZyb20gJy4vaHRtbC5maWVsZCc7XHJcbmltcG9ydCB7IEZpbGVGaWVsZCB9IGZyb20gJy4vZmlsZS5maWVsZCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWxheW91dCcsXHJcbiAgdGVtcGxhdGU6ICc8bmctY29udGFpbmVyICNjb250YWluZXI+PC9uZy1jb250YWluZXI+JyxcclxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnbGF5b3V0JyB9XHJcbn0pXHJcbi8qKiBsYXlvdXQgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBmaWVsZHMhOiBGaWVsZEluZm9bXTtcclxuICBASW5wdXQoKSBtb2RlbCE6IHt9O1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XHJcbiAgQElucHV0KCkgZGlydHk6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGRpcnR5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBJbnB1dCgpIHBhcmFtczogYW55O1xyXG4gIEBJbnB1dCgpIHZhbGlkOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSB2YWxpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgX2luc3RhbmNlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IEZpZWxkQmFzZVtdO1xyXG4gIC8qKiBsYXlvdXQgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSkge1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGlsZHJlbi5sZW5ndGggJiYgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGRzJ10pXHJcbiAgICAgIHRoaXMuY3JlYXRlKCk7XHJcbiAgICBlbHNlIGlmIChjaGFuZ2VzWydtb2RlbCddKVxyXG4gICAgICB0aGlzLl9pbnN0YW5jZS5mb3JtLnBhdGNoVmFsdWUodGhpcy5tb2RlbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gIH1cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgY29uc3QgY29udHJvbHMgPSB7fTtcclxuICAgIHRoaXMuX2NoaWxkcmVuID0gdGhpcy5maWVsZHMubWFwKGYgPT4ge1xyXG4gICAgICBsZXQgY29tcDtcclxuICAgICAgc3dpdGNoIChmLnR5cGUpIHtcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxyXG4gICAgICAgICAgY29tcCA9IFRleHRhcmVhRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5IdG1sOlxyXG4gICAgICAgICAgY29tcCA9IEh0bWxGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLkNoZWNrYm94OlxyXG4gICAgICAgICAgY29tcCA9IENoZWNrRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5Td2l0Y2g6XHJcbiAgICAgICAgICBjb21wID0gU3dpdGNoRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVUaW1lOlxyXG4gICAgICAgICAgY29tcCA9IERhdGVGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVSYW5nZTpcclxuICAgICAgICAgIGNvbXAgPSBEYXRlUmFuZ2VGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgKEZpZWxkVHlwZS5FeHByZXNzaW9uKTpcclxuICAgICAgICAgIGNvbXAgPSBFeHByZXNzaW9uRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIChGaWVsZFR5cGUuRHVyYXRpb24pOlxyXG4gICAgICAgICAgY29tcCA9IFRpbWVzcGFuRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIChGaWVsZFR5cGUuQWRkcmVzcyk6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5TZWxlY3Q6XHJcbiAgICAgICAgICBjb21wID0gU2VsZWN0RmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XHJcbiAgICAgICAgICBjb21wID0gQXV0b2NvbXBsZXRlRmllbGQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5GaWxlOlxyXG4gICAgICAgICAgY29tcCA9IEZpbGVGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlLk51bWJlcjpcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXJyZW5jeTpcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZS5QZXJjZW50OlxyXG4gICAgICAgICAgY29tcCA9IE51bWVyaWNGaWVsZDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBjb21wID0gSW5wdXRGaWVsZDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5fcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3Rvcnk8RmllbGRCYXNlPihjb21wKTtcclxuICAgICAgY29uc3QgY1JlZiA9IHRoaXMuY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgY1JlZi5pbnN0YW5jZS5maWVsZCA9IGY7XHJcbiAgICAgIGYuZGVmYXVsdFZhbHVlICYmIGNSZWYuaW5zdGFuY2UuY29udHJvbC5zZXRWYWx1ZShmLmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgIGYudmFsaWRhdGlvbnMgJiZcclxuICAgICAgICB0aGlzLl92YWxpZGF0aW9ucyhmLCBjUmVmLmluc3RhbmNlLmNvbnRyb2wpO1xyXG4gICAgICBjb250cm9sc1tmLm5hbWVdID0gY1JlZi5pbnN0YW5jZS5jb250cm9sO1xyXG4gICAgICByZXR1cm4gY1JlZi5pbnN0YW5jZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cChjb250cm9scyk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLm1vZGVsKTtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCBjKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGMpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlydHlDaGFuZ2UuZW1pdCh0aGlzLmZvcm0uZGlydHkpO1xyXG4gICAgICB0aGlzLnZhbGlkID0gdGhpcy5mb3JtLnZhbGlkO1xyXG4gICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQodGhpcy5mb3JtLnZhbGlkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbnMoZmllbGQ6IEZpZWxkSW5mbywgY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBmaWVsZC52YWxpZGF0aW9ucy5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICBzd2l0Y2ggKHYudHlwZSkge1xyXG4gICAgICAgIGNhc2UgVmFsaWRhdGlvblR5cGUuUmVxdWlyZWQ6XHJcbiAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLkNoZWNrYm94IHx8IGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5Td2l0Y2gpXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgVmFsaWRhdGlvblR5cGUuUGF0dGVybjpcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oZmllbGQucGF0dGVybikpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uVHlwZS5NaW46XHJcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW4oZmllbGQubWluKSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFZhbGlkYXRpb25UeXBlLk1heDpcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heChmaWVsZC5tYXgpKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgVmFsaWRhdGlvblR5cGUuTWluTGVuZ3RoOlxyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKGZpZWxkLm1pbikpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uVHlwZS5NYXhMZW5ndGg6XHJcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgoZmllbGQubWF4KSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFZhbGlkYXRpb25UeXBlLkVtYWlsOlxyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uVHlwZS5SYW5nZTpcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbihmaWVsZC5taW4pKTtcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heChmaWVsZC5tYXgpKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5fY2hpbGRyZW5bMF0uZm9jdXMoKTtcclxuICAgIC8vdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAvLyAgY29uc3QgaW5wID0gKHRoaXMuY29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucXVlcnlTZWxlY3RvckFsbCgnLm1hdC1zZWxlY3QsIHRleHRhcmVhLCBpbnB1dCcpWzBdO1xyXG4gICAgLy8gIGlucCAmJiAoaW5wIGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZvY3VzKCk7XHJcbiAgICAvL30pXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|