@xxmachina/components 19.12.1 → 19.12.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/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-command.mjs +2 -2
- package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-query.mjs +2 -2
- package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-thread.mjs +2 -2
- package/fesm2022/xxmachina-components-pages-thread.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-agent.mjs +2 -2
- package/fesm2022/xxmachina-components-templates-agent.mjs.map +1 -1
- package/fesm2022/xxmachina-components.mjs +2 -2
- package/fesm2022/xxmachina-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-pages-command.mjs","sources":["../tmp-esm2022/pages/command/command.page.js","../tmp-esm2022/pages/command/xxmachina-components-pages-command.js"],"sourcesContent":["var CommandPageStore_1;\nimport { __decorate, __metadata } from \"tslib\";\nimport { Component, computed, Directive, effect, inject, input, untracked } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { _computed, applyToInput, Effect, InjectableComponent, NgAtomicComponent, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormTemplate, FormTemplateStore } from '@ng-atomic/components/templates/form';\nimport { getInvalid$, getValue$, injectRouteData, injectRouteData$, injectRouteParam, injectRouteParam$, injectRouteParamMap, injectRouteSkip, injectUnflattenRouteParam$ } from '@ng-atomic/common/utils';\nimport { map, tap, filter, combineLatest, shareReplay, of } from 'rxjs';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { merge, pick } from 'lodash-es';\nimport { injectOne$ } from '@ng-atomic/common/stores/entities';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { EndpointHelper } from '@xxmachina/common/domain/models';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { CommandFeature } from '@xxmachina/components/features/command';\nimport { TabsFrame } from '@ng-atomic/components/frames/tabs';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { CommandFormGroup } from '@xxmachina/components/groups/command-form';\nimport { QueryFeature, QueryGraphqlSchemaFeature } from '@xxmachina/components/features/query';\nimport { CloudStorageService } from '@nx-ddd/common/infrastructure/externals/cloud-storage';\nimport { injectErrorMessageResolver } from '@ng-atomic/common/pipes/error';\nimport * as i0 from \"@angular/core\";\nvar ActionId;\n(function (ActionId) {\n ActionId[\"EXECUTE_COMMAND\"] = \"execute-command\";\n ActionId[\"FILE_SELECTED\"] = \"file-selected\";\n})(ActionId || (ActionId = {}));\nfunction buildFormData(form, formData = new FormData(), parentKey = '') {\n Object.keys(form.controls).forEach(key => {\n const control = form.get(key);\n const formKey = parentKey ? `${parentKey}.${key}` : key;\n if (control instanceof FormGroup || control instanceof FormArray) {\n // 子のFormGroupやFormArrayを再帰的に処理\n buildFormData(control, formData, formKey);\n }\n else if (control instanceof FormControl) {\n // フォームの値を追加\n const value = control.value;\n if (value !== null && value !== undefined) {\n formData.append(formKey, value);\n }\n }\n });\n return formData;\n}\nfunction buildData(form, contentType) {\n if (contentType === 'multipart/form-data') {\n return buildFormData(form);\n }\n else {\n return form.getRawValue();\n }\n}\nexport function buildActions(hasPermission, invalid) {\n return hasPermission\n ? [{ id: ActionId.EXECUTE_COMMAND, name: '実行', disabled: invalid }]\n : [{ id: ActionId.EXECUTE_COMMAND, name: '実行権限がありません', disabled: true }];\n}\nlet CommandPageStore = class CommandPageStore extends InjectableComponent {\n static { CommandPageStore_1 = this; }\n static ActionId = ActionId;\n static DI = makeDI(CommandPageStore_1, () => {\n const dev = inject(MachinaDevService);\n return () => ({\n style: {\n width: 'var(--page-width-lv1)',\n },\n baseUrls: [],\n command: {\n id: '1',\n webApiRequest: {\n serverUrl: null,\n apiJsonUrl: null,\n path: '/users',\n method: 'GET',\n bodySchema: null,\n },\n },\n navEndActions: [],\n additionalFormFieldMap: (dev.isDevMode() ? {} : {\n 'id': { type: 'hidden' },\n '__typename': { type: 'hidden' },\n 'kind': { type: 'hidden' },\n }),\n });\n }, ['@xxmachina/components', 'pages', 'command']);\n static Config = CommandPageStore_1.DI.Config;\n static Initializer = CommandPageStore_1.DI.Initializer;\n static provideDefault() {\n return [\n CommandPageStore_1.DI.provideConfig(),\n CommandPageStore_1.provideDefaultInitializer(),\n CommandPageStore_1.provideDefaultEffects(),\n ];\n }\n static provideCustom() {\n return [\n CommandPageStore_1.provideDefault(),\n CommandPageStore_1.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore_1.provideSetupInitializeQueryInitializer(),\n ];\n }\n static provideDefaultV2() {\n return [\n CommandPageStore_1.Config.provide(),\n CommandPageStore_1.provideDefaultInitializer(),\n CommandPageStore_1.provideDefaultEffects(),\n CommandPageStore_1.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore_1.provideSetupInitializeQueryInitializer(),\n CommandPageStore_1.provideInitialFormValueFromQueryResult(),\n CommandPageStore_1.provideQueryFromRouteData(),\n ];\n }\n static provideDefaultInitializer() {\n return [\n CommandPageStore_1.providePatchFormFromRouteParamInitializer(),\n CommandPageStore_1.providePatchCommandFormValueFromCommandInitializer(),\n CommandPageStore_1.provideInitialFormValueFromQueryResult()\n ];\n }\n static provideDefaultEffects() {\n return [\n CommandPageStore_1.provideExecuteCommandEffect(),\n CommandPageStore_1.provideBackEffect(),\n QueryFeature.provideDefaultEffects(),\n ];\n }\n static provideCommandFromRouteParamInitializer(paramName = 'commandId') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const commandId = injectRouteParam(paramName);\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n static provideCommandIdFromRouteDataInitializer() {\n return CommandPageStore_1.Initializer.provide((store) => {\n const commandId = injectRouteData('commandId');\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n static providePatchFormFromRouteParamInitializer() {\n return [\n CommandPageStore_1.Initializer.provide(store => {\n effect(() => store.form().patchValue(store.data()));\n }),\n ];\n }\n static providePatchCommandFormValueFromCommandInitializer() {\n return [\n CommandPageStore_1.Initializer.provide(store => {\n effect(() => {\n if (!store.command())\n return;\n store.feature.commandForm().patchValue({ ...store.command() });\n });\n })\n ];\n }\n static provideQueryIdFromRouteParam(key = 'queryId') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const queryId$ = injectRouteParam$(key);\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectOne$(Query, { id: queryId$ });\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(filter(({ query, params }) => !!query && !!params), map(({ query, params }) => QueryHelper.setup(query, params)), tap((query) => console.debug('[CommandPage] query:', query)), shareReplay(1)));\n effect(() => {\n console.debug('[CommandPage] setupQuery:', setupQuery());\n store.queryFeature.form.patchValue(setupQuery());\n });\n });\n }\n static provideQueryFromRouteData(key = 'query') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectRouteData$(key);\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(filter(({ query, params }) => !!query), map(({ query, params }) => QueryHelper.setup(query, params)), shareReplay(1)));\n effect(() => { store.queryFeature.form.patchValue(setupQuery()); });\n });\n }\n static provideRouteParamsToDataInitializer(projector) {\n return CommandPageStore_1.Initializer.provide((store) => {\n const route = inject(ActivatedRoute);\n const data = derivedAsync(() => route.params.pipe(map(params => projector(params))));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n static provideRouteParamMapToDataInitializer(projector) {\n return CommandPageStore_1.Initializer.provide((store) => {\n const paramMap = injectRouteParamMap({ merge: true });\n const data = computed(() => projector(paramMap()));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n static provideSetupInitializeQueryInitializer() {\n return CommandPageStore_1.Initializer.provide((store) => {\n const initializeQuery = derivedAsync(() => combineLatest({\n initializeQuery: of(store.initializeQuery()),\n data: of(store.data())\n }).pipe(filter(({ initializeQuery, data }) => !!initializeQuery && !!data), map(({ initializeQuery, data }) => QueryHelper.setup(initializeQuery, data)), filter((initializeQuery) => !!initializeQuery), shareReplay(1)));\n effect(() => store.queryFeature.form.patchValue(initializeQuery()));\n });\n }\n static provideInitialFormValueFromQueryResult() {\n return CommandPageStore_1.Initializer.provide((store) => {\n effect(() => store.form().patchValue(store.queryFeature.result()));\n store.queryFeature.refresh();\n });\n }\n static provideExecuteCommandEffect() {\n return provideEffect(ActionId.EXECUTE_COMMAND, () => {\n const store = inject(CommandPageStore_1);\n const app = inject(AppService);\n const paramKeys = computed(() => EndpointHelper.extract(store.feature.path()));\n const resolvedParams = computed(() => pick(store.data(), paramKeys()));\n return () => {\n const resolvedEndpoint = EndpointHelper.resolve(store.feature.path(), resolvedParams());\n const data = buildData(store.form(), store.command()?.webApiRequest?.contentType);\n const command = merge(store.command(), store.feature.commandForm().getRawValue(), { webApiRequest: { path: resolvedEndpoint } });\n app.loading.await(() => {\n return store.feature.execute(command, data).then(() => {\n app.snackBar.open('成功しました。');\n // history.back();\n }).catch((error) => {\n console.error(error);\n app.snackBar.openError(error);\n });\n });\n };\n });\n }\n static provideBackEffect() {\n return provideEffect(FormTemplateStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n static provideFileSelectedEffect() {\n return provideEffect(CommandPageStore_1.ActionId.FILE_SELECTED, () => {\n const store = inject(CommandPageStore_1);\n return (payload) => {\n store.form().patchValue({ file: payload.files?.[0] });\n };\n });\n }\n static provideDebugFormInitializer() {\n return CommandPageStore_1.Initializer.provide(() => {\n const store = inject(CommandPageStore_1);\n // FormGroupを再帰的に調べる関数(invalidなコントロールのみ)\n const getInvalidControls = (formGroup, path = '') => {\n let invalidControls = [];\n Object.keys(formGroup.controls).forEach(key => {\n const control = formGroup.controls[key];\n const currentPath = path ? `${path}.${key}` : key;\n // invalidなコントロールを記録\n if (control.invalid) {\n invalidControls.push({\n path: currentPath,\n errors: control.errors,\n value: control.value,\n status: control.status,\n valid: control.valid,\n invalid: control.invalid,\n dirty: control.dirty,\n touched: control.touched\n });\n }\n // FormGroupの場合は再帰的に調べる\n if (control.controls) {\n invalidControls = invalidControls.concat(getInvalidControls(control, currentPath));\n }\n });\n return invalidControls;\n };\n const formValue_ = derivedAsync(() => getValue$(store.form()));\n effect(() => {\n const formValue = formValue_();\n const form = untracked(() => store.form());\n console.log('[CommandPage] Form value changed:', formValue);\n console.log('[CommandPage] CommandForm valid:', form?.valid);\n console.log('[CommandPage] CommandForm status:', form?.status);\n if (form) {\n const invalidControls = getInvalidControls(form);\n const invalidPaths = invalidControls.map(control => control.path);\n console.log(`[CommandPage] Found ${invalidControls.length} INVALID controls:`);\n console.log('[CommandPage] INVALID PATHS:', invalidPaths);\n }\n });\n });\n }\n static provideSelectedFileUploadEffect(callbackFactory, { validator = () => null, getPath, }) {\n return provideEffect(CommandPageStore_1.ActionId.FILE_SELECTED, () => {\n const storage = inject(CloudStorageService);\n const app = inject(AppService);\n const callback = callbackFactory();\n const errorMessageResolver = injectErrorMessageResolver();\n return (payload) => {\n const file = payload.files?.[0];\n const errors = validator(file);\n if (errors && Object.keys(errors).length > 0) {\n app.snackBar.open(errorMessageResolver(errors));\n return;\n }\n return app.loading.await(() => {\n const path = getPath();\n return storage.upload(path, file).then(() => {\n app.snackBar.open('ファイルをアップロードしました');\n return storage.getDownloadUrl(path).then((imageUrl) => {\n return callback({ file, path, url: imageUrl });\n });\n }).catch((error) => {\n console.error(error);\n app.snackBar.open('ファイルのアップロードに失敗しました');\n });\n });\n };\n });\n }\n feature = inject(CommandFeature);\n config = CommandPageStore_1.Config.inject();\n queryFeature = inject(QueryFeature);\n style = input(_computed(() => this.config().style));\n #navStartActions = injectNavStartActionsV2();\n navStartActions = input(_computed(() => this.#navStartActions()));\n navEndActions = input(_computed(() => this.config().navEndActions));\n command = input(_computed(() => this.config().command));\n form = input(_computed(() => this.feature.form()));\n extractedFormFieldMap = input(_computed(() => this.feature.extractedFormFieldMap()));\n additionalFormFieldMap = input(_computed(() => this.config().additionalFormFieldMap));\n formFieldMap = input(_computed(() => ({\n ...this.extractedFormFieldMap(),\n ...this.additionalFormFieldMap()\n })));\n formFieldKeys = input(_computed(() => []));\n formFlatExcludes = input(_computed(() => []));\n _initializeQuery = injectRouteData('query');\n initializeQuery = input(_computed(() => this._initializeQuery()));\n _data = injectUnflattenRouteParam('data');\n data = input(_computed(() => this._data()));\n formInvalid = derivedAsync(() => getInvalid$(this.form()));\n title = input(_computed(() => this.feature.title()));\n actions = derivedAsync(() => buildActions(this.feature.hasPermission(this.command()), this.formInvalid()));\n skip = injectRouteSkip();\n constructor() {\n super();\n CommandPageStore_1.Initializer.initializeStore(this);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: CommandPageStore, isStandalone: true, inputs: { style: { classPropertyName: \"style\", publicName: \"style\", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: \"navStartActions\", publicName: \"navStartActions\", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: \"navEndActions\", publicName: \"navEndActions\", isSignal: true, isRequired: false, transformFunction: null }, command: { classPropertyName: \"command\", publicName: \"command\", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: \"form\", publicName: \"form\", isSignal: true, isRequired: false, transformFunction: null }, extractedFormFieldMap: { classPropertyName: \"extractedFormFieldMap\", publicName: \"extractedFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, additionalFormFieldMap: { classPropertyName: \"additionalFormFieldMap\", publicName: \"additionalFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, formFieldMap: { classPropertyName: \"formFieldMap\", publicName: \"formFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, formFieldKeys: { classPropertyName: \"formFieldKeys\", publicName: \"formFieldKeys\", isSignal: true, isRequired: false, transformFunction: null }, formFlatExcludes: { classPropertyName: \"formFlatExcludes\", publicName: \"formFlatExcludes\", isSignal: true, isRequired: false, transformFunction: null }, initializeQuery: { classPropertyName: \"initializeQuery\", publicName: \"initializeQuery\", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n};\nCommandPageStore = CommandPageStore_1 = __decorate([\n TokenizedType(),\n __metadata(\"design:paramtypes\", [])\n], CommandPageStore);\nexport { CommandPageStore };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPageStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [] });\nexport class CommandPage extends NgAtomicComponent {\n store = inject(CommandPageStore);\n route = inject(ActivatedRoute);\n app = inject(AppService);\n parentRouterOutletFrame = inject(RouterOutletFrame, { optional: true });\n onFileSelected(payload) {\n this.dispatch({ id: ActionId.FILE_SELECTED, payload });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPage, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: CommandPage, isStandalone: true, selector: \"pages-command\", providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ], usesInheritance: true, hostDirectives: [{ directive: CommandPageStore, inputs: [\"style\", \"style\", \"navEndActions\", \"navEndActions\", \"command\", \"command\", \"form\", \"form\", \"additionalFormFieldMap\", \"additionalFormFieldMap\", \"formFieldMap\", \"formFieldMap\", \"formFlatExcludes\", \"formFlatExcludes\", \"initializeQuery\", \"initializeQuery\", \"data\", \"data\"] }], ngImport: i0, template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `, isInline: true, styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-uEiU: var(--page-width-lv1)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-uEiU)}:host .template div[dashboard]{padding:0;box-sizing:border-box}\\n\"], dependencies: [{ kind: \"component\", type: RouterOutletFrame, selector: \"frames-router-outlet\", outputs: [\"events\"] }, { kind: \"component\", type: FormTemplate, selector: \"templates-form\" }, { kind: \"component\", type: TabsFrame, selector: \"frames-tabs\", inputs: [\"labels\"], outputs: [\"selectedTabIndexChange\"] }, { kind: \"component\", type: CommandFormGroup, selector: \"groups-command-form\", inputs: [\"apiJsonUrls\"] }, { kind: \"component\", type: QueryFormGroup, selector: \"groups-query-form\", inputs: [\"form\", \"keyActions\"] }] });\n}\n__decorate([\n Effect(FormTemplateStore.ActionId.FILE_SELECTED),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], CommandPage.prototype, \"onFileSelected\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPage, decorators: [{\n type: Component,\n args: [{ selector: 'pages-command', imports: [\n RouterOutletFrame,\n FormTemplate,\n TabsFrame,\n CommandFormGroup,\n QueryFormGroup\n ], providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ], template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `, hostDirectives: [\n {\n directive: CommandPageStore,\n inputs: [\n 'style',\n 'navEndActions',\n 'command',\n 'form',\n 'additionalFormFieldMap',\n 'formFieldMap',\n 'formFlatExcludes',\n 'initializeQuery',\n 'data',\n ]\n },\n ], styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-uEiU: var(--page-width-lv1)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-uEiU)}:host .template div[dashboard]{padding:0;box-sizing:border-box}\\n\"] }]\n }], propDecorators: { onFileSelected: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvY29tbWFuZC9jb21tYW5kLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSixPQUFPLEVBQUUsY0FBYyxFQUFvQixNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM00sT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FB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VFUsV0FBVzsyRkFBWCxXQUFXLDREQW5EWDtZQUNULGNBQWM7WUFDZCxZQUFZO1lBQ1oseUJBQXlCO1NBQzFCLHVEQTdXVSxnQkFBZ0IsbVRBOFdqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJULG9WQXRDQyxpQkFBaUIsc0ZBQ2pCLFlBQVksMkRBQ1osU0FBUyxpSEFDVCxnQkFBZ0IseUZBQ2hCLGNBQWM7O0FBNEROO0lBRFQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7Ozs7aURBR2hEOzJGQVRVLFdBQVc7a0JBNUR2QixTQUFTOytCQUNFLGVBQWUsV0FDaEI7d0JBQ1AsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixjQUFjO3FCQUNmLGFBQ1U7d0JBQ1QsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLHlCQUF5QjtxQkFDMUIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJULGtCQUVlO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRTtnQ0FDTixPQUFPO2dDQUNQLGVBQWU7Z0NBQ2YsU0FBUztnQ0FDVCxNQUFNO2dDQUNOLHdCQUF3QjtnQ0FDeEIsY0FBYztnQ0FDZCxrQkFBa0I7Z0NBQ2xCLGlCQUFpQjtnQ0FDakIsTUFBTTs2QkFDUDt5QkFDRjtxQkFDRjs4QkFTUyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIFByb3ZpZGVyLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0RnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3JvdXRlci1vdXRsZXQnO1xuaW1wb3J0IHsgQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvY29tbWFuZCc7XG5pbXBvcnQgeyBfY29tcHV0ZWQsIEFjdGlvbiwgYXBwbHlUb0lucHV0LCBFZmZlY3QsIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBwcm92aWRlRWZmZWN0LCBUb2tlbml6ZWRUeXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1UZW1wbGF0ZSwgRm9ybVRlbXBsYXRlU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2Zvcm0nO1xuaW1wb3J0IHsgZ2V0SW52YWxpZCQsIGdldFZhbHVlJCwgaW5qZWN0Um91dGVEYXRhLCBpbmplY3RSb3V0ZURhdGEkLCBpbmplY3RSb3V0ZVBhcmFtLCBpbmplY3RSb3V0ZVBhcmFtJCwgaW5qZWN0Um91dGVQYXJhbU1hcCwgaW5qZWN0Um91dGVTa2lwLCBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtJCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IG1hcCwgdGFwLCBmaWx0ZXIsIGNvbWJpbmVMYXRlc3QsIHNoYXJlUmVwbGF5LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTWFwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvc21hcnQtZmllbGQnO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBpbmplY3ROYXZTdGFydEFjdGlvbnNWMiwgbWFrZURJIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5SGVscGVyIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgbWVyZ2UsIHBpY2sgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgaW5qZWN0T25lJCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3N0b3Jlcy9lbnRpdGllcyc7XG5pbXBvcnQgeyBNYWNoaW5hRGV2U2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9kZWJ1Zyc7XG5pbXBvcnQgeyBFbmRwb2ludEhlbHBlciB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgZGVyaXZlZEFzeW5jIH0gZnJvbSAnbmd4dGVuc2lvbi9kZXJpdmVkLWFzeW5jJztcbmltcG9ydCB7IENvbW1hbmRGZWF0dXJlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2ZlYXR1cmVzL2NvbW1hbmQnO1xuaW1wb3J0IHsgVGFic0ZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy90YWJzJztcbmltcG9ydCB7IFF1ZXJ5Rm9ybUdyb3VwIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2dyb3Vwcy9xdWVyeS1mb3JtJztcbmltcG9ydCB7IENvbW1hbmRGb3JtR3JvdXAgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvZ3JvdXBzL2NvbW1hbmQtZm9ybSc7XG5pbXBvcnQgeyBRdWVyeUZlYXR1cmUsIFF1ZXJ5R3JhcGhxbFNjaGVtYUZlYXR1cmUgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvZmVhdHVyZXMvcXVlcnknO1xuaW1wb3J0IHsgQ2xvdWRTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2luZnJhc3RydWN0dXJlL2V4dGVybmFscy9jbG91ZC1zdG9yYWdlJztcbmltcG9ydCB7IGluamVjdEVycm9yTWVzc2FnZVJlc29sdmVyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvZXJyb3InO1xuXG5lbnVtIEFjdGlvbklkIHtcbiAgRVhFQ1VURV9DT01NQU5EID0gJ2V4ZWN1dGUtY29tbWFuZCcsXG4gIEZJTEVfU0VMRUNURUQgPSAnZmlsZS1zZWxlY3RlZCcsXG59XG5cbmZ1bmN0aW9uIGJ1aWxkRm9ybURhdGEoZm9ybTogRm9ybUdyb3VwIHwgRm9ybUFycmF5LCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSwgcGFyZW50S2V5ID0gJycpOiBGb3JtRGF0YSB7XG4gIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICBjb25zdCBjb250cm9sID0gZm9ybS5nZXQoa2V5KTtcbiAgICBjb25zdCBmb3JtS2V5ID0gcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fS4ke2tleX1gIDoga2V5O1xuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgLy8g5a2Q44GuRm9ybUdyb3Vw44KERm9ybUFycmF544KS5YaN5biw55qE44Gr5Yem55CGXG4gICAgICBidWlsZEZvcm1EYXRhKGNvbnRyb2wsIGZvcm1EYXRhLCBmb3JtS2V5KTtcbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgLy8g44OV44Kp44O844Og44Gu5YCk44KS6L+95YqgXG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoZm9ybUtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGZvcm1EYXRhO1xufVxuXG5mdW5jdGlvbiBidWlsZERhdGEoZm9ybTogQWJzdHJhY3RDb250cm9sLCBjb250ZW50VHlwZTogc3RyaW5nKSB7XG4gIGlmIChjb250ZW50VHlwZSA9PT0gJ211bHRpcGFydC9mb3JtLWRhdGEnKSB7XG4gICAgcmV0dXJuIGJ1aWxkRm9ybURhdGEoZm9ybSBhcyBGb3JtR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmb3JtLmdldFJhd1ZhbHVlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQWN0aW9ucyhoYXNQZXJtaXNzaW9uOiBib29sZWFuLCBpbnZhbGlkOiBib29sZWFuKTogQWN0aW9uW10ge1xuICByZXR1cm4gaGFzUGVybWlzc2lvblxuICAgID8gW3sgaWQ6IEFjdGlvbklkLkVYRUNVVEVfQ09NTUFORCwgbmFtZTogJ+Wun+ihjCcsIGRpc2FibGVkOiBpbnZhbGlkIH1dXG4gICAgOiBbeyBpZDogQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELCBuYW1lOiAn5a6f6KGM5qip6ZmQ44GM44GC44KK44G+44Gb44KTJywgZGlzYWJsZWQ6IHRydWUgfV1cbn1cblxuQFRva2VuaXplZFR5cGUoKVxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBDb21tYW5kUGFnZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgREkgPSBtYWtlREkoQ29tbWFuZFBhZ2VTdG9yZSwgKCkgPT4ge1xuICAgIGNvbnN0IGRldiA9IGluamVjdChNYWNoaW5hRGV2U2VydmljZSk7XG4gICAgcmV0dXJuICgpID0+ICh7XG4gICAgICBzdHlsZToge1xuICAgICAgICB3aWR0aDogJ3ZhcigtLXBhZ2Utd2lkdGgtbHYxKScsXG4gICAgICB9LFxuICAgICAgYmFzZVVybHM6IFtdIGFzIHN0cmluZ1tdLFxuICAgICAgY29tbWFuZDogPENvbW1hbmQ+e1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICB3ZWJBcGlSZXF1ZXN0OiB7XG4gICAgICAgICAgc2VydmVyVXJsOiBudWxsLFxuICAgICAgICAgIGFwaUpzb25Vcmw6IG51bGwsXG4gICAgICAgICAgcGF0aDogJy91c2VycycsXG4gICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICBib2R5U2NoZW1hOiBudWxsLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG5hdkVuZEFjdGlvbnM6IDxBY3Rpb25bXT5bXSxcbiAgICAgIGFkZGl0aW9uYWxGb3JtRmllbGRNYXA6IDxGb3JtRmllbGRNYXA+KGRldi5pc0Rldk1vZGUoKSA/IHt9IDoge1xuICAgICAgICAnaWQnOiB7IHR5cGU6ICdoaWRkZW4nIH0sXG4gICAgICAgICdfX3R5cGVuYW1lJzogeyB0eXBlOiAnaGlkZGVuJyB9LFxuICAgICAgICAna2luZCc6IHsgdHlwZTogJ2hpZGRlbicgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9LCBbJ0B4eG1hY2hpbmEvY29tcG9uZW50cycsICdwYWdlcycsICdjb21tYW5kJ10pO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gQ29tbWFuZFBhZ2VTdG9yZS5ESS5Db25maWc7XG4gIHN0YXRpYyByZWFkb25seSBJbml0aWFsaXplciA9IENvbW1hbmRQYWdlU3RvcmUuREkuSW5pdGlhbGl6ZXI7XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0KCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLkRJLnByb3ZpZGVDb25maWcoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZURlZmF1bHRJbml0aWFsaXplcigpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEVmZmVjdHMoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDdXN0b20oKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZURlZmF1bHQoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZUNvbW1hbmRJZEZyb21Sb3V0ZURhdGFJbml0aWFsaXplcigpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlU2V0dXBJbml0aWFsaXplUXVlcnlJbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRWMigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlQ29tbWFuZElkRnJvbVJvdXRlRGF0YUluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVTZXR1cEluaXRpYWxpemVRdWVyeUluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVJbml0aWFsRm9ybVZhbHVlRnJvbVF1ZXJ5UmVzdWx0KCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVRdWVyeUZyb21Sb3V0ZURhdGEoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXIoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZVBhdGNoRm9ybUZyb21Sb3V0ZVBhcmFtSW5pdGlhbGl6ZXIoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZVBhdGNoQ29tbWFuZEZvcm1WYWx1ZUZyb21Db21tYW5kSW5pdGlhbGl6ZXIoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZUluaXRpYWxGb3JtVmFsdWVGcm9tUXVlcnlSZXN1bHQoKVxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRFZmZlY3RzKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVFeGVjdXRlQ29tbWFuZEVmZmVjdCgpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlQmFja0VmZmVjdCgpLFxuICAgICAgUXVlcnlGZWF0dXJlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUNvbW1hbmRGcm9tUm91dGVQYXJhbUluaXRpYWxpemVyKHBhcmFtTmFtZSA9ICdjb21tYW5kSWQnKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBjb21tYW5kSWQgPSBpbmplY3RSb3V0ZVBhcmFtKHBhcmFtTmFtZSk7XG4gICAgICBjb25zdCBzZXJ2aWNlID0gaW5qZWN0KENvbW1hbmRTZXJ2aWNlKTtcbiAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICdjb21tYW5kJywgc2VydmljZS5nZXRDb21tYW5kKGNvbW1hbmRJZCgpKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDb21tYW5kSWRGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBjb21tYW5kSWQgPSBpbmplY3RSb3V0ZURhdGE8c3RyaW5nPignY29tbWFuZElkJyk7XG4gICAgICBjb25zdCBzZXJ2aWNlID0gaW5qZWN0KENvbW1hbmRTZXJ2aWNlKTtcbiAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICdjb21tYW5kJywgc2VydmljZS5nZXRDb21tYW5kKGNvbW1hbmRJZCgpKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVQYXRjaEZvcm1Gcm9tUm91dGVQYXJhbUluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoc3RvcmUgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4gc3RvcmUuZm9ybSgpLnBhdGNoVmFsdWUoc3RvcmUuZGF0YSgpKSk7XG4gICAgICB9KSxcbiAgICBdXG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVBhdGNoQ29tbWFuZEZvcm1WYWx1ZUZyb21Db21tYW5kSW5pdGlhbGl6ZXIoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZShzdG9yZSA9PiB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCFzdG9yZS5jb21tYW5kKCkpIHJldHVybjtcbiAgICAgICAgICBzdG9yZS5mZWF0dXJlLmNvbW1hbmRGb3JtKCkucGF0Y2hWYWx1ZSh7IC4uLnN0b3JlLmNvbW1hbmQoKSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5SWRGcm9tUm91dGVQYXJhbShrZXkgPSAncXVlcnlJZCcpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5SWQkID0gaW5qZWN0Um91dGVQYXJhbSQoa2V5KTtcbiAgICAgIGNvbnN0IHBhcmFtcyQgPSBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtJCgnZGF0YScpO1xuICAgICAgY29uc3QgcXVlcnkkID0gaW5qZWN0T25lJChRdWVyeSwgeyBpZDogcXVlcnlJZCQgfSk7XG4gICAgICBjb25zdCBzZXR1cFF1ZXJ5ID0gZGVyaXZlZEFzeW5jKCgpID0+IGNvbWJpbmVMYXRlc3Qoe1xuICAgICAgICBxdWVyeTogcXVlcnkkLFxuICAgICAgICBwYXJhbXM6IHBhcmFtcyQsXG4gICAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgcXVlcnksIHBhcmFtcyB9KSA9PiAhIXF1ZXJ5ICYmICEhcGFyYW1zKSxcbiAgICAgICAgbWFwKCh7IHF1ZXJ5LCBwYXJhbXMgfSkgPT4gUXVlcnlIZWxwZXIuc2V0dXAocXVlcnksIHBhcmFtcykpLFxuICAgICAgICB0YXAoKHF1ZXJ5KSA9PiBjb25zb2xlLmRlYnVnKCdbQ29tbWFuZFBhZ2VdIHF1ZXJ5OicsIHF1ZXJ5KSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKSk7XG4gICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKCdbQ29tbWFuZFBhZ2VdIHNldHVwUXVlcnk6Jywgc2V0dXBRdWVyeSgpKTtcbiAgICAgICAgc3RvcmUucXVlcnlGZWF0dXJlLmZvcm0ucGF0Y2hWYWx1ZShzZXR1cFF1ZXJ5KCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5RnJvbVJvdXRlRGF0YShrZXkgPSAncXVlcnknKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBwYXJhbXMkID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSQoJ2RhdGEnKTtcbiAgICAgIGNvbnN0IHF1ZXJ5JCA9IGluamVjdFJvdXRlRGF0YSQ8UXVlcnk+KGtleSk7XG4gICAgICBjb25zdCBzZXR1cFF1ZXJ5ID0gZGVyaXZlZEFzeW5jKCgpID0+IGNvbWJpbmVMYXRlc3Qoe1xuICAgICAgICBxdWVyeTogcXVlcnkkLFxuICAgICAgICBwYXJhbXM6IHBhcmFtcyQsXG4gICAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgcXVlcnksIHBhcmFtcyB9KSA9PiAhIXF1ZXJ5KSxcbiAgICAgICAgbWFwKCh7IHF1ZXJ5LCBwYXJhbXMgfSkgPT4gUXVlcnlIZWxwZXIuc2V0dXAocXVlcnksIHBhcmFtcykpLFxuICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICkpO1xuICAgICAgZWZmZWN0KCgpID0+IHsgc3RvcmUucXVlcnlGZWF0dXJlLmZvcm0ucGF0Y2hWYWx1ZShzZXR1cFF1ZXJ5KCkpOyB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlUm91dGVQYXJhbXNUb0RhdGFJbml0aWFsaXplcihwcm9qZWN0b3I6IChwYXJhbXM6IFBhcmFtcykgPT4gUmVjb3JkPHN0cmluZywgYW55Pik6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICBjb25zdCBkYXRhID0gZGVyaXZlZEFzeW5jKCgpID0+IHJvdXRlLnBhcmFtcy5waXBlKG1hcChwYXJhbXMgPT4gcHJvamVjdG9yKHBhcmFtcykpKSk7XG4gICAgICBlZmZlY3QoKCkgPT4gYXBwbHlUb0lucHV0KHN0b3JlLCAnZGF0YScsIGRhdGEoKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVSb3V0ZVBhcmFtTWFwVG9EYXRhSW5pdGlhbGl6ZXIocHJvamVjdG9yOiAocGFyYW1zOiBQYXJhbU1hcCkgPT4gUmVjb3JkPHN0cmluZywgYW55Pik6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBwYXJhbU1hcCA9IGluamVjdFJvdXRlUGFyYW1NYXAoe21lcmdlOiB0cnVlfSk7XG4gICAgICBjb25zdCBkYXRhID0gY29tcHV0ZWQoKCkgPT4gcHJvamVjdG9yKHBhcmFtTWFwKCkpKTtcbiAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICdkYXRhJywgZGF0YSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVNldHVwSW5pdGlhbGl6ZVF1ZXJ5SW5pdGlhbGl6ZXIoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBpbml0aWFsaXplUXVlcnkgPSBkZXJpdmVkQXN5bmMoKCkgPT4gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIGluaXRpYWxpemVRdWVyeTogb2Yoc3RvcmUuaW5pdGlhbGl6ZVF1ZXJ5KCkpLFxuICAgICAgICBkYXRhOiBvZihzdG9yZS5kYXRhKCkpXG4gICAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgaW5pdGlhbGl6ZVF1ZXJ5LCBkYXRhIH0pID0+ICEhaW5pdGlhbGl6ZVF1ZXJ5ICYmICEhZGF0YSksXG4gICAgICAgIG1hcCgoeyBpbml0aWFsaXplUXVlcnksIGRhdGEgfSkgPT4gUXVlcnlIZWxwZXIuc2V0dXAoaW5pdGlhbGl6ZVF1ZXJ5LCBkYXRhKSksXG4gICAgICAgIGZpbHRlcigoaW5pdGlhbGl6ZVF1ZXJ5KSA9PiAhIWluaXRpYWxpemVRdWVyeSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKSk7XG4gICAgICBcbiAgICAgIGVmZmVjdCgoKSA9PiBzdG9yZS5xdWVyeUZlYXR1cmUuZm9ybS5wYXRjaFZhbHVlKGluaXRpYWxpemVRdWVyeSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUluaXRpYWxGb3JtVmFsdWVGcm9tUXVlcnlSZXN1bHQoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBlZmZlY3QoKCkgPT4gc3RvcmUuZm9ybSgpLnBhdGNoVmFsdWUoc3RvcmUucXVlcnlGZWF0dXJlLnJlc3VsdCgpKSk7XG4gICAgICBzdG9yZS5xdWVyeUZlYXR1cmUucmVmcmVzaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVFeGVjdXRlQ29tbWFuZEVmZmVjdCgpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IHBhcmFtS2V5cyA9IGNvbXB1dGVkKCgpID0+IEVuZHBvaW50SGVscGVyLmV4dHJhY3Qoc3RvcmUuZmVhdHVyZS5wYXRoKCkpKTtcbiAgICAgIGNvbnN0IHJlc29sdmVkUGFyYW1zID0gY29tcHV0ZWQoKCkgPT4gcGljayhzdG9yZS5kYXRhKCksIHBhcmFtS2V5cygpKSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkRW5kcG9pbnQgPSBFbmRwb2ludEhlbHBlci5yZXNvbHZlKHN0b3JlLmZlYXR1cmUucGF0aCgpLCByZXNvbHZlZFBhcmFtcygpKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGJ1aWxkRGF0YShzdG9yZS5mb3JtKCksIHN0b3JlLmNvbW1hbmQoKT8ud2ViQXBpUmVxdWVzdD8uY29udGVudFR5cGUpO1xuICAgICAgICBjb25zdCBjb21tYW5kID0gbWVyZ2UoXG4gICAgICAgICAgc3RvcmUuY29tbWFuZCgpLFxuICAgICAgICAgIHN0b3JlLmZlYXR1cmUuY29tbWFuZEZvcm0oKS5nZXRSYXdWYWx1ZSgpLFxuICAgICAgICAgIHsgd2ViQXBpUmVxdWVzdDogeyBwYXRoOiByZXNvbHZlZEVuZHBvaW50IH0gfSxcbiAgICAgICAgKTtcbiAgICAgICAgYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBzdG9yZS5mZWF0dXJlLmV4ZWN1dGUoY29tbWFuZCwgZGF0YSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign5oiQ5Yqf44GX44G+44GX44Gf44CCJyk7XG4gICAgICAgICAgICAvLyBoaXN0b3J5LmJhY2soKTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW5FcnJvcihlcnJvcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVCYWNrRWZmZWN0KCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChGb3JtVGVtcGxhdGVTdG9yZS5BY3Rpb25JZC5CQUNLLCAoKSA9PiB7XG4gICAgICByZXR1cm4gKCkgPT4gaGlzdG9yeS5iYWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUZpbGVTZWxlY3RlZEVmZmVjdCgpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFBhZ2VTdG9yZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVELCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgICAgIHJldHVybiAocGF5bG9hZCkgPT4ge1xuICAgICAgICBzdG9yZS5mb3JtKCkucGF0Y2hWYWx1ZSh7IGZpbGU6IHBheWxvYWQuZmlsZXM/LlswXSB9KVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVEZWJ1Z0Zvcm1Jbml0aWFsaXplcigpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgICAgIFxuICAgICAgLy8gRm9ybUdyb3Vw44KS5YaN5biw55qE44Gr6Kq/44G544KL6Zai5pWw77yIaW52YWxpZOOBquOCs+ODs+ODiOODreODvOODq+OBruOBv++8iVxuICAgICAgY29uc3QgZ2V0SW52YWxpZENvbnRyb2xzID0gKGZvcm1Hcm91cDogYW55LCBwYXRoID0gJycpID0+IHtcbiAgICAgICAgbGV0IGludmFsaWRDb250cm9sczogYW55W10gPSBbXTtcbiAgICAgICAgXG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNba2V5XTtcbiAgICAgICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke2tleX1gIDoga2V5O1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIGludmFsaWTjgarjgrPjg7Pjg4jjg63jg7zjg6vjgpLoqJjpjLJcbiAgICAgICAgICBpZiAoY29udHJvbC5pbnZhbGlkKSB7XG4gICAgICAgICAgICBpbnZhbGlkQ29udHJvbHMucHVzaCh7XG4gICAgICAgICAgICAgIHBhdGg6IGN1cnJlbnRQYXRoLFxuICAgICAgICAgICAgICBlcnJvcnM6IGNvbnRyb2wuZXJyb3JzLFxuICAgICAgICAgICAgICB2YWx1ZTogY29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgc3RhdHVzOiBjb250cm9sLnN0YXR1cyxcbiAgICAgICAgICAgICAgdmFsaWQ6IGNvbnRyb2wudmFsaWQsXG4gICAgICAgICAgICAgIGludmFsaWQ6IGNvbnRyb2wuaW52YWxpZCxcbiAgICAgICAgICAgICAgZGlydHk6IGNvbnRyb2wuZGlydHksXG4gICAgICAgICAgICAgIHRvdWNoZWQ6IGNvbnRyb2wudG91Y2hlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC8vIEZvcm1Hcm91cOOBruWgtOWQiOOBr+WGjeW4sOeahOOBq+iqv+OBueOCi1xuICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzKSB7XG4gICAgICAgICAgICBpbnZhbGlkQ29udHJvbHMgPSBpbnZhbGlkQ29udHJvbHMuY29uY2F0KGdldEludmFsaWRDb250cm9scyhjb250cm9sLCBjdXJyZW50UGF0aCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gaW52YWxpZENvbnRyb2xzO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgZm9ybVZhbHVlXyA9IGRlcml2ZWRBc3luYygoKSA9PiBnZXRWYWx1ZSQoc3RvcmUuZm9ybSgpKSk7XG4gICAgICBcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGZvcm1WYWx1ZV8oKTtcbiAgICAgICAgY29uc3QgZm9ybSA9IHVudHJhY2tlZCgoKSA9PiBzdG9yZS5mb3JtKCkpO1xuICAgICAgICBjb25zb2xlLmxvZygnW0NvbW1hbmRQYWdlXSBGb3JtIHZhbHVlIGNoYW5nZWQ6JywgZm9ybVZhbHVlKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1tDb21tYW5kUGFnZV0gQ29tbWFuZEZvcm0gdmFsaWQ6JywgZm9ybT8udmFsaWQpO1xuICAgICAgICBjb25zb2xlLmxvZygnW0NvbW1hbmRQYWdlXSBDb21tYW5kRm9ybSBzdGF0dXM6JywgZm9ybT8uc3RhdHVzKTtcbiAgICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgICBjb25zdCBpbnZhbGlkQ29udHJvbHMgPSBnZXRJbnZhbGlkQ29udHJvbHMoZm9ybSk7XG4gICAgICAgICAgY29uc3QgaW52YWxpZFBhdGhzID0gaW52YWxpZENvbnRyb2xzLm1hcChjb250cm9sID0+IGNvbnRyb2wucGF0aCk7XG4gICAgICAgICAgY29uc29sZS5sb2coYFtDb21tYW5kUGFnZV0gRm91bmQgJHtpbnZhbGlkQ29udHJvbHMubGVuZ3RofSBJTlZBTElEIGNvbnRyb2xzOmApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdbQ29tbWFuZFBhZ2VdIElOVkFMSUQgUEFUSFM6JywgaW52YWxpZFBhdGhzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVNlbGVjdGVkRmlsZVVwbG9hZEVmZmVjdChcbiAgICBjYWxsYmFja0ZhY3Rvcnk6ICgpID0+IChyZXN1bHQ6IHtmaWxlOiBGaWxlLCBwYXRoOiBzdHJpbmcsIHVybDogc3RyaW5nfSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4sXG4gICAge1xuICAgICAgdmFsaWRhdG9yID0gKCkgPT4gbnVsbCxcbiAgICAgIGdldFBhdGgsXG4gICAgfToge1xuICAgICAgdmFsaWRhdG9yPzogKGZpbGU6IEZpbGUpID0+IHt0eXBlOiBib29sZWFuLCBzaXplOiBib29sZWFufSB8IG51bGwsXG4gICAgICBnZXRQYXRoOiAoKSA9PiBzdHJpbmcsXG4gICAgfVxuICApOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFBhZ2VTdG9yZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVELCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gaW5qZWN0KENsb3VkU3RvcmFnZVNlcnZpY2UpO1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgY2FsbGJhY2sgPSBjYWxsYmFja0ZhY3RvcnkoKTtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZVJlc29sdmVyID0gaW5qZWN0RXJyb3JNZXNzYWdlUmVzb2x2ZXIoKTtcbiAgXG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHsgc2NvcGU6IHN0cmluZywgZmlsZXM6IEZpbGVbXX0pID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IHBheWxvYWQuZmlsZXM/LlswXTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdmFsaWRhdG9yKGZpbGUpO1xuICAgICAgICBpZiAoZXJyb3JzICYmIE9iamVjdC5rZXlzKGVycm9ycykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKGVycm9yTWVzc2FnZVJlc29sdmVyKGVycm9ycykpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoKCk7XG4gICAgICAgICAgcmV0dXJuIHN0b3JhZ2UudXBsb2FkKHBhdGgsIGZpbGUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODleOCoeOCpOODq+OCkuOCouODg+ODl+ODreODvOODieOBl+OBvuOBl+OBnycpO1xuICAgICAgICAgICAgcmV0dXJuIHN0b3JhZ2UuZ2V0RG93bmxvYWRVcmwocGF0aCkudGhlbigoaW1hZ2VVcmwpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHtmaWxlLCBwYXRoLCB1cmw6IGltYWdlVXJsfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODleOCoeOCpOODq+OBruOCouODg+ODl+ODreODvOODieOBq+WkseaVl+OBl+OBvuOBl+OBnycpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGZlYXR1cmUgPSBpbmplY3QoQ29tbWFuZEZlYXR1cmUpO1xuICByZWFkb25seSBjb25maWcgPSBDb21tYW5kUGFnZVN0b3JlLkNvbmZpZy5pbmplY3QoKTtcbiAgcmVhZG9ubHkgcXVlcnlGZWF0dXJlID0gaW5qZWN0KFF1ZXJ5RmVhdHVyZSk7XG4gIHJlYWRvbmx5IHN0eWxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc3R5bGUpKTtcbiAgcmVhZG9ubHkgI25hdlN0YXJ0QWN0aW9ucyA9IGluamVjdE5hdlN0YXJ0QWN0aW9uc1YyKCk7XG4gIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLiNuYXZTdGFydEFjdGlvbnMoKSkpO1xuICByZWFkb25seSBuYXZFbmRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmF2RW5kQWN0aW9ucykpO1xuICByZWFkb25seSBjb21tYW5kID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuY29tbWFuZCkpO1xuICByZWFkb25seSBmb3JtID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuZmVhdHVyZS5mb3JtKCkpKTtcbiAgcmVhZG9ubHkgZXh0cmFjdGVkRm9ybUZpZWxkTWFwID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuZmVhdHVyZS5leHRyYWN0ZWRGb3JtRmllbGRNYXAoKSkpO1xuICByZWFkb25seSBhZGRpdGlvbmFsRm9ybUZpZWxkTWFwID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuYWRkaXRpb25hbEZvcm1GaWVsZE1hcCkpO1xuICByZWFkb25seSBmb3JtRmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQ8Rm9ybUZpZWxkTWFwPigoKSA9PiAoe1xuICAgIC4uLnRoaXMuZXh0cmFjdGVkRm9ybUZpZWxkTWFwKCksXG4gICAgLi4udGhpcy5hZGRpdGlvbmFsRm9ybUZpZWxkTWFwKClcbiAgfSkpKTtcbiAgcmVhZG9ubHkgZm9ybUZpZWxkS2V5cyA9IGlucHV0PHN0cmluZ1tdPihfY29tcHV0ZWQoKCkgPT4gW10pKTtcbiAgcmVhZG9ubHkgZm9ybUZsYXRFeGNsdWRlcyA9IGlucHV0PHN0cmluZ1tdPihfY29tcHV0ZWQoKCkgPT4gW10pKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pbml0aWFsaXplUXVlcnkgPSBpbmplY3RSb3V0ZURhdGE8UXVlcnk+KCdxdWVyeScpO1xuICByZWFkb25seSBpbml0aWFsaXplUXVlcnkgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZVF1ZXJ5KCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kYXRhID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSgnZGF0YScpO1xuICByZWFkb25seSBkYXRhID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuX2RhdGEoKSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybUludmFsaWQgPSBkZXJpdmVkQXN5bmMoKCkgPT4gZ2V0SW52YWxpZCQodGhpcy5mb3JtKCkpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5mZWF0dXJlLnRpdGxlKCkpKTtcbiAgcmVhZG9ubHkgYWN0aW9ucyA9IGRlcml2ZWRBc3luYygoKSA9PiBidWlsZEFjdGlvbnModGhpcy5mZWF0dXJlLmhhc1Blcm1pc3Npb24odGhpcy5jb21tYW5kKCkpLCB0aGlzLmZvcm1JbnZhbGlkKCkpKTtcbiAgcmVhZG9ubHkgc2tpcCA9IGluamVjdFJvdXRlU2tpcCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgQ29tbWFuZFBhZ2VTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGFnZXMtY29tbWFuZCcsXG4gIGltcG9ydHM6IFtcbiAgICBSb3V0ZXJPdXRsZXRGcmFtZSxcbiAgICBGb3JtVGVtcGxhdGUsXG4gICAgVGFic0ZyYW1lLFxuICAgIENvbW1hbmRGb3JtR3JvdXAsXG4gICAgUXVlcnlGb3JtR3JvdXBcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ29tbWFuZEZlYXR1cmUsXG4gICAgUXVlcnlGZWF0dXJlLFxuICAgIFF1ZXJ5R3JhcGhxbFNjaGVtYUZlYXR1cmVcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgPGZyYW1lcy1yb3V0ZXItb3V0bGV0IFtza2lwXT1cInN0b3JlLnNraXAoKVwiIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiPlxuICAgIDx0ZW1wbGF0ZXMtZm9ybVxuICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgIFtzdHlsZV09XCJzdG9yZS5zdHlsZSgpXCJcbiAgICAgIFtmaWVsZE1hcF09XCJzdG9yZS5mb3JtRmllbGRNYXAoKVwiXG4gICAgICBbZmllbGRLZXlzXT1cInN0b3JlLmZvcm1GaWVsZEtleXMoKVwiXG4gICAgICBbZm9ybUZsYXRFeGNsdWRlc109XCJzdG9yZS5mb3JtRmxhdEV4Y2x1ZGVzKClcIlxuICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgW25hdlN0YXJ0QWN0aW9uc109XCJzdG9yZS5uYXZTdGFydEFjdGlvbnMoKVwiXG4gICAgICBbbmF2RW5kQWN0aW9uc109XCJzdG9yZS5uYXZFbmRBY3Rpb25zKClcIlxuICAgICAgW2FjdGlvbnNdPVwic3RvcmUuYWN0aW9ucygpXCJcbiAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGZyYW1lcy10YWJzIFtsYWJlbHNdPVwiWydDb21tYW5kJywgJ0luaXRpYWxpemVRdWVyeSddXCIgZGFzaGJvYXJkPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RhYj5cbiAgICAgICAgICA8Z3JvdXBzLWNvbW1hbmQtZm9ybSAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIi8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGFiPlxuICAgICAgICAgIDxncm91cHMtcXVlcnktZm9ybVxuICAgICAgICAgICAgW2Zvcm1dPVwic3RvcmUucXVlcnlGZWF0dXJlLmZvcm1cIlxuICAgICAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9mcmFtZXMtdGFicz4gXG4gICAgPC90ZW1wbGF0ZXMtZm9ybT5cbiAgPC9mcmFtZXMtcm91dGVyLW91dGxldD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbWFuZC5wYWdlLnNjc3MnXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IENvbW1hbmRQYWdlU3RvcmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgJ25hdkVuZEFjdGlvbnMnLFxuICAgICAgICAnY29tbWFuZCcsXG4gICAgICAgICdmb3JtJyxcbiAgICAgICAgJ2FkZGl0aW9uYWxGb3JtRmllbGRNYXAnLFxuICAgICAgICAnZm9ybUZpZWxkTWFwJyxcbiAgICAgICAgJ2Zvcm1GbGF0RXhjbHVkZXMnLFxuICAgICAgICAnaW5pdGlhbGl6ZVF1ZXJ5JyxcbiAgICAgICAgJ2RhdGEnLFxuICAgICAgXVxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZFBhZ2UgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZWFkb25seSBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gIHJlYWRvbmx5IHBhcmVudFJvdXRlck91dGxldEZyYW1lID0gaW5qZWN0KFJvdXRlck91dGxldEZyYW1lLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICBARWZmZWN0KEZvcm1UZW1wbGF0ZVN0b3JlLkFjdGlvbklkLkZJTEVfU0VMRUNURUQpXG4gIHByb3RlY3RlZCBvbkZpbGVTZWxlY3RlZChwYXlsb2FkKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7IGlkOiBBY3Rpb25JZC5GSUxFX1NFTEVDVEVELCBwYXlsb2FkIH0pO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2NvbW1hbmQveHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xxmachina-components-pages-command.mjs","sources":["../tmp-esm2022/pages/command/command.page.js","../tmp-esm2022/pages/command/xxmachina-components-pages-command.js"],"sourcesContent":["var CommandPageStore_1;\nimport { __decorate, __metadata } from \"tslib\";\nimport { Component, computed, Directive, effect, inject, input, untracked } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { _computed, applyToInput, Effect, InjectableComponent, NgAtomicComponent, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormTemplate, FormTemplateStore } from '@ng-atomic/components/templates/form';\nimport { getInvalid$, getValue$, injectRouteData, injectRouteData$, injectRouteParam, injectRouteParam$, injectRouteParamMap, injectRouteSkip, injectUnflattenRouteParam$ } from '@ng-atomic/common/utils';\nimport { map, tap, filter, combineLatest, shareReplay, of } from 'rxjs';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { merge, pick } from 'lodash-es';\nimport { injectOne$ } from '@ng-atomic/common/stores/entities';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { EndpointHelper } from '@xxmachina/common/domain/models';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { CommandFeature } from '@xxmachina/components/features/command';\nimport { TabsFrame } from '@ng-atomic/components/frames/tabs';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { CommandFormGroup } from '@xxmachina/components/groups/command-form';\nimport { QueryFeature, QueryGraphqlSchemaFeature } from '@xxmachina/components/features/query';\nimport { CloudStorageService } from '@nx-ddd/common/infrastructure/externals/cloud-storage';\nimport { injectErrorMessageResolver } from '@ng-atomic/common/pipes/error';\nimport * as i0 from \"@angular/core\";\nvar ActionId;\n(function (ActionId) {\n ActionId[\"EXECUTE_COMMAND\"] = \"execute-command\";\n ActionId[\"FILE_SELECTED\"] = \"file-selected\";\n})(ActionId || (ActionId = {}));\nfunction buildFormData(form, formData = new FormData(), parentKey = '') {\n Object.keys(form.controls).forEach(key => {\n const control = form.get(key);\n const formKey = parentKey ? `${parentKey}.${key}` : key;\n if (control instanceof FormGroup || control instanceof FormArray) {\n // 子のFormGroupやFormArrayを再帰的に処理\n buildFormData(control, formData, formKey);\n }\n else if (control instanceof FormControl) {\n // フォームの値を追加\n const value = control.value;\n if (value !== null && value !== undefined) {\n formData.append(formKey, value);\n }\n }\n });\n return formData;\n}\nfunction buildData(form, contentType) {\n if (contentType === 'multipart/form-data') {\n return buildFormData(form);\n }\n else {\n return form.getRawValue();\n }\n}\nexport function buildActions(hasPermission, invalid) {\n return hasPermission\n ? [{ id: ActionId.EXECUTE_COMMAND, name: '実行', disabled: invalid }]\n : [{ id: ActionId.EXECUTE_COMMAND, name: '実行権限がありません', disabled: true }];\n}\nlet CommandPageStore = class CommandPageStore extends InjectableComponent {\n static { CommandPageStore_1 = this; }\n static ActionId = ActionId;\n static DI = makeDI(CommandPageStore_1, () => {\n const dev = inject(MachinaDevService);\n return () => ({\n style: {\n width: 'var(--page-width-lv1)',\n },\n baseUrls: [],\n command: {\n id: '1',\n webApiRequest: {\n serverUrl: null,\n apiJsonUrl: null,\n path: '/users',\n method: 'GET',\n bodySchema: null,\n },\n },\n navEndActions: [],\n additionalFormFieldMap: (dev.isDevMode() ? {} : {\n 'id': { type: 'hidden' },\n '__typename': { type: 'hidden' },\n 'kind': { type: 'hidden' },\n }),\n });\n }, ['@xxmachina/components', 'pages', 'command']);\n static Config = CommandPageStore_1.DI.Config;\n static Initializer = CommandPageStore_1.DI.Initializer;\n static provideDefault() {\n return [\n CommandPageStore_1.DI.provideConfig(),\n CommandPageStore_1.provideDefaultInitializer(),\n CommandPageStore_1.provideDefaultEffects(),\n ];\n }\n static provideCustom() {\n return [\n CommandPageStore_1.provideDefault(),\n CommandPageStore_1.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore_1.provideSetupInitializeQueryInitializer(),\n ];\n }\n static provideDefaultV2() {\n return [\n CommandPageStore_1.Config.provide(),\n CommandPageStore_1.provideDefaultInitializer(),\n CommandPageStore_1.provideDefaultEffects(),\n CommandPageStore_1.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore_1.provideSetupInitializeQueryInitializer(),\n CommandPageStore_1.provideInitialFormValueFromQueryResult(),\n CommandPageStore_1.provideQueryFromRouteData(),\n ];\n }\n static provideDefaultInitializer() {\n return [\n CommandPageStore_1.providePatchFormFromRouteParamInitializer(),\n CommandPageStore_1.providePatchCommandFormValueFromCommandInitializer(),\n CommandPageStore_1.provideInitialFormValueFromQueryResult()\n ];\n }\n static provideDefaultEffects() {\n return [\n CommandPageStore_1.provideExecuteCommandEffect(),\n CommandPageStore_1.provideBackEffect(),\n QueryFeature.provideDefaultEffects(),\n ];\n }\n static provideCommandFromRouteParamInitializer(paramName = 'commandId') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const commandId = injectRouteParam(paramName);\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n static provideCommandIdFromRouteDataInitializer() {\n return CommandPageStore_1.Initializer.provide((store) => {\n const commandId = injectRouteData('commandId');\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId())));\n });\n }\n static providePatchFormFromRouteParamInitializer() {\n return [\n CommandPageStore_1.Initializer.provide(store => {\n effect(() => store.form().patchValue(store.data()));\n }),\n ];\n }\n static providePatchCommandFormValueFromCommandInitializer() {\n return [\n CommandPageStore_1.Initializer.provide(store => {\n effect(() => {\n if (!store.command())\n return;\n store.feature.commandForm().patchValue({ ...store.command() });\n });\n })\n ];\n }\n static provideQueryIdFromRouteParam(key = 'queryId') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const queryId$ = injectRouteParam$(key);\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectOne$(Query, { id: queryId$ });\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(filter(({ query, params }) => !!query && !!params), map(({ query, params }) => QueryHelper.setup(query, params)), tap((query) => console.debug('[CommandPage] query:', query)), shareReplay(1)));\n effect(() => {\n console.debug('[CommandPage] setupQuery:', setupQuery());\n store.queryFeature.form.patchValue(setupQuery());\n });\n });\n }\n static provideQueryFromRouteData(key = 'query') {\n return CommandPageStore_1.Initializer.provide((store) => {\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectRouteData$(key);\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(filter(({ query, params }) => !!query), map(({ query, params }) => QueryHelper.setup(query, params)), shareReplay(1)));\n effect(() => { store.queryFeature.form.patchValue(setupQuery()); });\n });\n }\n static provideRouteParamsToDataInitializer(projector) {\n return CommandPageStore_1.Initializer.provide((store) => {\n const route = inject(ActivatedRoute);\n const data = derivedAsync(() => route.params.pipe(map(params => projector(params))));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n static provideRouteParamMapToDataInitializer(projector) {\n return CommandPageStore_1.Initializer.provide((store) => {\n const paramMap = injectRouteParamMap({ merge: true });\n const data = computed(() => projector(paramMap()));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n static provideSetupInitializeQueryInitializer() {\n return CommandPageStore_1.Initializer.provide((store) => {\n const initializeQuery = derivedAsync(() => combineLatest({\n initializeQuery: of(store.initializeQuery()),\n data: of(store.data())\n }).pipe(filter(({ initializeQuery, data }) => !!initializeQuery && !!data), map(({ initializeQuery, data }) => QueryHelper.setup(initializeQuery, data)), filter((initializeQuery) => !!initializeQuery), shareReplay(1)));\n effect(() => store.queryFeature.form.patchValue(initializeQuery()));\n });\n }\n static provideInitialFormValueFromQueryResult() {\n return CommandPageStore_1.Initializer.provide((store) => {\n effect(() => store.form().patchValue(store.queryFeature.result()));\n store.queryFeature.refresh();\n });\n }\n static provideExecuteCommandEffect() {\n return provideEffect(ActionId.EXECUTE_COMMAND, () => {\n const store = inject(CommandPageStore_1);\n const app = inject(AppService);\n const paramKeys = computed(() => EndpointHelper.extract(store.feature.path()));\n const resolvedParams = computed(() => pick(store.data(), paramKeys()));\n return () => {\n const resolvedEndpoint = EndpointHelper.resolve(store.feature.path(), resolvedParams());\n const data = buildData(store.form(), store.command()?.webApiRequest?.contentType);\n const command = merge(store.command(), store.feature.commandForm().getRawValue(), { webApiRequest: { path: resolvedEndpoint } });\n app.loading.await(() => {\n return store.feature.execute(command, data).then(() => {\n app.snackBar.open('成功しました。');\n // history.back();\n }).catch((error) => {\n console.error(error);\n app.snackBar.openError(error);\n });\n });\n };\n });\n }\n static provideBackEffect() {\n return provideEffect(FormTemplateStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n static provideFileSelectedEffect() {\n return provideEffect(CommandPageStore_1.ActionId.FILE_SELECTED, () => {\n const store = inject(CommandPageStore_1);\n return (payload) => {\n store.form().patchValue({ file: payload.files?.[0] });\n };\n });\n }\n static provideDebugFormInitializer() {\n return CommandPageStore_1.Initializer.provide(() => {\n const store = inject(CommandPageStore_1);\n // FormGroupを再帰的に調べる関数(invalidなコントロールのみ)\n const getInvalidControls = (formGroup, path = '') => {\n let invalidControls = [];\n Object.keys(formGroup.controls).forEach(key => {\n const control = formGroup.controls[key];\n const currentPath = path ? `${path}.${key}` : key;\n // invalidなコントロールを記録\n if (control.invalid) {\n invalidControls.push({\n path: currentPath,\n errors: control.errors,\n value: control.value,\n status: control.status,\n valid: control.valid,\n invalid: control.invalid,\n dirty: control.dirty,\n touched: control.touched\n });\n }\n // FormGroupの場合は再帰的に調べる\n if (control.controls) {\n invalidControls = invalidControls.concat(getInvalidControls(control, currentPath));\n }\n });\n return invalidControls;\n };\n const formValue_ = derivedAsync(() => getValue$(store.form()));\n effect(() => {\n const formValue = formValue_();\n const form = untracked(() => store.form());\n console.log('[CommandPage] Form value changed:', formValue);\n console.log('[CommandPage] CommandForm valid:', form?.valid);\n console.log('[CommandPage] CommandForm status:', form?.status);\n if (form) {\n const invalidControls = getInvalidControls(form);\n const invalidPaths = invalidControls.map(control => control.path);\n console.log(`[CommandPage] Found ${invalidControls.length} INVALID controls:`);\n console.log('[CommandPage] INVALID PATHS:', invalidPaths);\n }\n });\n });\n }\n static provideSelectedFileUploadEffect(callbackFactory, { validator = () => null, getPath, }) {\n return provideEffect(CommandPageStore_1.ActionId.FILE_SELECTED, () => {\n const storage = inject(CloudStorageService);\n const app = inject(AppService);\n const callback = callbackFactory();\n const errorMessageResolver = injectErrorMessageResolver();\n return (payload) => {\n const file = payload.files?.[0];\n const errors = validator(file);\n if (errors && Object.keys(errors).length > 0) {\n app.snackBar.open(errorMessageResolver(errors));\n return;\n }\n return app.loading.await(() => {\n const path = getPath();\n return storage.upload(path, file).then(() => {\n app.snackBar.open('ファイルをアップロードしました');\n return storage.getDownloadUrl(path).then((imageUrl) => {\n return callback({ file, path, url: imageUrl });\n });\n }).catch((error) => {\n console.error(error);\n app.snackBar.open('ファイルのアップロードに失敗しました');\n });\n });\n };\n });\n }\n feature = inject(CommandFeature);\n config = CommandPageStore_1.Config.inject();\n queryFeature = inject(QueryFeature);\n style = input(_computed(() => this.config().style));\n #navStartActions = injectNavStartActionsV2();\n navStartActions = input(_computed(() => this.#navStartActions()));\n navEndActions = input(_computed(() => this.config().navEndActions));\n command = input(_computed(() => this.config().command));\n form = input(_computed(() => this.feature.form()));\n extractedFormFieldMap = input(_computed(() => this.feature.extractedFormFieldMap()));\n additionalFormFieldMap = input(_computed(() => this.config().additionalFormFieldMap));\n formFieldMap = input(_computed(() => ({\n ...this.extractedFormFieldMap(),\n ...this.additionalFormFieldMap()\n })));\n formFieldKeys = input(_computed(() => []));\n formFlatExcludes = input(_computed(() => []));\n _initializeQuery = injectRouteData('query');\n initializeQuery = input(_computed(() => this._initializeQuery()));\n _data = injectUnflattenRouteParam('data');\n data = input(_computed(() => this._data()));\n formInvalid = derivedAsync(() => getInvalid$(this.form()));\n title = input(_computed(() => this.feature.title()));\n actions = derivedAsync(() => buildActions(this.feature.hasPermission(this.command()), this.formInvalid()));\n skip = injectRouteSkip();\n constructor() {\n super();\n CommandPageStore_1.Initializer.initializeStore(this);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: CommandPageStore, isStandalone: true, inputs: { style: { classPropertyName: \"style\", publicName: \"style\", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: \"navStartActions\", publicName: \"navStartActions\", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: \"navEndActions\", publicName: \"navEndActions\", isSignal: true, isRequired: false, transformFunction: null }, command: { classPropertyName: \"command\", publicName: \"command\", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: \"form\", publicName: \"form\", isSignal: true, isRequired: false, transformFunction: null }, extractedFormFieldMap: { classPropertyName: \"extractedFormFieldMap\", publicName: \"extractedFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, additionalFormFieldMap: { classPropertyName: \"additionalFormFieldMap\", publicName: \"additionalFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, formFieldMap: { classPropertyName: \"formFieldMap\", publicName: \"formFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, formFieldKeys: { classPropertyName: \"formFieldKeys\", publicName: \"formFieldKeys\", isSignal: true, isRequired: false, transformFunction: null }, formFlatExcludes: { classPropertyName: \"formFlatExcludes\", publicName: \"formFlatExcludes\", isSignal: true, isRequired: false, transformFunction: null }, initializeQuery: { classPropertyName: \"initializeQuery\", publicName: \"initializeQuery\", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n};\nCommandPageStore = CommandPageStore_1 = __decorate([\n TokenizedType(),\n __metadata(\"design:paramtypes\", [])\n], CommandPageStore);\nexport { CommandPageStore };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPageStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [] });\nexport class CommandPage extends NgAtomicComponent {\n store = inject(CommandPageStore);\n route = inject(ActivatedRoute);\n app = inject(AppService);\n parentRouterOutletFrame = inject(RouterOutletFrame, { optional: true });\n onFileSelected(payload) {\n this.dispatch({ id: ActionId.FILE_SELECTED, payload });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPage, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: CommandPage, isStandalone: true, selector: \"pages-command\", providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ], usesInheritance: true, hostDirectives: [{ directive: CommandPageStore, inputs: [\"style\", \"style\", \"navEndActions\", \"navEndActions\", \"command\", \"command\", \"form\", \"form\", \"additionalFormFieldMap\", \"additionalFormFieldMap\", \"formFieldMap\", \"formFieldMap\", \"formFlatExcludes\", \"formFlatExcludes\", \"initializeQuery\", \"initializeQuery\", \"data\", \"data\"] }], ngImport: i0, template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `, isInline: true, styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-Q9xG: var(--page-width-lv1)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-Q9xG)}:host .template div[dashboard]{padding:0;box-sizing:border-box}\\n\"], dependencies: [{ kind: \"component\", type: RouterOutletFrame, selector: \"frames-router-outlet\", outputs: [\"events\"] }, { kind: \"component\", type: FormTemplate, selector: \"templates-form\" }, { kind: \"component\", type: TabsFrame, selector: \"frames-tabs\", inputs: [\"labels\"], outputs: [\"selectedTabIndexChange\"] }, { kind: \"component\", type: CommandFormGroup, selector: \"groups-command-form\", inputs: [\"apiJsonUrls\"] }, { kind: \"component\", type: QueryFormGroup, selector: \"groups-query-form\", inputs: [\"form\", \"keyActions\"] }] });\n}\n__decorate([\n Effect(FormTemplateStore.ActionId.FILE_SELECTED),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], CommandPage.prototype, \"onFileSelected\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandPage, decorators: [{\n type: Component,\n args: [{ selector: 'pages-command', imports: [\n RouterOutletFrame,\n FormTemplate,\n TabsFrame,\n CommandFormGroup,\n QueryFormGroup\n ], providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ], template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `, hostDirectives: [\n {\n directive: CommandPageStore,\n inputs: [\n 'style',\n 'navEndActions',\n 'command',\n 'form',\n 'additionalFormFieldMap',\n 'formFieldMap',\n 'formFlatExcludes',\n 'initializeQuery',\n 'data',\n ]\n },\n ], styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-Q9xG: var(--page-width-lv1)}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-Q9xG)}:host .template div[dashboard]{padding:0;box-sizing:border-box}\\n\"] }]\n }], propDecorators: { onFileSelected: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvY29tbWFuZC9jb21tYW5kLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSixPQUFPLEVBQUUsY0FBYyxFQUFvQixNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM00sT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FB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VFUsV0FBVzsyRkFBWCxXQUFXLDREQW5EWDtZQUNULGNBQWM7WUFDZCxZQUFZO1lBQ1oseUJBQXlCO1NBQzFCLHVEQTdXVSxnQkFBZ0IsbVRBOFdqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJULG9WQXRDQyxpQkFBaUIsc0ZBQ2pCLFlBQVksMkRBQ1osU0FBUyxpSEFDVCxnQkFBZ0IseUZBQ2hCLGNBQWM7O0FBNEROO0lBRFQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7Ozs7aURBR2hEOzJGQVRVLFdBQVc7a0JBNUR2QixTQUFTOytCQUNFLGVBQWUsV0FDaEI7d0JBQ1AsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixjQUFjO3FCQUNmLGFBQ1U7d0JBQ1QsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLHlCQUF5QjtxQkFDMUIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJULGtCQUVlO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRTtnQ0FDTixPQUFPO2dDQUNQLGVBQWU7Z0NBQ2YsU0FBUztnQ0FDVCxNQUFNO2dDQUNOLHdCQUF3QjtnQ0FDeEIsY0FBYztnQ0FDZCxrQkFBa0I7Z0NBQ2xCLGlCQUFpQjtnQ0FDakIsTUFBTTs2QkFDUDt5QkFDRjtxQkFDRjs4QkFTUyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIFByb3ZpZGVyLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0RnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3JvdXRlci1vdXRsZXQnO1xuaW1wb3J0IHsgQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvY29tbWFuZCc7XG5pbXBvcnQgeyBfY29tcHV0ZWQsIEFjdGlvbiwgYXBwbHlUb0lucHV0LCBFZmZlY3QsIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBwcm92aWRlRWZmZWN0LCBUb2tlbml6ZWRUeXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1UZW1wbGF0ZSwgRm9ybVRlbXBsYXRlU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2Zvcm0nO1xuaW1wb3J0IHsgZ2V0SW52YWxpZCQsIGdldFZhbHVlJCwgaW5qZWN0Um91dGVEYXRhLCBpbmplY3RSb3V0ZURhdGEkLCBpbmplY3RSb3V0ZVBhcmFtLCBpbmplY3RSb3V0ZVBhcmFtJCwgaW5qZWN0Um91dGVQYXJhbU1hcCwgaW5qZWN0Um91dGVTa2lwLCBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtJCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IG1hcCwgdGFwLCBmaWx0ZXIsIGNvbWJpbmVMYXRlc3QsIHNoYXJlUmVwbGF5LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTWFwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvc21hcnQtZmllbGQnO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBpbmplY3ROYXZTdGFydEFjdGlvbnNWMiwgbWFrZURJIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5SGVscGVyIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgbWVyZ2UsIHBpY2sgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgaW5qZWN0T25lJCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3N0b3Jlcy9lbnRpdGllcyc7XG5pbXBvcnQgeyBNYWNoaW5hRGV2U2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9kZWJ1Zyc7XG5pbXBvcnQgeyBFbmRwb2ludEhlbHBlciB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgZGVyaXZlZEFzeW5jIH0gZnJvbSAnbmd4dGVuc2lvbi9kZXJpdmVkLWFzeW5jJztcbmltcG9ydCB7IENvbW1hbmRGZWF0dXJlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2ZlYXR1cmVzL2NvbW1hbmQnO1xuaW1wb3J0IHsgVGFic0ZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy90YWJzJztcbmltcG9ydCB7IFF1ZXJ5Rm9ybUdyb3VwIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2dyb3Vwcy9xdWVyeS1mb3JtJztcbmltcG9ydCB7IENvbW1hbmRGb3JtR3JvdXAgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvZ3JvdXBzL2NvbW1hbmQtZm9ybSc7XG5pbXBvcnQgeyBRdWVyeUZlYXR1cmUsIFF1ZXJ5R3JhcGhxbFNjaGVtYUZlYXR1cmUgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvZmVhdHVyZXMvcXVlcnknO1xuaW1wb3J0IHsgQ2xvdWRTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2luZnJhc3RydWN0dXJlL2V4dGVybmFscy9jbG91ZC1zdG9yYWdlJztcbmltcG9ydCB7IGluamVjdEVycm9yTWVzc2FnZVJlc29sdmVyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvZXJyb3InO1xuXG5lbnVtIEFjdGlvbklkIHtcbiAgRVhFQ1VURV9DT01NQU5EID0gJ2V4ZWN1dGUtY29tbWFuZCcsXG4gIEZJTEVfU0VMRUNURUQgPSAnZmlsZS1zZWxlY3RlZCcsXG59XG5cbmZ1bmN0aW9uIGJ1aWxkRm9ybURhdGEoZm9ybTogRm9ybUdyb3VwIHwgRm9ybUFycmF5LCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSwgcGFyZW50S2V5ID0gJycpOiBGb3JtRGF0YSB7XG4gIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICBjb25zdCBjb250cm9sID0gZm9ybS5nZXQoa2V5KTtcbiAgICBjb25zdCBmb3JtS2V5ID0gcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fS4ke2tleX1gIDoga2V5O1xuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgLy8g5a2Q44GuRm9ybUdyb3Vw44KERm9ybUFycmF544KS5YaN5biw55qE44Gr5Yem55CGXG4gICAgICBidWlsZEZvcm1EYXRhKGNvbnRyb2wsIGZvcm1EYXRhLCBmb3JtS2V5KTtcbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgLy8g44OV44Kp44O844Og44Gu5YCk44KS6L+95YqgXG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoZm9ybUtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGZvcm1EYXRhO1xufVxuXG5mdW5jdGlvbiBidWlsZERhdGEoZm9ybTogQWJzdHJhY3RDb250cm9sLCBjb250ZW50VHlwZTogc3RyaW5nKSB7XG4gIGlmIChjb250ZW50VHlwZSA9PT0gJ211bHRpcGFydC9mb3JtLWRhdGEnKSB7XG4gICAgcmV0dXJuIGJ1aWxkRm9ybURhdGEoZm9ybSBhcyBGb3JtR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmb3JtLmdldFJhd1ZhbHVlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQWN0aW9ucyhoYXNQZXJtaXNzaW9uOiBib29sZWFuLCBpbnZhbGlkOiBib29sZWFuKTogQWN0aW9uW10ge1xuICByZXR1cm4gaGFzUGVybWlzc2lvblxuICAgID8gW3sgaWQ6IEFjdGlvbklkLkVYRUNVVEVfQ09NTUFORCwgbmFtZTogJ+Wun+ihjCcsIGRpc2FibGVkOiBpbnZhbGlkIH1dXG4gICAgOiBbeyBpZDogQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELCBuYW1lOiAn5a6f6KGM5qip6ZmQ44GM44GC44KK44G+44Gb44KTJywgZGlzYWJsZWQ6IHRydWUgfV1cbn1cblxuQFRva2VuaXplZFR5cGUoKVxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBDb21tYW5kUGFnZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgREkgPSBtYWtlREkoQ29tbWFuZFBhZ2VTdG9yZSwgKCkgPT4ge1xuICAgIGNvbnN0IGRldiA9IGluamVjdChNYWNoaW5hRGV2U2VydmljZSk7XG4gICAgcmV0dXJuICgpID0+ICh7XG4gICAgICBzdHlsZToge1xuICAgICAgICB3aWR0aDogJ3ZhcigtLXBhZ2Utd2lkdGgtbHYxKScsXG4gICAgICB9LFxuICAgICAgYmFzZVVybHM6IFtdIGFzIHN0cmluZ1tdLFxuICAgICAgY29tbWFuZDogPENvbW1hbmQ+e1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICB3ZWJBcGlSZXF1ZXN0OiB7XG4gICAgICAgICAgc2VydmVyVXJsOiBudWxsLFxuICAgICAgICAgIGFwaUpzb25Vcmw6IG51bGwsXG4gICAgICAgICAgcGF0aDogJy91c2VycycsXG4gICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICBib2R5U2NoZW1hOiBudWxsLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG5hdkVuZEFjdGlvbnM6IDxBY3Rpb25bXT5bXSxcbiAgICAgIGFkZGl0aW9uYWxGb3JtRmllbGRNYXA6IDxGb3JtRmllbGRNYXA+KGRldi5pc0Rldk1vZGUoKSA/IHt9IDoge1xuICAgICAgICAnaWQnOiB7IHR5cGU6ICdoaWRkZW4nIH0sXG4gICAgICAgICdfX3R5cGVuYW1lJzogeyB0eXBlOiAnaGlkZGVuJyB9LFxuICAgICAgICAna2luZCc6IHsgdHlwZTogJ2hpZGRlbicgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9LCBbJ0B4eG1hY2hpbmEvY29tcG9uZW50cycsICdwYWdlcycsICdjb21tYW5kJ10pO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gQ29tbWFuZFBhZ2VTdG9yZS5ESS5Db25maWc7XG4gIHN0YXRpYyByZWFkb25seSBJbml0aWFsaXplciA9IENvbW1hbmRQYWdlU3RvcmUuREkuSW5pdGlhbGl6ZXI7XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0KCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLkRJLnByb3ZpZGVDb25maWcoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZURlZmF1bHRJbml0aWFsaXplcigpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEVmZmVjdHMoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDdXN0b20oKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZURlZmF1bHQoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZUNvbW1hbmRJZEZyb21Sb3V0ZURhdGFJbml0aWFsaXplcigpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlU2V0dXBJbml0aWFsaXplUXVlcnlJbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRWMigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlQ29tbWFuZElkRnJvbVJvdXRlRGF0YUluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVTZXR1cEluaXRpYWxpemVRdWVyeUluaXRpYWxpemVyKCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVJbml0aWFsRm9ybVZhbHVlRnJvbVF1ZXJ5UmVzdWx0KCksXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVRdWVyeUZyb21Sb3V0ZURhdGEoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXIoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZVBhdGNoRm9ybUZyb21Sb3V0ZVBhcmFtSW5pdGlhbGl6ZXIoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZVBhdGNoQ29tbWFuZEZvcm1WYWx1ZUZyb21Db21tYW5kSW5pdGlhbGl6ZXIoKSxcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUucHJvdmlkZUluaXRpYWxGb3JtVmFsdWVGcm9tUXVlcnlSZXN1bHQoKVxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRFZmZlY3RzKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLnByb3ZpZGVFeGVjdXRlQ29tbWFuZEVmZmVjdCgpLFxuICAgICAgQ29tbWFuZFBhZ2VTdG9yZS5wcm92aWRlQmFja0VmZmVjdCgpLFxuICAgICAgUXVlcnlGZWF0dXJlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUNvbW1hbmRGcm9tUm91dGVQYXJhbUluaXRpYWxpemVyKHBhcmFtTmFtZSA9ICdjb21tYW5kSWQnKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBjb21tYW5kSWQgPSBpbmplY3RSb3V0ZVBhcmFtKHBhcmFtTmFtZSk7XG4gICAgICBjb25zdCBzZXJ2aWNlID0gaW5qZWN0KENvbW1hbmRTZXJ2aWNlKTtcbiAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICdjb21tYW5kJywgc2VydmljZS5nZXRDb21tYW5kKGNvbW1hbmRJZCgpKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDb21tYW5kSWRGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBjb21tYW5kSWQgPSBpbmplY3RSb3V0ZURhdGE8c3RyaW5nPignY29tbWFuZElkJyk7XG4gICAgICBjb25zdCBzZXJ2aWNlID0gaW5qZWN0KENvbW1hbmRTZXJ2aWNlKTtcbiAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICdjb21tYW5kJywgc2VydmljZS5nZXRDb21tYW5kKGNvbW1hbmRJZCgpKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVQYXRjaEZvcm1Gcm9tUm91dGVQYXJhbUluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoc3RvcmUgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4gc3RvcmUuZm9ybSgpLnBhdGNoVmFsdWUoc3RvcmUuZGF0YSgpKSk7XG4gICAgICB9KSxcbiAgICBdXG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVBhdGNoQ29tbWFuZEZvcm1WYWx1ZUZyb21Db21tYW5kSW5pdGlhbGl6ZXIoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZShzdG9yZSA9PiB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCFzdG9yZS5jb21tYW5kKCkpIHJldHVybjtcbiAgICAgICAgICBzdG9yZS5mZWF0dXJlLmNvbW1hbmRGb3JtKCkucGF0Y2hWYWx1ZSh7IC4uLnN0b3JlLmNvbW1hbmQoKSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5SWRGcm9tUm91dGVQYXJhbShrZXkgPSAncXVlcnlJZCcpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5SWQkID0gaW5qZWN0Um91dGVQYXJhbSQoa2V5KTtcbiAgICAgIGNvbnN0IHBhcmFtcyQgPSBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtJCgnZGF0YScpO1xuICAgICAgY29uc3QgcXVlcnkkID0gaW5qZWN0T25lJChRdWVyeSwgeyBpZDogcXVlcnlJZCQgfSk7XG4gICAgICBjb25zdCBzZXR1cFF1ZXJ5ID0gZGVyaXZlZEFzeW5jKCgpID0+IGNvbWJpbmVMYXRlc3Qoe1xuICAgICAgICBxdWVyeTogcXVlcnkkLFxuICAgICAgICBwYXJhbXM6IHBhcmFtcyQsXG4gICAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgcXVlcnksIHBhcmFtcyB9KSA9PiAhIXF1ZXJ5ICYmICEhcGFyYW1zKSxcbiAgICAgICAgbWFwKCh7IHF1ZXJ5LCBwYXJhbXMgfSkgPT4gUXVlcnlIZWxwZXIuc2V0dXAocXVlcnksIHBhcmFtcykpLFxuICAgICAgICB0YXAoKHF1ZXJ5KSA9PiBjb25zb2xlLmRlYnVnKCdbQ29tbWFuZFBhZ2VdIHF1ZXJ5OicsIHF1ZXJ5KSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKSk7XG4gICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKCdbQ29tbWFuZFBhZ2VdIHNldHVwUXVlcnk6Jywgc2V0dXBRdWVyeSgpKTtcbiAgICAgICAgc3RvcmUucXVlcnlGZWF0dXJlLmZvcm0ucGF0Y2hWYWx1ZShzZXR1cFF1ZXJ5KCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5RnJvbVJvdXRlRGF0YShrZXkgPSAncXVlcnknKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBwYXJhbXMkID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSQoJ2RhdGEnKTtcbiAgICAgIGNvbnN0IHF1ZXJ5JCA9IGluamVjdFJvdXRlRGF0YSQ8UXVlcnk+KGtleSk7XG4gICAgICBjb25zdCBzZXR1cFF1ZXJ5ID0gZGVyaXZlZEFzeW5jKCgpID0+IGNvbWJpbmVMYXRlc3Qoe1xuICAgICAgICBxdWVyeTogcXVlcnkkLFxuICAgICAgICBwYXJhbXM6IHBhcmFtcyQsXG4gICAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgcXVlcnksIHBhcmFtcyB9KSA9PiAhIXF1ZXJ5KSxcbiAgICAgICAgbWFwKCh7IHF1ZXJ5LCBwYXJhbXMgfSkgPT4gUXVlcnlIZWxwZXIuc2V0dXAocXVlcnksIHBhcmFtcykpLFxuICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICkpO1xuICAgICAgZWZmZWN0KCgpID0+IHsgc3RvcmUucXVlcnlGZWF0dXJlLmZvcm0ucGF0Y2hWYWx1ZShzZXR1cFF1ZXJ5KCkpOyB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlUm91dGVQYXJhbXNUb0RhdGFJbml0aWFsaXplcihwcm9qZWN0b3I6IChwYXJhbXM6IFBhcmFtcykgPT4gUmVjb3JkPHN0cmluZywgYW55Pik6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICBjb25zdCBkYXRhID0gZGVyaXZlZEFzeW5jKCgpID0+IHJvdXRlLnBhcmFtcy5waXBlKG1hcChwYXJhbXMgPT4gcHJvamVjdG9yKHBhcmFtcykpKSk7XG4gICAgICBlZmZlY3QoKCkgPT4gYXBwbHlUb0lucHV0KHN0b3JlLCAnZGF0YScsIGRhdGEoKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVSb3V0ZVBhcmFtTWFwVG9EYXRhSW5pdGlhbGl6ZXIocHJvamVjdG9yOiAocGFyYW1zOiBQYXJhbU1hcCkgPT4gUmVjb3JkPHN0cmluZywgYW55Pik6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBwYXJhbU1hcCA9IGluamVjdFJvdXRlUGFyYW1NYXAoe21lcmdlOiB0cnVlfSk7XG4gICAgICBjb25zdCBkYXRhID0gY29tcHV0ZWQoKCkgPT4gcHJvamVjdG9yKHBhcmFtTWFwKCkpKTtcbiAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICdkYXRhJywgZGF0YSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVNldHVwSW5pdGlhbGl6ZVF1ZXJ5SW5pdGlhbGl6ZXIoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBpbml0aWFsaXplUXVlcnkgPSBkZXJpdmVkQXN5bmMoKCkgPT4gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIGluaXRpYWxpemVRdWVyeTogb2Yoc3RvcmUuaW5pdGlhbGl6ZVF1ZXJ5KCkpLFxuICAgICAgICBkYXRhOiBvZihzdG9yZS5kYXRhKCkpXG4gICAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgaW5pdGlhbGl6ZVF1ZXJ5LCBkYXRhIH0pID0+ICEhaW5pdGlhbGl6ZVF1ZXJ5ICYmICEhZGF0YSksXG4gICAgICAgIG1hcCgoeyBpbml0aWFsaXplUXVlcnksIGRhdGEgfSkgPT4gUXVlcnlIZWxwZXIuc2V0dXAoaW5pdGlhbGl6ZVF1ZXJ5LCBkYXRhKSksXG4gICAgICAgIGZpbHRlcigoaW5pdGlhbGl6ZVF1ZXJ5KSA9PiAhIWluaXRpYWxpemVRdWVyeSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKSk7XG4gICAgICBcbiAgICAgIGVmZmVjdCgoKSA9PiBzdG9yZS5xdWVyeUZlYXR1cmUuZm9ybS5wYXRjaFZhbHVlKGluaXRpYWxpemVRdWVyeSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUluaXRpYWxGb3JtVmFsdWVGcm9tUXVlcnlSZXN1bHQoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBDb21tYW5kUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBlZmZlY3QoKCkgPT4gc3RvcmUuZm9ybSgpLnBhdGNoVmFsdWUoc3RvcmUucXVlcnlGZWF0dXJlLnJlc3VsdCgpKSk7XG4gICAgICBzdG9yZS5xdWVyeUZlYXR1cmUucmVmcmVzaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVFeGVjdXRlQ29tbWFuZEVmZmVjdCgpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IHBhcmFtS2V5cyA9IGNvbXB1dGVkKCgpID0+IEVuZHBvaW50SGVscGVyLmV4dHJhY3Qoc3RvcmUuZmVhdHVyZS5wYXRoKCkpKTtcbiAgICAgIGNvbnN0IHJlc29sdmVkUGFyYW1zID0gY29tcHV0ZWQoKCkgPT4gcGljayhzdG9yZS5kYXRhKCksIHBhcmFtS2V5cygpKSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkRW5kcG9pbnQgPSBFbmRwb2ludEhlbHBlci5yZXNvbHZlKHN0b3JlLmZlYXR1cmUucGF0aCgpLCByZXNvbHZlZFBhcmFtcygpKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGJ1aWxkRGF0YShzdG9yZS5mb3JtKCksIHN0b3JlLmNvbW1hbmQoKT8ud2ViQXBpUmVxdWVzdD8uY29udGVudFR5cGUpO1xuICAgICAgICBjb25zdCBjb21tYW5kID0gbWVyZ2UoXG4gICAgICAgICAgc3RvcmUuY29tbWFuZCgpLFxuICAgICAgICAgIHN0b3JlLmZlYXR1cmUuY29tbWFuZEZvcm0oKS5nZXRSYXdWYWx1ZSgpLFxuICAgICAgICAgIHsgd2ViQXBpUmVxdWVzdDogeyBwYXRoOiByZXNvbHZlZEVuZHBvaW50IH0gfSxcbiAgICAgICAgKTtcbiAgICAgICAgYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBzdG9yZS5mZWF0dXJlLmV4ZWN1dGUoY29tbWFuZCwgZGF0YSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign5oiQ5Yqf44GX44G+44GX44Gf44CCJyk7XG4gICAgICAgICAgICAvLyBoaXN0b3J5LmJhY2soKTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW5FcnJvcihlcnJvcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVCYWNrRWZmZWN0KCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChGb3JtVGVtcGxhdGVTdG9yZS5BY3Rpb25JZC5CQUNLLCAoKSA9PiB7XG4gICAgICByZXR1cm4gKCkgPT4gaGlzdG9yeS5iYWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUZpbGVTZWxlY3RlZEVmZmVjdCgpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFBhZ2VTdG9yZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVELCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgICAgIHJldHVybiAocGF5bG9hZCkgPT4ge1xuICAgICAgICBzdG9yZS5mb3JtKCkucGF0Y2hWYWx1ZSh7IGZpbGU6IHBheWxvYWQuZmlsZXM/LlswXSB9KVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVEZWJ1Z0Zvcm1Jbml0aWFsaXplcigpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIENvbW1hbmRQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgICAgIFxuICAgICAgLy8gRm9ybUdyb3Vw44KS5YaN5biw55qE44Gr6Kq/44G544KL6Zai5pWw77yIaW52YWxpZOOBquOCs+ODs+ODiOODreODvOODq+OBruOBv++8iVxuICAgICAgY29uc3QgZ2V0SW52YWxpZENvbnRyb2xzID0gKGZvcm1Hcm91cDogYW55LCBwYXRoID0gJycpID0+IHtcbiAgICAgICAgbGV0IGludmFsaWRDb250cm9sczogYW55W10gPSBbXTtcbiAgICAgICAgXG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNba2V5XTtcbiAgICAgICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke2tleX1gIDoga2V5O1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIGludmFsaWTjgarjgrPjg7Pjg4jjg63jg7zjg6vjgpLoqJjpjLJcbiAgICAgICAgICBpZiAoY29udHJvbC5pbnZhbGlkKSB7XG4gICAgICAgICAgICBpbnZhbGlkQ29udHJvbHMucHVzaCh7XG4gICAgICAgICAgICAgIHBhdGg6IGN1cnJlbnRQYXRoLFxuICAgICAgICAgICAgICBlcnJvcnM6IGNvbnRyb2wuZXJyb3JzLFxuICAgICAgICAgICAgICB2YWx1ZTogY29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgc3RhdHVzOiBjb250cm9sLnN0YXR1cyxcbiAgICAgICAgICAgICAgdmFsaWQ6IGNvbnRyb2wudmFsaWQsXG4gICAgICAgICAgICAgIGludmFsaWQ6IGNvbnRyb2wuaW52YWxpZCxcbiAgICAgICAgICAgICAgZGlydHk6IGNvbnRyb2wuZGlydHksXG4gICAgICAgICAgICAgIHRvdWNoZWQ6IGNvbnRyb2wudG91Y2hlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC8vIEZvcm1Hcm91cOOBruWgtOWQiOOBr+WGjeW4sOeahOOBq+iqv+OBueOCi1xuICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzKSB7XG4gICAgICAgICAgICBpbnZhbGlkQ29udHJvbHMgPSBpbnZhbGlkQ29udHJvbHMuY29uY2F0KGdldEludmFsaWRDb250cm9scyhjb250cm9sLCBjdXJyZW50UGF0aCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gaW52YWxpZENvbnRyb2xzO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgZm9ybVZhbHVlXyA9IGRlcml2ZWRBc3luYygoKSA9PiBnZXRWYWx1ZSQoc3RvcmUuZm9ybSgpKSk7XG4gICAgICBcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGZvcm1WYWx1ZV8oKTtcbiAgICAgICAgY29uc3QgZm9ybSA9IHVudHJhY2tlZCgoKSA9PiBzdG9yZS5mb3JtKCkpO1xuICAgICAgICBjb25zb2xlLmxvZygnW0NvbW1hbmRQYWdlXSBGb3JtIHZhbHVlIGNoYW5nZWQ6JywgZm9ybVZhbHVlKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1tDb21tYW5kUGFnZV0gQ29tbWFuZEZvcm0gdmFsaWQ6JywgZm9ybT8udmFsaWQpO1xuICAgICAgICBjb25zb2xlLmxvZygnW0NvbW1hbmRQYWdlXSBDb21tYW5kRm9ybSBzdGF0dXM6JywgZm9ybT8uc3RhdHVzKTtcbiAgICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgICBjb25zdCBpbnZhbGlkQ29udHJvbHMgPSBnZXRJbnZhbGlkQ29udHJvbHMoZm9ybSk7XG4gICAgICAgICAgY29uc3QgaW52YWxpZFBhdGhzID0gaW52YWxpZENvbnRyb2xzLm1hcChjb250cm9sID0+IGNvbnRyb2wucGF0aCk7XG4gICAgICAgICAgY29uc29sZS5sb2coYFtDb21tYW5kUGFnZV0gRm91bmQgJHtpbnZhbGlkQ29udHJvbHMubGVuZ3RofSBJTlZBTElEIGNvbnRyb2xzOmApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdbQ29tbWFuZFBhZ2VdIElOVkFMSUQgUEFUSFM6JywgaW52YWxpZFBhdGhzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVNlbGVjdGVkRmlsZVVwbG9hZEVmZmVjdChcbiAgICBjYWxsYmFja0ZhY3Rvcnk6ICgpID0+IChyZXN1bHQ6IHtmaWxlOiBGaWxlLCBwYXRoOiBzdHJpbmcsIHVybDogc3RyaW5nfSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4sXG4gICAge1xuICAgICAgdmFsaWRhdG9yID0gKCkgPT4gbnVsbCxcbiAgICAgIGdldFBhdGgsXG4gICAgfToge1xuICAgICAgdmFsaWRhdG9yPzogKGZpbGU6IEZpbGUpID0+IHt0eXBlOiBib29sZWFuLCBzaXplOiBib29sZWFufSB8IG51bGwsXG4gICAgICBnZXRQYXRoOiAoKSA9PiBzdHJpbmcsXG4gICAgfVxuICApOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFBhZ2VTdG9yZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVELCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gaW5qZWN0KENsb3VkU3RvcmFnZVNlcnZpY2UpO1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgY2FsbGJhY2sgPSBjYWxsYmFja0ZhY3RvcnkoKTtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZVJlc29sdmVyID0gaW5qZWN0RXJyb3JNZXNzYWdlUmVzb2x2ZXIoKTtcbiAgXG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHsgc2NvcGU6IHN0cmluZywgZmlsZXM6IEZpbGVbXX0pID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IHBheWxvYWQuZmlsZXM/LlswXTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdmFsaWRhdG9yKGZpbGUpO1xuICAgICAgICBpZiAoZXJyb3JzICYmIE9iamVjdC5rZXlzKGVycm9ycykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKGVycm9yTWVzc2FnZVJlc29sdmVyKGVycm9ycykpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoKCk7XG4gICAgICAgICAgcmV0dXJuIHN0b3JhZ2UudXBsb2FkKHBhdGgsIGZpbGUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODleOCoeOCpOODq+OCkuOCouODg+ODl+ODreODvOODieOBl+OBvuOBl+OBnycpO1xuICAgICAgICAgICAgcmV0dXJuIHN0b3JhZ2UuZ2V0RG93bmxvYWRVcmwocGF0aCkudGhlbigoaW1hZ2VVcmwpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHtmaWxlLCBwYXRoLCB1cmw6IGltYWdlVXJsfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODleOCoeOCpOODq+OBruOCouODg+ODl+ODreODvOODieOBq+WkseaVl+OBl+OBvuOBl+OBnycpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGZlYXR1cmUgPSBpbmplY3QoQ29tbWFuZEZlYXR1cmUpO1xuICByZWFkb25seSBjb25maWcgPSBDb21tYW5kUGFnZVN0b3JlLkNvbmZpZy5pbmplY3QoKTtcbiAgcmVhZG9ubHkgcXVlcnlGZWF0dXJlID0gaW5qZWN0KFF1ZXJ5RmVhdHVyZSk7XG4gIHJlYWRvbmx5IHN0eWxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc3R5bGUpKTtcbiAgcmVhZG9ubHkgI25hdlN0YXJ0QWN0aW9ucyA9IGluamVjdE5hdlN0YXJ0QWN0aW9uc1YyKCk7XG4gIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLiNuYXZTdGFydEFjdGlvbnMoKSkpO1xuICByZWFkb25seSBuYXZFbmRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmF2RW5kQWN0aW9ucykpO1xuICByZWFkb25seSBjb21tYW5kID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuY29tbWFuZCkpO1xuICByZWFkb25seSBmb3JtID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuZmVhdHVyZS5mb3JtKCkpKTtcbiAgcmVhZG9ubHkgZXh0cmFjdGVkRm9ybUZpZWxkTWFwID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuZmVhdHVyZS5leHRyYWN0ZWRGb3JtRmllbGRNYXAoKSkpO1xuICByZWFkb25seSBhZGRpdGlvbmFsRm9ybUZpZWxkTWFwID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuYWRkaXRpb25hbEZvcm1GaWVsZE1hcCkpO1xuICByZWFkb25seSBmb3JtRmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQ8Rm9ybUZpZWxkTWFwPigoKSA9PiAoe1xuICAgIC4uLnRoaXMuZXh0cmFjdGVkRm9ybUZpZWxkTWFwKCksXG4gICAgLi4udGhpcy5hZGRpdGlvbmFsRm9ybUZpZWxkTWFwKClcbiAgfSkpKTtcbiAgcmVhZG9ubHkgZm9ybUZpZWxkS2V5cyA9IGlucHV0PHN0cmluZ1tdPihfY29tcHV0ZWQoKCkgPT4gW10pKTtcbiAgcmVhZG9ubHkgZm9ybUZsYXRFeGNsdWRlcyA9IGlucHV0PHN0cmluZ1tdPihfY29tcHV0ZWQoKCkgPT4gW10pKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pbml0aWFsaXplUXVlcnkgPSBpbmplY3RSb3V0ZURhdGE8UXVlcnk+KCdxdWVyeScpO1xuICByZWFkb25seSBpbml0aWFsaXplUXVlcnkgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZVF1ZXJ5KCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kYXRhID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSgnZGF0YScpO1xuICByZWFkb25seSBkYXRhID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuX2RhdGEoKSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybUludmFsaWQgPSBkZXJpdmVkQXN5bmMoKCkgPT4gZ2V0SW52YWxpZCQodGhpcy5mb3JtKCkpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5mZWF0dXJlLnRpdGxlKCkpKTtcbiAgcmVhZG9ubHkgYWN0aW9ucyA9IGRlcml2ZWRBc3luYygoKSA9PiBidWlsZEFjdGlvbnModGhpcy5mZWF0dXJlLmhhc1Blcm1pc3Npb24odGhpcy5jb21tYW5kKCkpLCB0aGlzLmZvcm1JbnZhbGlkKCkpKTtcbiAgcmVhZG9ubHkgc2tpcCA9IGluamVjdFJvdXRlU2tpcCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgQ29tbWFuZFBhZ2VTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGFnZXMtY29tbWFuZCcsXG4gIGltcG9ydHM6IFtcbiAgICBSb3V0ZXJPdXRsZXRGcmFtZSxcbiAgICBGb3JtVGVtcGxhdGUsXG4gICAgVGFic0ZyYW1lLFxuICAgIENvbW1hbmRGb3JtR3JvdXAsXG4gICAgUXVlcnlGb3JtR3JvdXBcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ29tbWFuZEZlYXR1cmUsXG4gICAgUXVlcnlGZWF0dXJlLFxuICAgIFF1ZXJ5R3JhcGhxbFNjaGVtYUZlYXR1cmVcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgPGZyYW1lcy1yb3V0ZXItb3V0bGV0IFtza2lwXT1cInN0b3JlLnNraXAoKVwiIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiPlxuICAgIDx0ZW1wbGF0ZXMtZm9ybVxuICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgIFtzdHlsZV09XCJzdG9yZS5zdHlsZSgpXCJcbiAgICAgIFtmaWVsZE1hcF09XCJzdG9yZS5mb3JtRmllbGRNYXAoKVwiXG4gICAgICBbZmllbGRLZXlzXT1cInN0b3JlLmZvcm1GaWVsZEtleXMoKVwiXG4gICAgICBbZm9ybUZsYXRFeGNsdWRlc109XCJzdG9yZS5mb3JtRmxhdEV4Y2x1ZGVzKClcIlxuICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgW25hdlN0YXJ0QWN0aW9uc109XCJzdG9yZS5uYXZTdGFydEFjdGlvbnMoKVwiXG4gICAgICBbbmF2RW5kQWN0aW9uc109XCJzdG9yZS5uYXZFbmRBY3Rpb25zKClcIlxuICAgICAgW2FjdGlvbnNdPVwic3RvcmUuYWN0aW9ucygpXCJcbiAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGZyYW1lcy10YWJzIFtsYWJlbHNdPVwiWydDb21tYW5kJywgJ0luaXRpYWxpemVRdWVyeSddXCIgZGFzaGJvYXJkPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RhYj5cbiAgICAgICAgICA8Z3JvdXBzLWNvbW1hbmQtZm9ybSAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIi8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGFiPlxuICAgICAgICAgIDxncm91cHMtcXVlcnktZm9ybVxuICAgICAgICAgICAgW2Zvcm1dPVwic3RvcmUucXVlcnlGZWF0dXJlLmZvcm1cIlxuICAgICAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9mcmFtZXMtdGFicz4gXG4gICAgPC90ZW1wbGF0ZXMtZm9ybT5cbiAgPC9mcmFtZXMtcm91dGVyLW91dGxldD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbWFuZC5wYWdlLnNjc3MnXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IENvbW1hbmRQYWdlU3RvcmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgJ25hdkVuZEFjdGlvbnMnLFxuICAgICAgICAnY29tbWFuZCcsXG4gICAgICAgICdmb3JtJyxcbiAgICAgICAgJ2FkZGl0aW9uYWxGb3JtRmllbGRNYXAnLFxuICAgICAgICAnZm9ybUZpZWxkTWFwJyxcbiAgICAgICAgJ2Zvcm1GbGF0RXhjbHVkZXMnLFxuICAgICAgICAnaW5pdGlhbGl6ZVF1ZXJ5JyxcbiAgICAgICAgJ2RhdGEnLFxuICAgICAgXVxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZFBhZ2UgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChDb21tYW5kUGFnZVN0b3JlKTtcbiAgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZWFkb25seSBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gIHJlYWRvbmx5IHBhcmVudFJvdXRlck91dGxldEZyYW1lID0gaW5qZWN0KFJvdXRlck91dGxldEZyYW1lLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICBARWZmZWN0KEZvcm1UZW1wbGF0ZVN0b3JlLkFjdGlvbklkLkZJTEVfU0VMRUNURUQpXG4gIHByb3RlY3RlZCBvbkZpbGVTZWxlY3RlZChwYXlsb2FkKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7IGlkOiBBY3Rpb25JZC5GSUxFX1NFTEVDVEVELCBwYXlsb2FkIH0pO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2NvbW1hbmQveHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -740,7 +740,7 @@ class QueryPage extends NgAtomicComponent {
|
|
|
740
740
|
<groups-query-form dashboard (action)="dispatch($event)" />
|
|
741
741
|
</templates-index>
|
|
742
742
|
</frames-router-outlet>
|
|
743
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-
|
|
743
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Ap2P: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Ap2P: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Ap2P: var(--primary-color);--on-primary-color-SCOPED-IN-query-Ap2P: var(--on-primary-color);--surface-color-SCOPED-IN-query-Ap2P: var(--surface-color);--on-surface-color-SCOPED-IN-query-Ap2P: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Ap2P: var(--on-background-color);--background-color-SCOPED-IN-query-Ap2P: var(--background-color);--navigator-background-color-SCOPED-IN-query-Ap2P: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Ap2P: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Ap2P: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Ap2P: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Ap2P: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Ap2P);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Ap2P);--surface-color: var(--surface-color-SCOPED-IN-query-Ap2P);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Ap2P);--background-color: var(--background-color-SCOPED-IN-query-Ap2P);--on-background-color: var(--on-background-color-SCOPED-IN-query-Ap2P);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Ap2P);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Ap2P);--table-background-color: var(--table-background-color-SCOPED-IN-query-Ap2P);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Ap2P);--is-debug: var(--is-debug-SCOPED-IN-query-Ap2P)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Ap2P) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\n"], dependencies: [{ kind: "component", type: IndexTemplate, selector: "templates-index" }, { kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: NgAtomicFormSectionBuilder, selector: "ng-atomic-form-section-builder", inputs: ["form", "formFlatExcludes", "fieldMap", "fieldKeys"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
744
744
|
}
|
|
745
745
|
__decorate([
|
|
746
746
|
Effect(IndexTemplateStore.ActionId.BACK),
|
|
@@ -821,7 +821,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImpor
|
|
|
821
821
|
'pageSizeOptions'
|
|
822
822
|
]
|
|
823
823
|
},
|
|
824
|
-
], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-
|
|
824
|
+
], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Ap2P: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Ap2P: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Ap2P: var(--primary-color);--on-primary-color-SCOPED-IN-query-Ap2P: var(--on-primary-color);--surface-color-SCOPED-IN-query-Ap2P: var(--surface-color);--on-surface-color-SCOPED-IN-query-Ap2P: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Ap2P: var(--on-background-color);--background-color-SCOPED-IN-query-Ap2P: var(--background-color);--navigator-background-color-SCOPED-IN-query-Ap2P: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Ap2P: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Ap2P: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Ap2P: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Ap2P: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Ap2P);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Ap2P);--surface-color: var(--surface-color-SCOPED-IN-query-Ap2P);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Ap2P);--background-color: var(--background-color-SCOPED-IN-query-Ap2P);--on-background-color: var(--on-background-color-SCOPED-IN-query-Ap2P);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Ap2P);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Ap2P);--table-background-color: var(--table-background-color-SCOPED-IN-query-Ap2P);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Ap2P);--is-debug: var(--is-debug-SCOPED-IN-query-Ap2P)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Ap2P) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\n"] }]
|
|
825
825
|
}], ctorParameters: () => [], propDecorators: { back: [], navigateToIframe: [], expandPage: [], itemClick: [] } });
|
|
826
826
|
|
|
827
827
|
/**
|