@mediusinc/mng-commons 5.5.0-rc.4 → 6.0.0-rc.2
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/core/action/action-parameters.model.d.ts +4 -4
- package/core/data-providers/base.data-provider.d.ts +4 -7
- package/core/data-providers/lookup.data-provider.d.ts +2 -2
- package/core/descriptors/model.descriptor.d.ts +1 -7
- package/core/descriptors/tableview.descriptor.d.ts +5 -5
- package/core/helpers/route.d.ts +0 -1
- package/core/helpers/type-helpers.d.ts +8 -0
- package/core/index.d.ts +0 -3
- package/core/models/menu.model.d.ts +0 -4
- package/core/services/commons.service.d.ts +0 -32
- package/core/services/tokens/module-config.token.d.ts +0 -28
- package/esm2022/core/action/action-parameters.model.mjs +1 -1
- package/esm2022/core/data-providers/base.data-provider.mjs +2 -4
- package/esm2022/core/data-providers/lookup.data-provider.mjs +1 -1
- package/esm2022/core/descriptors/model.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
- package/esm2022/core/helpers/type-helpers.mjs +1 -1
- package/esm2022/core/index.mjs +1 -4
- package/esm2022/core/models/menu.model.mjs +1 -1
- package/esm2022/core/services/commons.service.mjs +1 -34
- package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +5 -86
- package/esm2022/filter/descriptors/filter.descriptor.mjs +7 -29
- package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +14 -41
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +3 -3
- package/esm2022/model/class/data-providers/base-from-class-data-provider.factory.mjs +5 -0
- package/esm2022/model/class/descriptors/model-class.descriptor.mjs +28 -0
- package/esm2022/model/class/descriptors/type-class.descriptor.mjs +6 -0
- package/esm2022/model/class/helpers/model.mjs +53 -0
- package/esm2022/model/class/index.mjs +8 -0
- package/esm2022/model/class/mediusinc-mng-commons-model-class.mjs +5 -0
- package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +11 -6
- package/esm2022/model/descriptors/model.descriptor.mjs +11 -54
- package/esm2022/model/descriptors/type.descriptor.mjs +2 -10
- package/esm2022/model/index.mjs +1 -2
- package/esm2022/table/api/class/class-table-attribute-converter.mjs +80 -0
- package/esm2022/table/api/class/class-table-attribute.model.mjs +2 -0
- package/esm2022/table/api/class/class-table-data-provider.factory.mjs +5 -0
- package/esm2022/table/api/class/class-table-descriptor-helpers.mjs +99 -0
- package/esm2022/table/api/class/class-table-descriptor.factory.mjs +21 -0
- package/esm2022/table/api/class/index.mjs +6 -0
- package/esm2022/table/api/class/mediusinc-mng-commons-table-api-class.mjs +5 -0
- package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +14 -41
- package/esm2022/table/api/data-providers/table.data-provider.mjs +3 -9
- package/esm2022/table/api/descriptors/column.descriptor.mjs +8 -3
- package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +10 -77
- package/esm2022/table/api/descriptors/table.descriptor.mjs +3 -3
- package/esm2022/table/api/helpers/column-converter.mjs +25 -0
- package/esm2022/table/api/helpers/table-data-provider-descriptor-convert.mjs +4 -4
- package/esm2022/table/api/index.mjs +2 -4
- package/esm2022/table/api/models/table-columns.model.mjs +1 -1
- package/esm2022/table/components/column-value/column-value.component.mjs +4 -3
- package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +3 -3
- package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +5 -5
- package/esm2022/table/components/table/table.component.mjs +6 -8
- package/esm2022/tableview/action/components/action/action.component.mjs +1 -1
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +10 -6
- package/esm2022/tableview/action/helpers/action-execution.mjs +1 -1
- package/esm2022/tableview/action/models/execution/action-context.model.mjs +1 -1
- package/esm2022/tableview/action/models/execution/action-instance.model.mjs +1 -1
- package/esm2022/tableview/action/services/action-executor.service.mjs +11 -11
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +18 -3
- package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +13 -104
- package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +15 -62
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +3 -63
- package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +17 -30
- package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +6 -29
- package/esm2022/tableview/api/action/descriptors/editor-action-descriptor.factory.mjs +21 -0
- package/esm2022/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.mjs +21 -0
- package/esm2022/tableview/api/action/descriptors/table-action-descriptor.factory.mjs +37 -0
- package/esm2022/tableview/api/action/descriptors/table-action-editor-descriptor.factory.mjs +40 -0
- package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +25 -5
- package/esm2022/tableview/api/action/models/action-descriptor.types.mjs +1 -1
- package/esm2022/tableview/api/action/models/action-error.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/action-context-validation.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/action-context.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/tableview-action-default-categories.model.mjs +6 -6
- package/esm2022/tableview/api/action/services/data-provider-executor.service.mjs +3 -3
- package/esm2022/tableview/api/class/editor/class-editor-attribute-converter.mjs +85 -0
- package/esm2022/tableview/api/class/editor/class-editor-attribute.model.mjs +2 -0
- package/esm2022/tableview/api/class/editor/class-editor-data-provider.factory.mjs +5 -0
- package/esm2022/tableview/api/class/editor/class-editor-descriptor-helpers.mjs +95 -0
- package/esm2022/tableview/api/class/editor/class-editor-descriptor.factory.mjs +21 -0
- package/esm2022/tableview/api/class/index.mjs +13 -0
- package/esm2022/tableview/api/class/mediusinc-mng-commons-tableview-api-class.mjs +5 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute-converter.mjs +35 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute.model.mjs +2 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-data-provider.factory.mjs +5 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor-helpers.mjs +111 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor.factory.mjs +26 -0
- package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +14 -32
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +40 -7
- package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +7 -73
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +49 -134
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +11 -2
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +3 -5
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +2 -18
- package/esm2022/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.mjs +51 -0
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
- package/esm2022/tableview/api/index.mjs +8 -8
- package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +13 -51
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +19 -11
- package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +19 -96
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +29 -182
- package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +8 -6
- package/esm2022/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.mjs +4 -4
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +117 -99
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +164 -7
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.mjs +2 -0
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-helper.type.mjs +2 -0
- package/esm2022/tableview/api/tableview/models/tableview-input.model.mjs +1 -1
- package/esm2022/tableview/api/tableview/models/tableview-route.model.mjs +1 -1
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +6 -6
- package/esm2022/tableview/editor/helpers/editor-field.mjs +3 -3
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +4 -4
- package/esm2022/tableview/editor/helpers/field-create.mjs +21 -0
- package/esm2022/tableview/index.mjs +3 -2
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +1 -1
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -1
- package/fesm2022/mediusinc-mng-commons-core.mjs +687 -781
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +10 -113
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +15 -42
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model-class.mjs +97 -0
- package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-model.mjs +23 -137
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs +204 -0
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +55 -319
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +14 -15
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs +367 -0
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +715 -1298
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +67 -27
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/filter/descriptors/filter-lookup.descriptor.d.ts +1 -26
- package/filter/descriptors/filter.descriptor.d.ts +5 -12
- package/form/api/data-providers/lookup-data-provider.factory.d.ts +17 -20
- package/form/api/data-providers/lookup.data-provider.d.ts +3 -3
- package/model/class/README.md +8 -0
- package/model/class/data-providers/base-from-class-data-provider.factory.d.ts +3 -0
- package/model/class/descriptors/model-class.descriptor.d.ts +12 -0
- package/model/class/descriptors/type-class.descriptor.d.ts +3 -0
- package/model/{helpers → class/helpers}/model.d.ts +1 -2
- package/model/class/index.d.ts +4 -0
- package/model/data-providers/base-from-type-data-provider.factory.d.ts +13 -6
- package/model/descriptors/model.descriptor.d.ts +12 -27
- package/model/descriptors/type.descriptor.d.ts +0 -5
- package/model/index.d.ts +0 -1
- package/package.json +25 -7
- package/table/api/class/README.md +10 -0
- package/table/api/{helpers/class-attribute-converter.d.ts → class/class-table-attribute-converter.d.ts} +2 -9
- package/table/api/{models → class}/class-table-attribute.model.d.ts +1 -1
- package/table/api/class/class-table-data-provider.factory.d.ts +4 -0
- package/table/api/{helpers/table-descriptor-helpers.d.ts → class/class-table-descriptor-helpers.d.ts} +2 -4
- package/table/api/class/class-table-descriptor.factory.d.ts +11 -0
- package/table/api/class/index.d.ts +5 -0
- package/table/api/data-providers/table-data-provider.factory.d.ts +17 -20
- package/table/api/data-providers/table.data-provider.d.ts +4 -12
- package/table/api/descriptors/column.descriptor.d.ts +5 -2
- package/table/api/descriptors/table-descriptor.factory.d.ts +3 -39
- package/table/api/descriptors/table.descriptor.d.ts +3 -3
- package/table/api/helpers/column-converter.d.ts +7 -0
- package/table/api/helpers/table-data-provider-descriptor-convert.d.ts +3 -3
- package/table/api/index.d.ts +1 -3
- package/table/api/models/table-columns.model.d.ts +2 -2
- package/table/components/column-value/column-value.component.d.ts +1 -0
- package/table/components/filter/filter-active-tag/filter-active-tag.component.d.ts +1 -1
- package/table/components/filter/filter-form/filter-form.component.d.ts +1 -1
- package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +1 -1
- package/table/components/table/table.component.d.ts +0 -9
- package/tableview/action/components/action/action.component.d.ts +2 -2
- package/tableview/action/components/editor/action-editor.component.d.ts +1 -1
- package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +6 -5
- package/tableview/action/components/localization/data-language-dropdown.component.d.ts +3 -3
- package/tableview/action/components/table/action-table.component.d.ts +3 -3
- package/tableview/action/helpers/action-execution.d.ts +1 -1
- package/tableview/action/models/execution/action-context.model.d.ts +3 -3
- package/tableview/action/models/execution/action-instance.model.d.ts +5 -5
- package/tableview/action/services/action-executor.service.d.ts +7 -7
- package/tableview/action/services/data-provider-executor.service.d.ts +16 -16
- package/tableview/action/services/view-container.service.d.ts +1 -1
- package/tableview/api/action/descriptors/action-confirmation.descriptor.d.ts +1 -1
- package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +20 -31
- package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +18 -25
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +22 -40
- package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +21 -13
- package/tableview/api/action/descriptors/action-link.descriptor.d.ts +3 -3
- package/tableview/api/action/descriptors/action.descriptor.d.ts +31 -33
- package/tableview/api/action/descriptors/editor-action-descriptor.factory.d.ts +21 -0
- package/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.d.ts +21 -0
- package/tableview/api/action/descriptors/table-action-descriptor.factory.d.ts +36 -0
- package/tableview/api/action/descriptors/table-action-editor-descriptor.factory.d.ts +40 -0
- package/tableview/api/action/helpers/data-provider-executors.d.ts +13 -8
- package/tableview/api/action/models/action-descriptor.types.d.ts +2 -2
- package/tableview/api/action/models/action-error.model.d.ts +1 -1
- package/tableview/api/action/models/execution/action-context-validation.model.d.ts +2 -2
- package/tableview/api/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/api/action/models/execution/action-instance.model.d.ts +1 -1
- package/tableview/api/action/models/tableview-action-default-categories.model.d.ts +5 -5
- package/tableview/api/action/services/data-provider-executor.service.d.ts +26 -25
- package/tableview/api/class/README.md +13 -0
- package/tableview/api/{editor/helpers/class-attribute-converter.d.ts → class/editor/class-editor-attribute-converter.d.ts} +2 -2
- package/tableview/api/{editor/models/class-tableview-attribute.model.d.ts → class/editor/class-editor-attribute.model.d.ts} +1 -1
- package/tableview/api/class/editor/class-editor-data-provider.factory.d.ts +4 -0
- package/tableview/api/{editor/helpers/editor-descriptor-helpers.d.ts → class/editor/class-editor-descriptor-helpers.d.ts} +2 -5
- package/tableview/api/class/editor/class-editor-descriptor.factory.d.ts +11 -0
- package/tableview/api/class/index.d.ts +10 -0
- package/tableview/api/{tableview/helpers/class-attribute-converter.d.ts → class/tableview/class-tableview-attribute-converter.d.ts} +1 -1
- package/tableview/api/{tableview/models → class/tableview}/class-tableview-attribute.model.d.ts +2 -2
- package/tableview/api/class/tableview/class-tableview-data-provider.factory.d.ts +4 -0
- package/tableview/api/{tableview/helpers/tableview-descriptor-helpers.d.ts → class/tableview/class-tableview-descriptor-helpers.d.ts} +1 -2
- package/tableview/api/class/tableview/class-tableview-descriptor.factory.d.ts +12 -0
- package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +17 -16
- package/tableview/api/editor/data-providers/editor.data-provider.d.ts +64 -29
- package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +5 -38
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +48 -112
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +8 -1
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -3
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +3 -11
- package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +25 -0
- package/tableview/api/editor/models/editor-fields.model.d.ts +25 -21
- package/tableview/api/editor/models/form-editor.event.d.ts +0 -4
- package/tableview/api/index.d.ts +7 -6
- package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +20 -25
- package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +22 -22
- package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +20 -50
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +69 -163
- package/tableview/api/tableview/helpers/tableview-create.d.ts +18 -5
- package/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.d.ts +2 -2
- package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +73 -20
- package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +87 -9
- package/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.d.ts +9 -0
- package/tableview/api/tableview/models/tableview-descriptor-helper.type.d.ts +2 -0
- package/tableview/api/tableview/models/tableview-input.model.d.ts +1 -1
- package/tableview/api/tableview/models/tableview-route.model.d.ts +1 -1
- package/tableview/editor/helpers/field-create.d.ts +9 -0
- package/tableview/index.d.ts +2 -1
- package/tableview/tableview/components/route/tableview-route.component.d.ts +1 -1
- package/tableview/tableview/components/tableview/tableview.component.d.ts +6 -6
- package/version-info.json +5 -5
- package/core/components/pages/error/error.page.component.d.ts +0 -11
- package/core/components/pages/not-found/not-found.page.component.d.ts +0 -11
- package/core/data-providers/base-data-provider.factory.d.ts +0 -13
- package/esm2022/core/components/pages/error/error.page.component.mjs +0 -24
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +0 -24
- package/esm2022/core/data-providers/base-data-provider.factory.mjs +0 -28
- package/esm2022/model/helpers/model.mjs +0 -71
- package/esm2022/table/api/helpers/class-attribute-converter.mjs +0 -104
- package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +0 -98
- package/esm2022/table/api/models/class-table-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/editor/helpers/class-attribute-converter.mjs +0 -85
- package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +0 -95
- package/esm2022/tableview/api/editor/models/class-tableview-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/tableview/helpers/class-attribute-converter.mjs +0 -34
- package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +0 -110
- package/esm2022/tableview/api/tableview/models/class-tableview-attribute.model.mjs +0 -2
|
@@ -5,8 +5,8 @@ export function getEditorFieldLabel(descriptor, editorDescriptor) {
|
|
|
5
5
|
if (descriptor.label === null) {
|
|
6
6
|
return null;
|
|
7
7
|
}
|
|
8
|
-
else if (!descriptor.label) {
|
|
9
|
-
return getI18nTypePropertyKey(editorDescriptor?.model.i18nBaseKey ?? '', descriptor.property);
|
|
8
|
+
else if (!descriptor.label || descriptor.labelUseModelBase) {
|
|
9
|
+
return getI18nTypePropertyKey(editorDescriptor?.model.i18nBaseKey ?? '', descriptor.label ?? descriptor.property);
|
|
10
10
|
}
|
|
11
11
|
else {
|
|
12
12
|
return descriptor.label;
|
|
@@ -36,4 +36,4 @@ export function getEditorFieldLabel(descriptor, editorDescriptor) {
|
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9lZGl0b3IvaGVscGVycy9lZGl0b3ItZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakksT0FBTyxFQUFDLGdCQUFnQixFQUFFLHFCQUFxQixFQUFpRCxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRWhLLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxVQUFvQyxFQUFFLGdCQUFpRDtJQUN2SCxJQUFJLFVBQVUsWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pDLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0QsT0FBTyxzQkFBc0IsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0SCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztTQUFNLElBQUksVUFBVSxZQUFZLHFCQUFxQixFQUFFLENBQUM7UUFDckQsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN0QixLQUFLLGtCQUFrQixDQUFDLEdBQUc7b0JBQ3ZCLE9BQU8saUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6RixLQUFLLGtCQUFrQixDQUFDLFFBQVE7b0JBQzVCLE9BQU8sbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzRixLQUFLLGtCQUFrQixDQUFDLE9BQU87b0JBQzNCLE9BQU8sSUFBSSxDQUFDO2dCQUNoQjtvQkFDSSxNQUFNLElBQUksb0JBQW9CLENBQUMsa0NBQWtDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzVGLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uc0ludGVybmFsRXJyb3IsIGdldEkxOG5UeXBlR3JvdXBLZXksIGdldEkxOG5UeXBlUHJvcGVydHlLZXksIGdldEkxOG5UeXBlVGFiS2V5fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtBRmllbGREZXNjcmlwdG9yLCBBRmllbGRHcm91cERlc2NyaXB0b3IsIEFHZW5lcmljRmllbGREZXNjcmlwdG9yLCBFZGl0b3JEZXNjcmlwdG9ySW5zdCwgRmllbGRHcm91cFR5cGVFbnVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWRpdG9yRmllbGRMYWJlbChkZXNjcmlwdG9yPzogQUdlbmVyaWNGaWVsZERlc2NyaXB0b3IsIGVkaXRvckRlc2NyaXB0b3I/OiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxhbnksIGFueT4pIHtcbiAgICBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEFGaWVsZERlc2NyaXB0b3IpIHtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IubGFiZWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKCFkZXNjcmlwdG9yLmxhYmVsIHx8IGRlc2NyaXB0b3IubGFiZWxVc2VNb2RlbEJhc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRJMThuVHlwZVByb3BlcnR5S2V5KGVkaXRvckRlc2NyaXB0b3I/Lm1vZGVsLmkxOG5CYXNlS2V5ID8/ICcnLCBkZXNjcmlwdG9yLmxhYmVsID8/IGRlc2NyaXB0b3IucHJvcGVydHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3IubGFiZWw7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBBRmllbGRHcm91cERlc2NyaXB0b3IpIHtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IudGl0bGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKCFkZXNjcmlwdG9yLnRpdGxlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRHcm91cFR5cGVFbnVtLlRhYjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldEkxOG5UeXBlVGFiS2V5KGVkaXRvckRlc2NyaXB0b3I/Lm1vZGVsLmkxOG5CYXNlS2V5ID8/ICcnLCBkZXNjcmlwdG9yLm5hbWUpO1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRHcm91cFR5cGVFbnVtLkZpZWxkc2V0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0STE4blR5cGVHcm91cEtleShlZGl0b3JEZXNjcmlwdG9yPy5tb2RlbC5pMThuQmFzZUtleSA/PyAnJywgZGVzY3JpcHRvci5uYW1lKTtcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkR3JvdXBUeXBlRW51bS5Mb2dpY2FsOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYExhYmVsIG5vdCBpbXBsZW1lbnRlZCBmb3IgdHlwZSAke2Rlc2NyaXB0b3IudHlwZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yLnRpdGxlO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonsInternalError, CommonsService } from '@mediusinc/mng-commons/core';
|
|
2
|
-
import {
|
|
2
|
+
import { LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
|
|
3
3
|
import { FieldActionDescriptor, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldValidationDescriptor, TableviewDescriptorInst, TableviewEditorTypeEnum } from '@mediusinc/mng-commons/tableview/api';
|
|
4
4
|
import { emailValidationName, emailValidator, maxDateValidationName, maxDateValidator, minDateValidationName, minDateValidator } from './editor-validators';
|
|
5
5
|
export function createFormlyConfigFromDescriptor(descriptor, formlyConfig, formEditorComponent) {
|
|
@@ -29,7 +29,7 @@ export function createFormlyLocalizationsTab(descriptor) {
|
|
|
29
29
|
localizationsTableViewDescriptor.editEditor.addField(descriptor.localizationLocaleProperty).withDisabled(true);
|
|
30
30
|
localizationsTableViewDescriptor.detailsEditor.addField(descriptor.localizationLocaleProperty).withDisabled(true);
|
|
31
31
|
localizationsTableViewDescriptor.addEditor
|
|
32
|
-
.
|
|
32
|
+
.addFieldLookup(descriptor.localizationLocaleProperty, { serviceProvider: new LookupDataProviderInst(CommonsService) })
|
|
33
33
|
.withLookup((qp, service) => service.appDataLocales())
|
|
34
34
|
.withDisabled(false)
|
|
35
35
|
.withRequired();
|
|
@@ -40,7 +40,7 @@ export function createFormlyLocalizationsTab(descriptor) {
|
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
const descriptorWithLocalizations = descriptor.copy();
|
|
43
|
-
descriptorWithLocalizations.
|
|
43
|
+
descriptorWithLocalizations.addTabGroup('localizations');
|
|
44
44
|
if (!descriptor.localizationLocalizationProperty) {
|
|
45
45
|
throw new CommonsInternalError('Localization localization property must be defined');
|
|
46
46
|
}
|
|
@@ -385,4 +385,4 @@ export function createFormlyValidation(config, validation, formlyConfig) {
|
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
387
|
}
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZvcm1seS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvZWRpdG9yL2hlbHBlcnMvZWRpdG9yLWZvcm1seS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xELE9BQU8sRUFLSCxxQkFBcUIsRUFHckIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsK0JBQStCLEVBRS9CLHlCQUF5QixFQUV6Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQzFCLE1BQU0sc0NBQXNDLENBQUM7QUFFOUMsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTFKLE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDNUMsVUFBcUMsRUFDckMsWUFBMEIsRUFDMUIsbUJBQStDO0lBRS9DLE1BQU0sTUFBTSxHQUErQixFQUFFLENBQUM7SUFFOUMsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekIsVUFBVSxHQUFHLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4RixnQkFBZ0I7UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLHFCQUFxQixDQUFDLFVBQVUsQ0FB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QUF3QixDQUFDLElBQWlCO3dCQUNoRCxpQkFBaUIsRUFBRSx3QkFBd0I7d0JBQzNDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CO3dCQUNsRSxjQUFjLEVBQUUsd0JBQXdCLENBQUMsS0FBSyxFQUFFLGNBQWM7cUJBQ2pFLENBQUMsQ0FBQztnQkFDUCxDQUFDO2FBQ0osQ0FBQztZQUNGLElBQUksVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUN6RCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDbkIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO2dCQUNyQixPQUFPLEVBQUUsRUFBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUM7YUFDckQsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0Zvcm1seUNvbmZpZ30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge1ZhbGlkYXRpb25NZXNzYWdlT3B0aW9ufSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHtGb3JtbHlGaWVsZENvbmZpZ30gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9saWIvbW9kZWxzL2ZpZWxkY29uZmlnJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7Q29tbW9uc0ludGVybmFsRXJyb3IsIENvbW1vbnNTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHt0eXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcbmltcG9ydCB7XG4gICAgQUZpZWxkRGVzY3JpcHRvcixcbiAgICBDb21tb25zRm9ybWx5RmllbGRDb25maWcsXG4gICAgQ29tbW9uc0Zvcm1seVZhbGlkYXRpb24sXG4gICAgRWRpdG9yRGVzY3JpcHRvckluc3QsXG4gICAgRmllbGRBY3Rpb25EZXNjcmlwdG9yLFxuICAgIEZpZWxkQmFzZVZhbGlkYXRvcixcbiAgICBGaWVsZEdyb3VwRGVzY3JpcHRvcixcbiAgICBGaWVsZElucHV0RGVzY3JpcHRvcixcbiAgICBGaWVsZElucHV0VHlwZUVudW0sXG4gICAgRmllbGRMb29rdXBEZXNjcmlwdG9yLFxuICAgIEZpZWxkTG9va3VwRW51bURlc2NyaXB0b3IsXG4gICAgRmllbGRMb29rdXBUeXBlRW51bSxcbiAgICBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yLFxuICAgIEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3IsXG4gICAgRmllbGRUYWJHcm91cERlc2NyaXB0b3IsXG4gICAgRmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcixcbiAgICBJRm9ybUVkaXRvckNvbXBvbmVudCxcbiAgICBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdCxcbiAgICBUYWJsZXZpZXdFZGl0b3JUeXBlRW51bVxufSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge2VtYWlsVmFsaWRhdGlvbk5hbWUsIGVtYWlsVmFsaWRhdG9yLCBtYXhEYXRlVmFsaWRhdGlvbk5hbWUsIG1heERhdGVWYWxpZGF0b3IsIG1pbkRhdGVWYWxpZGF0aW9uTmFtZSwgbWluRGF0ZVZhbGlkYXRvcn0gZnJvbSAnLi9lZGl0b3ItdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlDb25maWdGcm9tRGVzY3JpcHRvcjxJdGVtPihcbiAgICBkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxhbnk+LFxuICAgIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnLFxuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PEl0ZW0+XG4pOiBDb21tb25zRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgY29uc3QgZmllbGRzOiBDb21tb25zRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuXG4gICAgaWYgKGRlc2NyaXB0b3IuaXNMb2NhbGl6ZWQpIHtcbiAgICAgICAgZGVzY3JpcHRvciA9IGNyZWF0ZUZvcm1seUxvY2FsaXphdGlvbnNUYWIoZGVzY3JpcHRvcik7XG4gICAgfVxuXG4gICAgaWYgKCFkZXNjcmlwdG9yLmlzTG9jYWxpemVkICYmIGRlc2NyaXB0b3IudGFicy5sZW5ndGggPT09IDEgJiYgZGVzY3JpcHRvci50YWJzWzBdLmRlZmF1bHQpIHtcbiAgICAgICAgLy8gZG9udCB1c2UgdGFic1xuICAgICAgICBmaWVsZHMucHVzaCguLi5jcmVhdGVGb3JtbHlHcm91cFR5cGUoZGVzY3JpcHRvci50YWJzWzBdLmZpZWxkcywgZGVzY3JpcHRvciwgZm9ybWx5Q29uZmlnLCBmb3JtRWRpdG9yQ29tcG9uZW50KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZmllbGRzLnB1c2goLi4uY3JlYXRlRm9ybWx5VGFiVHlwZShkZXNjcmlwdG9yLnRhYnMsIGRlc2NyaXB0b3IsIGZvcm1seUNvbmZpZywgZm9ybUVkaXRvckNvbXBvbmVudCkpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlMb2NhbGl6YXRpb25zVGFiPEl0ZW0+KGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3JJbnN0PEl0ZW0+KSB7XG4gICAgaWYgKGRlc2NyaXB0b3IuaXNMb2NhbGl6ZWQgJiYgZGVzY3JpcHRvci50YWJsZXZpZXdFZGl0b3JUeXBlICE9PSBUYWJsZXZpZXdFZGl0b3JUeXBlRW51bS5EZXRhaWxzKSB7XG4gICAgICAgIGlmICghZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Nb2RlbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdMb2NhbGl6YXRpb24gbW9kZWwgbXVzdCBiZSBkZWZpbmVkLicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxvY2FsaXphdGlvbnNUYWJsZVZpZXdEZXNjcmlwdG9yID0gbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PGFueSwgbmV2ZXIsIG5ldmVyLCBJdGVtPihkZXNjcmlwdG9yLmxvY2FsaXphdGlvbk1vZGVsKTtcbiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ0xvY2FsaXphdGlvbiBsb2NhbGUgcHJvcGVydHkgbXVzdCBiZSBkZWZpbmVkLicpO1xuICAgICAgICB9XG4gICAgICAgIGxvY2FsaXphdGlvbnNUYWJsZVZpZXdEZXNjcmlwdG9yLmFkZENvbHVtbihkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KTtcbiAgICAgICAgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IuZWRpdEVkaXRvci5hZGRGaWVsZChkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KS53aXRoRGlzYWJsZWQodHJ1ZSk7XG4gICAgICAgIGxvY2FsaXphdGlvbnNUYWJsZVZpZXdEZXNjcmlwdG9yLmRldGFpbHNFZGl0b3IuYWRkRmllbGQoZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eSkud2l0aERpc2FibGVkKHRydWUpO1xuICAgICAgICBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvci5hZGRFZGl0b3JcbiAgICAgICAgICAgIC5hZGRGaWVsZExvb2t1cFdpdGhQcm92aWRlcihkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5LCBDb21tb25zU2VydmljZSwgdHlwZTxzdHJpbmc+KCkpXG4gICAgICAgICAgICAud2l0aExvb2t1cCgocXAsIHNlcnZpY2UpID0+IHNlcnZpY2UuYXBwRGF0YUxvY2FsZXMoKSlcbiAgICAgICAgICAgIC53aXRoRGlzYWJsZWQoZmFsc2UpXG4gICAgICAgICAgICAud2l0aFJlcXVpcmVkKCk7XG4gICAgICAgIGRlc2NyaXB0b3IuZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmlzTG9jYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IuYWRkQ29sdW1uKGZpZWxkLnByb3BlcnR5KTtcbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvci5hZGRGaWVsZChmaWVsZC5wcm9wZXJ0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yV2l0aExvY2FsaXphdGlvbnMgPSBkZXNjcmlwdG9yLmNvcHkoKTtcbiAgICAgICAgZGVzY3JpcHRvcldpdGhMb2NhbGl6YXRpb25zLmNyZWF0ZVRhYkdyb3VwKCdsb2NhbGl6YXRpb25zJyk7XG4gICAgICAgIGlmICghZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdMb2NhbGl6YXRpb24gbG9jYWxpemF0aW9uIHByb3BlcnR5IG11c3QgYmUgZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGRlc2NyaXB0b3JXaXRoTG9jYWxpemF0aW9ucy5hZGRGaWVsZE1hbnlFZGl0b3JVbnNhZmUoZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eSwgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IpO1xuXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yV2l0aExvY2FsaXphdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5VGFiVHlwZTxJdGVtPihcbiAgICB0YWJHcm91cHM6IEZpZWxkVGFiR3JvdXBEZXNjcmlwdG9yPGFueT5bXSxcbiAgICBlZGl0b3JEZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxhbnk+LFxuICAgIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnLFxuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PEl0ZW0+XG4pOiBDb21tb25zRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgY29uc3QgdGFic0ZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcgPSB7XG4gICAgICAgIHR5cGU6ICd0YWJzJyxcbiAgICAgICAgZmllbGRHcm91cDogW10sXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBmb3JtRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICAgICAgZWRpdG9yRGVzY3JpcHRvcjogZWRpdG9yRGVzY3JpcHRvclxuICAgICAgICB9XG4gICAgfTtcbiAgICBmb3IgKGNvbnN0IHRhYiBvZiB0YWJHcm91cHMpIHtcbiAgICAgICAgY29uc3QgdGFiRmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgICAgIGlkOiB0YWIubmFtZSxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgZm9ybUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiB0YWIsXG4gICAgICAgICAgICAgICAgZWRpdG9yRGVzY3JpcHRvcjogZWRpdG9yRGVzY3JpcHRvclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cHJlc3Npb25zOiB7fSxcbiAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0YWIudGl0bGUpIHtcbiAgICAgICAgICAgIHRhYkZpZWxkLnByb3BzLmxhYmVsID0gdGFiLnRpdGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRhYi5oaWRkZW5FeHByZXNzaW9uKSB7XG4gICAgICAgICAgICB0YWJGaWVsZC5leHByZXNzaW9ucyFbJ3Byb3BzLmdyb3VwSGlkZGVuJ10gPSB0YWIuaGlkZGVuRXhwcmVzc2lvbiBhcyBzdHJpbmcgfCAoKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykgPT4gYW55KSB8IE9ic2VydmFibGU8YW55PjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYkZpZWxkLmZpZWxkR3JvdXAhLnB1c2goLi4uY3JlYXRlRm9ybWx5R3JvdXBUeXBlKHRhYi5maWVsZHMsIGVkaXRvckRlc2NyaXB0b3IsIGZvcm1seUNvbmZpZywgZm9ybUVkaXRvckNvbXBvbmVudCkpO1xuICAgICAgICB0YWJzRmllbGQuZmllbGRHcm91cCEucHVzaCh0YWJGaWVsZCk7XG4gICAgfVxuICAgIHJldHVybiBbdGFic0ZpZWxkXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1seUdyb3VwVHlwZTxJdGVtPihcbiAgICBncm91cHM6IEZpZWxkR3JvdXBEZXNjcmlwdG9yPGFueT5bXSxcbiAgICBlZGl0b3JEZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxhbnk+LFxuICAgIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnLFxuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PEl0ZW0+XG4pOiBDb21tb25zRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDEgJiYgZ3JvdXBzWzBdLmRlZmF1bHQpIHtcbiAgICAgICAgLy8gZG9udCB1c2UgZmllbGRzZXQsIGp1c3QgY3JlYXRlIGZpZWxkc1xuICAgICAgICByZXR1cm4gY3JlYXRlRm9ybWx5RmllbGRzKGdyb3Vwc1swXSwgZWRpdG9yRGVzY3JpcHRvciwgZm9ybWx5Q29uZmlnLCBmb3JtRWRpdG9yQ29tcG9uZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBncm91cHNGaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgdHlwZTogJ2ZpZWxkc2V0JyxcbiAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdLFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICBmb3JtRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGVkaXRvckRlc2NyaXB0b3I6IGVkaXRvckRlc2NyaXB0b3JcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHByZXNzaW9uczoge31cbiAgICAgICAgfTtcblxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3Vwcykge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBGaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnPGFueSwgSXRlbT4gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IGdyb3VwLm5hbWUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvcjogZ3JvdXAsXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvckRlc2NyaXB0b3I6IGVkaXRvckRlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb25zOiB7fSxcbiAgICAgICAgICAgICAgICBmaWVsZEdyb3VwOiBbXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChncm91cC50aXRsZSkge1xuICAgICAgICAgICAgICAgIGdyb3VwRmllbGQucHJvcHMubGFiZWwgPSBncm91cC50aXRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGdyb3VwLmhpZGRlbkV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgICAgICBncm91cEZpZWxkLmV4cHJlc3Npb25zIVsncHJvcHMuZ3JvdXBIaWRkZW4nXSA9IGdyb3VwLmhpZGRlbkV4cHJlc3Npb24gYXMgc3RyaW5nIHwgKChmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IGFueSkgfCBPYnNlcnZhYmxlPGFueT47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGdyb3VwRmllbGQuZmllbGRHcm91cCEucHVzaCguLi5jcmVhdGVGb3JtbHlGaWVsZHMoZ3JvdXAsIGVkaXRvckRlc2NyaXB0b3IsIGZvcm1seUNvbmZpZywgZm9ybUVkaXRvckNvbXBvbmVudCkpO1xuICAgICAgICAgICAgZ3JvdXBzRmllbGQuZmllbGRHcm91cCEucHVzaChncm91cEZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2dyb3Vwc0ZpZWxkXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlGaWVsZHM8SXRlbT4oXG4gICAgZGVzY3JpcHRvcjogRmllbGRHcm91cERlc2NyaXB0b3I8YW55PixcbiAgICBlZGl0b3JEZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxhbnk+LFxuICAgIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnLFxuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PEl0ZW0+XG4pOiBDb21tb25zRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgY29uc3QgZmllbGRzOiBDb21tb25zRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgZGVzY3JpcHRvckZpZWxkIG9mIGRlc2NyaXB0b3IuZmllbGRzKSB7XG4gICAgICAgIGZpZWxkcy5wdXNoKGNyZWF0ZUZvcm1seUZpZWxkKGRlc2NyaXB0b3JGaWVsZCwgZWRpdG9yRGVzY3JpcHRvciwgZm9ybWx5Q29uZmlnLCBmb3JtRWRpdG9yQ29tcG9uZW50KSk7XG4gICAgfVxuICAgIC8vIHdyYXAgaW4gZ3JvdXAgdG8gYmUgYWJsZSB0byB1c2UgZmxleCBncmlkXG4gICAgY29uc3Qgd3JhcHBlckdyb3VwOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcgPSB7XG4gICAgICAgIGZpZWxkR3JvdXBDbGFzc05hbWU6ICdwLWZsdWlkIGZvcm1ncmlkIGdyaWQnLFxuICAgICAgICBmaWVsZEdyb3VwOiBmaWVsZHMsXG4gICAgICAgIHByb3BzOiB7fVxuICAgIH07XG5cbiAgICBhZGRWYWxpZGF0aW9uc1RvRm9ybWx5RmllbGQod3JhcHBlckdyb3VwLCBkZXNjcmlwdG9yLnZhbGlkYXRpb25zLCBmb3JtbHlDb25maWcpO1xuXG4gICAgcmV0dXJuIFt3cmFwcGVyR3JvdXBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5RmllbGQ8SXRlbT4oXG4gICAgZGVzY3JpcHRvcjogQUZpZWxkRGVzY3JpcHRvcjxhbnksIGFueT4sXG4gICAgZWRpdG9yRGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvckluc3Q8YW55PixcbiAgICBmb3JtbHlDb25maWc6IEZvcm1seUNvbmZpZyxcbiAgICBmb3JtRWRpdG9yQ29tcG9uZW50OiBJRm9ybUVkaXRvckNvbXBvbmVudDxJdGVtPlxuKTogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBjb25zdCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnPGFueSwgSXRlbT4gPSB7XG4gICAgICAgIGtleTogZGVzY3JpcHRvci5wcm9wZXJ0eSxcbiAgICAgICAgbW9kZWxPcHRpb25zOiB7XG4gICAgICAgICAgICB1cGRhdGVPbjogZGVzY3JpcHRvci51cGRhdGVPblxuICAgICAgICB9LFxuICAgICAgICBob29rczoge1xuICAgICAgICAgICAgb25Jbml0OiAoKSA9PiAoZGVzY3JpcHRvci5vbkluaXQgPyBkZXNjcmlwdG9yLm9uSW5pdChmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgb25DaGFuZ2VzOiAoKSA9PiAoZGVzY3JpcHRvci5vbkNoYW5nZXMgPyBkZXNjcmlwdG9yLm9uQ2hhbmdlcyhmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgYWZ0ZXJDb250ZW50SW5pdDogKCkgPT4gKGRlc2NyaXB0b3IuYWZ0ZXJDb250ZW50SW5pdCA/IGRlc2NyaXB0b3IuYWZ0ZXJDb250ZW50SW5pdChmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgYWZ0ZXJWaWV3SW5pdDogKCkgPT4gKGRlc2NyaXB0b3IuYWZ0ZXJWaWV3SW5pdCA/IGRlc2NyaXB0b3IuYWZ0ZXJWaWV3SW5pdChmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgb25EZXN0cm95OiAoKSA9PiAoZGVzY3JpcHRvci5vbkRlc3Ryb3kgPyBkZXNjcmlwdG9yLm9uRGVzdHJveShmaWVsZCkgOiB1bmRlZmluZWQpXG4gICAgICAgIH0sXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdG9yLFxuICAgICAgICAgICAgZm9ybUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgICAgIGVkaXRvckRlc2NyaXB0b3I6IGVkaXRvckRlc2NyaXB0b3IsXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlOiBkZXNjcmlwdG9yLm9uVmFsdWVDaGFuZ2VcbiAgICAgICAgfSxcbiAgICAgICAgZXhwcmVzc2lvbnM6IHt9XG4gICAgfTtcblxuICAgIGxldCBjbGFzc05hbWUgPSBkZXNjcmlwdG9yLmNsYXNzTmFtZTtcbiAgICBpZiAoIWNsYXNzTmFtZSkge1xuICAgICAgICAvLyBhc3NpZ24gZGVmYXVsdCBmaWVsZCB3aWR0aCB0aHJvdWdoIGVudGlyZSByb3dcbiAgICAgICAgY2xhc3NOYW1lID0gJ2NvbC0xMic7XG4gICAgfVxuICAgIGZpZWxkLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcblxuICAgIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRJbnB1dERlc2NyaXB0b3IpIHtcbiAgICAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmZpZWxkVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uSGlkZGVuOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uTGFiZWw6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdsYWJlbCc7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGZpZWxkLmtleTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLlRleHRhcmVhOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAndGV4dGFyZWEnO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLm1heExlbmd0aCA9IGRlc2NyaXB0b3IubWF4TGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLm1pbkxlbmd0aCA9IGRlc2NyaXB0b3IubWluTGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLnBhdHRlcm4gPSBkZXNjcmlwdG9yLnBhdHRlcm47XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdudW1iZXInO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLm1pbiA9IGRlc2NyaXB0b3IubnVtYmVyTWluO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLm1heCA9IGRlc2NyaXB0b3IubnVtYmVyTWF4O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uQ3VycmVuY3k6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdjdXJyZW5jeSc7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWluID0gZGVzY3JpcHRvci5udW1iZXJNaW47XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWF4ID0gZGVzY3JpcHRvci5udW1iZXJNYXg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdzd2l0Y2gnO1xuICAgICAgICAgICAgICAgIGZpZWxkLmRlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uUmFkaW86XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdyYWRpbyc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5EYXRlcGlja2VyOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZGF0ZXBpY2tlcic7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5NYXNrOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnbWFzayc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5GaWxlOlxuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uSW1hZ2VGaWxlOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZmlsZSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5JbWFnZVVybDpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2ltYWdlVXJsJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkN1c3RvbTpcbiAgICAgICAgICAgICAgICBpZiAoZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnY3VzdG9tJztcbiAgICAgICAgICAgICAgICAgICAgZmllbGQucHJvcHNbJ2N1c3RvbUNvbXBvbmVudFR5cGUnXSA9IGRlc2NyaXB0b3IuY3VzdG9tQ29tcG9uZW50VHlwZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRXcmFwcGVycykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLndyYXBwZXJzID0gZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRXcmFwcGVycztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQud3JhcHBlcnMgPSBbJ2ZpZWxkJ107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnaW5wdXQnO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLm1pbkxlbmd0aCA9IGRlc2NyaXB0b3IubWluTGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLm1heExlbmd0aCA9IGRlc2NyaXB0b3IubWF4TGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZpZWxkLnByb3BzLnBhdHRlcm4gPSBkZXNjcmlwdG9yLnBhdHRlcm47XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZEFjdGlvbkRlc2NyaXB0b3IpIHtcbiAgICAgICAgZmllbGQudHlwZSA9ICdhY3Rpb24nO1xuICAgICAgICBmaWVsZC53cmFwcGVycyA9IGRlc2NyaXB0b3Iud3JhcHBlcnM7XG4gICAgICAgIGRlbGV0ZSBmaWVsZC5rZXk7XG4gICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRMb29rdXBFbnVtRGVzY3JpcHRvcikge1xuICAgICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IubG9va3VwVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZExvb2t1cFR5cGVFbnVtLkN1c3RvbTpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnROYW1lO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2VudW0nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRMb29rdXBEZXNjcmlwdG9yKSB7XG4gICAgICAgIHN3aXRjaCAoZGVzY3JpcHRvci5sb29rdXBUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwVHlwZUVudW0uQXV0b2NvbXBsZXRlOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnYXV0b2NvbXBsZXRlJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRMb29rdXBUeXBlRW51bS5EaWFsb2c6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdkaWFsb2cnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZExvb2t1cFR5cGVFbnVtLkN1c3RvbTpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnROYW1lO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZExvb2t1cFR5cGVFbnVtLkRyb3Bkb3duOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2Ryb3Bkb3duJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3IpIHtcbiAgICAgICAgZmllbGQudHlwZSA9ICd0YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QnO1xuICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEZpZWxkTWFueUVkaXRvckRlc2NyaXB0b3IpIHtcbiAgICAgICAgZmllbGQudHlwZSA9ICd0YWJsZS1kaWFsb2ctZm9ybSc7XG4gICAgfVxuXG4gICAgaWYgKGRlc2NyaXB0b3IubGFiZWwpIHtcbiAgICAgICAgZmllbGQucHJvcHMubGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsO1xuICAgIH1cblxuICAgIGlmIChkZXNjcmlwdG9yLnJlcXVpcmVkRXhwcmVzc2lvbikge1xuICAgICAgICBmaWVsZC5leHByZXNzaW9ucyFbJ3Byb3BzLnJlcXVpcmVkJ10gPSBkZXNjcmlwdG9yLnJlcXVpcmVkRXhwcmVzc2lvbjtcbiAgICB9XG4gICAgaWYgKGRlc2NyaXB0b3IucmVxdWlyZWQpIHtcbiAgICAgICAgZmllbGQucHJvcHMhLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IucmVxdWlyZWRIaWRlTGFiZWxNYXJrZXIpIHtcbiAgICAgICAgICAgIGZpZWxkLnByb3BzIVsnaGlkZVJlcXVpcmVkTWFya2VyJ10gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlc2NyaXB0b3IuaGlkZGVuRXhwcmVzc2lvbikge1xuICAgICAgICBmaWVsZC5leHByZXNzaW9ucyFbJ2hpZGUnXSA9IGRlc2NyaXB0b3IuaGlkZGVuRXhwcmVzc2lvbjtcbiAgICAgICAgZmllbGQuZXhwcmVzc2lvbnMhWydyZXNldE9uSGlkZSddID0gKCkgPT4gZGVzY3JpcHRvci5oaWRkZW5SZXNldE9uSGlkZSA/PyB0cnVlO1xuICAgIH1cblxuICAgIGlmIChkZXNjcmlwdG9yLmRpc2FibGVkRXhwcmVzc2lvbikge1xuICAgICAgICBmaWVsZC5leHByZXNzaW9ucyFbJ3Byb3BzLmRpc2FibGVkJ10gPSBkZXNjcmlwdG9yLmRpc2FibGVkRXhwcmVzc2lvbjtcbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IuZGlzYWJsZWQpIHtcbiAgICAgICAgZmllbGQucHJvcHMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zIVsncHJvcHMuZGlzYWJsZWQnXSA9ICdmb3JtU3RhdGUuZGlzYWJsZWQnO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci5kZWZhdWx0VmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGZpZWxkLmRlZmF1bHRWYWx1ZSA9IGRlc2NyaXB0b3IuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRJbnB1dERlc2NyaXB0b3IpIHtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IudmFsaWRhdGlvbkVtYWlsKSB7XG4gICAgICAgICAgICBkZXNjcmlwdG9yLnZhbGlkYXRpb25zLnB1c2gobmV3IEZpZWxkVmFsaWRhdGlvbkRlc2NyaXB0b3IoZW1haWxWYWxpZGF0aW9uTmFtZSwgZW1haWxWYWxpZGF0b3IoKSBhcyBGaWVsZEJhc2VWYWxpZGF0b3I8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgYW55PikpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZXNjcmlwdG9yLmRhdGVQaWNrZXJNaW4pIHtcbiAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsaWRhdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcihtaW5EYXRlVmFsaWRhdGlvbk5hbWUsIG1pbkRhdGVWYWxpZGF0b3IoZGVzY3JpcHRvci5kYXRlUGlja2VyTWluKSBhcyBGaWVsZEJhc2VWYWxpZGF0b3I8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgYW55PilcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IuZGF0ZVBpY2tlck1heCkge1xuICAgICAgICAgICAgZGVzY3JpcHRvci52YWxpZGF0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBGaWVsZFZhbGlkYXRpb25EZXNjcmlwdG9yKG1heERhdGVWYWxpZGF0aW9uTmFtZSwgbWF4RGF0ZVZhbGlkYXRvcihkZXNjcmlwdG9yLmRhdGVQaWNrZXJNYXgpIGFzIEZpZWxkQmFzZVZhbGlkYXRvcjxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBhbnk+KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZFZhbGlkYXRpb25zVG9Gb3JtbHlGaWVsZChmaWVsZCwgZGVzY3JpcHRvci52YWxpZGF0aW9ucywgZm9ybWx5Q29uZmlnKTtcbiAgICBhZGRBc3luY1ZhbGlkYXRpb25zVG9Gb3JtbHlGaWVsZChmaWVsZCwgZGVzY3JpcHRvci5hc3luY1ZhbGlkYXRpb25zLCBmb3JtbHlDb25maWcpO1xuXG4gICAgcmV0dXJuIGZpZWxkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkVmFsaWRhdGlvbnNUb0Zvcm1seUZpZWxkKGNvbmZpZzogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnLCB2YWxpZGF0aW9uczogQXJyYXk8RmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcjxhbnksIGFueT4+LCBmb3JtbHlDb25maWc6IEZvcm1seUNvbmZpZykge1xuICAgIGlmICghY29uZmlnLnZhbGlkYXRvcnMpIHtcbiAgICAgICAgY29uZmlnLnZhbGlkYXRvcnMgPSB7fTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbnMpIHtcbiAgICAgICAgY3JlYXRlRm9ybWx5VmFsaWRhdGlvbihjb25maWcudmFsaWRhdG9ycywgdmFsaWRhdGlvbiwgZm9ybWx5Q29uZmlnKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRBc3luY1ZhbGlkYXRpb25zVG9Gb3JtbHlGaWVsZChjb25maWc6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZywgYXN5bmNWYWxpZGF0aW9uczogQXJyYXk8RmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcjxhbnksIGFueT4+LCBmb3JtbHlDb25maWc6IEZvcm1seUNvbmZpZykge1xuICAgIGlmICghY29uZmlnLmFzeW5jVmFsaWRhdG9ycykge1xuICAgICAgICBjb25maWcuYXN5bmNWYWxpZGF0b3JzID0ge307XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB2YWxpZGF0aW9uIG9mIGFzeW5jVmFsaWRhdGlvbnMpIHtcbiAgICAgICAgY3JlYXRlRm9ybWx5VmFsaWRhdGlvbihjb25maWcuYXN5bmNWYWxpZGF0b3JzLCB2YWxpZGF0aW9uLCBmb3JtbHlDb25maWcpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1seVZhbGlkYXRpb24oY29uZmlnOiBOb25OdWxsYWJsZTxDb21tb25zRm9ybWx5VmFsaWRhdGlvbj4sIHZhbGlkYXRpb246IEZpZWxkVmFsaWRhdGlvbkRlc2NyaXB0b3I8YW55LCBhbnk+LCBmb3JtbHlDb25maWc6IEZvcm1seUNvbmZpZykge1xuICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi52YWxpZGF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKHZhbGlkYXRpb24ub3B0aW9ucz8uZXJyb3JQYXRoICYmIHZhbGlkYXRpb24ubWVzc2FnZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyBpZiB0aGlzIGlzIHVzZWQsIHRoZSB2YWxpZGF0b3IgYW5kIG1lc3NhZ2UgbXVzdCBiZSByZWdpc3RlcmVkIGdsb2JhbGx5XG4gICAgICAgICAgICBpZiAoIWZvcm1seUNvbmZpZy5nZXRWYWxpZGF0b3JNZXNzYWdlKHZhbGlkYXRpb24ubmFtZSkpIHtcbiAgICAgICAgICAgICAgICBmb3JtbHlDb25maWcuYWRkVmFsaWRhdG9yTWVzc2FnZSh2YWxpZGF0aW9uLm5hbWUsIHZhbGlkYXRpb24ubWVzc2FnZSBhcyBWYWxpZGF0aW9uTWVzc2FnZU9wdGlvblsnbWVzc2FnZSddKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFmb3JtbHlDb25maWcudmFsaWRhdG9yc1t2YWxpZGF0aW9uLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgZm9ybWx5Q29uZmlnLnNldFZhbGlkYXRvcih7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHZhbGlkYXRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogKGNvbnRyb2wsIGZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21tb25zRmllbGRGb3JtbHlDb25maWcgPSBmaWVsZCBhcyBDb21tb25zRm9ybWx5RmllbGRDb25maWc7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbi52YWxpZGF0b3IhKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEZvcm1Db250cm9sOiBjb250cm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm06IGNvbW1vbnNGaWVsZEZvcm1seUNvbmZpZy5mb3JtIGFzIEZvcm1Hcm91cCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEZvcm1seUNvbmZpZzogZmllbGQgYXMgQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db21wb25lbnQ6IGNvbW1vbnNGaWVsZEZvcm1seUNvbmZpZy5wcm9wcz8uZm9ybUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZENvbXBvbmVudDogY29tbW9uc0ZpZWxkRm9ybWx5Q29uZmlnLnByb3BzPy5maWVsZENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDxWYWxpZGF0b3JzPntbdmFsaWRhdGlvbi5uYW1lXTogdHJ1ZX07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbmZpZy52YWxpZGF0aW9uKSkge1xuICAgICAgICAgICAgICAgIGNvbmZpZy52YWxpZGF0aW9uID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25maWcudmFsaWRhdGlvbi5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiB2YWxpZGF0aW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge2Vycm9yUGF0aDogdmFsaWRhdGlvbi5vcHRpb25zLmVycm9yUGF0aH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uZmlnW3ZhbGlkYXRpb24ubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbW1vbnNGaWVsZEZvcm1seUNvbmZpZyA9IGZpZWxkIGFzIENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZztcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb24udmFsaWRhdG9yISh7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEZvcm1Db250cm9sOiBjb250cm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybTogY29tbW9uc0ZpZWxkRm9ybWx5Q29uZmlnLmZvcm0gYXMgRm9ybUdyb3VwLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRGb3JtbHlDb25maWc6IGNvbW1vbnNGaWVsZEZvcm1seUNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db21wb25lbnQ6IGNvbW1vbnNGaWVsZEZvcm1seUNvbmZpZy5wcm9wcz8uZm9ybUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkQ29tcG9uZW50OiBjb21tb25zRmllbGRGb3JtbHlDb25maWcucHJvcHM/LmZpZWxkQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvbi5tZXNzYWdlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25maWdbdmFsaWRhdGlvbi5uYW1lXS5tZXNzYWdlID0gdmFsaWRhdGlvbi5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbmZpZy52YWxpZGF0aW9uKSkge1xuICAgICAgICAgICAgY29uZmlnLnZhbGlkYXRpb24gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsaWRhdGlvbi5vcHRpb25zPy5lcnJvclBhdGgpIHtcbiAgICAgICAgICAgIGNvbmZpZy52YWxpZGF0aW9uLnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6IHZhbGlkYXRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7ZXJyb3JQYXRoOiB2YWxpZGF0aW9uLm9wdGlvbnMuZXJyb3JQYXRofVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25maWcudmFsaWRhdGlvbi5wdXNoKHZhbGlkYXRpb24ubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZvcm1seS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvZWRpdG9yL2hlbHBlcnMvZWRpdG9yLWZvcm1seS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUtILHFCQUFxQixFQUdyQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QiwrQkFBK0IsRUFFL0IseUJBQXlCLEVBRXpCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDMUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUU5QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFMUosTUFBTSxVQUFVLGdDQUFnQyxDQUM1QyxVQUFxQyxFQUNyQyxZQUEwQixFQUMxQixtQkFBK0M7SUFFL0MsTUFBTSxNQUFNLEdBQStCLEVBQUUsQ0FBQztJQUU5QyxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixVQUFVLEdBQUcsNEJBQTRCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hGLGdCQUFnQjtRQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcscUJBQXFCLENBQUMsVUFBVSxD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QUFFLE9BQU87d0JBQ3pCLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxJQUFpQjt3QkFDaEQsaUJBQWlCLEVBQUUsd0JBQXdCO3dCQUMzQyxhQUFhLEVBQUUsd0JBQXdCLENBQUMsS0FBSyxFQUFFLG1CQUFtQjt3QkFDbEUsY0FBYyxFQUFFLHdCQUF3QixDQUFDLEtBQUssRUFBRSxjQUFjO3FCQUNqRSxDQUFDLENBQUM7Z0JBQ1AsQ0FBQzthQUNKLENBQUM7WUFDRixJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDekQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsT0FBTyxFQUFFLEVBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDO2FBQ3JELENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtGb3JtbHlDb25maWd9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtWYWxpZGF0aW9uTWVzc2FnZU9wdGlvbn0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9saWIvbW9kZWxzJztcbmltcG9ydCB7Rm9ybWx5RmllbGRDb25maWd9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvbGliL21vZGVscy9maWVsZGNvbmZpZyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0NvbW1vbnNJbnRlcm5hbEVycm9yLCBDb21tb25zU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7TG9va3VwRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5pbXBvcnQge1xuICAgIEFGaWVsZERlc2NyaXB0b3IsXG4gICAgQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnLFxuICAgIENvbW1vbnNGb3JtbHlWYWxpZGF0aW9uLFxuICAgIEVkaXRvckRlc2NyaXB0b3JJbnN0LFxuICAgIEZpZWxkQWN0aW9uRGVzY3JpcHRvcixcbiAgICBGaWVsZEJhc2VWYWxpZGF0b3IsXG4gICAgRmllbGRHcm91cERlc2NyaXB0b3IsXG4gICAgRmllbGRJbnB1dERlc2NyaXB0b3IsXG4gICAgRmllbGRJbnB1dFR5cGVFbnVtLFxuICAgIEZpZWxkTG9va3VwRGVzY3JpcHRvcixcbiAgICBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yLFxuICAgIEZpZWxkTG9va3VwVHlwZUVudW0sXG4gICAgRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcixcbiAgICBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yLFxuICAgIEZpZWxkVGFiR3JvdXBEZXNjcmlwdG9yLFxuICAgIEZpZWxkVmFsaWRhdGlvbkRlc2NyaXB0b3IsXG4gICAgSUZvcm1FZGl0b3JDb21wb25lbnQsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3QsXG4gICAgVGFibGV2aWV3RWRpdG9yVHlwZUVudW1cbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtlbWFpbFZhbGlkYXRpb25OYW1lLCBlbWFpbFZhbGlkYXRvciwgbWF4RGF0ZVZhbGlkYXRpb25OYW1lLCBtYXhEYXRlVmFsaWRhdG9yLCBtaW5EYXRlVmFsaWRhdGlvbk5hbWUsIG1pbkRhdGVWYWxpZGF0b3J9IGZyb20gJy4vZWRpdG9yLXZhbGlkYXRvcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5Q29uZmlnRnJvbURlc2NyaXB0b3I8SXRlbT4oXG4gICAgZGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvckluc3Q8YW55PixcbiAgICBmb3JtbHlDb25maWc6IEZvcm1seUNvbmZpZyxcbiAgICBmb3JtRWRpdG9yQ29tcG9uZW50OiBJRm9ybUVkaXRvckNvbXBvbmVudDxJdGVtPlxuKTogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnW10ge1xuICAgIGNvbnN0IGZpZWxkczogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnW10gPSBbXTtcblxuICAgIGlmIChkZXNjcmlwdG9yLmlzTG9jYWxpemVkKSB7XG4gICAgICAgIGRlc2NyaXB0b3IgPSBjcmVhdGVGb3JtbHlMb2NhbGl6YXRpb25zVGFiKGRlc2NyaXB0b3IpO1xuICAgIH1cblxuICAgIGlmICghZGVzY3JpcHRvci5pc0xvY2FsaXplZCAmJiBkZXNjcmlwdG9yLnRhYnMubGVuZ3RoID09PSAxICYmIGRlc2NyaXB0b3IudGFic1swXS5kZWZhdWx0KSB7XG4gICAgICAgIC8vIGRvbnQgdXNlIHRhYnNcbiAgICAgICAgZmllbGRzLnB1c2goLi4uY3JlYXRlRm9ybWx5R3JvdXBUeXBlKGRlc2NyaXB0b3IudGFic1swXS5maWVsZHMsIGRlc2NyaXB0b3IsIGZvcm1seUNvbmZpZywgZm9ybUVkaXRvckNvbXBvbmVudCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkcy5wdXNoKC4uLmNyZWF0ZUZvcm1seVRhYlR5cGUoZGVzY3JpcHRvci50YWJzLCBkZXNjcmlwdG9yLCBmb3JtbHlDb25maWcsIGZvcm1FZGl0b3JDb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5TG9jYWxpemF0aW9uc1RhYjxJdGVtPihkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxJdGVtPikge1xuICAgIGlmIChkZXNjcmlwdG9yLmlzTG9jYWxpemVkICYmIGRlc2NyaXB0b3IudGFibGV2aWV3RWRpdG9yVHlwZSAhPT0gVGFibGV2aWV3RWRpdG9yVHlwZUVudW0uRGV0YWlscykge1xuICAgICAgICBpZiAoIWRlc2NyaXB0b3IubG9jYWxpemF0aW9uTW9kZWwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignTG9jYWxpemF0aW9uIG1vZGVsIG11c3QgYmUgZGVmaW5lZC4nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvciA9IG5ldyBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxhbnksIG5ldmVyLCBuZXZlciwgSXRlbT4oZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Nb2RlbCk7XG4gICAgICAgIGlmICghZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdMb2NhbGl6YXRpb24gbG9jYWxlIHByb3BlcnR5IG11c3QgYmUgZGVmaW5lZC4nKTtcbiAgICAgICAgfVxuICAgICAgICBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvci5hZGRDb2x1bW4oZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eSk7XG4gICAgICAgIGxvY2FsaXphdGlvbnNUYWJsZVZpZXdEZXNjcmlwdG9yLmVkaXRFZGl0b3IuYWRkRmllbGQoZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eSkud2l0aERpc2FibGVkKHRydWUpO1xuICAgICAgICBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvci5kZXRhaWxzRWRpdG9yLmFkZEZpZWxkKGRlc2NyaXB0b3IubG9jYWxpemF0aW9uTG9jYWxlUHJvcGVydHkpLndpdGhEaXNhYmxlZCh0cnVlKTtcbiAgICAgICAgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IuYWRkRWRpdG9yXG4gICAgICAgICAgICAuYWRkRmllbGRMb29rdXAoZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eSwge3NlcnZpY2VQcm92aWRlcjogbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8c3RyaW5nLCBDb21tb25zU2VydmljZT4oQ29tbW9uc1NlcnZpY2UpfSlcbiAgICAgICAgICAgIC53aXRoTG9va3VwKChxcCwgc2VydmljZSkgPT4gc2VydmljZS5hcHBEYXRhTG9jYWxlcygpKVxuICAgICAgICAgICAgLndpdGhEaXNhYmxlZChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoUmVxdWlyZWQoKTtcbiAgICAgICAgZGVzY3JpcHRvci5maWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQuaXNMb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvci5hZGRDb2x1bW4oZmllbGQucHJvcGVydHkpO1xuICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbnNUYWJsZVZpZXdEZXNjcmlwdG9yLmFkZEZpZWxkKGZpZWxkLnByb3BlcnR5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3JXaXRoTG9jYWxpemF0aW9ucyA9IGRlc2NyaXB0b3IuY29weSgpO1xuICAgICAgICBkZXNjcmlwdG9yV2l0aExvY2FsaXphdGlvbnMuYWRkVGFiR3JvdXAoJ2xvY2FsaXphdGlvbnMnKTtcbiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsaXphdGlvblByb3BlcnR5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ0xvY2FsaXphdGlvbiBsb2NhbGl6YXRpb24gcHJvcGVydHkgbXVzdCBiZSBkZWZpbmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgZGVzY3JpcHRvcldpdGhMb2NhbGl6YXRpb25zLmFkZEZpZWxkTWFueUVkaXRvclVuc2FmZShkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsaXphdGlvblByb3BlcnR5LCBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvcik7XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3JXaXRoTG9jYWxpemF0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlUYWJUeXBlPEl0ZW0+KFxuICAgIHRhYkdyb3VwczogRmllbGRUYWJHcm91cERlc2NyaXB0b3I8YW55PltdLFxuICAgIGVkaXRvckRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3JJbnN0PGFueT4sXG4gICAgZm9ybWx5Q29uZmlnOiBGb3JtbHlDb25maWcsXG4gICAgZm9ybUVkaXRvckNvbXBvbmVudDogSUZvcm1FZGl0b3JDb21wb25lbnQ8SXRlbT5cbik6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICBjb25zdCB0YWJzRmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgdHlwZTogJ3RhYnMnLFxuICAgICAgICBmaWVsZEdyb3VwOiBbXSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIGZvcm1FZGl0b3JDb21wb25lbnQsXG4gICAgICAgICAgICBlZGl0b3JEZXNjcmlwdG9yOiBlZGl0b3JEZXNjcmlwdG9yXG4gICAgICAgIH1cbiAgICB9O1xuICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYkdyb3Vwcykge1xuICAgICAgICBjb25zdCB0YWJGaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgaWQ6IHRhYi5uYW1lLFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICBmb3JtRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3I6IHRhYixcbiAgICAgICAgICAgICAgICBlZGl0b3JEZXNjcmlwdG9yOiBlZGl0b3JEZXNjcmlwdG9yXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXhwcmVzc2lvbnM6IHt9LFxuICAgICAgICAgICAgZmllbGRHcm91cDogW11cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRhYi50aXRsZSkge1xuICAgICAgICAgICAgdGFiRmllbGQucHJvcHMubGFiZWwgPSB0YWIudGl0bGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGFiLmhpZGRlbkV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgIHRhYkZpZWxkLmV4cHJlc3Npb25zIVsncHJvcHMuZ3JvdXBIaWRkZW4nXSA9IHRhYi5oaWRkZW5FeHByZXNzaW9uIGFzIHN0cmluZyB8ICgoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiBhbnkpIHwgT2JzZXJ2YWJsZTxhbnk+O1xuICAgICAgICB9XG5cbiAgICAgICAgdGFiRmllbGQuZmllbGRHcm91cCEucHVzaCguLi5jcmVhdGVGb3JtbHlHcm91cFR5cGUodGFiLmZpZWxkcywgZWRpdG9yRGVzY3JpcHRvciwgZm9ybWx5Q29uZmlnLCBmb3JtRWRpdG9yQ29tcG9uZW50KSk7XG4gICAgICAgIHRhYnNGaWVsZC5maWVsZEdyb3VwIS5wdXNoKHRhYkZpZWxkKTtcbiAgICB9XG4gICAgcmV0dXJuIFt0YWJzRmllbGRdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5R3JvdXBUeXBlPEl0ZW0+KFxuICAgIGdyb3VwczogRmllbGRHcm91cERlc2NyaXB0b3I8YW55PltdLFxuICAgIGVkaXRvckRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3JJbnN0PGFueT4sXG4gICAgZm9ybWx5Q29uZmlnOiBGb3JtbHlDb25maWcsXG4gICAgZm9ybUVkaXRvckNvbXBvbmVudDogSUZvcm1FZGl0b3JDb21wb25lbnQ8SXRlbT5cbik6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMSAmJiBncm91cHNbMF0uZGVmYXVsdCkge1xuICAgICAgICAvLyBkb250IHVzZSBmaWVsZHNldCwganVzdCBjcmVhdGUgZmllbGRzXG4gICAgICAgIHJldHVybiBjcmVhdGVGb3JtbHlGaWVsZHMoZ3JvdXBzWzBdLCBlZGl0b3JEZXNjcmlwdG9yLCBmb3JtbHlDb25maWcsIGZvcm1FZGl0b3JDb21wb25lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGdyb3Vwc0ZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcgPSB7XG4gICAgICAgICAgICB0eXBlOiAnZmllbGRzZXQnLFxuICAgICAgICAgICAgZmllbGRHcm91cDogW10sXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIGZvcm1FZGl0b3JDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgZWRpdG9yRGVzY3JpcHRvcjogZWRpdG9yRGVzY3JpcHRvclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cHJlc3Npb25zOiB7fVxuICAgICAgICB9O1xuXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBzKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cEZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWc8YW55LCBJdGVtPiA9IHtcbiAgICAgICAgICAgICAgICBpZDogZ3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBncm91cCxcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yRGVzY3JpcHRvcjogZWRpdG9yRGVzY3JpcHRvclxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbnM6IHt9LFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKGdyb3VwLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBGaWVsZC5wcm9wcy5sYWJlbCA9IGdyb3VwLnRpdGxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZ3JvdXAuaGlkZGVuRXhwcmVzc2lvbikge1xuICAgICAgICAgICAgICAgIGdyb3VwRmllbGQuZXhwcmVzc2lvbnMhWydwcm9wcy5ncm91cEhpZGRlbiddID0gZ3JvdXAuaGlkZGVuRXhwcmVzc2lvbiBhcyBzdHJpbmcgfCAoKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykgPT4gYW55KSB8IE9ic2VydmFibGU8YW55PjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZ3JvdXBGaWVsZC5maWVsZEdyb3VwIS5wdXNoKC4uLmNyZWF0ZUZvcm1seUZpZWxkcyhncm91cCwgZWRpdG9yRGVzY3JpcHRvciwgZm9ybWx5Q29uZmlnLCBmb3JtRWRpdG9yQ29tcG9uZW50KSk7XG4gICAgICAgICAgICBncm91cHNGaWVsZC5maWVsZEdyb3VwIS5wdXNoKGdyb3VwRmllbGQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbZ3JvdXBzRmllbGRdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1seUZpZWxkczxJdGVtPihcbiAgICBkZXNjcmlwdG9yOiBGaWVsZEdyb3VwRGVzY3JpcHRvcjxhbnk+LFxuICAgIGVkaXRvckRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3JJbnN0PGFueT4sXG4gICAgZm9ybWx5Q29uZmlnOiBGb3JtbHlDb25maWcsXG4gICAgZm9ybUVkaXRvckNvbXBvbmVudDogSUZvcm1FZGl0b3JDb21wb25lbnQ8SXRlbT5cbik6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICBjb25zdCBmaWVsZHM6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBkZXNjcmlwdG9yRmllbGQgb2YgZGVzY3JpcHRvci5maWVsZHMpIHtcbiAgICAgICAgZmllbGRzLnB1c2goY3JlYXRlRm9ybWx5RmllbGQoZGVzY3JpcHRvckZpZWxkLCBlZGl0b3JEZXNjcmlwdG9yLCBmb3JtbHlDb25maWcsIGZvcm1FZGl0b3JDb21wb25lbnQpKTtcbiAgICB9XG4gICAgLy8gd3JhcCBpbiBncm91cCB0byBiZSBhYmxlIHRvIHVzZSBmbGV4IGdyaWRcbiAgICBjb25zdCB3cmFwcGVyR3JvdXA6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTogJ3AtZmx1aWQgZm9ybWdyaWQgZ3JpZCcsXG4gICAgICAgIGZpZWxkR3JvdXA6IGZpZWxkcyxcbiAgICAgICAgcHJvcHM6IHt9XG4gICAgfTtcblxuICAgIGFkZFZhbGlkYXRpb25zVG9Gb3JtbHlGaWVsZCh3cmFwcGVyR3JvdXAsIGRlc2NyaXB0b3IudmFsaWRhdGlvbnMsIGZvcm1seUNvbmZpZyk7XG5cbiAgICByZXR1cm4gW3dyYXBwZXJHcm91cF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlGaWVsZDxJdGVtPihcbiAgICBkZXNjcmlwdG9yOiBBRmllbGREZXNjcmlwdG9yPGFueSwgYW55PixcbiAgICBlZGl0b3JEZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxhbnk+LFxuICAgIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnLFxuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PEl0ZW0+XG4pOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcge1xuICAgIGNvbnN0IGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWc8YW55LCBJdGVtPiA9IHtcbiAgICAgICAga2V5OiBkZXNjcmlwdG9yLnByb3BlcnR5LFxuICAgICAgICBtb2RlbE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHVwZGF0ZU9uOiBkZXNjcmlwdG9yLnVwZGF0ZU9uXG4gICAgICAgIH0sXG4gICAgICAgIGhvb2tzOiB7XG4gICAgICAgICAgICBvbkluaXQ6ICgpID0+IChkZXNjcmlwdG9yLm9uSW5pdCA/IGRlc2NyaXB0b3Iub25Jbml0KGZpZWxkKSA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICBvbkNoYW5nZXM6ICgpID0+IChkZXNjcmlwdG9yLm9uQ2hhbmdlcyA/IGRlc2NyaXB0b3Iub25DaGFuZ2VzKGZpZWxkKSA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICBhZnRlckNvbnRlbnRJbml0OiAoKSA9PiAoZGVzY3JpcHRvci5hZnRlckNvbnRlbnRJbml0ID8gZGVzY3JpcHRvci5hZnRlckNvbnRlbnRJbml0KGZpZWxkKSA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICBhZnRlclZpZXdJbml0OiAoKSA9PiAoZGVzY3JpcHRvci5hZnRlclZpZXdJbml0ID8gZGVzY3JpcHRvci5hZnRlclZpZXdJbml0KGZpZWxkKSA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICBvbkRlc3Ryb3k6ICgpID0+IChkZXNjcmlwdG9yLm9uRGVzdHJveSA/IGRlc2NyaXB0b3Iub25EZXN0cm95KGZpZWxkKSA6IHVuZGVmaW5lZClcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIGRlc2NyaXB0b3IsXG4gICAgICAgICAgICBmb3JtRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICAgICAgZWRpdG9yRGVzY3JpcHRvcjogZWRpdG9yRGVzY3JpcHRvcixcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U6IGRlc2NyaXB0b3Iub25WYWx1ZUNoYW5nZVxuICAgICAgICB9LFxuICAgICAgICBleHByZXNzaW9uczoge31cbiAgICB9O1xuXG4gICAgbGV0IGNsYXNzTmFtZSA9IGRlc2NyaXB0b3IuY2xhc3NOYW1lO1xuICAgIGlmICghY2xhc3NOYW1lKSB7XG4gICAgICAgIC8vIGFzc2lnbiBkZWZhdWx0IGZpZWxkIHdpZHRoIHRocm91Z2ggZW50aXJlIHJvd1xuICAgICAgICBjbGFzc05hbWUgPSAnY29sLTEyJztcbiAgICB9XG4gICAgZmllbGQuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuXG4gICAgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZElucHV0RGVzY3JpcHRvcikge1xuICAgICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZmllbGRUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5IaWRkZW46XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5MYWJlbDpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2xhYmVsJztcbiAgICAgICAgICAgICAgICBkZWxldGUgZmllbGQua2V5O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uVGV4dGFyZWE6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICd0ZXh0YXJlYSc7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWF4TGVuZ3RoID0gZGVzY3JpcHRvci5tYXhMZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWluTGVuZ3RoID0gZGVzY3JpcHRvci5taW5MZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMucGF0dGVybiA9IGRlc2NyaXB0b3IucGF0dGVybjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ251bWJlcic7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWluID0gZGVzY3JpcHRvci5udW1iZXJNaW47XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWF4ID0gZGVzY3JpcHRvci5udW1iZXJNYXg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeTpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2N1cnJlbmN5JztcbiAgICAgICAgICAgICAgICBmaWVsZC5wcm9wcy5taW4gPSBkZXNjcmlwdG9yLm51bWJlck1pbjtcbiAgICAgICAgICAgICAgICBmaWVsZC5wcm9wcy5tYXggPSBkZXNjcmlwdG9yLm51bWJlck1heDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLlN3aXRjaDpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ3N3aXRjaCc7XG4gICAgICAgICAgICAgICAgZmllbGQuZGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5SYWRpbzpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ3JhZGlvJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkRhdGVwaWNrZXI6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdkYXRlcGlja2VyJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLk1hc2s6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdtYXNrJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkZpbGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5JbWFnZUZpbGU6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdmaWxlJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkltYWdlVXJsOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnaW1hZ2VVcmwnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudFR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdjdXN0b20nO1xuICAgICAgICAgICAgICAgICAgICBmaWVsZC5wcm9wc1snY3VzdG9tQ29tcG9uZW50VHlwZSddID0gZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRUeXBlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudFdyYXBwZXJzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQud3JhcHBlcnMgPSBkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudFdyYXBwZXJzO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB3cmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC53cmFwcGVycyA9IFsnZmllbGQnXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdpbnB1dCc7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWluTGVuZ3RoID0gZGVzY3JpcHRvci5taW5MZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWF4TGVuZ3RoID0gZGVzY3JpcHRvci5tYXhMZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMucGF0dGVybiA9IGRlc2NyaXB0b3IucGF0dGVybjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEZpZWxkQWN0aW9uRGVzY3JpcHRvcikge1xuICAgICAgICBmaWVsZC50eXBlID0gJ2FjdGlvbic7XG4gICAgICAgIGZpZWxkLndyYXBwZXJzID0gZGVzY3JpcHRvci53cmFwcGVycztcbiAgICAgICAgZGVsZXRlIGZpZWxkLmtleTtcbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yKSB7XG4gICAgICAgIHN3aXRjaCAoZGVzY3JpcHRvci5sb29rdXBUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwVHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSBkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudE5hbWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZW51bSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZExvb2t1cERlc2NyaXB0b3IpIHtcbiAgICAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmxvb2t1cFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmllbGRMb29rdXBUeXBlRW51bS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZExvb2t1cFR5cGVFbnVtLkRpYWxvZzpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2RpYWxvZyc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwVHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSBkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudE5hbWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwVHlwZUVudW0uRHJvcGRvd246XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZHJvcGRvd24nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcikge1xuICAgICAgICBmaWVsZC50eXBlID0gJ3RhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdCc7XG4gICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcikge1xuICAgICAgICBmaWVsZC50eXBlID0gJ3RhYmxlLWRpYWxvZy1mb3JtJztcbiAgICB9XG5cbiAgICBpZiAoZGVzY3JpcHRvci5sYWJlbCkge1xuICAgICAgICBmaWVsZC5wcm9wcy5sYWJlbCA9IGRlc2NyaXB0b3IubGFiZWw7XG4gICAgfVxuXG4gICAgaWYgKGRlc2NyaXB0b3IucmVxdWlyZWRFeHByZXNzaW9uKSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zIVsncHJvcHMucmVxdWlyZWQnXSA9IGRlc2NyaXB0b3IucmVxdWlyZWRFeHByZXNzaW9uO1xuICAgIH1cbiAgICBpZiAoZGVzY3JpcHRvci5yZXF1aXJlZCkge1xuICAgICAgICBmaWVsZC5wcm9wcyEucmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICBpZiAoZGVzY3JpcHRvci5yZXF1aXJlZEhpZGVMYWJlbE1hcmtlcikge1xuICAgICAgICAgICAgZmllbGQucHJvcHMhWydoaWRlUmVxdWlyZWRNYXJrZXInXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVzY3JpcHRvci5oaWRkZW5FeHByZXNzaW9uKSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zIVsnaGlkZSddID0gZGVzY3JpcHRvci5oaWRkZW5FeHByZXNzaW9uO1xuICAgICAgICBmaWVsZC5leHByZXNzaW9ucyFbJ3Jlc2V0T25IaWRlJ10gPSAoKSA9PiBkZXNjcmlwdG9yLmhpZGRlblJlc2V0T25IaWRlID8/IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGRlc2NyaXB0b3IuZGlzYWJsZWRFeHByZXNzaW9uKSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zIVsncHJvcHMuZGlzYWJsZWQnXSA9IGRlc2NyaXB0b3IuZGlzYWJsZWRFeHByZXNzaW9uO1xuICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvci5kaXNhYmxlZCkge1xuICAgICAgICBmaWVsZC5wcm9wcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZmllbGQuZXhwcmVzc2lvbnMhWydwcm9wcy5kaXNhYmxlZCddID0gJ2Zvcm1TdGF0ZS5kaXNhYmxlZCc7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLmRlZmF1bHRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgZmllbGQuZGVmYXVsdFZhbHVlID0gZGVzY3JpcHRvci5kZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZElucHV0RGVzY3JpcHRvcikge1xuICAgICAgICBpZiAoZGVzY3JpcHRvci52YWxpZGF0aW9uRW1haWwpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsaWRhdGlvbnMucHVzaChuZXcgRmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcihlbWFpbFZhbGlkYXRpb25OYW1lLCBlbWFpbFZhbGlkYXRvcigpIGFzIEZpZWxkQmFzZVZhbGlkYXRvcjxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBhbnk+KSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IuZGF0ZVBpY2tlck1pbikge1xuICAgICAgICAgICAgZGVzY3JpcHRvci52YWxpZGF0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBGaWVsZFZhbGlkYXRpb25EZXNjcmlwdG9yKG1pbkRhdGVWYWxpZGF0aW9uTmFtZSwgbWluRGF0ZVZhbGlkYXRvcihkZXNjcmlwdG9yLmRhdGVQaWNrZXJNaW4pIGFzIEZpZWxkQmFzZVZhbGlkYXRvcjxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBhbnk+KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVzY3JpcHRvci5kYXRlUGlja2VyTWF4KSB7XG4gICAgICAgICAgICBkZXNjcmlwdG9yLnZhbGlkYXRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgbmV3IEZpZWxkVmFsaWRhdGlvbkRlc2NyaXB0b3IobWF4RGF0ZVZhbGlkYXRpb25OYW1lLCBtYXhEYXRlVmFsaWRhdG9yKGRlc2NyaXB0b3IuZGF0ZVBpY2tlck1heCkgYXMgRmllbGRCYXNlVmFsaWRhdG9yPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGFueT4pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkVmFsaWRhdGlvbnNUb0Zvcm1seUZpZWxkKGZpZWxkLCBkZXNjcmlwdG9yLnZhbGlkYXRpb25zLCBmb3JtbHlDb25maWcpO1xuICAgIGFkZEFzeW5jVmFsaWRhdGlvbnNUb0Zvcm1seUZpZWxkKGZpZWxkLCBkZXNjcmlwdG9yLmFzeW5jVmFsaWRhdGlvbnMsIGZvcm1seUNvbmZpZyk7XG5cbiAgICByZXR1cm4gZmllbGQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRWYWxpZGF0aW9uc1RvRm9ybWx5RmllbGQoY29uZmlnOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcsIHZhbGlkYXRpb25zOiBBcnJheTxGaWVsZFZhbGlkYXRpb25EZXNjcmlwdG9yPGFueSwgYW55Pj4sIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnKSB7XG4gICAgaWYgKCFjb25maWcudmFsaWRhdG9ycykge1xuICAgICAgICBjb25maWcudmFsaWRhdG9ycyA9IHt9O1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdmFsaWRhdGlvbiBvZiB2YWxpZGF0aW9ucykge1xuICAgICAgICBjcmVhdGVGb3JtbHlWYWxpZGF0aW9uKGNvbmZpZy52YWxpZGF0b3JzLCB2YWxpZGF0aW9uLCBmb3JtbHlDb25maWcpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEFzeW5jVmFsaWRhdGlvbnNUb0Zvcm1seUZpZWxkKGNvbmZpZzogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnLCBhc3luY1ZhbGlkYXRpb25zOiBBcnJheTxGaWVsZFZhbGlkYXRpb25EZXNjcmlwdG9yPGFueSwgYW55Pj4sIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnKSB7XG4gICAgaWYgKCFjb25maWcuYXN5bmNWYWxpZGF0b3JzKSB7XG4gICAgICAgIGNvbmZpZy5hc3luY1ZhbGlkYXRvcnMgPSB7fTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZhbGlkYXRpb24gb2YgYXN5bmNWYWxpZGF0aW9ucykge1xuICAgICAgICBjcmVhdGVGb3JtbHlWYWxpZGF0aW9uKGNvbmZpZy5hc3luY1ZhbGlkYXRvcnMsIHZhbGlkYXRpb24sIGZvcm1seUNvbmZpZyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5VmFsaWRhdGlvbihjb25maWc6IE5vbk51bGxhYmxlPENvbW1vbnNGb3JtbHlWYWxpZGF0aW9uPiwgdmFsaWRhdGlvbjogRmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcjxhbnksIGFueT4sIGZvcm1seUNvbmZpZzogRm9ybWx5Q29uZmlnKSB7XG4gICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAodmFsaWRhdGlvbi5vcHRpb25zPy5lcnJvclBhdGggJiYgdmFsaWRhdGlvbi5tZXNzYWdlICE9IG51bGwpIHtcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaXMgdXNlZCwgdGhlIHZhbGlkYXRvciBhbmQgbWVzc2FnZSBtdXN0IGJlIHJlZ2lzdGVyZWQgZ2xvYmFsbHlcbiAgICAgICAgICAgIGlmICghZm9ybWx5Q29uZmlnLmdldFZhbGlkYXRvck1lc3NhZ2UodmFsaWRhdGlvbi5uYW1lKSkge1xuICAgICAgICAgICAgICAgIGZvcm1seUNvbmZpZy5hZGRWYWxpZGF0b3JNZXNzYWdlKHZhbGlkYXRpb24ubmFtZSwgdmFsaWRhdGlvbi5tZXNzYWdlIGFzIFZhbGlkYXRpb25NZXNzYWdlT3B0aW9uWydtZXNzYWdlJ10pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWZvcm1seUNvbmZpZy52YWxpZGF0b3JzW3ZhbGlkYXRpb24ubmFtZV0pIHtcbiAgICAgICAgICAgICAgICBmb3JtbHlDb25maWcuc2V0VmFsaWRhdG9yKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdmFsaWRhdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiAoY29udHJvbCwgZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbW1vbnNGaWVsZEZvcm1seUNvbmZpZyA9IGZpZWxkIGFzIENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZztcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uLnZhbGlkYXRvciEoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkRm9ybUNvbnRyb2w6IGNvbnRyb2wsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybTogY29tbW9uc0ZpZWxkRm9ybWx5Q29uZmlnLmZvcm0gYXMgRm9ybUdyb3VwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkRm9ybWx5Q29uZmlnOiBmaWVsZCBhcyBDb21tb25zRm9ybWx5RmllbGRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbXBvbmVudDogY29tbW9uc0ZpZWxkRm9ybWx5Q29uZmlnLnByb3BzPy5mb3JtRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkQ29tcG9uZW50OiBjb21tb25zRmllbGRGb3JtbHlDb25maWcucHJvcHM/LmZpZWxkQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogPFZhbGlkYXRvcnM+e1t2YWxpZGF0aW9uLm5hbWVdOiB0cnVlfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29uZmlnLnZhbGlkYXRpb24pKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnLnZhbGlkYXRpb24gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbmZpZy52YWxpZGF0aW9uLnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6IHZhbGlkYXRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7ZXJyb3JQYXRoOiB2YWxpZGF0aW9uLm9wdGlvbnMuZXJyb3JQYXRofVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25maWdbdmFsaWRhdGlvbi5uYW1lXSA9IHtcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tbW9uc0ZpZWxkRm9ybWx5Q29uZmlnID0gZmllbGQgYXMgQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbi52YWxpZGF0b3IhKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkRm9ybUNvbnRyb2w6IGNvbnRyb2wsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtOiBjb21tb25zRmllbGRGb3JtbHlDb25maWcuZm9ybSBhcyBGb3JtR3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEZvcm1seUNvbmZpZzogY29tbW9uc0ZpZWxkRm9ybWx5Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbXBvbmVudDogY29tbW9uc0ZpZWxkRm9ybWx5Q29uZmlnLnByb3BzPy5mb3JtRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRDb21wb25lbnQ6IGNvbW1vbnNGaWVsZEZvcm1seUNvbmZpZy5wcm9wcz8uZmllbGRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uLm1lc3NhZ2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbmZpZ1t2YWxpZGF0aW9uLm5hbWVdLm1lc3NhZ2UgPSB2YWxpZGF0aW9uLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29uZmlnLnZhbGlkYXRpb24pKSB7XG4gICAgICAgICAgICBjb25maWcudmFsaWRhdGlvbiA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWxpZGF0aW9uLm9wdGlvbnM/LmVycm9yUGF0aCkge1xuICAgICAgICAgICAgY29uZmlnLnZhbGlkYXRpb24ucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogdmFsaWRhdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtlcnJvclBhdGg6IHZhbGlkYXRpb24ub3B0aW9ucy5lcnJvclBhdGh9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbmZpZy52YWxpZGF0aW9uLnB1c2godmFsaWRhdGlvbi5uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EditorDescriptorNestedObjectWrapper, FieldLookupDescriptor, fieldLookupGetProviderCfgObj } from '@mediusinc/mng-commons/tableview/api';
|
|
2
|
+
export function fieldProjectFieldToProperty(editor, field, property, mapFn) {
|
|
3
|
+
return editor
|
|
4
|
+
.addField(property)
|
|
5
|
+
.asHidden()
|
|
6
|
+
.withSetter(item => {
|
|
7
|
+
const value = item[field.property];
|
|
8
|
+
item[property] = mapFn != null ? mapFn(value) : value;
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
export function fieldLookupWithOptionsValueProperty(editor, property, opts, lookupOptionsValueProperty) {
|
|
12
|
+
const fieldProperty = editor instanceof EditorDescriptorNestedObjectWrapper ? editor.getNestedPropertyPath(property) : property;
|
|
13
|
+
const cfg = fieldLookupGetProviderCfgObj(opts?.serviceProvider);
|
|
14
|
+
const field = new FieldLookupDescriptor(fieldProperty, {
|
|
15
|
+
optionsValueProperty: lookupOptionsValueProperty,
|
|
16
|
+
...cfg
|
|
17
|
+
});
|
|
18
|
+
editor.addFieldDescriptor(field);
|
|
19
|
+
return field;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9lZGl0b3IvaGVscGVycy9maWVsZC1jcmVhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUdILG1DQUFtQyxFQUNuQyxxQkFBcUIsRUFJckIsNEJBQTRCLEVBQy9CLE1BQU0sc0NBQXNDLENBQUM7QUFtQjlDLE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsTUFHMkYsRUFDM0YsS0FBK0UsRUFDL0UsUUFBdUIsRUFDdkIsS0FBeUQ7SUFFekQsT0FBTyxNQUFNO1NBQ1IsUUFBUSxDQUFxRixRQUFRLENBQUM7U0FDdEcsUUFBUSxFQUFFO1NBQ1YsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUF3QixDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFELENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQ0FBbUMsQ0FTL0MsTUFJMkYsRUFDM0YsUUFBa0IsRUFDbEIsSUFHQyxFQUNELDBCQUErQztJQUUvQyxNQUFNLGFBQWEsR0FBRyxNQUFNLFlBQVksbUNBQW1DLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUUsUUFBbUIsQ0FBQztJQUM1SSxNQUFNLEdBQUcsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDaEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxxQkFBcUIsQ0FBbUUsYUFBYSxFQUFFO1FBQ3JILG9CQUFvQixFQUFFLDBCQUFvQztRQUMxRCxHQUFHLEdBQUc7S0FDVCxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7S2V5b2ZBbmRPZlR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge1R5cGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcbmltcG9ydCB7XG4gICAgQUZpZWxkRGVzY3JpcHRvcixcbiAgICBFZGl0b3JEZXNjcmlwdG9ySW5zdCxcbiAgICBFZGl0b3JEZXNjcmlwdG9yTmVzdGVkT2JqZWN0V3JhcHBlcixcbiAgICBGaWVsZExvb2t1cERlc2NyaXB0b3IsXG4gICAgRmllbGRMb29rdXBQcm92aWRlclR5cGUsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3QsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvclR5cGUsXG4gICAgZmllbGRMb29rdXBHZXRQcm92aWRlckNmZ09ialxufSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRQcm9qZWN0RmllbGRUb1Byb3BlcnR5PEVkaXRvck1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbCwgUHJvamVjdGVkUHJvcCBleHRlbmRzIGtleW9mIEVkaXRvck1vZGVsPihcbiAgICBlZGl0b3I6XG4gICAgICAgIHwgRWRpdG9yRGVzY3JpcHRvckluc3Q8RWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPlxuICAgICAgICB8IFRhYmxldmlld0Rlc2NyaXB0b3JUeXBlPEVkaXRvck1vZGVsLCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWw+XG4gICAgICAgIHwgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8YW55LCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWwsIGFueSwgYW55LCBhbnksIEVkaXRvck1vZGVsPixcbiAgICBmaWVsZDogQUZpZWxkRGVzY3JpcHRvcjxOb25OdWxsYWJsZTxFZGl0b3JNb2RlbFtQcm9qZWN0ZWRQcm9wXT4sIEVkaXRvck1vZGVsLCBFZGl0b3JNb2RlbFtQcm9qZWN0ZWRQcm9wXSwgUGFyZW50RWRpdG9yTW9kZWw+LFxuICAgIHByb3BlcnR5OiBQcm9qZWN0ZWRQcm9wXG4pOiBBRmllbGREZXNjcmlwdG9yPE5vbk51bGxhYmxlPEVkaXRvck1vZGVsW1Byb2plY3RlZFByb3BdPiwgRWRpdG9yTW9kZWwsIEVkaXRvck1vZGVsW1Byb2plY3RlZFByb3BdLCBQYXJlbnRFZGl0b3JNb2RlbD47XG5leHBvcnQgZnVuY3Rpb24gZmllbGRQcm9qZWN0RmllbGRUb1Byb3BlcnR5PEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBGaWVsZFZhbHVlLCBQYXJlbnRFZGl0b3JNb2RlbCwgUHJvamVjdGVkUHJvcCBleHRlbmRzIGtleW9mIEVkaXRvck1vZGVsPihcbiAgICBlZGl0b3I6XG4gICAgICAgIHwgRWRpdG9yRGVzY3JpcHRvckluc3Q8RWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPlxuICAgICAgICB8IFRhYmxldmlld0Rlc2NyaXB0b3JUeXBlPEVkaXRvck1vZGVsLCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWw+XG4gICAgICAgIHwgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8YW55LCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWwsIGFueSwgYW55LCBhbnksIEVkaXRvck1vZGVsPixcbiAgICBmaWVsZDogQUZpZWxkRGVzY3JpcHRvcjxGaWVsZE1vZGVsLCBFZGl0b3JNb2RlbCwgRmllbGRWYWx1ZSwgUGFyZW50RWRpdG9yTW9kZWw+LFxuICAgIHByb3BlcnR5OiBQcm9qZWN0ZWRQcm9wLFxuICAgIG1hcEZuOiAodmFsdWU6IEZpZWxkVmFsdWUpID0+IEVkaXRvck1vZGVsW1Byb2plY3RlZFByb3BdXG4pOiBBRmllbGREZXNjcmlwdG9yPE5vbk51bGxhYmxlPEVkaXRvck1vZGVsW1Byb2plY3RlZFByb3BdPiwgRWRpdG9yTW9kZWwsIEVkaXRvck1vZGVsW1Byb2plY3RlZFByb3BdLCBQYXJlbnRFZGl0b3JNb2RlbD47XG5leHBvcnQgZnVuY3Rpb24gZmllbGRQcm9qZWN0RmllbGRUb1Byb3BlcnR5PEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBGaWVsZFZhbHVlLCBQYXJlbnRFZGl0b3JNb2RlbCwgUHJvamVjdGVkUHJvcCBleHRlbmRzIGtleW9mIEVkaXRvck1vZGVsPihcbiAgICBlZGl0b3I6XG4gICAgICAgIHwgRWRpdG9yRGVzY3JpcHRvckluc3Q8RWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPlxuICAgICAgICB8IFRhYmxldmlld0Rlc2NyaXB0b3JUeXBlPEVkaXRvck1vZGVsLCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWw+XG4gICAgICAgIHwgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8YW55LCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWwsIGFueSwgYW55LCBhbnksIEVkaXRvck1vZGVsPixcbiAgICBmaWVsZDogQUZpZWxkRGVzY3JpcHRvcjxGaWVsZE1vZGVsLCBFZGl0b3JNb2RlbCwgRmllbGRWYWx1ZSwgUGFyZW50RWRpdG9yTW9kZWw+LFxuICAgIHByb3BlcnR5OiBQcm9qZWN0ZWRQcm9wLFxuICAgIG1hcEZuPzogKHZhbHVlOiBGaWVsZFZhbHVlKSA9PiBFZGl0b3JNb2RlbFtQcm9qZWN0ZWRQcm9wXVxuKTogQUZpZWxkRGVzY3JpcHRvcjxOb25OdWxsYWJsZTxFZGl0b3JNb2RlbFtQcm9qZWN0ZWRQcm9wXT4sIEVkaXRvck1vZGVsLCBFZGl0b3JNb2RlbFtQcm9qZWN0ZWRQcm9wXSwgUGFyZW50RWRpdG9yTW9kZWw+IHtcbiAgICByZXR1cm4gZWRpdG9yXG4gICAgICAgIC5hZGRGaWVsZDxQcm9qZWN0ZWRQcm9wLCBOb25OdWxsYWJsZTxFZGl0b3JNb2RlbFtQcm9qZWN0ZWRQcm9wXT4sIEVkaXRvck1vZGVsW1Byb2plY3RlZFByb3BdPihwcm9wZXJ0eSlcbiAgICAgICAgLmFzSGlkZGVuKClcbiAgICAgICAgLndpdGhTZXR0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW1bZmllbGQucHJvcGVydHkgYXMga2V5b2Ygb2JqZWN0XTtcbiAgICAgICAgICAgIGl0ZW1bcHJvcGVydHldID0gbWFwRm4gIT0gbnVsbCA/IG1hcEZuKHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkTG9va3VwV2l0aE9wdGlvbnNWYWx1ZVByb3BlcnR5PFxuICAgIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgRWRpdG9yTW9kZWwsXG4gICAgRWRpdG9yTW9kZWwsXG4gICAgUGFyZW50RWRpdG9yTW9kZWwsXG4gICAgU2VydmljZSxcbiAgICBMb29rdXBNb2RlbCxcbiAgICBMb29rdXBWYWx1ZVByb3BlcnR5IGV4dGVuZHMgS2V5b2ZBbmRPZlR5cGU8TG9va3VwTW9kZWwsIEVkaXRvck1vZGVsW1Byb3BlcnR5XT4sXG4gICAgRmllbGRWYWx1ZSA9IEVkaXRvck1vZGVsW1Byb3BlcnR5XVxuPihcbiAgICBlZGl0b3I6XG4gICAgICAgIHwgRWRpdG9yRGVzY3JpcHRvckluc3Q8RWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPlxuICAgICAgICB8IEVkaXRvckRlc2NyaXB0b3JOZXN0ZWRPYmplY3RXcmFwcGVyPGFueSwgUGFyZW50RWRpdG9yTW9kZWwsIEVkaXRvck1vZGVsPlxuICAgICAgICB8IFRhYmxldmlld0Rlc2NyaXB0b3JUeXBlPEVkaXRvck1vZGVsLCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWw+XG4gICAgICAgIHwgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8YW55LCBhbnksIGFueSwgUGFyZW50RWRpdG9yTW9kZWwsIGFueSwgYW55LCBhbnksIEVkaXRvck1vZGVsPixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgb3B0czoge1xuICAgICAgICBzZXJ2aWNlUHJvdmlkZXI/OiBGaWVsZExvb2t1cFByb3ZpZGVyVHlwZTxMb29rdXBNb2RlbCwgU2VydmljZT47XG4gICAgICAgIHR5cGU/OiBUeXBlRGVzY3JpcHRvcjxMb29rdXBNb2RlbD47XG4gICAgfSxcbiAgICBsb29rdXBPcHRpb25zVmFsdWVQcm9wZXJ0eTogTG9va3VwVmFsdWVQcm9wZXJ0eVxuKTogRmllbGRMb29rdXBEZXNjcmlwdG9yPExvb2t1cE1vZGVsLCBFZGl0b3JNb2RlbCwgU2VydmljZSwgRmllbGRWYWx1ZSwgUGFyZW50RWRpdG9yTW9kZWw+IHtcbiAgICBjb25zdCBmaWVsZFByb3BlcnR5ID0gZWRpdG9yIGluc3RhbmNlb2YgRWRpdG9yRGVzY3JpcHRvck5lc3RlZE9iamVjdFdyYXBwZXIgPyBlZGl0b3IuZ2V0TmVzdGVkUHJvcGVydHlQYXRoKHByb3BlcnR5KSA6IChwcm9wZXJ0eSBhcyBzdHJpbmcpO1xuICAgIGNvbnN0IGNmZyA9IGZpZWxkTG9va3VwR2V0UHJvdmlkZXJDZmdPYmoob3B0cz8uc2VydmljZVByb3ZpZGVyKTtcbiAgICBjb25zdCBmaWVsZCA9IG5ldyBGaWVsZExvb2t1cERlc2NyaXB0b3I8TG9va3VwTW9kZWwsIEVkaXRvck1vZGVsLCBTZXJ2aWNlLCBGaWVsZFZhbHVlLCBQYXJlbnRFZGl0b3JNb2RlbD4oZmllbGRQcm9wZXJ0eSwge1xuICAgICAgICBvcHRpb25zVmFsdWVQcm9wZXJ0eTogbG9va3VwT3B0aW9uc1ZhbHVlUHJvcGVydHkgYXMgc3RyaW5nLFxuICAgICAgICAuLi5jZmdcbiAgICB9KTtcbiAgICBlZGl0b3IuYWRkRmllbGREZXNjcmlwdG9yKGZpZWxkKTtcbiAgICByZXR1cm4gZmllbGQ7XG59XG4iXX0=
|
|
@@ -46,8 +46,9 @@ export * from './editor/components/formly/wrappers/formly-field-wrapper/formly-f
|
|
|
46
46
|
export * from './editor/helpers/editor-field';
|
|
47
47
|
export * from './editor/helpers/editor-formly';
|
|
48
48
|
export * from './editor/helpers/formly-config';
|
|
49
|
-
export * from './editor/helpers/notification';
|
|
50
49
|
export * from './editor/helpers/editor-validators';
|
|
50
|
+
export * from './editor/helpers/field-create';
|
|
51
|
+
export * from './editor/helpers/notification';
|
|
51
52
|
// editor models
|
|
52
53
|
export * from './editor/models/editor-auto-save-preview.model';
|
|
53
54
|
export * from './editor/models/formly-config.model';
|
|
@@ -63,4 +64,4 @@ export * from './tableview/router/tableview-route-builder';
|
|
|
63
64
|
export * from './tableview/services/tableview-feature-config.token';
|
|
64
65
|
// provide
|
|
65
66
|
export * from './provide';
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90YWJsZXZpZXcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsa0RBQWtELENBQUM7QUFFakUsZ0JBQWdCO0FBQ2hCLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsaUJBQWlCO0FBQ2pCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGdCQUFnQjtBQUNoQixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGtCQUFrQjtBQUNsQixjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELG9CQUFvQjtBQUNwQixjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxxRkFBcUYsQ0FBQztBQUNwRyxjQUFjLGlHQUFpRyxDQUFDO0FBQ2hILGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLG1HQUFtRyxDQUFDO0FBQ2xILGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx5SEFBeUgsQ0FBQztBQUN4SSxjQUFjLGlGQUFpRixDQUFDO0FBQ2hHLGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx5RkFBeUYsQ0FBQztBQUV4RyxpQkFBaUI7QUFDakIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsZ0JBQWdCO0FBQ2hCLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxrQkFBa0I7QUFDbEIsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELHVCQUF1QjtBQUN2QixjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsc0RBQXNELENBQUM7QUFFckUsbUJBQW1CO0FBQ25CLGNBQWMsNENBQTRDLENBQUM7QUFFM0QscUJBQXFCO0FBQ3JCLGNBQWMscURBQXFELENBQUM7QUFFcEUsVUFBVTtBQUNWLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYWN0aW9uIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2NvbXBvbmVudHMvYWN0aW9uL2FjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vY29tcG9uZW50cy9lZGl0b3IvYWN0aW9uLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vY29tcG9uZW50cy9sb2NhbGl6YXRpb24vZGF0YS1sYW5ndWFnZS1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vY29tcG9uZW50cy9yb3V0ZS9hY3Rpb24tcm91dGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLXRhYmxlLmNvbXBvbmVudCc7XG5cbi8vIGFjdGlvbiBndWFyZHNcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2d1YXJkcy91bnNhdmVkLWNoYW5nZXMuZ3VhcmQnO1xuXG4vLyBhY3Rpb24gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vaGVscGVycy9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2hlbHBlcnMvbm90aWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2hlbHBlcnMvc3R5bGVzJztcblxuLy8gYWN0aW9uIG1vZGVsc1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vbW9kZWxzL2V4ZWN1dGlvbi9hY3Rpb24tY29udGV4dC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1pbnN0YW5jZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvYWN0aW9uLWVkaXRvci1kaWFsb2ctZGF0YS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvY2FuLWNvbXBvbmVudC1kZWFjdGl2YXRlLm1vZGVsJztcblxuLy8gYWN0aW9uIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy9wcm92aWRlcnMvcHJvdmlkZS1hY3Rpb24tZXhlY3V0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvcHJvdmlkZXJzL3Byb3ZpZGUtdmlldy1jb250YWluZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvdG9rZW5zL2FjdGlvbi1lZGl0b3IudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvYWN0aW9uLWVycm9yLW1hcHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL3NlcnZpY2VzL2FjdGlvbi1leGVjdXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL3NlcnZpY2VzL2NvbXBvbmVudC1hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy9kYXRhLXByb3ZpZGVyLWV4ZWN1dG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL3NlcnZpY2VzL3Jvb3QtYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvdmlldy1jb250YWluZXIuc2VydmljZSc7XG5cbi8vIGVkaXRvciBjb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2VkaXRvci9hdXRvLXNhdmUtc3RhdHVzL2F1dG8tc2F2ZS1zdGF0dXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2NvbXBvbmVudHMvZWRpdG9yL2Zvcm0tZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWFjdGlvbi9mb3JtbHktZmllbGQtYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS9mb3JtbHktZmllbGQtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWN1c3RvbS9mb3JtbHktZmllbGQtY3VzdG9tLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWRyb3Bkb3duL2Zvcm1seS1maWVsZC1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1maWVsZHNldC9mb3JtbHktZmllbGQtZmllbGRzZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtaW5wdXQvZm9ybWx5LWZpZWxkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWxhYmVsL2Zvcm1seS1maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1sb29rdXAtZGlhbG9nL2Zvcm1seS1maWVsZC1sb29rdXAtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJzL2Zvcm1seS1maWVsZC10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvd3JhcHBlcnMvZm9ybWx5LWZpZWxkLXdyYXBwZXIvZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50JztcblxuLy8gZWRpdG9yIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2hlbHBlcnMvZWRpdG9yLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2hlbHBlcnMvZWRpdG9yLWZvcm1seSc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9oZWxwZXJzL2Zvcm1seS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvaGVscGVycy9lZGl0b3ItdmFsaWRhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9oZWxwZXJzL2ZpZWxkLWNyZWF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9oZWxwZXJzL25vdGlmaWNhdGlvbic7XG5cbi8vIGVkaXRvciBtb2RlbHNcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL21vZGVscy9lZGl0b3ItYXV0by1zYXZlLXByZXZpZXcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvbW9kZWxzL2Zvcm1seS1jb25maWcubW9kZWwnO1xuXG4vLyBlZGl0b3Igc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL3NlcnZpY2VzL2Zvcm0tZWRpdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3Ivc2VydmljZXMvZm9ybWx5LWNvbmZpZy5wcm92aWRlcic7XG5cbi8vIHRhYmxldmlldyBjb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9jb21wb25lbnRzL3JvdXRlL3RhYmxldmlldy1yb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGV2aWV3LmNvbXBvbmVudCc7XG5cbi8vIHRhYmxldmlldyByb3V0ZXJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L3JvdXRlci90YWJsZXZpZXctcm91dGUtYnVpbGRlcic7XG5cbi8vIHRhYmxldmlldyBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvc2VydmljZXMvdGFibGV2aWV3LWZlYXR1cmUtY29uZmlnLnRva2VuJztcblxuLy8gcHJvdmlkZVxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlJztcbiJdfQ==
|
|
@@ -12,4 +12,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ standalone: true, selector: 'mng-tableview-route', imports: [TableviewComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-tableview [descriptor]=\"tableview().descriptor\" [dataProvider]=\"tableview().dataProvider\" [actions]=\"tableview().actions\"> </mng-tableview>\n" }]
|
|
14
14
|
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvdGFibGV2aWV3L2NvbXBvbmVudHMvcm91dGUvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvdGFibGV2aWV3L2NvbXBvbmVudHMvcm91dGUvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXhFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOztBQVNwRSxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUVcsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTBFLENBQUM7S0FDL0c7K0dBRlksdUJBQXVCO21HQUF2Qix1QkFBdUIsOE5DYnBDLDBKQUNBLDRDRFFjLGtCQUFrQjs7NEZBSW5CLHVCQUF1QjtrQkFQbkMsU0FBUztpQ0FDTSxJQUFJLFlBQ04scUJBQXFCLFdBQ3RCLENBQUMsa0JBQWtCLENBQUMsbUJBRVosdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RhYmxldmlld0lucHV0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge1RhYmxldmlld0NvbXBvbmVudH0gZnJvbSAnLi4vdGFibGV2aWV3L3RhYmxldmlldy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxldmlldy1yb3V0ZScsXG4gICAgaW1wb3J0czogW1RhYmxldmlld0NvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxldmlldy1yb3V0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGV2aWV3Um91dGVDb21wb25lbnQ8SXRlbSwgU2VydmljZSA9IHVuZGVmaW5lZCwgU29ydHMgPSBrZXlvZiBJdGVtLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgSXRlbT4ge1xuICAgIHB1YmxpYyB0YWJsZXZpZXcgPSBpbnB1dC5yZXF1aXJlZDxUYWJsZXZpZXdJbnB1dDxJdGVtLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgYW55LCBhbnksIGFueSwgYW55LCBhbnk+PigpO1xufVxuIiwiPG1uZy10YWJsZXZpZXcgW2Rlc2NyaXB0b3JdPVwidGFibGV2aWV3KCkuZGVzY3JpcHRvclwiIFtkYXRhUHJvdmlkZXJdPVwidGFibGV2aWV3KCkuZGF0YVByb3ZpZGVyXCIgW2FjdGlvbnNdPVwidGFibGV2aWV3KCkuYWN0aW9uc1wiPiA8L21uZy10YWJsZXZpZXc+XG4iXX0=
|
|
@@ -39,9 +39,11 @@ export class TableviewComponent {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
onTableLoad(event) {
|
|
42
|
+
// TODO: table item in event
|
|
42
43
|
this.tableParams.set(event.params);
|
|
43
44
|
}
|
|
44
45
|
selectionChange(selectedItems) {
|
|
46
|
+
// TODO: table item in selected item
|
|
45
47
|
this.selectedItems.set(selectedItems);
|
|
46
48
|
}
|
|
47
49
|
filterActionsByPositions(actions, actionPositions) {
|
|
@@ -54,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
54
56
|
type: Component,
|
|
55
57
|
args: [{ standalone: true, selector: 'mng-tableview', imports: [ToolbarModule, SharedModule, TranslateModule, NgTemplateOutlet, ActionComponent, ActionTableComponent, TemplateDirective, RouterOutlet], providers: [provideViewContainer()], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mng-tableview\">\n <div class=\"card\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <p-toolbar styleClass=\"mb-4\">\n <ng-template pTemplate=\"left\">\n @for (action of toolbarLeftActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n <ng-template pTemplate=\"right\">\n @for (action of toolbarRightActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n }\n\n <mng-action-table\n [descriptor]=\"descriptor().table\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"true\"\n [actions]=\"tableActions()\"\n [selectionEnabled]=\"hasItemSelectionAction()\"\n [selectionMode]=\"'multiple'\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\n @if (rowExpandTemplate()) {\n <ng-template mngTemplate=\"rowExpandContent\" let-item=\"rowItem\">\n <ng-container *ngTemplateOutlet=\"rowExpandTemplate(); context: {rowItem: item}\"></ng-container>\n </ng-template>\n }\n\n @if (footerTemplate()) {\n <ng-template mngTemplate=\"footer\" let-data=\"data\" let-totalCount=\"totalCount\">\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: {data, totalCount}\"></ng-container>\n </ng-template>\n }\n </mng-action-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
56
58
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvdGFibGV2aWV3L2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvc3JjL3RhYmxldmlldy9jb21wb25lbnRzL3RhYmxldmlldy90YWJsZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBK0IsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxPQUFPLEVBQXVCLGtCQUFrQixFQUEwQixnQ0FBZ0MsRUFBMEIsTUFBTSxzQ0FBc0MsQ0FBQztBQUVqTCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDN0YsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDL0YsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBVTlFLE1BQU0s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LEVBQUUsUUFBUSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEwsQ0FBQzsrR0EzQ1Esa0JBQWtCO21HQUFsQixrQkFBa0IseWRBSGhCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxvREFxQkEsaUJBQWlCLDZDQzNDeEQsOCtEQTBDQSwyQ0RyQmMsYUFBYSx3UEFBRSxZQUFZLDhCQUFFLGVBQWUsK0JBQUUsZ0JBQWdCLG9KQUFFLGVBQWUsb09BQUUsb0JBQW9CLDJhQUFFLGlCQUFpQiwyRkFBRSxZQUFZOzs0RkFJdkksa0JBQWtCO2tCQVI5QixTQUFTO2lDQUNNLElBQUksWUFDTixlQUFlLFdBRWhCLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxhQUN0SSxDQUFDLG9CQUFvQixFQUFFLENBQUMsbUJBQ2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgU2lnbmFsLCBUZW1wbGF0ZVJlZiwgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZHJlbiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1NoYXJlZE1vZHVsZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtUb29sYmFyTW9kdWxlfSBmcm9tICdwcmltZW5nL3Rvb2xiYXInO1xuXG5pbXBvcnQge0RhdGFMaXN0UGFyYW1zLCBUZW1wbGF0ZURpcmVjdGl2ZSwgZmluZFRlbXBsYXRlQnlOYW1lfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtUYWJsZUxvYWRFdmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9ySW5zdCwgQWN0aW9uUG9zaXRpb25FbnVtLCBJVGFibGV2aWV3RGF0YVByb3ZpZGVyLCBUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcywgVGFibGV2aWV3RGVzY3JpcHRvckluc3R9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9hY3Rpb24vY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0FjdGlvblRhYmxlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9hY3Rpb24vY29tcG9uZW50cy90YWJsZS9hY3Rpb24tdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7cHJvdmlkZVZpZXdDb250YWluZXJ9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi9zZXJ2aWNlcy9wcm92aWRlcnMvcHJvdmlkZS12aWV3LWNvbnRhaW5lcic7XG5pbXBvcnQge1ZpZXdDb250YWluZXJ9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi9zZXJ2aWNlcy92aWV3LWNvbnRhaW5lci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy10YWJsZXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUb29sYmFyTW9kdWxlLCBTaGFyZWRNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTmdUZW1wbGF0ZU91dGxldCwgQWN0aW9uQ29tcG9uZW50LCBBY3Rpb25UYWJsZUNvbXBvbmVudCwgVGVtcGxhdGVEaXJlY3RpdmUsIFJvdXRlck91dGxldF0sXG4gICAgcHJvdmlkZXJzOiBbcHJvdmlkZVZpZXdDb250YWluZXIoKV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGV2aWV3Q29tcG9uZW50PEl0ZW0gPSBhbnksIFNlcnZpY2UgPSB1bmRlZmluZWQsIFNvcnRzID0ga2V5b2YgSXRlbSwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIEl0ZW0+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmlld0NvbnRhaW5lciA9IGluamVjdChWaWV3Q29udGFpbmVyLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyBkZXNjcmlwdG9yID0gaW5wdXQucmVxdWlyZWQ8VGFibGV2aWV3RGVzY3JpcHRvckluc3Q8SXRlbSwgU29ydHMsIEZpbHRlcnM+PigpO1xuICAgIHB1YmxpYyBkYXRhUHJvdmlkZXIgPSBpbnB1dDxJVGFibGV2aWV3RGF0YVByb3ZpZGVyPEl0ZW0sIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPj4oKTtcbiAgICBwdWJsaWMgYWN0aW9ucyA9IGlucHV0PEFycmF5PEFjdGlvbkRlc2NyaXB0b3JJbnN0PGFueT4+PihbXSk7XG5cbiAgICBwdWJsaWMgdG9vbGJhckxlZnRBY3Rpb25zID0gY29tcHV0ZWQ8QWN0aW9uRGVzY3JpcHRvckluc3Q8SXRlbT5bXT4oKCkgPT4gdGhpcy5maWx0ZXJBY3Rpb25zQnlQb3NpdGlvbnModGhpcy5hY3Rpb25zKCksIFtBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhckxlZnRdKSk7XG4gICAgcHVibGljIHRvb2xiYXJSaWdodEFjdGlvbnMgPSBjb21wdXRlZDxBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtPltdPigoKSA9PiB0aGlzLmZpbHRlckFjdGlvbnNCeVBvc2l0aW9ucyh0aGlzLmFjdGlvbnMoKSwgW0FjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyUmlnaHRdKS5yZXZlcnNlKCkpO1xuICAgIHB1YmxpYyB0YWJsZUFjdGlvbnMgPSBjb21wdXRlZDxBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtPltdPigoKSA9PlxuICAgICAgICB0aGlzLmZpbHRlckFjdGlvbnNCeVBvc2l0aW9ucyh0aGlzLmFjdGlvbnMoKSwgW0FjdGlvblBvc2l0aW9uRW51bS5UYWJsZUhlYWRlciwgQWN0aW9uUG9zaXRpb25FbnVtLlJvd0lubGluZSwgQWN0aW9uUG9zaXRpb25FbnVtLlJvd0NsaWNrXSlcbiAgICApO1xuXG4gICAgcHVibGljIHRhYmxlUGFyYW1zID0gc2lnbmFsPERhdGFMaXN0UGFyYW1zIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgcHVibGljIGhhc0l0ZW1TZWxlY3Rpb25BY3Rpb24gPSBjb21wdXRlZCgoKSA9PiBbLi4udGhpcy50b29sYmFyTGVmdEFjdGlvbnMoKSwgLi4udGhpcy50b29sYmFyUmlnaHRBY3Rpb25zKCldLnNvbWUoZSA9PiBlLmhhc0l0ZW1zU2VsZWN0aW9uKSk7XG4gICAgcHVibGljIHNlbGVjdGVkSXRlbXMgPSBzaWduYWw8SXRlbVtdPihbXSk7XG5cbiAgICBwdWJsaWMgdGVtcGxhdGVzID0gY29udGVudENoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKTtcbiAgICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFNpZ25hbDxUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbD4gPSBjb21wdXRlZCgoKSA9PiBmaW5kVGVtcGxhdGVCeU5hbWUoWy4uLnRoaXMudGVtcGxhdGVzKCldLCAnZm9vdGVyJykpO1xuICAgIHB1YmxpYyByb3dFeHBhbmRUZW1wbGF0ZTogU2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IGZpbmRUZW1wbGF0ZUJ5TmFtZShbLi4udGhpcy50ZW1wbGF0ZXMoKV0sICdyb3dFeHBhbmRDb250ZW50JykpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpZXdDb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5hY3Rpb25zLnNldCh0aGlzLmFjdGlvbnMoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhUHJvdmlkZXIgPSB0aGlzLmRhdGFQcm92aWRlcigpO1xuICAgICAgICBpZiAodGhpcy52aWV3Q29udGFpbmVyICYmIGRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmRhdGFQcm92aWRlci5zZXQoZGF0YVByb3ZpZGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblRhYmxlTG9hZChldmVudDogVGFibGVMb2FkRXZlbnQpIHtcbiAgICAgICAgdGhpcy50YWJsZVBhcmFtcy5zZXQoZXZlbnQucGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkSXRlbXM6IEFycmF5PEl0ZW0+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zZXQoc2VsZWN0ZWRJdGVtcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJBY3Rpb25zQnlQb3NpdGlvbnMoYWN0aW9uczogQWN0aW9uRGVzY3JpcHRvckluc3Q8SXRlbT5bXSwgYWN0aW9uUG9zaXRpb25zOiBBY3Rpb25Qb3NpdGlvbkVudW1bXSk6IEFjdGlvbkRlc2NyaXB0b3JJbnN0PEl0ZW0+W10ge1xuICAgICAgICByZXR1cm4gYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IChhY3Rpb24ucG9zaXRpb25UYWJsZXZpZXdDYXRlZ29yaWVzPy5pbmNsdWRlcyhUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5SRUFEKSA/PyB0cnVlKSAmJiBhY3Rpb25Qb3NpdGlvbnMuaW5jbHVkZXMoYWN0aW9uLnBvc2l0aW9uKSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1uZy10YWJsZXZpZXdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgICAgICBAaWYgKHRvb2xiYXJMZWZ0QWN0aW9ucygpLmxlbmd0aCA+IDAgfHwgdG9vbGJhclJpZ2h0QWN0aW9ucygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIDxwLXRvb2xiYXIgc3R5bGVDbGFzcz1cIm1iLTRcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgdG9vbGJhckxlZnRBY3Rpb25zKCk7IHRyYWNrIGFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1uZy1hY3Rpb24gW2FjdGlvbl09XCJhY3Rpb25cIiBbZGF0YUxpc3RQYXJhbXNdPVwidGFibGVQYXJhbXMoKVwiIFtob3N0Q29tcG9uZW50XT1cInRoaXNcIiBbc2VsZWN0ZWRJdGVtc109XCJzZWxlY3RlZEl0ZW1zKClcIj48L21uZy1hY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgdG9vbGJhclJpZ2h0QWN0aW9ucygpOyB0cmFjayBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtbmctYWN0aW9uIFthY3Rpb25dPVwiYWN0aW9uXCIgW2RhdGFMaXN0UGFyYW1zXT1cInRhYmxlUGFyYW1zKClcIiBbaG9zdENvbXBvbmVudF09XCJ0aGlzXCIgW3NlbGVjdGVkSXRlbXNdPVwic2VsZWN0ZWRJdGVtcygpXCI+PC9tbmctYWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvcC10b29sYmFyPlxuICAgICAgICB9XG5cbiAgICAgICAgPG1uZy1hY3Rpb24tdGFibGVcbiAgICAgICAgICAgIFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IoKS50YWJsZVwiXG4gICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImRhdGFQcm92aWRlcigpXCJcbiAgICAgICAgICAgIFt1c2VRdWVyeVBhcmFtc109XCJ0cnVlXCJcbiAgICAgICAgICAgIFthY3Rpb25zXT1cInRhYmxlQWN0aW9ucygpXCJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25FbmFibGVkXT1cImhhc0l0ZW1TZWxlY3Rpb25BY3Rpb24oKVwiXG4gICAgICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCInbXVsdGlwbGUnXCJcbiAgICAgICAgICAgICh0YWJsZUxvYWQpPVwib25UYWJsZUxvYWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICBAaWYgKHJvd0V4cGFuZFRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJyb3dFeHBhbmRDb250ZW50XCIgbGV0LWl0ZW09XCJyb3dJdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dFeHBhbmRUZW1wbGF0ZSgpOyBjb250ZXh0OiB7cm93SXRlbTogaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGZvb3RlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJmb290ZXJcIiBsZXQtZGF0YT1cImRhdGFcIiBsZXQtdG90YWxDb3VudD1cInRvdGFsQ291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlKCk7IGNvbnRleHQ6IHtkYXRhLCB0b3RhbENvdW50fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbW5nLWFjdGlvbi10YWJsZT5cbiAgICA8L2Rpdj5cblxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbjwvZGl2PlxuIl19
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvdGFibGV2aWV3L2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvc3JjL3RhYmxldmlldy9jb21wb25lbnRzL3RhYmxldmlldy90YWJsZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBK0IsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxPQUFPLEVBQXVCLGtCQUFrQixFQUEwQixnQ0FBZ0MsRUFBMEIsTUFBTSxzQ0FBc0MsQ0FBQztBQUVqTCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDN0YsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDL0YsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBVTlFLE1BQU0s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Q0FBQyxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxRQUFRLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNoTCxDQUFDOytHQTdDUSxrQkFBa0I7bUdBQWxCLGtCQUFrQix5ZEFIaEIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLG9EQXFCQSxpQkFBaUIsNkNDM0N4RCw4K0RBMENBLDJDRHJCYyxhQUFhLHdQQUFFLFlBQVksOEJBQUUsZUFBZSwrQkFBRSxnQkFBZ0Isb0pBQUUsZUFBZSxvT0FBRSxvQkFBb0IsMmFBQUUsaUJBQWlCLDJGQUFFLFlBQVk7OzRGQUl2SSxrQkFBa0I7a0JBUjlCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsV0FFaEIsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLGFBQ3RJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFDbEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBTaWduYWwsIFRlbXBsYXRlUmVmLCBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBpbmplY3QsIGlucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U2hhcmVkTW9kdWxlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge1Rvb2xiYXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9vbGJhcic7XG5cbmltcG9ydCB7RGF0YUxpc3RQYXJhbXMsIFRlbXBsYXRlRGlyZWN0aXZlLCBmaW5kVGVtcGxhdGVCeU5hbWV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge1RhYmxlTG9hZEV2ZW50fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlL2FwaSc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JJbnN0LCBBY3Rpb25Qb3NpdGlvbkVudW0sIElUYWJsZXZpZXdEYXRhUHJvdmlkZXIsIFRhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLCBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi9jb21wb25lbnRzL2FjdGlvbi9hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7QWN0aW9uVGFibGVDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtwcm92aWRlVmlld0NvbnRhaW5lcn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9uL3NlcnZpY2VzL3Byb3ZpZGVycy9wcm92aWRlLXZpZXctY29udGFpbmVyJztcbmltcG9ydCB7Vmlld0NvbnRhaW5lcn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9uL3NlcnZpY2VzL3ZpZXctY29udGFpbmVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxldmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxldmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1Rvb2xiYXJNb2R1bGUsIFNoYXJlZE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBBY3Rpb25Db21wb25lbnQsIEFjdGlvblRhYmxlQ29tcG9uZW50LCBUZW1wbGF0ZURpcmVjdGl2ZSwgUm91dGVyT3V0bGV0XSxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlVmlld0NvbnRhaW5lcigpXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdDb21wb25lbnQ8SXRlbSA9IGFueSwgU2VydmljZSA9IHVuZGVmaW5lZCwgU29ydHMgPSBrZXlvZiBJdGVtLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgSXRlbT4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSB2aWV3Q29udGFpbmVyID0gaW5qZWN0KFZpZXdDb250YWluZXIsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHVibGljIGRlc2NyaXB0b3IgPSBpbnB1dC5yZXF1aXJlZDxUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxJdGVtLCBTb3J0cywgRmlsdGVycywgYW55LCBhbnksIGFueSwgYW55LCBhbnk+PigpO1xuICAgIHB1YmxpYyBkYXRhUHJvdmlkZXIgPSBpbnB1dDxJVGFibGV2aWV3RGF0YVByb3ZpZGVyPEl0ZW0sIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBhbnksIGFueSwgYW55LCBhbnk+PigpO1xuICAgIHB1YmxpYyBhY3Rpb25zID0gaW5wdXQ8QXJyYXk8QWN0aW9uRGVzY3JpcHRvckluc3Q8YW55Pj4+KFtdKTtcblxuICAgIHB1YmxpYyB0b29sYmFyTGVmdEFjdGlvbnMgPSBjb21wdXRlZDxBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtPltdPigoKSA9PiB0aGlzLmZpbHRlckFjdGlvbnNCeVBvc2l0aW9ucyh0aGlzLmFjdGlvbnMoKSwgW0FjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyTGVmdF0pKTtcbiAgICBwdWJsaWMgdG9vbGJhclJpZ2h0QWN0aW9ucyA9IGNvbXB1dGVkPEFjdGlvbkRlc2NyaXB0b3JJbnN0PEl0ZW0+W10+KCgpID0+IHRoaXMuZmlsdGVyQWN0aW9uc0J5UG9zaXRpb25zKHRoaXMuYWN0aW9ucygpLCBbQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodF0pLnJldmVyc2UoKSk7XG4gICAgcHVibGljIHRhYmxlQWN0aW9ucyA9IGNvbXB1dGVkPEFjdGlvbkRlc2NyaXB0b3JJbnN0PEl0ZW0+W10+KCgpID0+XG4gICAgICAgIHRoaXMuZmlsdGVyQWN0aW9uc0J5UG9zaXRpb25zKHRoaXMuYWN0aW9ucygpLCBbQWN0aW9uUG9zaXRpb25FbnVtLlRhYmxlSGVhZGVyLCBBY3Rpb25Qb3NpdGlvbkVudW0uUm93SW5saW5lLCBBY3Rpb25Qb3NpdGlvbkVudW0uUm93Q2xpY2tdKVxuICAgICk7XG5cbiAgICBwdWJsaWMgdGFibGVQYXJhbXMgPSBzaWduYWw8RGF0YUxpc3RQYXJhbXMgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICBwdWJsaWMgaGFzSXRlbVNlbGVjdGlvbkFjdGlvbiA9IGNvbXB1dGVkKCgpID0+IFsuLi50aGlzLnRvb2xiYXJMZWZ0QWN0aW9ucygpLCAuLi50aGlzLnRvb2xiYXJSaWdodEFjdGlvbnMoKV0uc29tZShlID0+IGUuaGFzSXRlbXNTZWxlY3Rpb24pKTtcbiAgICBwdWJsaWMgc2VsZWN0ZWRJdGVtcyA9IHNpZ25hbDxJdGVtW10+KFtdKTtcblxuICAgIHB1YmxpYyB0ZW1wbGF0ZXMgPSBjb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVEaXJlY3RpdmUpO1xuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogU2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IGZpbmRUZW1wbGF0ZUJ5TmFtZShbLi4udGhpcy50ZW1wbGF0ZXMoKV0sICdmb290ZXInKSk7XG4gICAgcHVibGljIHJvd0V4cGFuZFRlbXBsYXRlOiBTaWduYWw8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+ID0gY29tcHV0ZWQoKCkgPT4gZmluZFRlbXBsYXRlQnlOYW1lKFsuLi50aGlzLnRlbXBsYXRlcygpXSwgJ3Jvd0V4cGFuZENvbnRlbnQnKSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudmlld0NvbnRhaW5lcikge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmFjdGlvbnMuc2V0KHRoaXMuYWN0aW9ucygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGFQcm92aWRlciA9IHRoaXMuZGF0YVByb3ZpZGVyKCk7XG4gICAgICAgIGlmICh0aGlzLnZpZXdDb250YWluZXIgJiYgZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuZGF0YVByb3ZpZGVyLnNldChkYXRhUHJvdmlkZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFibGVMb2FkKGV2ZW50OiBUYWJsZUxvYWRFdmVudCkge1xuICAgICAgICAvLyBUT0RPOiB0YWJsZSBpdGVtIGluIGV2ZW50XG4gICAgICAgIHRoaXMudGFibGVQYXJhbXMuc2V0KGV2ZW50LnBhcmFtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZEl0ZW1zOiBBcnJheTxJdGVtPik6IHZvaWQge1xuICAgICAgICAvLyBUT0RPOiB0YWJsZSBpdGVtIGluIHNlbGVjdGVkIGl0ZW1cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNldChzZWxlY3RlZEl0ZW1zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckFjdGlvbnNCeVBvc2l0aW9ucyhhY3Rpb25zOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtPltdLCBhY3Rpb25Qb3NpdGlvbnM6IEFjdGlvblBvc2l0aW9uRW51bVtdKTogQWN0aW9uRGVzY3JpcHRvckluc3Q8SXRlbT5bXSB7XG4gICAgICAgIHJldHVybiBhY3Rpb25zLmZpbHRlcihhY3Rpb24gPT4gKGFjdGlvbi5wb3NpdGlvblRhYmxldmlld0NhdGVnb3JpZXM/LmluY2x1ZGVzKFRhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLlJFQUQpID8/IHRydWUpICYmIGFjdGlvblBvc2l0aW9ucy5pbmNsdWRlcyhhY3Rpb24ucG9zaXRpb24pKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW5nLXRhYmxldmlld1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICAgIEBpZiAodG9vbGJhckxlZnRBY3Rpb25zKCkubGVuZ3RoID4gMCB8fCB0b29sYmFyUmlnaHRBY3Rpb25zKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPHAtdG9vbGJhciBzdHlsZUNsYXNzPVwibWItNFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJsZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiB0b29sYmFyTGVmdEFjdGlvbnMoKTsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bW5nLWFjdGlvbiBbYWN0aW9uXT1cImFjdGlvblwiIFtkYXRhTGlzdFBhcmFtc109XCJ0YWJsZVBhcmFtcygpXCIgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiIFtzZWxlY3RlZEl0ZW1zXT1cInNlbGVjdGVkSXRlbXMoKVwiPjwvbW5nLWFjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiB0b29sYmFyUmlnaHRBY3Rpb25zKCk7IHRyYWNrIGFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1uZy1hY3Rpb24gW2FjdGlvbl09XCJhY3Rpb25cIiBbZGF0YUxpc3RQYXJhbXNdPVwidGFibGVQYXJhbXMoKVwiIFtob3N0Q29tcG9uZW50XT1cInRoaXNcIiBbc2VsZWN0ZWRJdGVtc109XCJzZWxlY3RlZEl0ZW1zKClcIj48L21uZy1hY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9wLXRvb2xiYXI+XG4gICAgICAgIH1cblxuICAgICAgICA8bW5nLWFjdGlvbi10YWJsZVxuICAgICAgICAgICAgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvcigpLnRhYmxlXCJcbiAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwiZGF0YVByb3ZpZGVyKClcIlxuICAgICAgICAgICAgW3VzZVF1ZXJ5UGFyYW1zXT1cInRydWVcIlxuICAgICAgICAgICAgW2FjdGlvbnNdPVwidGFibGVBY3Rpb25zKClcIlxuICAgICAgICAgICAgW3NlbGVjdGlvbkVuYWJsZWRdPVwiaGFzSXRlbVNlbGVjdGlvbkFjdGlvbigpXCJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIidtdWx0aXBsZSdcIlxuICAgICAgICAgICAgKHRhYmxlTG9hZCk9XCJvblRhYmxlTG9hZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIEBpZiAocm93RXhwYW5kVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtbmdUZW1wbGF0ZT1cInJvd0V4cGFuZENvbnRlbnRcIiBsZXQtaXRlbT1cInJvd0l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd0V4cGFuZFRlbXBsYXRlKCk7IGNvbnRleHQ6IHtyb3dJdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoZm9vdGVyVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtbmdUZW1wbGF0ZT1cImZvb3RlclwiIGxldC1kYXRhPVwiZGF0YVwiIGxldC10b3RhbENvdW50PVwidG90YWxDb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGUoKTsgY29udGV4dDoge2RhdGEsIHRvdGFsQ291bnR9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9tbmctYWN0aW9uLXRhYmxlPlxuICAgIDwvZGl2PlxuXG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuPC9kaXY+XG4iXX0=
|