@privateaim/client-vue 0.8.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/LICENSE +202 -0
- package/dist/components/Dropdown.d.ts +8 -0
- package/dist/components/Dropdown.d.ts.map +1 -0
- package/dist/components/FEntityDelete.d.ts +76 -0
- package/dist/components/FEntityDelete.d.ts.map +1 -0
- package/dist/components/analysis/FAnalyses.d.ts +88 -0
- package/dist/components/analysis/FAnalyses.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysis.d.ts +44 -0
- package/dist/components/analysis/FAnalysis.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisBasicForm.vue.d.ts +67 -0
- package/dist/components/analysis/FAnalysisBasicForm.vue.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisBuildStatusText.vue.d.ts +20 -0
- package/dist/components/analysis/FAnalysisBuildStatusText.vue.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisCommand.d.ts +57 -0
- package/dist/components/analysis/FAnalysisCommand.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisConfigurationStatusText.vue.d.ts +19 -0
- package/dist/components/analysis/FAnalysisConfigurationStatusText.vue.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisImageCommand.d.ts +45 -0
- package/dist/components/analysis/FAnalysisImageCommand.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisItem.d.ts +22 -0
- package/dist/components/analysis/FAnalysisItem.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisItemCard.vue.d.ts +42 -0
- package/dist/components/analysis/FAnalysisItemCard.vue.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisName.d.ts +38 -0
- package/dist/components/analysis/FAnalysisName.d.ts.map +1 -0
- package/dist/components/analysis/FAnalysisPipeline.vue.d.ts +49 -0
- package/dist/components/analysis/FAnalysisPipeline.vue.d.ts.map +1 -0
- package/dist/components/analysis/index.d.ts +8 -0
- package/dist/components/analysis/index.d.ts.map +1 -0
- package/dist/components/analysis/wizard/FAnalysisWizard.vue.d.ts +32 -0
- package/dist/components/analysis/wizard/FAnalysisWizard.vue.d.ts.map +1 -0
- package/dist/components/analysis/wizard/FAnalysisWizardStepBase.vue.d.ts +24 -0
- package/dist/components/analysis/wizard/FAnalysisWizardStepBase.vue.d.ts.map +1 -0
- package/dist/components/analysis/wizard/FAnalysisWizardStepFiles.vue.d.ts +73 -0
- package/dist/components/analysis/wizard/FAnalysisWizardStepFiles.vue.d.ts.map +1 -0
- package/dist/components/analysis/wizard/FAnalysisWizardStepFinal.vue.d.ts +3 -0
- package/dist/components/analysis/wizard/FAnalysisWizardStepFinal.vue.d.ts.map +1 -0
- package/dist/components/analysis/wizard/index.d.ts +2 -0
- package/dist/components/analysis/wizard/index.d.ts.map +1 -0
- package/dist/components/analysis-bucket/FAnalysisBucket.d.ts +44 -0
- package/dist/components/analysis-bucket/FAnalysisBucket.d.ts.map +1 -0
- package/dist/components/analysis-bucket/FAnalysisBucketDownload.d.ts +44 -0
- package/dist/components/analysis-bucket/FAnalysisBucketDownload.d.ts.map +1 -0
- package/dist/components/analysis-bucket/index.d.ts +3 -0
- package/dist/components/analysis-bucket/index.d.ts.map +1 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFile.vue.d.ts +52 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFile.vue.d.ts.map +1 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFileDownload.d.ts +44 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFileDownload.d.ts.map +1 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFileManager.vue.d.ts +136 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFileManager.vue.d.ts.map +1 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFiles.d.ts +82 -0
- package/dist/components/analysis-bucket-file/FAnalysisBucketFiles.d.ts.map +1 -0
- package/dist/components/analysis-bucket-file/FAnalysisFormFile.vue.d.ts +29 -0
- package/dist/components/analysis-bucket-file/FAnalysisFormFile.vue.d.ts.map +1 -0
- package/dist/components/analysis-bucket-file/index.d.ts +6 -0
- package/dist/components/analysis-bucket-file/index.d.ts.map +1 -0
- package/dist/components/analysis-log/FAnalysisLog.d.ts +27 -0
- package/dist/components/analysis-log/FAnalysisLog.d.ts.map +1 -0
- package/dist/components/analysis-log/FAnalysisLogs.d.ts +25 -0
- package/dist/components/analysis-log/FAnalysisLogs.d.ts.map +1 -0
- package/dist/components/analysis-log/index.d.ts +3 -0
- package/dist/components/analysis-log/index.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalsisNodeApprovalCommand.d.ts +57 -0
- package/dist/components/analysis-node/FAnalsisNodeApprovalCommand.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalysisNode.d.ts +52 -0
- package/dist/components/analysis-node/FAnalysisNode.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalysisNodeApprovalStatus.d.ts +21 -0
- package/dist/components/analysis-node/FAnalysisNodeApprovalStatus.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalysisNodeAssignAction.d.ts +32 -0
- package/dist/components/analysis-node/FAnalysisNodeAssignAction.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalysisNodeInCard.vue.d.ts +35 -0
- package/dist/components/analysis-node/FAnalysisNodeInCard.vue.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalysisNodeRunStatus.d.ts +19 -0
- package/dist/components/analysis-node/FAnalysisNodeRunStatus.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalysisNodes.d.ts +111 -0
- package/dist/components/analysis-node/FAnalysisNodes.d.ts.map +1 -0
- package/dist/components/analysis-node/FAnalysisNodesProgress.vue.d.ts +41 -0
- package/dist/components/analysis-node/FAnalysisNodesProgress.vue.d.ts.map +1 -0
- package/dist/components/analysis-node/index.d.ts +9 -0
- package/dist/components/analysis-node/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +16 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/login/FLoginForm.vue.d.ts +47 -0
- package/dist/components/login/FLoginForm.vue.d.ts.map +1 -0
- package/dist/components/login/index.d.ts +2 -0
- package/dist/components/login/index.d.ts.map +1 -0
- package/dist/components/master-image/FMasterImagePicker.d.ts +19 -0
- package/dist/components/master-image/FMasterImagePicker.d.ts.map +1 -0
- package/dist/components/master-image/FMasterImages.d.ts +82 -0
- package/dist/components/master-image/FMasterImages.d.ts.map +1 -0
- package/dist/components/master-image/FMasterImagesSync.d.ts +8 -0
- package/dist/components/master-image/FMasterImagesSync.d.ts.map +1 -0
- package/dist/components/master-image/index.d.ts +4 -0
- package/dist/components/master-image/index.d.ts.map +1 -0
- package/dist/components/master-image-group/FMasterImageGroups.d.ts +82 -0
- package/dist/components/master-image-group/FMasterImageGroups.d.ts.map +1 -0
- package/dist/components/master-image-group/index.d.ts +2 -0
- package/dist/components/master-image-group/index.d.ts.map +1 -0
- package/dist/components/node/FNodeForm.d.ts +43 -0
- package/dist/components/node/FNodeForm.d.ts.map +1 -0
- package/dist/components/node/FNodeRegistryProject.d.ts +21 -0
- package/dist/components/node/FNodeRegistryProject.d.ts.map +1 -0
- package/dist/components/node/FNodeRobot.d.ts +19 -0
- package/dist/components/node/FNodeRobot.d.ts.map +1 -0
- package/dist/components/node/FNodes.d.ts +82 -0
- package/dist/components/node/FNodes.d.ts.map +1 -0
- package/dist/components/node/index.d.ts +5 -0
- package/dist/components/node/index.d.ts.map +1 -0
- package/dist/components/project/FProject.d.ts +44 -0
- package/dist/components/project/FProject.d.ts.map +1 -0
- package/dist/components/project/FProjectForm.d.ts +25 -0
- package/dist/components/project/FProjectForm.d.ts.map +1 -0
- package/dist/components/project/FProjectInForm.d.ts +17 -0
- package/dist/components/project/FProjectInForm.d.ts.map +1 -0
- package/dist/components/project/FProjectItem.d.ts +21 -0
- package/dist/components/project/FProjectItem.d.ts.map +1 -0
- package/dist/components/project/FProjectItemCard.vue.d.ts +43 -0
- package/dist/components/project/FProjectItemCard.vue.d.ts.map +1 -0
- package/dist/components/project/FProjects.d.ts +82 -0
- package/dist/components/project/FProjects.d.ts.map +1 -0
- package/dist/components/project/index.d.ts +7 -0
- package/dist/components/project/index.d.ts.map +1 -0
- package/dist/components/project-node/FProjectNode.d.ts +52 -0
- package/dist/components/project-node/FProjectNode.d.ts.map +1 -0
- package/dist/components/project-node/FProjectNodeApprovalCommand.d.ts +57 -0
- package/dist/components/project-node/FProjectNodeApprovalCommand.d.ts.map +1 -0
- package/dist/components/project-node/FProjectNodeApprovalStatus.d.ts +21 -0
- package/dist/components/project-node/FProjectNodeApprovalStatus.d.ts.map +1 -0
- package/dist/components/project-node/FProjectNodeAssignAction.d.ts +32 -0
- package/dist/components/project-node/FProjectNodeAssignAction.d.ts.map +1 -0
- package/dist/components/project-node/FProjectNodeInCard.vue.d.ts +35 -0
- package/dist/components/project-node/FProjectNodeInCard.vue.d.ts.map +1 -0
- package/dist/components/project-node/FProjectNodes.d.ts +129 -0
- package/dist/components/project-node/FProjectNodes.d.ts.map +1 -0
- package/dist/components/project-node/index.d.ts +7 -0
- package/dist/components/project-node/index.d.ts.map +1 -0
- package/dist/components/registry/FRegistries.d.ts +82 -0
- package/dist/components/registry/FRegistries.d.ts.map +1 -0
- package/dist/components/registry/FRegistryCleanup.d.ts +20 -0
- package/dist/components/registry/FRegistryCleanup.d.ts.map +1 -0
- package/dist/components/registry/FRegistryForm.d.ts +25 -0
- package/dist/components/registry/FRegistryForm.d.ts.map +1 -0
- package/dist/components/registry/FRegistrySetup.d.ts +20 -0
- package/dist/components/registry/FRegistrySetup.d.ts.map +1 -0
- package/dist/components/registry/index.d.ts +5 -0
- package/dist/components/registry/index.d.ts.map +1 -0
- package/dist/components/registry-project/FRegistryProject.d.ts +44 -0
- package/dist/components/registry-project/FRegistryProject.d.ts.map +1 -0
- package/dist/components/registry-project/FRegistryProjectForm.d.ts +28 -0
- package/dist/components/registry-project/FRegistryProjectForm.d.ts.map +1 -0
- package/dist/components/registry-project/FRegistryProjects.d.ts +82 -0
- package/dist/components/registry-project/FRegistryProjects.d.ts.map +1 -0
- package/dist/components/registry-project/index.d.ts +4 -0
- package/dist/components/registry-project/index.d.ts.map +1 -0
- package/dist/components/type.d.ts +10 -0
- package/dist/components/type.d.ts.map +1 -0
- package/dist/components/utility/index.d.ts +4 -0
- package/dist/components/utility/index.d.ts.map +1 -0
- package/dist/components/utility/pagination/FPagination.d.ts +37 -0
- package/dist/components/utility/pagination/FPagination.d.ts.map +1 -0
- package/dist/components/utility/pagination/index.d.ts +2 -0
- package/dist/components/utility/pagination/index.d.ts.map +1 -0
- package/dist/components/utility/search/FSearch.d.ts +50 -0
- package/dist/components/utility/search/FSearch.d.ts.map +1 -0
- package/dist/components/utility/search/index.d.ts +2 -0
- package/dist/components/utility/search/index.d.ts.map +1 -0
- package/dist/components/utility/title/FTitle.d.ts +37 -0
- package/dist/components/utility/title/FTitle.d.ts.map +1 -0
- package/dist/components/utility/title/index.d.ts +2 -0
- package/dist/components/utility/title/index.d.ts.map +1 -0
- package/dist/composables/index.d.ts +4 -0
- package/dist/composables/index.d.ts.map +1 -0
- package/dist/composables/is-editing.d.ts +7 -0
- package/dist/composables/is-editing.d.ts.map +1 -0
- package/dist/composables/on-change.d.ts +3 -0
- package/dist/composables/on-change.d.ts.map +1 -0
- package/dist/composables/updated-at.d.ts +7 -0
- package/dist/composables/updated-at.d.ts.map +1 -0
- package/dist/core/busy.d.ts +6 -0
- package/dist/core/busy.d.ts.map +1 -0
- package/dist/core/entity-action-command/constants.d.ts +6 -0
- package/dist/core/entity-action-command/constants.d.ts.map +1 -0
- package/dist/core/entity-action-command/index.d.ts +4 -0
- package/dist/core/entity-action-command/index.d.ts.map +1 -0
- package/dist/core/entity-action-command/type.d.ts +7 -0
- package/dist/core/entity-action-command/type.d.ts.map +1 -0
- package/dist/core/entity-action-command/utils.d.ts +16 -0
- package/dist/core/entity-action-command/utils.d.ts.map +1 -0
- package/dist/core/entity-assign-action/index.d.ts +2 -0
- package/dist/core/entity-assign-action/index.d.ts.map +1 -0
- package/dist/core/entity-assign-action/module.d.ts +11 -0
- package/dist/core/entity-assign-action/module.d.ts.map +1 -0
- package/dist/core/entity-manager/error.d.ts +4 -0
- package/dist/core/entity-manager/error.d.ts.map +1 -0
- package/dist/core/entity-manager/index.d.ts +5 -0
- package/dist/core/entity-manager/index.d.ts.map +1 -0
- package/dist/core/entity-manager/module.d.ts +6 -0
- package/dist/core/entity-manager/module.d.ts.map +1 -0
- package/dist/core/entity-manager/type.d.ts +67 -0
- package/dist/core/entity-manager/type.d.ts.map +1 -0
- package/dist/core/entity-manager/utils.d.ts +23 -0
- package/dist/core/entity-manager/utils.d.ts.map +1 -0
- package/dist/core/entity-socket/index.d.ts +3 -0
- package/dist/core/entity-socket/index.d.ts.map +1 -0
- package/dist/core/entity-socket/module.d.ts +6 -0
- package/dist/core/entity-socket/module.d.ts.map +1 -0
- package/dist/core/entity-socket/type.d.ts +22 -0
- package/dist/core/entity-socket/type.d.ts.map +1 -0
- package/dist/core/form/index.d.ts +2 -0
- package/dist/core/form/index.d.ts.map +1 -0
- package/dist/core/form/properties.d.ts +2 -0
- package/dist/core/form/properties.d.ts.map +1 -0
- package/dist/core/http-client/core/index.d.ts +3 -0
- package/dist/core/http-client/core/index.d.ts.map +1 -0
- package/dist/core/http-client/core/install.d.ts +4 -0
- package/dist/core/http-client/core/install.d.ts.map +1 -0
- package/dist/core/http-client/core/singleton.d.ts +6 -0
- package/dist/core/http-client/core/singleton.d.ts.map +1 -0
- package/dist/core/http-client/index.d.ts +3 -0
- package/dist/core/http-client/index.d.ts.map +1 -0
- package/dist/core/http-client/setup.d.ts +4 -0
- package/dist/core/http-client/setup.d.ts.map +1 -0
- package/dist/core/http-client/storage/index.d.ts +3 -0
- package/dist/core/http-client/storage/index.d.ts.map +1 -0
- package/dist/core/http-client/storage/install.d.ts +4 -0
- package/dist/core/http-client/storage/install.d.ts.map +1 -0
- package/dist/core/http-client/storage/singleton.d.ts +6 -0
- package/dist/core/http-client/storage/singleton.d.ts.map +1 -0
- package/dist/core/http-client/types.d.ts +4 -0
- package/dist/core/http-client/types.d.ts.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/list/constants.d.ts +12 -0
- package/dist/core/list/constants.d.ts.map +1 -0
- package/dist/core/list/index.d.ts +5 -0
- package/dist/core/list/index.d.ts.map +1 -0
- package/dist/core/list/module.d.ts +6 -0
- package/dist/core/list/module.d.ts.map +1 -0
- package/dist/core/list/type.d.ts +88 -0
- package/dist/core/list/type.d.ts.map +1 -0
- package/dist/core/list/utils/component.d.ts +38 -0
- package/dist/core/list/utils/component.d.ts.map +1 -0
- package/dist/core/list/utils/handlers.d.ts +7 -0
- package/dist/core/list/utils/handlers.d.ts.map +1 -0
- package/dist/core/list/utils/index.d.ts +4 -0
- package/dist/core/list/utils/index.d.ts.map +1 -0
- package/dist/core/list/utils/options.d.ts +3 -0
- package/dist/core/list/utils/options.d.ts.map +1 -0
- package/dist/core/object.d.ts +2 -0
- package/dist/core/object.d.ts.map +1 -0
- package/dist/core/query/index.d.ts +2 -0
- package/dist/core/query/index.d.ts.map +1 -0
- package/dist/core/query/sort.d.ts +9 -0
- package/dist/core/query/sort.d.ts.map +1 -0
- package/dist/core/slot.d.ts +21 -0
- package/dist/core/slot.d.ts.map +1 -0
- package/dist/core/socket/index.d.ts +4 -0
- package/dist/core/socket/index.d.ts.map +1 -0
- package/dist/core/socket/install.d.ts +4 -0
- package/dist/core/socket/install.d.ts.map +1 -0
- package/dist/core/socket/singleton.d.ts +6 -0
- package/dist/core/socket/singleton.d.ts.map +1 -0
- package/dist/core/socket/types.d.ts +9 -0
- package/dist/core/socket/types.d.ts.map +1 -0
- package/dist/core/translator/index.d.ts +3 -0
- package/dist/core/translator/index.d.ts.map +1 -0
- package/dist/core/translator/install.d.ts +4 -0
- package/dist/core/translator/install.d.ts.map +1 -0
- package/dist/core/translator/types.d.ts +4 -0
- package/dist/core/translator/types.d.ts.map +1 -0
- package/dist/core/vuelidate.d.ts +6 -0
- package/dist/core/vuelidate.d.ts.map +1 -0
- package/dist/css.d.ts +2 -0
- package/dist/css.d.ts.map +1 -0
- package/dist/index.cjs +11061 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +10 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +10963 -0
- package/dist/index.mjs.map +1 -0
- package/dist/module.d.ts +4 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/type.d.ts +9 -0
- package/dist/type.d.ts.map +1 -0
- package/dist/utils/boolable-to-object.d.ts +2 -0
- package/dist/utils/boolable-to-object.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/package.json +102 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../node_modules/@vuecs/core/dist/index.mjs","../src/components/login/FLoginForm.vue","../src/core/entity-action-command/constants.ts","../../../node_modules/nanoid/index.js","../../kit/dist/index.mjs","../src/core/slot.ts","../src/core/entity-action-command/utils.ts","../src/core/entity-assign-action/module.ts","../src/core/list/utils/component.ts","../src/core/list/utils/options.ts","../src/core/list/utils/handlers.ts","../src/utils/boolable-to-object.ts","../../../node_modules/ufo/dist/index.mjs","../../../node_modules/node-fetch-native/dist/native.mjs","../../../node_modules/ebec/dist/index.mjs","../../../node_modules/hapic/dist/index.mjs","../../core-http-kit/dist/index.mjs","../src/core/http-client/setup.ts","../src/core/http-client/core/singleton.ts","../src/core/http-client/core/install.ts","../src/core/http-client/storage/singleton.ts","../src/core/http-client/storage/install.ts","../src/core/socket/singleton.ts","../src/core/socket/install.ts","../src/core/entity-socket/module.ts","../src/core/query/sort.ts","../src/core/list/module.ts","../src/core/list/constants.ts","../src/core/entity-manager/error.ts","../src/core/object.ts","../src/core/entity-manager/utils.ts","../src/core/entity-manager/module.ts","../src/core/form/properties.ts","../src/core/busy.ts","../../../node_modules/ilingo/dist/index.mjs","../src/core/translator/install.ts","../src/core/vuelidate.ts","../src/components/master-image/FMasterImages.ts","../src/components/master-image-group/FMasterImageGroups.ts","../src/components/master-image/FMasterImagePicker.ts","../src/components/FEntityDelete.ts","../src/components/master-image/FMasterImagesSync.ts","../src/components/project/FProject.ts","../src/composables/updated-at.ts","../src/components/node/FNodes.ts","../src/components/project-node/FProjectNodeApprovalCommand.ts","../src/components/project-node/FProjectNodeApprovalStatus.ts","../src/components/project-node/FProjectNodeAssignAction.ts","../src/components/project-node/FProjectNode.ts","../src/components/project-node/FProjectNodes.ts","../src/components/project/FProjectInForm.ts","../src/components/project-node/FProjectNodeInCard.vue","../src/components/utility/title/FTitle.ts","../src/components/utility/search/FSearch.ts","../src/components/utility/pagination/FPagination.ts","../src/components/project/FProjectForm.ts","../src/components/project/FProjectItemCard.vue","../src/components/project/FProjectItem.ts","../src/components/project/FProjects.ts","../src/components/registry/FRegistryCleanup.ts","../src/components/registry/FRegistryForm.ts","../src/components/registry/FRegistries.ts","../src/components/registry/FRegistrySetup.ts","../src/components/registry-project/FRegistryProject.ts","../src/components/registry-project/FRegistryProjectForm.ts","../src/components/registry-project/FRegistryProjects.ts","../src/components/node/FNodeForm.ts","../src/components/node/FNodeRegistryProject.ts","../src/components/node/FNodeRobot.ts","../src/components/analysis-node/FAnalsisNodeApprovalCommand.ts","../src/components/analysis-node/FAnalysisNodeApprovalStatus.ts","../src/components/analysis-node/FAnalysisNodeAssignAction.ts","../src/components/analysis-node/FAnalysisNode.ts","../src/components/analysis-node/FAnalysisNodes.ts","../src/components/analysis-node/FAnalysisNodeRunStatus.ts","../src/components/analysis-node/FAnalysisNodesProgress.vue","../src/components/analysis-bucket/FAnalysisBucket.ts","../src/components/analysis-bucket/FAnalysisBucketDownload.ts","../src/components/analysis/FAnalysisName.ts","../src/components/analysis-node/FAnalysisNodeInCard.vue","../src/components/analysis/wizard/FAnalysisWizardStepBase.vue","../src/components/analysis-bucket-file/FAnalysisBucketFile.vue","../src/components/analysis-bucket-file/FAnalysisBucketFiles.ts","../src/components/analysis-bucket-file/FAnalysisFormFile.vue","../src/components/analysis-bucket-file/FAnalysisBucketFileManager.vue","../src/components/analysis/FAnalysisImageCommand.ts","../src/components/analysis/wizard/FAnalysisWizardStepFiles.vue","../src/components/analysis/wizard/FAnalysisWizardStepFinal.vue","../src/components/analysis/wizard/FAnalysisWizard.vue","../src/components/analysis/FAnalysisBasicForm.vue","../src/components/analysis/FAnalysis.ts","../src/components/analysis/FAnalysisCommand.ts","../src/components/analysis/FAnalysisBuildStatusText.vue","../src/components/analysis/FAnalysisConfigurationStatusText.vue","../src/components/analysis/FAnalysisPipeline.vue","../src/components/analysis/FAnalysisItemCard.vue","../src/components/analysis/FAnalysisItem.ts","../src/components/analysis/FAnalyses.ts","../src/components/analysis-bucket-file/FAnalysisBucketFileDownload.ts","../src/components/analysis-log/FAnalysisLog.ts","../src/components/analysis-log/FAnalysisLogs.ts","../src/module.ts","../src/index.ts"],"sourcesContent":["import { hasOwnProperty as hasOwnProperty$1, isObject as isObject$1, merge } from 'smob';\nimport { hasInjectionContext, inject, unref, isRef, isReadonly, mergeProps } from 'vue';\n\nvar StoreName;\n(function(StoreName) {\n StoreName[\"DEFAULT\"] = \"default\";\n})(StoreName || (StoreName = {}));\n\nclass Store {\n /**\n * Set options for all groups.\n *\n * @param items\n */ setAll(items) {\n const keys = Object.keys(items);\n for(let i = 0; i < keys.length; i++){\n this.setOptions(keys[i], items[keys[i]]);\n }\n }\n /**\n * Set options for a specific group.\n *\n * @param group\n * @param options\n */ setOptions(group, options) {\n if (typeof this.data[group] === 'undefined') {\n this.data[group] = {};\n }\n this.data[group] = options;\n }\n hasOptions(group) {\n return hasOwnProperty$1(this.data, group);\n }\n getOptions(group) {\n if (typeof this.data[group] !== 'undefined') {\n return this.data[group];\n }\n return {};\n }\n hasOption(group, option) {\n return typeof this.data[group] !== 'undefined' && hasOwnProperty$1(this.data[group], option);\n }\n getOption(group, option) {\n if (typeof this.data[group] === 'undefined') {\n return undefined;\n }\n return this.data[group][option];\n }\n constructor(){\n this.data = {};\n }\n}\n\nclass StoreManager {\n keys() {\n return Object.keys(this.instances);\n }\n use(key) {\n if (typeof this.instances[key] !== 'undefined') {\n return this.instances[key];\n }\n this.instances[key] = new Store();\n return this.instances[key];\n }\n constructor(){\n this.instances = {};\n }\n}\n\nfunction applyStoreManagerOptions(manager, options) {\n if (options.presets) {\n const presetKeys = Object.keys(options.presets);\n for(let i = 0; i < presetKeys.length; i++){\n const store = manager.use(presetKeys[i]);\n store.setAll(options.presets[presetKeys[i]]);\n }\n }\n if (options.defaults) {\n const store = manager.use(StoreName.DEFAULT);\n store.setAll(options.defaults);\n }\n}\n\nfunction getSymbol(key) {\n if (typeof key === 'string') {\n return Symbol.for(`VCStoreManager#${key}`);\n }\n return Symbol.for('VCStoreManager');\n}\nfunction installStoreManager(instance, key) {\n let manager;\n const symbol = getSymbol(key);\n if (instance._context && instance._context.provides && instance._context.provides[symbol]) {\n return instance._context.provides[symbol];\n }\n if (hasInjectionContext()) {\n manager = inject(symbol, undefined);\n if (manager) {\n return manager;\n }\n }\n manager = new StoreManager();\n instance.provide(symbol, manager);\n return manager;\n}\nfunction injectStoreManager(key) {\n const symbol = getSymbol(key);\n const manager = inject(symbol);\n if (!manager) {\n throw new Error('The store manager has not been setup.');\n }\n return manager;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nfunction evaluateFnOrValue(input, ...args) {\n if (typeof input === 'function') {\n return input(...args);\n }\n return input;\n}\n\nfunction isObject(input) {\n return typeof input === 'object' && input !== null && !Array.isArray(input) && !!input;\n}\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @returns bool\n *\n * @param name\n * @param $slots\n */ function hasNormalizedSlot(name, $slots = {}) {\n return hasOwnProperty($slots, name);\n}\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param name\n * @param scope\n * @param $slots\n *\n * @returns {Array} VNodes\n */ function normalizeSlot(name, scope = {}, $slots = {}) {\n if (hasOwnProperty($slots, name)) {\n return $slots[name](scope);\n }\n return [];\n}\n\nfunction isPromise(p) {\n return isObject(p) && (p instanceof Promise || // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n typeof p.then === 'function');\n}\n\nfunction unrefWithDefault(value, alt) {\n const raw = unref(value);\n if (typeof raw === 'undefined') {\n return alt;\n }\n return raw;\n}\nfunction setMaybeRefValue(input, value) {\n if (isRef(input)) {\n if (!isReadonly(input)) {\n input.value = value;\n }\n }\n}\nfunction pushMaybeRefArrayValue(input, value) {\n if (isRef(input)) {\n input.value.push(value);\n } else {\n input.push(value);\n }\n return value;\n}\nfunction spliceMaybeRefArray(input, index, amount) {\n if (isRef(input)) {\n input.value.splice(index, amount);\n } else {\n input.splice(index, amount);\n }\n return input;\n}\nfunction getMaybeRefArrayValue(input, index) {\n if (isRef(input)) {\n return input.value[index];\n }\n return input[index];\n}\nfunction extendMaybeRefArrayValue(input, index, value) {\n if (!isObject$1(value) && !Array.isArray(value)) {\n return input;\n }\n const item = getMaybeRefArrayValue(input, index);\n if (isObject$1(item) || Array.isArray(item)) {\n if (isRef(input)) {\n input.value[index] = merge(value, item);\n } else {\n input[index] = merge(value, item);\n }\n }\n return input;\n}\nfunction findIndexOfMaybeRefArray(input, filterFn) {\n if (isRef(input)) {\n return input.value.findIndex(filterFn);\n }\n return input.findIndex(filterFn);\n}\n\nfunction isVNodeClassOption(name) {\n return name.toLowerCase().indexOf('class') !== -1;\n}\nfunction isVNodeStyleOption(name) {\n return name.toLowerCase().indexOf('style') !== -1;\n}\nfunction isVNodeListenerOption(name) {\n return name.startsWith('on');\n}\nfunction isVNodePropsOption(name) {\n return name.toLowerCase().indexOf('props') !== -1;\n}\nfunction isVNodeOption(name) {\n return isVNodeClassOption(name) || isVNodeStyleOption(name) || isVNodeListenerOption(name) || isVNodePropsOption(name);\n}\nfunction mergeVNodeOption(key, target, source) {\n if (typeof target === 'undefined') {\n return source;\n }\n if (typeof source === 'undefined') {\n return target;\n }\n if (isVNodeClassOption(key)) {\n const { class: clazz } = mergeProps({\n class: target\n }, {\n class: source\n });\n return clazz;\n }\n if (isVNodeStyleOption(key)) {\n const { style } = mergeProps({\n style: target\n }, {\n style: source\n });\n return style;\n }\n if (isVNodeListenerOption(key)) {\n const { [key]: listener } = mergeProps({\n [key]: target\n }, {\n [key]: source\n });\n return listener;\n }\n if (isVNodePropsOption(key)) {\n return mergeProps(target, source);\n }\n return target ?? source;\n}\n\nfunction mergeOption(key, target, source) {\n if (isVNodeOption(key)) {\n return mergeVNodeOption(key, target, source);\n }\n if (isObject$1(target) && isObject$1(source)) {\n return merge(target, source);\n }\n return target ?? source;\n}\n\nfunction isComponentOptionInputConfigWithPresets(input) {\n if (!isObject$1(input)) {\n return false;\n }\n const { presets } = input;\n if (!isObject$1(presets)) {\n return false;\n }\n const keys = Object.keys(presets);\n for(let i = 0; i < keys.length; i++){\n if (!hasOwnProperty(presets, keys[i]) || typeof presets[keys[i]] !== 'boolean') {\n return false;\n }\n }\n return true;\n}\nfunction isComponentOptionInputConfigWithDefaults(input) {\n if (!isObject$1(input)) {\n return false;\n }\n const { defaults } = input;\n return typeof defaults === 'boolean';\n}\nfunction isComponentOptionInputConfig(value) {\n return isComponentOptionInputConfigWithPresets(value) || isComponentOptionInputConfigWithDefaults(value);\n}\n\nclass ComponentOptionsManager {\n // ---------------------------------------------------------\n build(context) {\n let value;\n const presetConfig = {};\n if (isComponentOptionInputConfigWithPresets(context.value)) {\n const keys = Object.keys(context.value.presets);\n for(let i = 0; i < keys.length; i++){\n presetConfig[keys[i]] = context.value.presets[keys[i]];\n }\n if (typeof context.value.value !== 'undefined') {\n value = context.value.value;\n }\n }\n if (!isComponentOptionInputConfig(context.value)) {\n value = context.value;\n }\n if (typeof value === 'undefined') {\n if (!isComponentOptionInputConfigWithDefaults(context.value) || context.value.defaults) {\n const store = this.storeManager.use(StoreName.DEFAULT);\n if (store.hasOption(this.component, context.key)) {\n value = store.getOption(this.component, context.key);\n }\n }\n }\n const keys = this.storeManager.keys();\n for(let i = 0; i < keys.length; i++){\n if (keys[i] === StoreName.DEFAULT) {\n continue;\n }\n if (hasOwnProperty(presetConfig, keys[i]) && !presetConfig[keys[i]]) {\n continue;\n }\n const presetStore = this.storeManager.use(keys[i]);\n if (presetStore.hasOption(this.component, context.key)) {\n value = mergeOption(context.key, value, presetStore.getOption(this.component, context.key));\n }\n }\n if (typeof value === 'undefined') {\n return context.alt;\n }\n return value;\n }\n buildOrFail(context) {\n const target = this.build(context);\n if (typeof target === 'undefined' && !hasOwnProperty(context, 'alt')) {\n throw new Error(`A value for option ${context.key} of component ${this.component} is required.`);\n }\n return target;\n }\n // ---------------------------------------------------------\n constructor(context){\n this.component = context.name;\n this.storeManager = context.storeManager || injectStoreManager(context.storeManagerKey);\n }\n}\n\nfunction createComponentOptionsManager(component) {\n return new ComponentOptionsManager(component);\n}\n\nexport { Store, StoreManager, StoreName, applyStoreManagerOptions, createComponentOptionsManager, evaluateFnOrValue, extendMaybeRefArrayValue, findIndexOfMaybeRefArray, getMaybeRefArrayValue, hasNormalizedSlot, hasOwnProperty, injectStoreManager, installStoreManager, isComponentOptionInputConfig, isComponentOptionInputConfigWithDefaults, isComponentOptionInputConfigWithPresets, isObject, isPromise, isVNodeClassOption, isVNodeListenerOption, isVNodeOption, isVNodePropsOption, isVNodeStyleOption, mergeOption, mergeVNodeOption, normalizeSlot, pushMaybeRefArrayValue, setMaybeRefValue, spliceMaybeRefArray, unrefWithDefault };\n//# sourceMappingURL=index.mjs.map\n","<!--\n - Copyright (c) 2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n\n<script lang=\"ts\">\nimport { useStore } from '@authup/client-web-kit';\nimport { IVuelidate } from '@ilingo/vuelidate';\nimport useVuelidate from '@vuelidate/core';\nimport { maxLength, minLength, required } from '@vuelidate/validators';\nimport {\n defineComponent, reactive, ref, toRef, watch,\n} from 'vue';\nimport { VCFormInput, VCFormSubmit } from '@vuecs/form-controls';\n\nexport default defineComponent({\n components: {\n IVuelidate,\n VCFormInput,\n VCFormSubmit,\n },\n props: {\n realmId: {\n type: String,\n },\n },\n emits: ['done', 'failed'],\n setup(props, { emit }) {\n const realmId = toRef(props, 'realmId');\n\n const form = reactive({\n name: '',\n password: '',\n realm_id: '',\n });\n\n if (realmId.value) {\n form.realm_id = realmId.value;\n }\n\n watch(realmId, (val) => {\n form.realm_id = val ?? '';\n });\n\n const vuelidate = useVuelidate({\n name: {\n required,\n minLength: minLength(3),\n maxLength: maxLength(255),\n },\n password: {\n required,\n minLength: minLength(3),\n maxLength: maxLength(255),\n },\n realm_id: {\n\n },\n }, form);\n\n const store = useStore();\n\n const busy = ref(false);\n\n const submit = async () => {\n try {\n await store.login({\n name: form.name,\n password: form.password,\n realmId: form.realm_id,\n });\n\n emit('done');\n } catch (e: any) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n };\n\n return {\n vuelidate,\n form,\n submit,\n busy,\n };\n },\n});\n</script>\n<template>\n <form @submit.prevent=\"submit\">\n <IVuelidate :validation=\"vuelidate.name\">\n <template #default=\"props\">\n <VCFormGroup\n :validation-messages=\"props.data\"\n :validation-severity=\"props.severity\"\n >\n <template #label>\n Name\n </template>\n <template #default>\n <VCFormInput\n v-model=\"vuelidate.name.$model\"\n />\n </template>\n </VCFormGroup>\n </template>\n </IVuelidate>\n\n <IVuelidate :validation=\"vuelidate.password\">\n <template #default=\"props\">\n <VCFormGroup\n :validation-messages=\"props.data\"\n :validation-severity=\"props.severity\"\n >\n <template #label>\n Password\n </template>\n <template #default>\n <VCFormInput\n v-model=\"vuelidate.password.$model\"\n type=\"password\"\n />\n </template>\n </VCFormGroup>\n </template>\n </IVuelidate>\n\n <VCFormSubmit\n v-model=\"busy\"\n :invalid=\"vuelidate.$invalid\"\n :create-text=\"'Login'\"\n :create-button-class=\"{value: 'btn btn-sm btn-dark btn-block', presets: { bootstrap: false }}\"\n :create-icon-class=\"'fa-solid fa-right-to-bracket'\"\n :submit=\"submit\"\n />\n </form>\n</template>\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ActionCommandElementType {\n BUTTON = 'button',\n LINK = 'link',\n DROPDOWN_ITEM = 'dropDownItem',\n}\n","import crypto from 'crypto'\nimport { urlAlphabet } from './url-alphabet/index.js'\nconst POOL_SIZE_MULTIPLIER = 128\nlet pool, poolOffset\nlet fillPool = bytes => {\n if (!pool || pool.length < bytes) {\n pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER)\n crypto.randomFillSync(pool)\n poolOffset = 0\n } else if (poolOffset + bytes > pool.length) {\n crypto.randomFillSync(pool)\n poolOffset = 0\n }\n poolOffset += bytes\n}\nlet random = bytes => {\n fillPool((bytes -= 0))\n return pool.subarray(poolOffset - bytes, poolOffset)\n}\nlet customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (31 - Math.clz32((alphabet.length - 1) | 1))) - 1\n let step = Math.ceil((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let i = step\n while (i--) {\n id += alphabet[bytes[i] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n fillPool((size -= 0))\n let id = ''\n for (let i = poolOffset - size; i < poolOffset; i++) {\n id += urlAlphabet[pool[i] & 63]\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import { customAlphabet } from 'nanoid';\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ var PermissionName;\n(function(PermissionName) {\n PermissionName[\"BUCKET_CREATE\"] = \"bucket_create\";\n PermissionName[\"BUCKET_UPDATE\"] = \"bucket_update\";\n PermissionName[\"BUCKET_DELETE\"] = \"bucket_delete\";\n PermissionName[\"PROJECT_CREATE\"] = \"project_create\";\n PermissionName[\"PROJECT_DELETE\"] = \"project_delete\";\n PermissionName[\"PROJECT_UPDATE\"] = \"project_update\";\n PermissionName[\"PROJECT_APPROVE\"] = \"project_approve\";\n PermissionName[\"REGISTRY_MANAGE\"] = \"registry_manage\";\n PermissionName[\"REGISTRY_PROJECT_MANAGE\"] = \"registry_project_manage\";\n PermissionName[\"NODE_CREATE\"] = \"node_create\";\n PermissionName[\"NODE_DELETE\"] = \"node_delete\";\n PermissionName[\"NODE_UPDATE\"] = \"node_update\";\n PermissionName[\"ANALYSIS_APPROVE\"] = \"analysis_approve\";\n PermissionName[\"ANALYSIS_UPDATE\"] = \"analysis_update\";\n PermissionName[\"ANALYSIS_CREATE\"] = \"analysis_create\";\n PermissionName[\"ANALYSIS_EXECUTION_START\"] = \"analysis_execution_start\";\n PermissionName[\"ANALYSIS_EXECUTION_STOP\"] = \"analysis_execution_stop\";\n PermissionName[\"ANALYSIS_DELETE\"] = \"analysis_delete\";\n PermissionName[\"ANALYSIS_RESULT_READ\"] = \"analysis_result_read\";\n PermissionName[\"MASTER_IMAGE_MANAGE\"] = \"master_image_manage\";\n PermissionName[\"MASTER_IMAGE_GROUP_MANAGE\"] = \"master_image_group_manage\";\n PermissionName[\"SERVICE_MANAGE\"] = \"service_manage\";\n})(PermissionName || (PermissionName = {}));\n\n/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function isBoolTrue(input) {\n return typeof input === 'boolean' && !!input;\n}\nfunction isBoolFalse(input) {\n return typeof input === 'boolean' && !input;\n}\nfunction isBool(input) {\n return typeof input === 'boolean';\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ // eslint-disable-next-line @typescript-eslint/ban-types\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\nfunction isObject(item) {\n return !!item && typeof item === 'object' && !Array.isArray(item);\n}\n\nfunction isError(e) {\n return typeof e === 'object' && e && hasOwnProperty(e, 'message');\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function isHex(value) {\n return /^[A-Fa-f0-9]+$/i.test(value);\n}\nfunction hexToUTF8(value) {\n try {\n return decodeURIComponent(`%${value.match(/.{1,2}/g).join('%')}`);\n } catch (e) {\n if (e instanceof URIError) {\n return value;\n }\n throw e;\n }\n}\n\n/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function getHostNameFromString(value) {\n if (value.startsWith('http://') || value.startsWith('https://')) {\n const url = new URL(value);\n value = url.hostname;\n }\n return value;\n}\n\nfunction createNanoID(alphabetOrLen, len) {\n if (typeof alphabetOrLen === 'string') {\n return customAlphabet(alphabetOrLen, len || 21)();\n }\n if (typeof alphabetOrLen === 'number') {\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', alphabetOrLen)();\n }\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', len || 21)();\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function nullifyEmptyObjectProperties(data) {\n const keys = Object.keys(data);\n for(let i = 0; i < keys.length; i++){\n const key = keys[i];\n if (data[key] === '') {\n data[key] = null;\n }\n }\n return data;\n}\nfunction deleteUndefinedObjectProperties(data) {\n const keys = Object.keys(data);\n for(let i = 0; i < keys.length; i++){\n if (typeof data[keys[i]] === 'undefined') {\n delete data[keys[i]];\n }\n }\n return data;\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function parseProxyConnectionString(connectionStr) {\n const match = connectionStr.match(/(?:(https|http):\\/\\/)(?:(\\w+)(?::(\\w+))?@)?(?:([^:]+))(?::(\\d{1,5}))?$/);\n if (!match) {\n return undefined;\n }\n return {\n protocol: match[1],\n host: match[4],\n port: parseInt(match[5], 10),\n auth: {\n username: match[2],\n password: match[3]\n }\n };\n}\nfunction detectProxyConnectionConfig() {\n const envKeys = [\n 'https_proxy',\n 'HTTPS_PROXY',\n 'http_proxy',\n 'HTTP_PROXY'\n ];\n let result;\n for(let i = 0; i < envKeys.length; i++){\n const envKey = envKeys[i];\n const envVal = process.env[envKey];\n if (envVal !== undefined && envVal !== null) {\n result = result || envVal;\n }\n }\n if (!result) {\n return undefined;\n }\n return parseProxyConnectionString(result);\n}\n\n/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ const alphaNumHyphenUnderscoreRegex = /^[a-z0-9-_]*$/;\nconst registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n\n/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ var EnvironmentName;\n(function(EnvironmentName) {\n EnvironmentName[\"TEST\"] = \"test\";\n EnvironmentName[\"DEVELOPMENT\"] = \"development\";\n EnvironmentName[\"PRODUCTION\"] = \"production\";\n})(EnvironmentName || (EnvironmentName = {}));\n\nexport { EnvironmentName, PermissionName, alphaNumHyphenUnderscoreRegex, createNanoID, deleteUndefinedObjectProperties, detectProxyConnectionConfig, getHostNameFromString, hasOwnProperty, hexToUTF8, isBool, isBoolFalse, isBoolTrue, isError, isHex, isObject, nullifyEmptyObjectProperties, parseProxyConnectionString, registryRobotSecretRegex };\n//# sourceMappingURL=index.mjs.map\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from '@privateaim/kit';\nimport type { Slot, Slots, VNode } from 'vue';\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @returns {Array|undefined} VNodes\n *\n * @param name\n * @param $slots\n */\nexport function hasNormalizedSlot(\n name : string,\n $slots : Slots = {},\n) {\n return hasOwnProperty($slots, name);\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param name\n * @param scope\n * @param $slots\n *\n * @returns {Array} VNodes\n */\nexport function normalizeSlot(\n name : string,\n scope: Record<string, any> = {},\n $slots : Slots = {},\n) : VNode[] | VNode {\n if (hasOwnProperty($slots, name)) {\n return ($slots[name] as Slot)(scope);\n }\n\n return [];\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isObject } from 'smob';\nimport { h, resolveDynamicComponent } from 'vue';\nimport type {\n Component, Slots, VNodeArrayChildren,\n VNodeChild, VNodeProps,\n} from 'vue';\nimport { hasNormalizedSlot, normalizeSlot } from '../slot';\n\ntype Context = {\n execute() : Promise<void>;\n elementType: 'button' | 'link' | 'dropDownItem',\n withIcon: boolean,\n withText: boolean,\n isAllowed: boolean,\n isDisabled: boolean,\n commandText: string,\n iconClass: string,\n classSuffix: string,\n slots: Slots\n};\n\nexport function renderActionCommand(ctx: Context) : VNodeChild {\n if (!ctx.isAllowed) {\n return h('span', {}, ['']);\n }\n\n const attributes : VNodeProps & Record<string, any> = {\n onClick(event: any) {\n event.preventDefault();\n\n return ctx.execute();\n },\n disabled: ctx.isDisabled,\n };\n\n const iconClasses : string[] = [ctx.iconClass, 'pe-1'];\n\n let tag : string | Component | undefined;\n\n if (ctx.elementType === 'dropDownItem') {\n const component = resolveDynamicComponent('BDropdownItem');\n if (isObject(component)) {\n tag = component as Component;\n iconClasses.push('ps-1', `text-${ctx.classSuffix}`);\n }\n }\n\n if (ctx.elementType === 'link') {\n tag = 'a';\n iconClasses.push(`text-${ctx.classSuffix}`);\n }\n\n if (!tag) {\n tag = 'button';\n attributes.type = 'button';\n attributes.class = ['btn', 'btn-xs', `btn-${ctx.classSuffix}`];\n }\n\n let text : VNodeArrayChildren = [ctx.commandText];\n\n if (!ctx.withText) {\n text = [];\n }\n\n if (ctx.withIcon) {\n text.unshift(h('i', {\n class: iconClasses,\n }));\n }\n\n if (hasNormalizedSlot('default', ctx.slots)) {\n return normalizeSlot('default', {\n commandText: ctx.commandText,\n isDisabled: ctx.isDisabled,\n isAllowed: ctx.isAllowed,\n iconClass: iconClasses,\n }, ctx.slots);\n }\n\n return h(tag as string, attributes, text);\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { VNodeArrayChildren } from 'vue';\nimport { h } from 'vue';\n\ntype Context<T> = {\n add: () => Promise<void> | void,\n drop: () => Promise<void> | void,\n item: T,\n busy?: boolean\n};\nexport function renderEntityAssignAction<T>(\n ctx: Context<T>,\n) {\n let children: VNodeArrayChildren = [];\n\n if (!ctx.busy) {\n children = [\n h('button', {\n class: ['btn btn-xs', {\n 'btn-success': !ctx.item,\n 'btn-danger': ctx.item,\n }],\n onClick($event: any) {\n $event.preventDefault();\n\n if (ctx.item) {\n return ctx.drop.call(null);\n }\n\n return ctx.add.call(null);\n },\n }, [\n h('i', {\n class: ['fa', {\n 'fa-plus': !ctx.item,\n 'fa-minus': ctx.item,\n }],\n }),\n ]),\n ];\n }\n\n return h('div', [children]);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport type { PropType } from 'vue';\nimport type {\n ListBodyOptions,\n ListEventsType, ListFooterOptions, ListHeaderOptions, ListLoadingOptions, ListNoMoreOptions,\n} from '../type';\n\nexport function defineListEvents<T>() : ListEventsType<T> {\n return {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n created: (_item: T) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n deleted: (_item: T) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updated: (_item: T) => true,\n };\n}\nexport function defineListProps<T>() {\n return {\n query: {\n type: Object as PropType<BuildInput<T extends Record<string, any> ? T : never>>,\n default() {\n return {};\n },\n },\n realmId: {\n type: String,\n default: undefined,\n },\n loadOnSetup: {\n type: Boolean,\n default: true,\n },\n loading: {\n type: [Boolean, Object] as PropType<boolean | ListLoadingOptions<T>>,\n default: true,\n },\n noMore: {\n type: [Boolean, Object] as PropType<boolean | ListNoMoreOptions<T>>,\n default: true,\n },\n footer: {\n type: [Boolean, Object] as PropType<boolean | ListFooterOptions<T>>,\n default: true,\n },\n header: {\n type: [Boolean, Object] as PropType<boolean | ListHeaderOptions<T>>,\n default: true,\n },\n body: {\n type: Object as PropType<ListBodyOptions<T>>,\n },\n };\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { merge } from 'smob';\nimport type { ListProps, ListRenderOptions } from '../type';\n\nfunction mergeListOption<T extends boolean | Record<string, any> | undefined>(\n primary: T,\n secondary: T,\n) : T {\n if (typeof secondary === 'undefined') {\n return primary;\n }\n\n if (typeof primary === 'undefined') {\n return secondary;\n }\n\n if (typeof primary === 'boolean' && !primary) {\n return primary;\n }\n\n const primaryRecord = typeof primary === 'boolean' ? {} : primary;\n const secondaryRecord = typeof secondary === 'boolean' ? {} : secondary;\n\n return merge(primaryRecord, secondaryRecord) as T;\n}\n\nexport function mergeListOptions<T>(\n props: ListProps<T>,\n defaults: Partial<ListRenderOptions<T>>,\n) : ListRenderOptions<T> {\n const output : Partial<ListRenderOptions<T>> = {\n body: defaults.body,\n item: defaults.item,\n };\n\n output.header = mergeListOption(props.header, defaults.header);\n output.noMore = mergeListOption(props.noMore, defaults.noMore);\n output.footer = mergeListOption(props.footer, defaults.footer);\n output.loading = mergeListOption(props.loading, defaults.loading);\n\n return output as ListRenderOptions<T>;\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isObject } from 'smob';\nimport type { Ref } from 'vue';\n\nexport function buildListCreatedHandler<T>(\n items: Ref<T[]>,\n cb?: (entity: T) => void | Promise<void>,\n) {\n return (item: T, options?: { unshift?: boolean}) => {\n options = options || {};\n\n let index : number;\n if (isObject(item)) {\n index = items.value.findIndex(\n (el: T) => (el as Record<string, any>).id === (item as Record<string, any>).id,\n );\n } else {\n index = -1;\n }\n\n if (index === -1) {\n if (options.unshift) {\n items.value.unshift(item);\n } else {\n items.value.push(item);\n }\n\n if (cb) {\n cb(item);\n }\n }\n };\n}\n\nexport function buildListUpdatedHandler<T>(items: Ref<T[]>) {\n return (item: T) => {\n if (!isObject(item)) {\n return;\n }\n\n const index = items.value.findIndex((el: T) => (el as Record<string, any>).id === (item as Record<string, any>).id);\n\n if (index !== -1) {\n const keys = Object.keys(item) as (keyof T)[];\n for (let i = 0; i < keys.length; i++) {\n items.value[index][keys[i]] = item[keys[i]];\n }\n }\n };\n}\n\nexport function buildListDeletedHandler<T>(\n items: Ref<T[]>,\n cb?: (entity: T) => void | Promise<void>,\n) {\n return (item: T) : T | undefined => {\n if (!isObject(item)) {\n return undefined;\n }\n\n const index = items.value.findIndex((el: T) => (el as Record<string, any>).id === (item as Record<string, any>).id);\n if (index !== -1) {\n if (cb) {\n cb(items.value[index]);\n }\n\n return items.value.splice(index, 1).pop();\n }\n\n return undefined;\n };\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function boolableToObject<T extends Record<string, any>>(input: T | boolean) : T {\n if (typeof input === 'boolean') {\n return {} as T;\n }\n\n return input;\n}\n","const n = /[^\\0-\\x7E]/;\nconst t = /[\\x2E\\u3002\\uFF0E\\uFF61]/g;\nconst o = {\n overflow: \"Overflow Error\",\n \"not-basic\": \"Illegal Input\",\n \"invalid-input\": \"Invalid Input\"\n};\nconst e = Math.floor;\nconst r = String.fromCharCode;\nfunction s(n2) {\n throw new RangeError(o[n2]);\n}\nconst c = function(n2, t2) {\n return n2 + 22 + 75 * (n2 < 26) - ((t2 != 0) << 5);\n};\nconst u = function(n2, t2, o2) {\n let r2 = 0;\n for (n2 = o2 ? e(n2 / 700) : n2 >> 1, n2 += e(n2 / t2); n2 > 455; r2 += 36) {\n n2 = e(n2 / 35);\n }\n return e(r2 + 36 * n2 / (n2 + 38));\n};\nfunction toASCII(o2) {\n return function(n2, o3) {\n const e2 = n2.split(\"@\");\n let r2 = \"\";\n e2.length > 1 && (r2 = e2[0] + \"@\", n2 = e2[1]);\n const s2 = function(n3, t2) {\n const o4 = [];\n let e3 = n3.length;\n for (; e3--; ) {\n o4[e3] = t2(n3[e3]);\n }\n return o4;\n }((n2 = n2.replace(t, \".\")).split(\".\"), o3).join(\".\");\n return r2 + s2;\n }(o2, function(t2) {\n return n.test(t2) ? \"xn--\" + function(n2) {\n const t3 = [];\n const o3 = (n2 = function(n3) {\n const t4 = [];\n let o4 = 0;\n const e2 = n3.length;\n for (; o4 < e2; ) {\n const r2 = n3.charCodeAt(o4++);\n if (r2 >= 55296 && r2 <= 56319 && o4 < e2) {\n const e3 = n3.charCodeAt(o4++);\n (64512 & e3) == 56320 ? t4.push(((1023 & r2) << 10) + (1023 & e3) + 65536) : (t4.push(r2), o4--);\n } else {\n t4.push(r2);\n }\n }\n return t4;\n }(n2)).length;\n let f = 128;\n let i = 0;\n let l = 72;\n for (const o4 of n2) {\n o4 < 128 && t3.push(r(o4));\n }\n const h = t3.length;\n let p = h;\n for (h && t3.push(\"-\"); p < o3; ) {\n let o4 = 2147483647;\n for (const t4 of n2) {\n t4 >= f && t4 < o4 && (o4 = t4);\n }\n const a = p + 1;\n o4 - f > e((2147483647 - i) / a) && s(\"overflow\"), i += (o4 - f) * a, f = o4;\n for (const o5 of n2) {\n if (o5 < f && ++i > 2147483647 && s(\"overflow\"), o5 == f) {\n let n3 = i;\n for (let o6 = 36; ; o6 += 36) {\n const s2 = o6 <= l ? 1 : o6 >= l + 26 ? 26 : o6 - l;\n if (n3 < s2) {\n break;\n }\n const u2 = n3 - s2;\n const f2 = 36 - s2;\n t3.push(r(c(s2 + u2 % f2, 0))), n3 = e(u2 / f2);\n }\n t3.push(r(c(n3, 0))), l = u(i, a, p == h), i = 0, ++p;\n }\n }\n ++i, ++f;\n }\n return t3.join(\"\");\n }(t2) : t2;\n });\n}\n\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\nconst ENC_CARET_RE = /%5e/gi;\nconst ENC_BACKTICK_RE = /%60/gi;\nconst ENC_CURLY_OPEN_RE = /%7b/gi;\nconst ENC_PIPE_RE = /%7c/gi;\nconst ENC_CURLY_CLOSE_RE = /%7d/gi;\nconst ENC_SPACE_RE = /%20/gi;\nconst ENC_SLASH_RE = /%2f/gi;\nconst ENC_ENC_SLASH_RE = /%252f/gi;\nfunction encode(text) {\n return encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\");\n}\nfunction encodeHash(text) {\n return encode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\nfunction encodeQueryValue(input) {\n return encode(typeof input === \"string\" ? input : JSON.stringify(input)).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CARET_RE, \"^\").replace(SLASH_RE, \"%2F\");\n}\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\nfunction encodePath(text) {\n return encode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\").replace(ENC_ENC_SLASH_RE, \"%2F\").replace(AMPERSAND_RE, \"%26\").replace(PLUS_RE, \"%2B\");\n}\nfunction encodeParam(text) {\n return encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text = \"\") {\n try {\n return decodeURIComponent(\"\" + text);\n } catch {\n return \"\" + text;\n }\n}\nfunction decodePath(text) {\n return decode(text.replace(ENC_SLASH_RE, \"%252F\"));\n}\nfunction decodeQueryKey(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction decodeQueryValue(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction encodeHost(name = \"\") {\n return toASCII(name);\n}\n\nfunction parseQuery(parametersString = \"\") {\n const object = {};\n if (parametersString[0] === \"?\") {\n parametersString = parametersString.slice(1);\n }\n for (const parameter of parametersString.split(\"&\")) {\n const s = parameter.match(/([^=]+)=?(.*)/) || [];\n if (s.length < 2) {\n continue;\n }\n const key = decodeQueryKey(s[1]);\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = decodeQueryValue(s[2] || \"\");\n if (object[key] === void 0) {\n object[key] = value;\n } else if (Array.isArray(object[key])) {\n object[key].push(value);\n } else {\n object[key] = [object[key], value];\n }\n }\n return object;\n}\nfunction encodeQueryItem(key, value) {\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n value = String(value);\n }\n if (!value) {\n return encodeQueryKey(key);\n }\n if (Array.isArray(value)) {\n return value.map((_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}`).join(\"&\");\n }\n return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`;\n}\nfunction stringifyQuery(query) {\n return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join(\"&\");\n}\n\nconst PROTOCOL_STRICT_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{1,2})/;\nconst PROTOCOL_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{2})?/;\nconst PROTOCOL_RELATIVE_REGEX = /^([/\\\\]\\s*){2,}[^/\\\\]/;\nconst PROTOCOL_SCRIPT_RE = /^[\\s\\0]*(blob|data|javascript|vbscript):$/i;\nconst TRAILING_SLASH_RE = /\\/$|\\/\\?|\\/#/;\nconst JOIN_LEADING_SLASH_RE = /^\\.?\\//;\nfunction isRelative(inputString) {\n return [\"./\", \"../\"].some((string_) => inputString.startsWith(string_));\n}\nfunction hasProtocol(inputString, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { acceptRelative: opts };\n }\n if (opts.strict) {\n return PROTOCOL_STRICT_REGEX.test(inputString);\n }\n return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false);\n}\nfunction isScriptProtocol(protocol) {\n return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol);\n}\nfunction hasTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\");\n }\n return TRAILING_SLASH_RE.test(input);\n}\nfunction withoutTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || \"/\";\n }\n if (!hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n }\n const [s0, ...s] = path.split(\"?\");\n const cleanPath = s0.endsWith(\"/\") ? s0.slice(0, -1) : s0;\n return (cleanPath || \"/\") + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction withTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\") ? input : input + \"/\";\n }\n if (hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n if (!path) {\n return fragment;\n }\n }\n const [s0, ...s] = path.split(\"?\");\n return s0 + \"/\" + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction hasLeadingSlash(input = \"\") {\n return input.startsWith(\"/\");\n}\nfunction withoutLeadingSlash(input = \"\") {\n return (hasLeadingSlash(input) ? input.slice(1) : input) || \"/\";\n}\nfunction withLeadingSlash(input = \"\") {\n return hasLeadingSlash(input) ? input : \"/\" + input;\n}\nfunction cleanDoubleSlashes(input = \"\") {\n return input.split(\"://\").map((string_) => string_.replace(/\\/{2,}/g, \"/\")).join(\"://\");\n}\nfunction withBase(input, base) {\n if (isEmptyURL(base) || hasProtocol(input)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (input.startsWith(_base)) {\n return input;\n }\n return joinURL(_base, input);\n}\nfunction withoutBase(input, base) {\n if (isEmptyURL(base)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (!input.startsWith(_base)) {\n return input;\n }\n const trimmed = input.slice(_base.length);\n return trimmed[0] === \"/\" ? trimmed : \"/\" + trimmed;\n}\nfunction withQuery(input, query) {\n const parsed = parseURL(input);\n const mergedQuery = { ...parseQuery(parsed.search), ...query };\n parsed.search = stringifyQuery(mergedQuery);\n return stringifyParsedURL(parsed);\n}\nfunction getQuery(input) {\n return parseQuery(parseURL(input).search);\n}\nfunction isEmptyURL(url) {\n return !url || url === \"/\";\n}\nfunction isNonEmptyURL(url) {\n return url && url !== \"/\";\n}\nfunction joinURL(base, ...input) {\n let url = base || \"\";\n for (const segment of input.filter((url2) => isNonEmptyURL(url2))) {\n if (url) {\n const _segment = segment.replace(JOIN_LEADING_SLASH_RE, \"\");\n url = withTrailingSlash(url) + _segment;\n } else {\n url = segment;\n }\n }\n return url;\n}\nfunction joinRelativeURL(..._input) {\n const JOIN_SEGMENT_SPLIT_RE = /\\/(?!\\/)/;\n const input = _input.filter(Boolean);\n const segments = [];\n let segmentsDepth = 0;\n for (const i of input) {\n if (!i || i === \"/\") {\n continue;\n }\n for (const [sindex, s] of i.split(JOIN_SEGMENT_SPLIT_RE).entries()) {\n if (!s || s === \".\") {\n continue;\n }\n if (s === \"..\") {\n if (segments.length === 1 && hasProtocol(segments[0])) {\n continue;\n }\n segments.pop();\n segmentsDepth--;\n continue;\n }\n if (sindex === 1 && segments[segments.length - 1]?.endsWith(\":/\")) {\n segments[segments.length - 1] += \"/\" + s;\n continue;\n }\n segments.push(s);\n segmentsDepth++;\n }\n }\n let url = segments.join(\"/\");\n if (segmentsDepth >= 0) {\n if (input[0]?.startsWith(\"/\") && !url.startsWith(\"/\")) {\n url = \"/\" + url;\n } else if (input[0]?.startsWith(\"./\") && !url.startsWith(\"./\")) {\n url = \"./\" + url;\n }\n } else {\n url = \"../\".repeat(-1 * segmentsDepth) + url;\n }\n if (input[input.length - 1]?.endsWith(\"/\") && !url.endsWith(\"/\")) {\n url += \"/\";\n }\n return url;\n}\nfunction withHttp(input) {\n return withProtocol(input, \"http://\");\n}\nfunction withHttps(input) {\n return withProtocol(input, \"https://\");\n}\nfunction withoutProtocol(input) {\n return withProtocol(input, \"\");\n}\nfunction withProtocol(input, protocol) {\n let match = input.match(PROTOCOL_REGEX);\n if (!match) {\n match = input.match(/^\\/{2,}/);\n }\n if (!match) {\n return protocol + input;\n }\n return protocol + input.slice(match[0].length);\n}\nfunction normalizeURL(input) {\n const parsed = parseURL(input);\n parsed.pathname = encodePath(decodePath(parsed.pathname));\n parsed.hash = encodeHash(decode(parsed.hash));\n parsed.host = encodeHost(decode(parsed.host));\n parsed.search = stringifyQuery(parseQuery(parsed.search));\n return stringifyParsedURL(parsed);\n}\nfunction resolveURL(base = \"\", ...inputs) {\n if (typeof base !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof base} (${base})`\n );\n }\n const filteredInputs = inputs.filter((input) => isNonEmptyURL(input));\n if (filteredInputs.length === 0) {\n return base;\n }\n const url = parseURL(base);\n for (const inputSegment of filteredInputs) {\n const urlSegment = parseURL(inputSegment);\n if (urlSegment.pathname) {\n url.pathname = withTrailingSlash(url.pathname) + withoutLeadingSlash(urlSegment.pathname);\n }\n if (urlSegment.hash && urlSegment.hash !== \"#\") {\n url.hash = urlSegment.hash;\n }\n if (urlSegment.search && urlSegment.search !== \"?\") {\n if (url.search && url.search !== \"?\") {\n const queryString = stringifyQuery({\n ...parseQuery(url.search),\n ...parseQuery(urlSegment.search)\n });\n url.search = queryString.length > 0 ? \"?\" + queryString : \"\";\n } else {\n url.search = urlSegment.search;\n }\n }\n }\n return stringifyParsedURL(url);\n}\nfunction isSamePath(p1, p2) {\n return decode(withoutTrailingSlash(p1)) === decode(withoutTrailingSlash(p2));\n}\nfunction isEqual(a, b, options = {}) {\n if (!options.trailingSlash) {\n a = withTrailingSlash(a);\n b = withTrailingSlash(b);\n }\n if (!options.leadingSlash) {\n a = withLeadingSlash(a);\n b = withLeadingSlash(b);\n }\n if (!options.encoding) {\n a = decode(a);\n b = decode(b);\n }\n return a === b;\n}\nfunction withFragment(input, hash) {\n if (!hash || hash === \"#\") {\n return input;\n }\n const parsed = parseURL(input);\n parsed.hash = hash === \"\" ? \"\" : \"#\" + encodeHash(hash);\n return stringifyParsedURL(parsed);\n}\nfunction withoutFragment(input) {\n return stringifyParsedURL({ ...parseURL(input), hash: \"\" });\n}\nfunction withoutHost(input) {\n const parsed = parseURL(input);\n return (parsed.pathname || \"/\") + parsed.search + parsed.hash;\n}\n\nconst protocolRelative = Symbol.for(\"ufo:protocolRelative\");\nfunction parseURL(input = \"\", defaultProto) {\n const _specialProtoMatch = input.match(\n /^[\\s\\0]*(blob:|data:|javascript:|vbscript:)(.*)/i\n );\n if (_specialProtoMatch) {\n const [, _proto, _pathname = \"\"] = _specialProtoMatch;\n return {\n protocol: _proto.toLowerCase(),\n pathname: _pathname,\n href: _proto + _pathname,\n auth: \"\",\n host: \"\",\n search: \"\",\n hash: \"\"\n };\n }\n if (!hasProtocol(input, { acceptRelative: true })) {\n return defaultProto ? parseURL(defaultProto + input) : parsePath(input);\n }\n const [, protocol = \"\", auth, hostAndPath = \"\"] = input.replace(/\\\\/g, \"/\").match(/^[\\s\\0]*([\\w+.-]{2,}:)?\\/\\/([^/@]+@)?(.*)/) || [];\n let [, host = \"\", path = \"\"] = hostAndPath.match(/([^#/?]*)(.*)?/) || [];\n if (protocol === \"file:\") {\n path = path.replace(/\\/(?=[A-Za-z]:)/, \"\");\n }\n const { pathname, search, hash } = parsePath(path);\n return {\n protocol: protocol.toLowerCase(),\n auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : \"\",\n host,\n pathname,\n search,\n hash,\n [protocolRelative]: !protocol\n };\n}\nfunction parsePath(input = \"\") {\n const [pathname = \"\", search = \"\", hash = \"\"] = (input.match(/([^#?]*)(\\?[^#]*)?(#.*)?/) || []).splice(1);\n return {\n pathname,\n search,\n hash\n };\n}\nfunction parseAuth(input = \"\") {\n const [username, password] = input.split(\":\");\n return {\n username: decode(username),\n password: decode(password)\n };\n}\nfunction parseHost(input = \"\") {\n const [hostname, port] = (input.match(/([^/:]*):?(\\d+)?/) || []).splice(1);\n return {\n hostname: decode(hostname),\n port\n };\n}\nfunction stringifyParsedURL(parsed) {\n const pathname = parsed.pathname || \"\";\n const search = parsed.search ? (parsed.search.startsWith(\"?\") ? \"\" : \"?\") + parsed.search : \"\";\n const hash = parsed.hash || \"\";\n const auth = parsed.auth ? parsed.auth + \"@\" : \"\";\n const host = parsed.host || \"\";\n const proto = parsed.protocol || parsed[protocolRelative] ? (parsed.protocol || \"\") + \"//\" : \"\";\n return proto + auth + host + pathname + search + hash;\n}\nconst FILENAME_STRICT_REGEX = /\\/([^/]+\\.[^/]+)$/;\nconst FILENAME_REGEX = /\\/([^/]+)$/;\nfunction parseFilename(input = \"\", { strict }) {\n const { pathname } = parseURL(input);\n const matches = strict ? pathname.match(FILENAME_STRICT_REGEX) : pathname.match(FILENAME_REGEX);\n return matches ? matches[1] : void 0;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass $URL {\n constructor(input = \"\") {\n __publicField(this, \"protocol\");\n __publicField(this, \"host\");\n __publicField(this, \"auth\");\n __publicField(this, \"pathname\");\n __publicField(this, \"query\", {});\n __publicField(this, \"hash\");\n if (typeof input !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof input} (${input})`\n );\n }\n const parsed = parseURL(input);\n this.protocol = decode(parsed.protocol);\n this.host = decode(parsed.host);\n this.auth = decode(parsed.auth);\n this.pathname = decodePath(parsed.pathname);\n this.query = parseQuery(parsed.search);\n this.hash = decode(parsed.hash);\n }\n get hostname() {\n return parseHost(this.host).hostname;\n }\n get port() {\n return parseHost(this.host).port || \"\";\n }\n get username() {\n return parseAuth(this.auth).username;\n }\n get password() {\n return parseAuth(this.auth).password || \"\";\n }\n get hasProtocol() {\n return this.protocol.length;\n }\n get isAbsolute() {\n return this.hasProtocol || this.pathname[0] === \"/\";\n }\n get search() {\n const q = stringifyQuery(this.query);\n return q.length > 0 ? \"?\" + q : \"\";\n }\n get searchParams() {\n const p = new URLSearchParams();\n for (const name in this.query) {\n const value = this.query[name];\n if (Array.isArray(value)) {\n for (const v of value) {\n p.append(name, v);\n }\n } else {\n p.append(\n name,\n typeof value === \"string\" ? value : JSON.stringify(value)\n );\n }\n }\n return p;\n }\n get origin() {\n return (this.protocol ? this.protocol + \"//\" : \"\") + encodeHost(this.host);\n }\n get fullpath() {\n return encodePath(this.pathname) + this.search + encodeHash(this.hash);\n }\n get encodedAuth() {\n if (!this.auth) {\n return \"\";\n }\n const { username, password } = parseAuth(this.auth);\n return encodeURIComponent(username) + (password ? \":\" + encodeURIComponent(password) : \"\");\n }\n get href() {\n const auth = this.encodedAuth;\n const originWithAuth = (this.protocol ? this.protocol + \"//\" : \"\") + (auth ? auth + \"@\" : \"\") + encodeHost(this.host);\n return this.hasProtocol && this.isAbsolute ? originWithAuth + this.fullpath : this.fullpath;\n }\n append(url) {\n if (url.hasProtocol) {\n throw new Error(\"Cannot append a URL with protocol\");\n }\n Object.assign(this.query, url.query);\n if (url.pathname) {\n this.pathname = withTrailingSlash(this.pathname) + withoutLeadingSlash(url.pathname);\n }\n if (url.hash) {\n this.hash = url.hash;\n }\n }\n toJSON() {\n return this.href;\n }\n toString() {\n return this.href;\n }\n}\nfunction createURL(input) {\n return new $URL(input);\n}\n\nexport { $URL, cleanDoubleSlashes, createURL, decode, decodePath, decodeQueryKey, decodeQueryValue, encode, encodeHash, encodeHost, encodeParam, encodePath, encodeQueryItem, encodeQueryKey, encodeQueryValue, getQuery, hasLeadingSlash, hasProtocol, hasTrailingSlash, isEmptyURL, isEqual, isNonEmptyURL, isRelative, isSamePath, isScriptProtocol, joinRelativeURL, joinURL, normalizeURL, parseAuth, parseFilename, parseHost, parsePath, parseQuery, parseURL, resolveURL, stringifyParsedURL, stringifyQuery, withBase, withFragment, withHttp, withHttps, withLeadingSlash, withProtocol, withQuery, withTrailingSlash, withoutBase, withoutFragment, withoutHost, withoutLeadingSlash, withoutProtocol, withoutTrailingSlash };\n","const e=globalThis.Blob,o=globalThis.File,a=globalThis.FormData,s=globalThis.Headers,t=globalThis.Request,h=globalThis.Response,i=globalThis.AbortController,l=globalThis.fetch||(()=>{throw new Error(\"[node-fetch-native] Failed to fetch: `globalThis.fetch` is not available!\")});export{i as AbortController,e as Blob,o as File,a as FormData,s as Headers,t as Request,h as Response,l as default,l as fetch};\n","function isObject(item) {\n return !!item && typeof item === 'object' && !Array.isArray(item);\n}\n\nfunction createExtractOptionsFn(fn) {\n return (...input)=>{\n const output = {};\n for(let i = 0; i < input.length; i++){\n const element = input[i];\n if (typeof element === 'string') {\n output.message = element;\n continue;\n }\n // message,stack & cause are not enumerable\n if (element instanceof Error) {\n output.message = element.message;\n output.stack = element.stack;\n output.cause = element;\n }\n // if element prototype is not of instance Error,\n // then message, stack & cause get extracted here.\n if (fn(element)) {\n const keys = Object.keys(element);\n for(let i = 0; i < keys.length; i++){\n output[keys[i]] = element[keys[i]];\n }\n }\n }\n return output;\n };\n}\nfunction isOptions(input) {\n if (!isObject(input)) {\n return false;\n }\n if (typeof input.message !== 'undefined' && typeof input.message !== 'string') {\n return false;\n }\n if (typeof input.stack !== 'undefined' && typeof input.stack !== 'string') {\n return false;\n }\n if (typeof input.code !== 'undefined' && typeof input.code !== 'number' && typeof input.code !== 'string' && input.code !== null) {\n return false;\n }\n if (typeof input.expose !== 'undefined' && typeof input.expose !== 'boolean') {\n return false;\n }\n if (typeof input.logMessage !== 'undefined' && typeof input.logMessage !== 'boolean') {\n return false;\n }\n return typeof input.logLevel === 'undefined' || typeof input.logLevel === 'number' || typeof input.logLevel === 'string';\n}\nconst check = createExtractOptionsFn(isOptions);\nfunction extractOptions(...input) {\n return check(...input);\n}\n\nclass BaseError extends Error {\n //--------------------------------------------------------------------\n constructor(...input){\n const options = extractOptions(...input);\n super(options.message, {\n cause: options.cause\n });\n if (typeof this.name === 'undefined' || this.name === 'Error') {\n Object.defineProperty(this, 'name', {\n configurable: true,\n enumerable: false,\n value: this.constructor.name,\n writable: true\n });\n }\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n // override existing stack\n if (options.stack) {\n this.stack = options.stack;\n }\n this.code = options.code;\n this.expose = options.expose;\n this.logMessage = options.logMessage;\n this.logLevel = options.logLevel;\n this.data = options.data;\n }\n}\nfunction isBaseError(input) {\n if (!isOptions(input)) {\n return false;\n }\n return typeof input.message === 'string';\n}\n\nexport { BaseError, createExtractOptionsFn, extractOptions, isBaseError, isObject, isOptions };\n//# sourceMappingURL=index.mjs.map\n","import { withBase, withQuery } from 'ufo';\nimport nodeFetch, { File as File$1, FormData as FormData$1, AbortController as AbortController$1, Headers as Headers$1, Blob as Blob$1 } from 'node-fetch-native';\nimport { BaseError } from 'ebec';\n\nvar n = Object.defineProperty;\nvar e = (t, r)=>n(t, \"name\", {\n value: r,\n configurable: !0\n });\nvar i = Object.defineProperty, c = e((t, r)=>i(t, \"name\", {\n value: r,\n configurable: !0\n }), \"e\");\nfunction a() {\n return {\n agent: void 0,\n dispatcher: void 0\n };\n}\ne(a, \"createProxy\"), c(a, \"createProxy\");\nfunction o() {\n return globalThis.fetch;\n}\ne(o, \"createFetch\"), c(o, \"createFetch\");\n\nconst gT = (()=>{\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n // eslint-disable-next-line no-restricted-globals\n if (typeof self !== 'undefined') {\n // eslint-disable-next-line no-restricted-globals\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\nconst File = gT.File || File$1;\nconst FormData = gT.FormData || FormData$1;\nconst AbortController = gT.AbortController || AbortController$1;\nconst fetch = gT.fetch || nodeFetch;\nconst Headers = gT.Headers || Headers$1;\nconst Blob = gT.Blob || Blob$1;\n\n/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ var ResponseType;\n(function(ResponseType) {\n ResponseType[\"BLOB\"] = \"blob\";\n ResponseType[\"STREAM\"] = \"stream\";\n ResponseType[\"TEXT\"] = \"text\";\n ResponseType[\"ARRAY_BUFFER\"] = \"arrayBuffer\";\n ResponseType[\"JSON\"] = \"json\";\n})(ResponseType || (ResponseType = {}));\nvar MethodName;\n(function(MethodName) {\n MethodName[\"DELETE\"] = \"DELETE\";\n MethodName[\"GET\"] = \"GET\";\n MethodName[\"HEAD\"] = \"HEAD\";\n MethodName[\"PATCH\"] = \"PATCH\";\n MethodName[\"POST\"] = \"POST\";\n MethodName[\"PUT\"] = \"PUT\";\n})(MethodName || (MethodName = {}));\n\n/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ var HookName;\n(function(HookName) {\n HookName[\"REQUEST\"] = \"request\";\n HookName[\"REQUEST_ERROR\"] = \"requestError\";\n HookName[\"RESPONSE\"] = \"response\";\n HookName[\"RESPONSE_ERROR\"] = \"responseError\";\n})(HookName || (HookName = {}));\n\n/*\n * Copyright (c) 2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ // eslint-disable-next-line @typescript-eslint/ban-types\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nfunction kindOf(input) {\n return Object.prototype.toString.call(input).slice(8, -1).toLowerCase();\n}\nfunction kindOfTest(type, input) {\n type = type.toLowerCase();\n return kindOf(input) === type;\n}\nfunction isObject(input) {\n return typeof input === 'object' && input !== null && !!input && !Array.isArray(input);\n}\nfunction isStream(input) {\n return isObject(input) && typeof input.pipe === 'function';\n}\nfunction isFormData(input) {\n if (typeof FormData !== 'undefined' && input instanceof FormData) {\n return true;\n }\n const pattern = '[object FormData]';\n if (Object.prototype.toString.call(input) === pattern) {\n return true;\n }\n return !!input && typeof input.toString === 'function' && input.toString() === pattern;\n}\nfunction isArrayBuffer(input) {\n if (typeof ArrayBuffer !== 'undefined' && input instanceof ArrayBuffer) {\n return true;\n }\n return kindOfTest('ArrayBuffer', input);\n}\nfunction isFile(input) {\n if (typeof File !== 'undefined' && input instanceof File) {\n return true;\n }\n return kindOfTest('File', input);\n}\nfunction isBlob(input) {\n if (typeof Blob !== 'undefined' && input instanceof Blob) {\n return true;\n }\n return kindOfTest('Blob', input);\n}\nfunction isURLSearchParams(input) {\n if (typeof URLSearchParams !== 'undefined' && input instanceof URLSearchParams) {\n return true;\n }\n return kindOfTest('URLSearchParams', input);\n}\n\nfunction verifyInstanceBySymbol(input, name) {\n if (!isObject(input) && typeof input !== 'function') {\n return false;\n }\n return input['@instanceof'] === Symbol.for(name);\n}\n\nfunction isJSONSerializable(input) {\n if (input === undefined) {\n return false;\n }\n const t = typeof input;\n if (t === 'string' || t === 'number' || t === 'boolean' || t === null) {\n return true;\n }\n if (t !== 'object') {\n return false; // bigint, function, symbol, undefined\n }\n if (Array.isArray(input)) {\n return true;\n }\n return isObject(input) || typeof input === 'function' && input.toJSON === 'function';\n}\n\n/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function isPromise(p) {\n return typeof p === 'object' && p !== null && (typeof Promise !== 'undefined' && p instanceof Promise || // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n typeof p.then === 'function');\n}\n\n/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ var AuthorizationHeaderType;\n(function(AuthorizationHeaderType) {\n AuthorizationHeaderType[\"BEARER\"] = \"Bearer\";\n AuthorizationHeaderType[\"BASIC\"] = \"Basic\";\n AuthorizationHeaderType[\"X_API_KEY\"] = \"X-API-Key\";\n AuthorizationHeaderType[\"API_KEY\"] = \"API-Key\";\n})(AuthorizationHeaderType || (AuthorizationHeaderType = {}));\n\n/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ var ErrorCode;\n(function(ErrorCode) {\n ErrorCode[\"AUTHORIZATION_HEADER_INVALID\"] = \"auth_header_invalid\";\n ErrorCode[\"AUTHORIZATION_HEADER_PARSE\"] = \"auth_header_parse\";\n ErrorCode[\"AUTHORIZATION_HEADER_TYPE_PARSE\"] = \"auth_header_type_parse\";\n ErrorCode[\"CONNECTION_ABORTED\"] = \"ECONNABORTED\";\n ErrorCode[\"CONNECTION_CLOSED\"] = \"ECONNRESET\";\n})(ErrorCode || (ErrorCode = {}));\n\nclass AuthorizationHeaderError extends BaseError {\n /* istanbul ignore next */ static parse() {\n throw new AuthorizationHeaderError({\n code: ErrorCode.AUTHORIZATION_HEADER_PARSE,\n message: 'The authorization header value could not be parsed.'\n });\n }\n /* istanbul ignore next */ static parseType() {\n throw new AuthorizationHeaderError({\n code: ErrorCode.AUTHORIZATION_HEADER_TYPE_PARSE,\n message: 'The authorization header value type must either be \\'Bearer\\' or \\'Basic\\''\n });\n }\n constructor(options){\n super({\n code: ErrorCode.AUTHORIZATION_HEADER_INVALID,\n message: 'The authorization header is not valid.'\n }, options || {});\n }\n}\n\nclass ClientError extends BaseError {\n constructor(ctx){\n super();\n this['@instanceof'] = Symbol.for('ClientError');\n this.request = ctx.request;\n this.response = ctx.response;\n this.code = ctx.code;\n this.status = ctx.response && ctx.response.status;\n this.statusCode = ctx.response && ctx.response.status;\n this.statusMessage = ctx.response && ctx.response.statusText;\n this.statusText = ctx.response && ctx.response.statusText;\n this.message = ctx.message;\n }\n}\n\nfunction formatRequestOptions(input) {\n if (input.url) {\n let output = input.url;\n if (input.query) {\n const searchParams = new URLSearchParams(input.query);\n const searchQuery = searchParams.toString();\n if (searchQuery.length > 0) {\n output += `?${searchQuery}`;\n }\n }\n return output;\n }\n return input.toString();\n}\nfunction createClientError(context) {\n let message;\n if (context.request && context.response) {\n message = `${context.response.status} ${context.response.statusText} (${formatRequestOptions(context.request)})`;\n } else if (context.request) {\n message = `${formatRequestOptions(context.request)}`;\n }\n if (context.error && context.error.message) {\n message = `${context.error.message} (${message})`;\n }\n if (!message) {\n message = 'An unknown error occurred.';\n }\n const isAbort = !!context.error && context.error.name === 'AbortError';\n let code;\n if (!context.response) {\n if (isAbort) {\n code = ErrorCode.CONNECTION_ABORTED;\n } else {\n code = ErrorCode.CONNECTION_CLOSED;\n }\n }\n const output = new ClientError({\n ...context,\n code,\n message\n });\n return output;\n}\nfunction isClientError(error) {\n if (error instanceof ClientError) {\n return true;\n }\n return isObject(error) && verifyInstanceBySymbol(error, 'ClientError');\n}\nfunction isClientErrorWithStatusCode(error, statusCode) {\n if (!isClientError(error) || !isObject(error.response)) {\n return false;\n }\n const statusCodes = Array.isArray(statusCode) ? statusCode : [\n statusCode\n ];\n for(let i = 0; i < statusCodes.length; i++){\n if (statusCodes[i] === error.response.status) {\n return true;\n }\n }\n return false;\n}\nfunction isClientErrorDueNetworkIssue(error) {\n return isClientError(error) && !error.response && Boolean(error.code) && error.code !== ErrorCode.CONNECTION_ABORTED;\n}\n\nfunction parseAuthorizationHeader(value) {\n /* istanbul ignore next */ if (typeof value !== 'string') {\n throw AuthorizationHeaderError.parse();\n }\n const parts = value.split(' ');\n if (parts.length < 2) {\n throw AuthorizationHeaderError.parseType();\n }\n const type = parts[0].toLowerCase();\n const id = parts[1];\n switch(type){\n case 'basic':\n {\n const base64Decoded = Buffer.from(id, 'base64').toString('utf-8');\n const base64Parts = base64Decoded.split(':');\n if (base64Parts.length !== 2) {\n throw AuthorizationHeaderError.parse();\n }\n return {\n type: AuthorizationHeaderType.BASIC,\n username: base64Parts[0],\n password: base64Parts[1]\n };\n }\n case 'bearer':\n return {\n type: AuthorizationHeaderType.BEARER,\n token: id\n };\n case 'api-key':\n case 'x-api-key':\n return {\n type: type === 'api-key' ? AuthorizationHeaderType.API_KEY : AuthorizationHeaderType.X_API_KEY,\n key: id\n };\n default:\n throw AuthorizationHeaderError.parseType();\n }\n}\nfunction stringifyAuthorizationHeader(header) {\n switch(header.type){\n case AuthorizationHeaderType.BASIC:\n {\n const basicStr = Buffer.from(`${header.username}:${header.password}`).toString('base64');\n return `Basic ${basicStr}`;\n }\n case AuthorizationHeaderType.BEARER:\n return `Bearer ${header.token}`;\n case AuthorizationHeaderType.X_API_KEY:\n case AuthorizationHeaderType.API_KEY:\n return `${header.type} ${header.key}`;\n }\n return '';\n}\n\n/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ var HeaderName;\n(function(HeaderName) {\n HeaderName[\"ACCEPT\"] = \"accept\";\n HeaderName[\"AUTHORIZATION\"] = \"authorization\";\n HeaderName[\"CONTENT_TYPE\"] = \"content-type\";\n})(HeaderName || (HeaderName = {}));\n\nfunction setHeader(headers, key, value) {\n key = key.toLowerCase();\n if (typeof Headers !== 'undefined' && headers instanceof Headers) {\n headers.set(key, value);\n return;\n }\n if (Array.isArray(headers)) {\n const index = headers.findIndex((el)=>el.length === 2 && el[0].toLowerCase() === key);\n if (index !== -1) {\n headers[index] = [\n key,\n value\n ];\n } else {\n headers.push([\n key,\n value\n ]);\n }\n return;\n }\n const keys = Object.keys(headers);\n const index = keys.findIndex((el)=>el.toLowerCase() === key);\n if (index !== -1) {\n headers[keys[index]] = value;\n } else {\n headers[key] = value;\n }\n}\nfunction getHeader(headers, key) {\n key = key.toLowerCase();\n if (typeof Headers !== 'undefined' && headers instanceof Headers) {\n const value = headers.get(key);\n return value === null ? undefined : value;\n }\n if (Array.isArray(headers)) {\n const index = headers.findIndex((el)=>el.length === 2 && el[0].toLowerCase() === key);\n if (index !== -1) {\n return headers[index][1];\n }\n return undefined;\n }\n const keys = Object.keys(headers);\n const index = keys.findIndex((el)=>el.toLowerCase() === key);\n if (index !== -1) {\n return headers[keys[index]];\n }\n return undefined;\n}\nfunction unsetHeader(headers, key) {\n key = key.toLowerCase();\n if (typeof Headers !== 'undefined' && headers instanceof Headers) {\n headers.delete(key);\n return;\n }\n if (Array.isArray(headers)) {\n const index = headers.findIndex((el)=>el.length === 2 && el[0].toLowerCase() === key.toLowerCase());\n if (index !== -1) {\n headers.splice(index, 1);\n }\n return;\n }\n const keys = Object.keys(headers);\n const index = keys.findIndex((el)=>el.toLowerCase() === key);\n if (index !== -1) {\n delete headers[keys[index]];\n }\n}\n\nfunction createDefaultRequestTransformer() {\n return (data, headers)=>{\n if (isFormData(data)) {\n headers.delete(HeaderName.CONTENT_TYPE);\n }\n if (isArrayBuffer(data) || isFile(data) || isBlob(data) || isFormData(data) || isStream(data)) {\n return data;\n }\n if (isURLSearchParams(data)) {\n headers.set(HeaderName.CONTENT_TYPE, 'application/x-www-form-urlencoded;charset=utf-8');\n return data;\n }\n const contentType = headers.get(HeaderName.CONTENT_TYPE) || '';\n const contentTypeIsJson = contentType.indexOf('application/json') !== -1;\n if (isJSONSerializable(data) || contentTypeIsJson) {\n data = typeof data === 'string' ? data : JSON.stringify(data);\n if (!headers.has(HeaderName.CONTENT_TYPE)) {\n headers.set(HeaderName.CONTENT_TYPE, 'application/json');\n }\n if (!headers.has(HeaderName.ACCEPT)) {\n headers.set(HeaderName.ACCEPT, 'application/json');\n }\n }\n return data;\n };\n}\n\nfunction extendRequestOptionsWithDefaults(options) {\n if (!options.transform) {\n options.transform = [\n createDefaultRequestTransformer()\n ];\n }\n return options;\n}\n\nfunction isRequestPayloadSupported(method = 'GET') {\n method = method.toUpperCase();\n return method === MethodName.PATCH || method === MethodName.POST || method === MethodName.PUT;\n}\n\nfunction isRequestOptions(input) {\n if (!isObject(input)) {\n return false;\n }\n return input.url === 'string';\n}\n\nfunction isResponse(input) {\n if (!isObject(input)) {\n return false;\n }\n return typeof input.headers !== 'undefined' && typeof input.ok === 'boolean';\n}\n\nconst JSON_REGEX = /^application\\/(?:[\\w!#$%&*.^`~-]*\\+)?json(;.+)?$/i;\nfunction detectResponseType(input) {\n if (typeof input !== 'string' || input.length === 0) {\n return ResponseType.STREAM;\n }\n const contentType = input.split(';').shift() || '';\n if (JSON_REGEX.test(contentType)) {\n return ResponseType.JSON;\n }\n const textTypes = [\n 'image/svg',\n 'application/xml',\n 'application/xhtml',\n 'application/html'\n ];\n if (textTypes.indexOf(contentType) !== -1 || contentType.startsWith('text/')) {\n return ResponseType.TEXT;\n }\n return ResponseType.JSON;\n}\n\nclass HookManager {\n addListener(name, fn) {\n this.items[name] = this.items[name] || [];\n this.items[name].push(fn);\n return this.items[name].length - 1;\n }\n removeListener(name, fn) {\n if (!this.items[name]) {\n return;\n }\n if (typeof fn === 'number') {\n this.items[name][fn] = undefined;\n return;\n }\n const index = this.items[name].indexOf(fn);\n if (index !== -1) {\n this.items[name][index] = undefined;\n }\n }\n removeListeners(name) {\n delete this.items[name];\n }\n async triggerReqHook(input) {\n const items = this.items[HookName.REQUEST] || [];\n let temp = input;\n for(let i = 0; i < items.length; i++){\n const hook = items[i];\n if (!hook) {\n continue;\n }\n let output = hook(temp);\n if (isPromise(output)) {\n output = await output;\n }\n if (isRequestOptions(output)) {\n temp = output;\n }\n }\n return temp;\n }\n async triggerResHook(input) {\n const items = this.items[HookName.RESPONSE] || [];\n let temp = input;\n for(let i = 0; i < items.length; i++){\n const hook = items[i];\n if (!hook) {\n continue;\n }\n let output = hook(temp);\n if (isPromise(output)) {\n output = await output;\n }\n if (isResponse(output)) {\n temp = output;\n }\n }\n return temp;\n }\n async triggerErrorHook(name, input) {\n const items = this.items[name] || [];\n let temp = input;\n for(let i = 0; i < items.length; i++){\n const hook = items[i];\n if (!hook) {\n continue;\n }\n try {\n let output = hook(temp);\n if (isPromise(output)) {\n output = await output;\n }\n if (isResponse(output) || isRequestOptions(output)) {\n return output;\n }\n } catch (e) {\n temp = e;\n }\n }\n throw temp;\n }\n constructor(){\n this.items = {};\n }\n}\n\nclass Client {\n // ---------------------------------------------------------------------------------\n /**\n * Return base url\n *\n * @return string\n */ getBaseURL() {\n return this.defaults.baseURL;\n }\n /**\n * Overwrite existing base url.\n *\n * @param url\n */ setBaseURL(url) {\n this.defaults.baseURL = url;\n return this;\n }\n // ---------------------------------------------------------------------------------\n /**\n * Set a header for all upcoming requests.\n *\n * @param key\n * @param value\n */ setHeader(key, value) {\n this.headers.set(key, value);\n return this;\n }\n /**\n * Get a header for all upcoming requests.\n *\n * @param key\n */ getHeader(key) {\n return this.headers.get(key);\n }\n /**\n * Unset a specific for all upcoming requests.\n *\n * @param key\n */ unsetHeader(key) {\n if (this.headers.has(key)) {\n this.headers.delete(key);\n }\n return this;\n }\n /**\n * Unset all defined headers for the upcoming requests.\n */ unsetHeaders() {\n this.headers.forEach((_value, key)=>{\n this.headers.delete(key);\n });\n return this;\n }\n // ---------------------------------------------------------------------------------\n /**\n * Set an authorization header (basic, api-key, bearer).\n *\n * @param options\n */ setAuthorizationHeader(options) {\n this.setHeader(HeaderName.AUTHORIZATION, stringifyAuthorizationHeader(options));\n return this;\n }\n /**\n * Get authorization header.\n */ getAuthorizationHeader() {\n const header = this.getHeader(HeaderName.AUTHORIZATION);\n if (header !== null) {\n return header;\n }\n return undefined;\n }\n /**\n * Unset an authorization header.\n */ unsetAuthorizationHeader() {\n this.unsetHeader(HeaderName.AUTHORIZATION);\n return this;\n }\n // ---------------------------------------------------------------------------------\n /**\n * Make a custom request.\n *\n * @param config\n */ async request(config) {\n const headers = new Headers(config.headers);\n this.headers.forEach((value, key)=>{\n if (!headers.has(key)) {\n headers.set(key, value);\n }\n });\n const baseURL = config.baseURL || this.defaults.baseURL;\n let options = {\n ...this.defaults,\n ...config,\n headers,\n url: baseURL ? withBase(config.url, baseURL) : config.url\n };\n if (options.query || options.params) {\n options.url = withQuery(options.url, {\n ...options.params,\n ...options.query\n });\n }\n options = await this.hookManager.triggerReqHook(options);\n if (options.transform) {\n const transformers = Array.isArray(options.transform) ? options.transform : [\n options.transform\n ];\n for(let i = 0; i < transformers.length; i++){\n const transformer = transformers[i];\n options.body = transformer(options.body, options.headers);\n }\n }\n const handleError = async (step, ctx)=>{\n const error = createClientError(ctx);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(error);\n }\n let output;\n if (step === 'request') {\n output = await this.hookManager.triggerErrorHook(HookName.REQUEST_ERROR, error);\n } else {\n output = await this.hookManager.triggerErrorHook(HookName.RESPONSE_ERROR, error);\n }\n if (output) {\n if (isResponse(output)) {\n return output;\n }\n return this.request(output);\n }\n throw error;\n };\n let response;\n try {\n if (!isRequestPayloadSupported(options.method)) {\n delete options.body;\n }\n const { url, proxy, ...data } = options;\n if (proxy === false) {\n response = await fetch(url, data);\n } else {\n let proxyOptions;\n if (typeof proxy !== 'boolean' && typeof proxy !== 'undefined') {\n proxyOptions = proxy;\n }\n response = await fetch(url, {\n ...data,\n ...a(proxyOptions)\n });\n }\n } catch (error) {\n return handleError('request', {\n request: options,\n ...error instanceof Error ? {\n error\n } : {}\n });\n }\n const responseType = options.responseType || detectResponseType(response.headers.get(HeaderName.CONTENT_TYPE));\n let data;\n switch(responseType){\n case ResponseType.STREAM:\n {\n data = response.body;\n break;\n }\n case ResponseType.BLOB:\n {\n data = await response.blob();\n break;\n }\n case ResponseType.ARRAY_BUFFER:\n {\n data = await response.arrayBuffer();\n break;\n }\n case ResponseType.TEXT:\n {\n data = await response.text();\n break;\n }\n default:\n {\n const temp = await response.text();\n try {\n data = JSON.parse(temp);\n } catch (e) {\n data = temp;\n }\n }\n }\n Object.defineProperty(response, 'data', {\n get () {\n return data;\n },\n set (value) {\n data = value;\n }\n });\n if (response.status >= 400 && response.status < 600) {\n return handleError('response', {\n response,\n request: options\n });\n }\n return await this.hookManager.triggerResHook(response);\n }\n // ---------------------------------------------------------------------------------\n /**\n * Request a resource with the GET method.\n *\n * @param url\n * @param config\n */ get(url, config) {\n return this.request({\n ...config || {},\n method: MethodName.GET,\n url\n });\n }\n // ---------------------------------------------------------------------------------\n /**\n * Delete a resource with the DELETE method.\n *\n * @param url\n * @param config\n */ delete(url, config) {\n return this.request({\n ...config || {},\n method: MethodName.DELETE,\n url\n });\n }\n // ---------------------------------------------------------------------------------\n /**\n * Make a verification resource with the HEAD method.\n *\n * @param url\n * @param config\n */ head(url, config) {\n return this.request({\n ...config || {},\n method: MethodName.HEAD,\n url\n });\n }\n // ---------------------------------------------------------------------------------\n /**\n * Create a resource with the POST method.\n *\n * @param url\n * @param body\n * @param config\n */ post(url, body, config) {\n return this.request({\n ...config || {},\n method: MethodName.POST,\n url,\n body\n });\n }\n // ---------------------------------------------------------------------------------\n /**\n * Update a resource with the PUT method.\n *\n * @param url\n * @param body\n * @param config\n */ put(url, body, config) {\n return this.request({\n ...config || {},\n method: MethodName.PUT,\n url,\n body\n });\n }\n // ---------------------------------------------------------------------------------\n /**\n * Update a resource with the PATCH method.\n *\n * @param url\n * @param body\n * @param config\n */ patch(url, body, config) {\n return this.request({\n ...config || {},\n method: MethodName.PATCH,\n url,\n body\n });\n }\n on(name, fn) {\n return this.hookManager.addListener(name, fn);\n }\n /**\n * Remove single or specific hook fn(s).\n *\n * @param name\n * @param fn\n */ off(name, fn) {\n if (typeof fn === 'undefined') {\n this.hookManager.removeListeners(name);\n return this;\n }\n this.hookManager.removeListener(name, fn);\n return this;\n }\n // ---------------------------------------------------------------------------------\n constructor(input = {}){\n this['@instanceof'] = Symbol.for('BaseClient');\n this.defaults = extendRequestOptionsWithDefaults(input || {});\n this.headers = new Headers(this.defaults.headers);\n this.hookManager = new HookManager();\n }\n}\n\nconst instanceMap = {};\nfunction hasClient(key) {\n return hasOwnProperty(instanceMap, key || 'default');\n}\nfunction setClient(client, key) {\n key = key || 'default';\n instanceMap[key] = client;\n return client;\n}\nfunction useClient(key) {\n key = key || 'default';\n if (Object.prototype.hasOwnProperty.call(instanceMap, key)) {\n return instanceMap[key];\n }\n const instance = createClient();\n instanceMap[key] = instance;\n return instance;\n}\nfunction unsetClient(key) {\n key = key || 'default';\n if (hasOwnProperty(instanceMap, key)) {\n delete instanceMap[key];\n }\n}\nfunction createClient(input) {\n return new Client(input);\n}\nfunction isClient(input) {\n if (input instanceof Client) {\n return true;\n }\n return verifyInstanceBySymbol(input, 'Client');\n}\n\nconst client = createClient();\n\nexport { AbortController, AuthorizationHeaderError, AuthorizationHeaderType, Blob, Client, ClientError, ErrorCode, File, FormData, HeaderName, Headers, HookManager, HookName, MethodName, ResponseType, createClient, createClientError, createDefaultRequestTransformer, client as default, detectResponseType, extendRequestOptionsWithDefaults, fetch, getHeader, hasClient, hasOwnProperty, isArrayBuffer, isBlob, isClient, isClientError, isClientErrorDueNetworkIssue, isClientErrorWithStatusCode, isFile, isFormData, isJSONSerializable, isObject, isPromise, isRequestOptions, isRequestPayloadSupported, isResponse, isStream, isURLSearchParams, parseAuthorizationHeader, setClient, setHeader, stringifyAuthorizationHeader, unsetClient, unsetHeader, useClient, verifyInstanceBySymbol };\n//# sourceMappingURL=index.mjs.map\n","import { isClient, createClient, Client as Client$1, HookName, isClientError } from 'hapic';\nimport { buildQuery } from 'rapiq';\nimport '@authup/kit';\nimport { ServiceID } from '@privateaim/core-kit';\n\n/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function _define_property$5(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nclass BaseAPI {\n // -----------------------------------------------------------------------------------\n setClient(input) {\n this.client = isClient(input) ? input : createClient(input);\n }\n // -----------------------------------------------------------------------------------\n constructor(context){\n _define_property$5(this, \"client\", void 0);\n context = context || {};\n this.setClient(context.client);\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$d(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass MasterImageGroupAPI extends BaseAPI {\n getMany(data) {\n var _this = this;\n return _async_to_generator$d(function*() {\n const response = yield _this.client.get(`master-image-groups${buildQuery(data)}`);\n return response.data;\n })();\n }\n getOne(id) {\n var _this = this;\n return _async_to_generator$d(function*() {\n const response = yield _this.client.delete(`master-image-groups/${id}`);\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$d(function*() {\n const response = yield _this.client.delete(`master-image-groups/${id}`);\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$c(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$c(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$c(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$c(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property$4(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread$3(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property$4(target, key, source[key]);\n });\n }\n return target;\n}\nclass MasterImageAPI extends BaseAPI {\n getMany(data) {\n var _this = this;\n return _async_to_generator$c(function*() {\n const response = yield _this.client.get(`master-images${buildQuery(data)}`);\n return response.data;\n })();\n }\n getOne(id, data) {\n var _this = this;\n return _async_to_generator$c(function*() {\n const response = yield _this.client.get(`master-images/${id}${buildQuery(data)}`);\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$c(function*() {\n const response = yield _this.client.delete(`master-images/${id}`);\n return response.data;\n })();\n }\n runCommand(command, data = {}) {\n var _this = this;\n return _async_to_generator$c(function*() {\n const actionData = _object_spread$3({\n command\n }, data);\n const { data: response } = yield _this.client.post('master-images/command', actionData);\n return response;\n })();\n }\n}\n\nfunction nullifyEmptyObjectProperties(data) {\n const keys = Object.keys(data);\n for(let i = 0; i < keys.length; i++){\n if (data[keys[i]] === '') {\n data[keys[i]] = null;\n }\n }\n return data;\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$b(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$b(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$b(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$b(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass ProjectAPI extends BaseAPI {\n getMany(record) {\n var _this = this;\n return _async_to_generator$b(function*() {\n const response = yield _this.client.get(`projects${buildQuery(record)}`);\n return response.data;\n })();\n }\n getOne(id, requestRecord) {\n var _this = this;\n return _async_to_generator$b(function*() {\n const response = yield _this.client.get(`projects/${id}${buildQuery(requestRecord)}`);\n return response.data;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$b(function*() {\n const response = yield _this.client.post('projects', nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$b(function*() {\n const response = yield _this.client.delete(`projects/${id}`);\n return response.data;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$b(function*() {\n const response = yield _this.client.post(`projects/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$a(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$a(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$a(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$a(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass ProjectNodeAPI extends BaseAPI {\n getMany(data) {\n var _this = this;\n return _async_to_generator$a(function*() {\n const response = yield _this.client.get(`project-nodes${buildQuery(data)}`);\n return response.data;\n })();\n }\n getOne(id, data) {\n var _this = this;\n return _async_to_generator$a(function*() {\n const response = yield _this.client.get(`project-nodes/${id}${buildQuery(data)}`);\n return response.data;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$a(function*() {\n const response = yield _this.client.post('project-nodes', data);\n return response.data;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$a(function*() {\n const response = yield _this.client.post(`project-nodes/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$a(function*() {\n const response = yield _this.client.delete(`project-nodes/${id}`);\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$9(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$9(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$9(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$9(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass RegistryAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator$9(function*() {\n const response = yield _this.client.get(`registries${buildQuery(options)}`);\n return response.data;\n })();\n }\n getOne(id, options) {\n var _this = this;\n return _async_to_generator$9(function*() {\n const response = yield _this.client.get(`registries/${id}${buildQuery(options)}`);\n return response.data;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$9(function*() {\n const response = yield _this.client.post('registries', nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$9(function*() {\n const response = yield _this.client.post(`registries/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$9(function*() {\n const response = yield _this.client.delete(`registries/${id}`);\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$8(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$8(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$8(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$8(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass RegistryProjectAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator$8(function*() {\n const response = yield _this.client.get(`registry-projects${buildQuery(options)}`);\n return response.data;\n })();\n }\n getOne(id, options) {\n var _this = this;\n return _async_to_generator$8(function*() {\n const response = yield _this.client.get(`registry-projects/${id}${buildQuery(options)}`);\n return response.data;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$8(function*() {\n const response = yield _this.client.post('registry-projects', nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$8(function*() {\n const response = yield _this.client.post(`registry-projects/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$8(function*() {\n const response = yield _this.client.delete(`registry-projects/${id}`);\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$7(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property$3(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread$2(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property$3(target, key, source[key]);\n });\n }\n return target;\n}\nclass NodeAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator$7(function*() {\n const response = yield _this.client.get(`nodes${buildQuery(options)}`);\n return response.data;\n })();\n }\n getOne(id, options) {\n var _this = this;\n return _async_to_generator$7(function*() {\n const response = yield _this.client.get(`nodes/${id}${buildQuery(options)}`);\n return response.data;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$7(function*() {\n const response = yield _this.client.post('nodes', nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$7(function*() {\n const response = yield _this.client.post(`nodes/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$7(function*() {\n const response = yield _this.client.delete(`nodes/${id}`);\n return response.data;\n })();\n }\n runCommand(id, task, data) {\n var _this = this;\n return _async_to_generator$7(function*() {\n const response = yield _this.client.post(`nodes/${id}/task`, _object_spread$2({\n task\n }, data));\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$6(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property$2(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread$1(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property$2(target, key, source[key]);\n });\n }\n return target;\n}\nclass AnalysisAPI extends BaseAPI {\n // todo: we properly don't need this anymore\n getResultDownloadPath(id) {\n return `analyses/${id}/result/download`;\n }\n getResultDownloadURL(id) {\n return new URL(this.getResultDownloadPath(id), this.client.getBaseURL()).href;\n }\n getFilesDownloadPath(id) {\n return `analyses/${id}/files/download`;\n }\n getFileDownloadURL(id) {\n return new URL(this.getFilesDownloadPath(id), this.client.getBaseURL()).href;\n }\n getMany(options) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const { data: response } = yield _this.client.get(`analyses${buildQuery(options)}`);\n return response;\n })();\n }\n getOne(id, options, requestConfig) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const { data: response } = yield _this.client.get(`analyses/${id}${buildQuery(options)}`, requestConfig);\n return response;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const { data: response } = yield _this.client.delete(`analyses/${id}`);\n return response;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const { data: response } = yield _this.client.post(`analyses/${id}`, nullifyEmptyObjectProperties(data));\n return response;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const { data: response } = yield _this.client.post('analyses', nullifyEmptyObjectProperties(data));\n return response;\n })();\n }\n runCommand(id, command, data = {}) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const actionData = _object_spread$1({\n command\n }, data);\n const { data: response } = yield _this.client.post(`analyses/${id}/command`, actionData);\n return response;\n })();\n }\n streamFiles(id) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const response = yield _this.client.get(_this.getFilesDownloadPath(id), {\n responseType: 'stream'\n });\n return response.data;\n })();\n }\n downloadResult(id) {\n var _this = this;\n return _async_to_generator$6(function*() {\n const response = yield _this.client.get(_this.getResultDownloadPath(id), {\n responseType: 'stream'\n });\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$5(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass AnalysisBucketFileAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator$5(function*() {\n const response = yield _this.client.get(`analysis-bucket-files${buildQuery(options)}`);\n return response.data;\n })();\n }\n getOne(id) {\n var _this = this;\n return _async_to_generator$5(function*() {\n const response = yield _this.client.get(`analysis-bucket-files/${id}`);\n return response.data;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$5(function*() {\n const response = yield _this.client.delete(`analysis-bucket-files/${id}`);\n return response.data;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$5(function*() {\n const { data: response } = yield _this.client.post(`analysis-bucket-files/${id}`, nullifyEmptyObjectProperties(data));\n return response;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$5(function*() {\n const { data: response } = yield _this.client.post('analysis-bucket-files', nullifyEmptyObjectProperties(data));\n return response;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$4(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass AnalysisLogAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator$4(function*() {\n const { data: response } = yield _this.client.get(`analysis-logs${buildQuery(options)}`);\n return response;\n })();\n }\n getOne(id) {\n var _this = this;\n return _async_to_generator$4(function*() {\n const { data: response } = yield _this.client.get(`analysis-logs/${id}`);\n return response;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$4(function*() {\n const { data: response } = yield _this.client.delete(`analysis-logs/${id}`);\n return response;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$4(function*() {\n const { data: response } = yield _this.client.post(`analysis-logs/${id}`, data);\n return response;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$4(function*() {\n const { data: response } = yield _this.client.post('analysis-logs', data);\n return response;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$3(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass TrainStationAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator$3(function*() {\n const { data: response } = yield _this.client.get(`analysis-nodes${buildQuery(options)}`);\n return response;\n })();\n }\n getOne(id) {\n var _this = this;\n return _async_to_generator$3(function*() {\n const { data: response } = yield _this.client.get(`analysis-nodes/${id}`);\n return response;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$3(function*() {\n const { data: response } = yield _this.client.delete(`analysis-nodes/${id}`);\n return response;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$3(function*() {\n const { data: response } = yield _this.client.post(`analysis-nodes/${id}`, data);\n return response;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$3(function*() {\n const { data: response } = yield _this.client.post('analysis-nodes', data);\n return response;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$2(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass AnalysisPermissionAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator$2(function*() {\n const { data: response } = yield _this.client.get(`analysis-permissions${buildQuery(options)}`);\n return response;\n })();\n }\n getOne(id) {\n var _this = this;\n return _async_to_generator$2(function*() {\n const { data: response } = yield _this.client.get(`analysis-permissions/${id}`);\n return response;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator$2(function*() {\n const { data: response } = yield _this.client.delete(`analysis-permissions/${id}`);\n return response;\n })();\n }\n update(id, data) {\n var _this = this;\n return _async_to_generator$2(function*() {\n const { data: response } = yield _this.client.post(`analysis-permissions/${id}`, data);\n return response;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator$2(function*() {\n const { data: response } = yield _this.client.post('analysis-permissions', data);\n return response;\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator$1(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property$1(target, key, source[key]);\n });\n }\n return target;\n}\nclass ServiceAPI extends BaseAPI {\n runCommand(id, command, data) {\n var _this = this;\n return _async_to_generator$1(function*() {\n data = data || {};\n const { data: resultData } = yield _this.client.post(`services/${id}/command`, nullifyEmptyObjectProperties(_object_spread({\n command\n }, data)));\n return resultData;\n })();\n }\n runRegistryCommand(command, data) {\n var _this = this;\n return _async_to_generator$1(function*() {\n return _this.runCommand(ServiceID.REGISTRY, command, data);\n })();\n }\n}\n\n/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nclass AnalysisBucketAPI extends BaseAPI {\n getMany(options) {\n var _this = this;\n return _async_to_generator(function*() {\n const response = yield _this.client.get(`analysis-buckets${buildQuery(options)}`);\n return response.data;\n })();\n }\n getOne(id) {\n var _this = this;\n return _async_to_generator(function*() {\n const response = yield _this.client.get(`analysis-buckets/${id}`);\n return response.data;\n })();\n }\n create(data) {\n var _this = this;\n return _async_to_generator(function*() {\n const { data: response } = yield _this.client.post('analysis-buckets', data);\n return response;\n })();\n }\n delete(id) {\n var _this = this;\n return _async_to_generator(function*() {\n const response = yield _this.client.delete(`analysis-buckets/${id}`);\n return response.data;\n })();\n }\n}\n\n/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nclass Client extends Client$1 {\n constructor(config){\n super(config);\n _define_property(this, \"masterImage\", void 0);\n _define_property(this, \"masterImageGroup\", void 0);\n _define_property(this, \"project\", void 0);\n _define_property(this, \"projectNode\", void 0);\n _define_property(this, \"registry\", void 0);\n _define_property(this, \"registryProject\", void 0);\n _define_property(this, \"node\", void 0);\n _define_property(this, \"analysis\", void 0);\n _define_property(this, \"analysisBucket\", void 0);\n _define_property(this, \"analysisBucketFile\", void 0);\n _define_property(this, \"analysisLog\", void 0);\n _define_property(this, \"analysisNode\", void 0);\n _define_property(this, \"analysisPermission\", void 0);\n _define_property(this, \"service\", void 0);\n this.masterImage = new MasterImageAPI({\n client: this\n });\n this.masterImageGroup = new MasterImageGroupAPI({\n client: this\n });\n this.project = new ProjectAPI({\n client: this\n });\n this.projectNode = new ProjectNodeAPI({\n client: this\n });\n this.registry = new RegistryAPI({\n client: this\n });\n this.registryProject = new RegistryProjectAPI({\n client: this\n });\n this.node = new NodeAPI({\n client: this\n });\n this.analysis = new AnalysisAPI({\n client: this\n });\n this.analysisBucket = new AnalysisBucketAPI({\n client: this\n });\n this.analysisBucketFile = new AnalysisBucketFileAPI({\n client: this\n });\n this.analysisLog = new AnalysisLogAPI({\n client: this\n });\n this.analysisNode = new TrainStationAPI({\n client: this\n });\n this.analysisPermission = new AnalysisPermissionAPI({\n client: this\n });\n this.service = new ServiceAPI({\n client: this\n });\n this.on(HookName.RESPONSE_ERROR, (error)=>{\n if (isClientError(error) && error.response && error.response.data && typeof error.response.data.message === 'string') {\n error.message = error.response.data.message;\n }\n throw error;\n });\n }\n}\n\nexport { AnalysisAPI, AnalysisBucketFileAPI, AnalysisLogAPI, AnalysisPermissionAPI, Client, MasterImageAPI, MasterImageGroupAPI, NodeAPI, ProjectAPI, ProjectNodeAPI, RegistryAPI, RegistryProjectAPI, ServiceAPI, TrainStationAPI };\n//# sourceMappingURL=index.mjs.map\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Client as BaseClient } from 'hapic';\nimport {\n STORE_ID, injectHTTPClient, injectStore, storeToRefs,\n} from '@authup/client-web-kit';\nimport { ClientResponseErrorTokenHook } from '@authup/core-http-kit';\nimport type { App } from 'vue';\n\nexport function setupBaseHTTPClient(app: App, client: BaseClient) {\n const storeCreator = injectStore(app);\n const store = storeCreator();\n const { refreshToken } = storeToRefs(store);\n\n const authupClient = injectHTTPClient(app);\n\n const tokenHook = new ClientResponseErrorTokenHook(\n client,\n {\n baseURL: authupClient.getBaseURL(),\n tokenCreator: () => {\n if (!refreshToken.value) {\n throw new Error('No refresh token available.');\n }\n\n return authupClient.token.createWithRefreshToken({\n refresh_token: refreshToken.value,\n });\n },\n tokenCreated: (response) => {\n store.handleTokenGrantResponse(response);\n },\n tokenFailed: () => {\n store.logout();\n },\n timer: false,\n },\n );\n\n store.$subscribe((mutation, state) => {\n if (mutation.storeId !== STORE_ID) return;\n\n if (state.accessToken) {\n client.setAuthorizationHeader({\n type: 'Bearer',\n token: state.accessToken,\n });\n\n tokenHook.mount();\n } else {\n client.unsetAuthorizationHeader();\n\n tokenHook.unmount();\n }\n });\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Client } from '@privateaim/core-http-kit';\nimport type { App } from 'vue';\nimport { inject, provide } from '@authup/client-web-kit';\n\nconst symbol = Symbol.for('FCoreHTTPClient');\n\nexport function provideCoreHTTPClient(client: Client, app?: App) {\n provide(symbol, client, app);\n}\n\nexport function isCoreHTTPClientUsable(app?: App) : boolean {\n return !!inject(symbol, app);\n}\n\nexport function injectCoreHTTPClient(app?: App): Client {\n const instance = inject<Client>(symbol, app);\n if (!instance) {\n throw new Error('The Core HTTP Client is not set.');\n }\n\n return instance;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { Client } from '@privateaim/core-http-kit';\nimport type { App } from 'vue';\nimport { setupBaseHTTPClient } from '../setup';\nimport type { BaseHTTPClientInstallOptions } from '../types';\nimport { isCoreHTTPClientUsable, provideCoreHTTPClient } from './singleton';\n\nexport function installCoreHTTPClient(app: App, options: BaseHTTPClientInstallOptions) {\n if (isCoreHTTPClientUsable(app)) {\n return;\n }\n\n const client = new Client({ baseURL: options.baseURL });\n\n setupBaseHTTPClient(app, client);\n\n provideCoreHTTPClient(client, app);\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { APIClient } from '@privateaim/storage-kit';\nimport type { App } from 'vue';\nimport { inject, provide } from '@authup/client-web-kit';\n\nconst symbol = Symbol.for('FStorageHTTPClient');\n\nexport function provideStorageHTTPClient(client: APIClient, app?: App) {\n provide(symbol, client, app);\n}\n\nexport function isStorageHTTPClientUsable(app?: App) : boolean {\n return !!inject(symbol, app);\n}\n\nexport function injectStorageHTTPClient(app?: App): APIClient {\n const instance = inject<APIClient>(symbol, app);\n if (!instance) {\n throw new Error('The Storage HTTP Client is not set.');\n }\n\n return instance;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { APIClient as Client } from '@privateaim/storage-kit';\nimport type { App } from 'vue';\nimport { setupBaseHTTPClient } from '../setup';\nimport type { BaseHTTPClientInstallOptions } from '../types';\nimport { isStorageHTTPClientUsable, provideStorageHTTPClient } from './singleton';\n\nexport function installStorageHTTPClient(app: App, options: BaseHTTPClientInstallOptions) {\n if (isStorageHTTPClientUsable(app)) {\n return;\n }\n\n const client = new Client({ baseURL: options.baseURL });\n\n setupBaseHTTPClient(app, client);\n\n provideStorageHTTPClient(client, app);\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { App } from 'vue';\nimport { hasInjectionContext } from 'vue';\nimport { inject, provide } from '@authup/client-web-kit';\nimport type { SocketClientManager } from './types';\n\nconst SocketSymbol = Symbol.for('PSocket');\n\nexport function isSocketManagerUsable() {\n if (!hasInjectionContext()) {\n return false;\n }\n\n const instance = inject(SocketSymbol);\n return !!instance;\n}\n\nexport function provideSocketManager(\n manager: SocketClientManager,\n app?: App,\n) {\n provide(SocketSymbol, manager, app);\n}\n\nexport function injectSocketManager(app?: App) : SocketClientManager {\n const manager = inject<SocketClientManager>(SocketSymbol, app);\n if (!manager) {\n throw new Error('The Socket Manager is not provided.');\n }\n\n return manager;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { storeToRefs, useStore } from '@authup/client-web-kit';\nimport { ClientManager } from '@authup/core-realtime-kit';\nimport type { CTSEvents, STCEvents } from '@privateaim/core-realtime-kit';\nimport type { App } from 'vue';\nimport { ref } from 'vue';\nimport { provideSocketManager } from './singleton';\nimport type { SocketManagerInstallOptions } from './types';\n\nexport function installSocketManager(app: App, options: SocketManagerInstallOptions) {\n const store = useStore();\n const { accessToken } = storeToRefs(store);\n\n const manager = new ClientManager<\n STCEvents,\n CTSEvents\n >({\n url: options.baseURL,\n token: () => accessToken.value,\n });\n\n const oldValue = ref<string | undefined>();\n\n store.$subscribe((\n mutation,\n state,\n ) => {\n if (state.accessToken !== oldValue.value) {\n oldValue.value = state.accessToken;\n\n Promise.resolve()\n .then(() => manager.reconnect());\n }\n });\n\n provideSocketManager(manager, app);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { DomainEventName, REALM_MASTER_NAME } from '@authup/core-kit';\nimport {\n DomainEventSubscriptionName,\n buildDomainChannelName,\n buildDomainEventFullName,\n buildDomainEventSubscriptionFullName,\n buildDomainNamespaceName,\n} from '@privateaim/core-kit';\nimport type {\n DomainEntity,\n DomainEventContext,\n DomainEventSubscriptionFullName,\n DomainInput,\n DomainType,\n} from '@privateaim/core-kit';\nimport type {\n STCEventContext,\n} from '@privateaim/core-realtime-kit';\nimport {\n computed, isRef, onMounted, onUnmounted, watch,\n} from 'vue';\nimport { storeToRefs, useStore } from '@authup/client-web-kit';\nimport type { EntitySocket, EntitySocketContext } from './type';\nimport { injectSocketManager, isSocketManagerUsable } from '../socket';\n\ntype DT<T> = T extends DomainEntity<infer U> ? U extends `${DomainType}` ? U : never : never;\n\nexport function createEntitySocket<\n A extends DT<DomainEntity<any>>,\n T = DomainEntity<A>,\n>(\n ctx: EntitySocketContext<A, T>,\n) : EntitySocket {\n if (!isSocketManagerUsable()) {\n return {\n mount() {\n\n },\n unmount() {\n\n },\n };\n }\n\n const socketManager = injectSocketManager();\n const store = useStore();\n const storeRefs = storeToRefs(store);\n\n const realmId = computed(() => {\n if (storeRefs.realmName.value === REALM_MASTER_NAME) {\n return undefined;\n }\n\n if (isRef(ctx.realmId)) {\n return ctx.realmId.value;\n }\n\n if (ctx.realmId) {\n return ctx.realmId;\n }\n\n return storeRefs.realmId.value;\n });\n\n const targetId = computed(() => (isRef(ctx.targetId) ? ctx.targetId.value : ctx.targetId));\n\n const lockId = computed(() => (isRef(ctx.lockId) ? ctx.lockId.value : ctx.lockId));\n\n const processEvent = (event: STCEventContext<DomainEventContext<A>>) : boolean => {\n if (\n ctx.processEvent &&\n !ctx.processEvent(event, realmId.value)\n ) {\n return false;\n }\n\n const channelName = ctx.buildChannelName ?\n ctx.buildChannelName(targetId.value) :\n buildDomainChannelName(ctx.type, targetId.value);\n\n if (event.meta.roomName !== channelName) {\n return false;\n }\n\n if (ctx.target && (!targetId.value || targetId.value !== event.data.id)) {\n return false;\n }\n\n return event.data.id !== lockId.value;\n };\n\n const handleCreated = (event: STCEventContext<DomainEventContext<A>>) => {\n if (!processEvent(event)) {\n return;\n }\n\n if (ctx.onCreated) {\n ctx.onCreated(event.data as T);\n }\n };\n\n const handleUpdated = (event: STCEventContext<DomainEventContext<A>>) => {\n if (!processEvent(event)) {\n return;\n }\n\n if (ctx.onUpdated) {\n ctx.onUpdated(event.data as T);\n }\n };\n const handleDeleted = (event: STCEventContext<DomainEventContext<A>>) => {\n if (!processEvent(event)) {\n return;\n }\n\n if (ctx.onDeleted) {\n ctx.onDeleted(event.data as T);\n }\n };\n\n let mounted = false;\n const mount = async () => {\n if ((ctx.target && !targetId.value) || mounted) {\n return;\n }\n\n mounted = true;\n\n const socket = await socketManager.connect(buildDomainNamespaceName(realmId.value));\n\n let event : DomainEventSubscriptionFullName | undefined;\n if (ctx.buildSubscribeEventName) {\n event = ctx.buildSubscribeEventName();\n } else {\n event = buildDomainEventSubscriptionFullName(\n ctx.type as DomainInput,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n }\n\n socket.emit(\n event,\n targetId.value,\n () => {\n // todo: handle error!\n },\n );\n\n if (ctx.onCreated) {\n socket.on(buildDomainEventFullName(\n ctx.type as DomainInput,\n DomainEventName.CREATED,\n ), handleCreated);\n }\n\n if (ctx.onUpdated) {\n socket.on(buildDomainEventFullName(\n ctx.type as DomainInput,\n DomainEventName.UPDATED,\n ), handleUpdated);\n }\n\n if (ctx.onDeleted) {\n socket.on(buildDomainEventFullName(\n ctx.type as DomainInput,\n DomainEventName.DELETED,\n ), handleDeleted);\n }\n };\n\n const unmount = async () => {\n if ((ctx.target && !targetId.value) || !mounted) {\n return;\n }\n\n mounted = false;\n\n const socket = await socketManager.connect(buildDomainNamespaceName(realmId.value));\n\n let event : DomainEventSubscriptionFullName | undefined;\n if (ctx.buildUnsubscribeEventName) {\n event = ctx.buildUnsubscribeEventName();\n } else {\n event = buildDomainEventSubscriptionFullName(\n ctx.type as DomainInput,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n }\n\n socket.emit(\n event,\n targetId.value,\n );\n\n if (ctx.onCreated) {\n socket.off(buildDomainEventFullName(\n ctx.type as DomainInput,\n DomainEventName.UPDATED,\n ), handleCreated);\n }\n\n if (ctx.onUpdated) {\n socket.off(buildDomainEventFullName(\n ctx.type as DomainInput,\n DomainEventName.UPDATED,\n ), handleUpdated);\n }\n\n if (ctx.onDeleted) {\n socket.off(buildDomainEventFullName(\n ctx.type as DomainInput,\n DomainEventName.DELETED,\n ), handleDeleted);\n }\n };\n\n onMounted(() => mount());\n onUnmounted(() => unmount());\n\n watch(targetId, (val, oldValue) => {\n if (val !== oldValue) {\n unmount();\n mount();\n }\n });\n\n return {\n mount,\n unmount,\n };\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isObject } from 'smob';\nimport type { SortBuildInput } from 'rapiq';\nimport { SortDirection } from 'rapiq';\n\ntype Data = {\n created_at?: string | Date,\n updated_at?: string | Date,\n [key: string]: any\n};\nexport function isQuerySortedDescByDate<T extends Data>(input: SortBuildInput<T>) : boolean {\n if (Array.isArray(input)) {\n return input.some((el) => isQuerySortedDescByDate(el as SortBuildInput<T>));\n }\n\n if (isObject(input)) {\n return input.created_at === SortDirection.DESC ||\n input.updated_at === SortDirection.DESC;\n }\n\n return typeof input === 'string' &&\n (input === '-created_at' || input === '-updated_at');\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from '@privateaim/kit';\nimport type { DomainAPI } from '@authup/core-http-kit';\nimport type { DomainEntity, DomainType } from '@privateaim/core-kit';\nimport type {\n ListFooterBuildOptionsInput, ListHeaderBuildOptionsInput,\n} from '@vuecs/list-controls';\nimport {\n buildList,\n} from '@vuecs/list-controls';\nimport type { BuildInput, FiltersBuildInput } from 'rapiq';\nimport type { Ref, VNodeChild } from 'vue';\nimport {\n computed, isRef,\n ref, unref,\n} from 'vue';\nimport { createMerger, isObject } from 'smob';\nimport { boolableToObject } from '../../utils';\nimport { injectCoreHTTPClient } from '../http-client';\nimport { createEntitySocket } from '../entity-socket';\nimport type { EntitySocketContext } from '../entity-socket';\nimport { isQuerySortedDescByDate } from '../query';\nimport type {\n List,\n ListCreateContext,\n ListMeta,\n ListRenderOptions,\n} from './type';\nimport {\n buildListCreatedHandler,\n buildListDeletedHandler,\n buildListUpdatedHandler,\n mergeListOptions,\n} from './utils';\n\ntype Entity<T> = T extends Record<string, any> ? T : never;\ntype DomainTypeInfer<T> = T extends DomainEntity<infer U> ? U extends `${DomainType}` ? U : never : never;\n\nconst merger = createMerger({\n array: false,\n inPlace: false,\n priority: 'left',\n});\n\nexport function createList<\n A extends DomainTypeInfer<DomainEntity<any>>,\n T = DomainEntity<A>,\n>(\n context: ListCreateContext<A, T>,\n) : List<T> {\n const data : Ref<T[]> = ref([]);\n const busy = ref(false);\n const total = ref(0);\n const meta = ref({\n pagination: {\n limit: 10,\n },\n }) as Ref<ListMeta<T>>;\n\n const realmId = computed<string | undefined>(\n () => {\n if (context.realmId) {\n return isRef(context.realmId) ? context.realmId.value : context.realmId;\n }\n\n if (context.props.realmId) {\n return context.props.realmId;\n }\n\n return undefined;\n },\n );\n\n const client = injectCoreHTTPClient();\n\n let domainAPI : DomainAPI<Entity<T>> | undefined;\n if (hasOwnProperty(client, context.type)) {\n domainAPI = client[context.type] as any;\n }\n\n let query : BuildInput<Entity<T>> | undefined;\n\n async function load(input: ListMeta<T> = {}) {\n if (!domainAPI || busy.value) return;\n\n busy.value = true;\n meta.value.busy = true;\n\n try {\n let filters : FiltersBuildInput<Entity<T>> | undefined;\n if (\n context.queryFilters &&\n input.filters &&\n hasOwnProperty(input.filters, 'name') &&\n typeof input.filters.name === 'string'\n ) {\n // todo: queryFilters should customize full filters object!\n filters = context.queryFilters(input.filters.name) as FiltersBuildInput<Entity<T>>;\n }\n\n query = undefined;\n if (context.query) {\n if (typeof context.query === 'function') {\n query = context.query();\n } else {\n query = context.query;\n }\n }\n\n if (context.props.query) {\n if (query) {\n query = merger({}, context.props.query, query);\n } else {\n query = context.props.query;\n }\n }\n\n const nextQuery : ListMeta<T> = merger(\n (filters ? { filters } : {}),\n input || {},\n {\n pagination: {\n limit: meta.value.pagination?.limit,\n offset: meta.value.pagination?.offset,\n },\n },\n query || {},\n );\n\n const response = await domainAPI.getMany(\n nextQuery as BuildInput<Entity<T>>,\n );\n\n meta.value = nextQuery;\n\n if (context.loadAll) {\n data.value.push(...response.data as T[]);\n } else {\n data.value = response.data as T[];\n }\n\n total.value = response.meta.total;\n\n meta.value.total = response.meta.total;\n meta.value.pagination = {\n limit: response.meta.limit,\n offset: response.meta.offset,\n };\n } finally {\n busy.value = false;\n meta.value.busy = false;\n }\n\n if (\n context.loadAll &&\n total.value > data.value.length\n ) {\n await load({\n ...meta.value,\n pagination: {\n ...meta.value.pagination,\n offset: (meta.value.pagination?.offset ?? 0) + (meta.value.pagination?.limit ?? 0),\n },\n });\n }\n }\n\n const handleCreated = buildListCreatedHandler(data, (cbEntity) => {\n total.value--;\n\n if (context.onCreated) {\n context.onCreated(cbEntity, meta.value);\n }\n });\n const handleDeleted = buildListDeletedHandler(data, () => {\n total.value--;\n });\n const handleUpdated = buildListUpdatedHandler(data);\n\n let options : ListRenderOptions<T> = context.props;\n\n const setDefaults = (defaults: ListRenderOptions<T>) => {\n options = mergeListOptions(context.props, defaults);\n };\n\n function render() : VNodeChild {\n const header : ListHeaderBuildOptionsInput<T> = boolableToObject(options.header || {});\n const footer : ListFooterBuildOptionsInput<T> = boolableToObject(options.footer || {});\n\n if (options.item) {\n if (\n typeof options.body === 'undefined' ||\n typeof options.body === 'boolean'\n ) {\n options.body = { item: options.item };\n } else {\n options.body.item = options.item;\n }\n }\n\n return buildList<T, ListMeta<T>>({\n footer,\n header,\n noMore: options.noMore,\n body: options.body,\n loading: options.loading,\n total: total.value,\n load,\n busy: busy.value,\n data: data.value as Entity<T>[],\n meta: {\n ...meta.value,\n total: total.value,\n },\n onCreated(value: T) {\n if (context.setup.emit) {\n context.setup.emit('created', value);\n }\n\n total.value++;\n },\n onDeleted(value: T) {\n if (context.setup.emit) {\n context.setup.emit('deleted', value);\n }\n\n total.value--;\n },\n onUpdated: (value: T) => {\n if (context.setup.emit) {\n context.setup.emit('updated', value);\n }\n },\n slotItems: context.setup.slots || {},\n });\n }\n\n context.setup.expose({\n handleCreated,\n handleDeleted,\n handleUpdated,\n load,\n data,\n });\n\n let loadOnSetup = true;\n const propLoadOnSetup = unref(context.props.loadOnSetup);\n if (typeof propLoadOnSetup === 'boolean') {\n loadOnSetup = propLoadOnSetup;\n }\n\n if (loadOnSetup) {\n Promise.resolve()\n .then(() => load())\n .catch((e) => console.log(e));\n }\n\n if (\n typeof context.socket !== 'boolean' ||\n typeof context.socket === 'undefined' ||\n context.socket\n ) {\n const socketContext : EntitySocketContext<A, T> = {\n type: context.type,\n ...(isObject(context.socket) ? context.socket : {}),\n };\n\n socketContext.onCreated = (entity) => {\n const limit = meta.value?.pagination?.limit;\n if (typeof limit !== 'number') {\n handleCreated(entity);\n return;\n }\n\n if (total.value < limit) {\n handleCreated(entity);\n return;\n }\n\n const isSorted = query &&\n query.sort &&\n isQuerySortedDescByDate(query.sort) &&\n meta.value?.pagination?.offset === 0;\n\n if (isSorted) {\n handleCreated(entity);\n }\n };\n socketContext.onDeleted = (entity: T) => {\n handleDeleted(entity);\n };\n socketContext.onUpdated = (entity: T) => {\n handleDeleted(entity);\n };\n socketContext.realmId = realmId;\n\n createEntitySocket(socketContext);\n }\n\n return {\n data,\n busy,\n meta,\n total,\n\n handleCreated,\n handleUpdated,\n handleDeleted,\n\n render,\n load,\n setDefaults,\n };\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { SlotName } from '@vuecs/list-controls';\n\nexport enum EntityListSlotName {\n DEFAULT = SlotName.DEFAULT,\n BODY = SlotName.BODY,\n ITEM = SlotName.ITEM,\n ITEM_ACTIONS = SlotName.ITEM_ACTIONS,\n ITEM_ACTIONS_EXTRA = SlotName.ITEM_ACTIONS_EXTRA,\n HEADER = SlotName.HEADER,\n FOOTER = SlotName.FOOTER,\n NO_MORE = SlotName.NO_MORE,\n LOADING = SlotName.LOADING,\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport class EntityManagerError extends Error {\n static unresolvable() {\n return new this('Entity could not be resolved.');\n }\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function extendObjectProperties<T extends Record<string, any>>(\n src: T,\n input?: Partial<T>,\n) : T {\n if (!input) {\n return src;\n }\n\n const keys : (keyof T)[] = Object.keys(input);\n for (let i = 0; i < keys.length; i++) {\n src[keys[i]] = input[keys[i]] as T[keyof T];\n }\n\n return src;\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput, FieldsBuildInput, FiltersBuildInput } from 'rapiq';\nimport { unref } from 'vue';\nimport type { PropType } from 'vue';\nimport type {\n EntityManager,\n EntityManagerEventsType,\n EntityManagerSlotProps,\n} from './type';\n\nexport function buildEntityManagerSlotProps<T>(\n input: EntityManager<T>,\n) : EntityManagerSlotProps<T> {\n return {\n ...input,\n error: unref(input.error),\n busy: unref(input.busy),\n data: unref(input.data),\n lockId: unref(input.lockId),\n };\n}\n\nexport function defineEntityManagerEvents<T>(): EntityManagerEventsType<T> {\n return {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n failed: (_item: Error) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n created: (_item: T) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n deleted: (_item: T) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updated: (_item: T) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n resolved: (_item?: T) => true,\n };\n}\n\nexport function defineEntityManagerProps<T>() {\n return {\n entity: {\n type: Object as PropType<T>,\n },\n entityId: {\n type: String,\n },\n queryFilters: {\n type: Object as PropType<FiltersBuildInput<T extends Record<string, any> ? T : never>>,\n },\n queryFields: {\n type: Object as PropType<FieldsBuildInput<T extends Record<string, any> ? T : never>>,\n },\n query: {\n type: Object as PropType<T extends Record<string, any> ? BuildInput<T> : never>,\n },\n };\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from '@privateaim/kit';\nimport type { DomainAPI } from '@authup/core-http-kit';\nimport type {\n DomainEntity, DomainEntityID, DomainType,\n} from '@privateaim/core-kit';\nimport type { BuildInput } from 'rapiq';\nimport { isObject } from 'smob';\nimport type { Ref, VNodeChild } from 'vue';\nimport {\n computed, isRef, ref, toRef, watch,\n} from 'vue';\nimport { injectCoreHTTPClient } from '../http-client';\nimport type { EntitySocket, EntitySocketContext } from '../entity-socket';\nimport { createEntitySocket } from '../entity-socket';\nimport { extendObjectProperties } from '../object';\nimport { hasNormalizedSlot, normalizeSlot } from '../slot';\nimport type {\n EntityManager, EntityManagerContext, EntityManagerRenderFn, EntityManagerResolveContext,\n} from './type';\nimport { buildEntityManagerSlotProps } from './utils';\n\ntype DomainTypeInfer<T> = T extends DomainEntity<infer U> ? U extends `${DomainType}` ? U : never : never;\n\nexport function createEntityManager<\n A extends DomainTypeInfer<DomainEntity<any>>,\n T = DomainEntity<A>,\n>(\n ctx: EntityManagerContext<A, T>,\n) : EntityManager<T> {\n const client = injectCoreHTTPClient();\n let domainAPI : DomainAPI<T> | undefined;\n if (hasOwnProperty(client, ctx.type)) {\n domainAPI = client[ctx.type] as any;\n }\n\n const entity : Ref<T | undefined> = ref(undefined);\n const entityId = computed<DomainEntityID<T> | undefined>(\n () => (\n entity.value ? (entity.value as any).id : undefined),\n );\n\n const realmId = computed<string | undefined>(\n () => {\n let realmId : string | undefined;\n\n if (ctx.realmId) {\n if (typeof ctx.realmId === 'function') {\n return ctx.realmId(entity.value);\n }\n\n realmId = isRef(ctx.realmId) ? ctx.realmId.value : ctx.realmId;\n }\n\n if (!realmId && entity.value) {\n if (\n hasOwnProperty(entity.value, 'realm_id') &&\n typeof entity.value.realm_id === 'string'\n ) {\n return entity.value.realm_id;\n }\n }\n\n return realmId;\n },\n );\n\n const lockId = ref(undefined) as Ref<DomainEntityID<T> | undefined>;\n\n if (ctx.props && ctx.props.entity) {\n entity.value = ctx.props.entity;\n }\n\n const created = (value: T) => {\n if (ctx.setup && ctx.setup.emit) {\n ctx.setup.emit('created', value);\n }\n\n if (ctx.onCreated) {\n ctx.onCreated(value);\n }\n };\n\n const deleted = (value: T) => {\n if (ctx.setup && ctx.setup.emit) {\n ctx.setup.emit('deleted', (value || entity.value) as T);\n }\n\n if (ctx.onDeleted) {\n ctx.onDeleted((value || entity.value) as T);\n }\n };\n\n const updated = (value: Partial<T>) => {\n if (entity.value) {\n extendObjectProperties(entity.value, value);\n }\n\n if (ctx.setup && ctx.setup.emit) {\n ctx.setup.emit('updated', (entity.value || value) as T);\n }\n\n if (ctx.onUpdated) {\n ctx.onUpdated(entity.value || value);\n }\n };\n\n const resolved = (value?: T) => {\n if (ctx.setup && ctx.setup.emit) {\n ctx.setup.emit('resolved', value);\n }\n\n if (ctx.onResolved) {\n ctx.onResolved(value);\n }\n };\n\n const failed = (error: Error) => {\n if (ctx.setup && ctx.setup.emit) {\n ctx.setup.emit('failed', error);\n }\n\n if (ctx.onFailed) {\n ctx.onFailed(error);\n }\n };\n\n const busy = ref(false);\n\n const update = async (data: Partial<T>) => {\n if (!domainAPI || busy.value || !entityId.value) {\n return;\n }\n\n busy.value = true;\n lockId.value = entityId.value;\n\n try {\n const response = await domainAPI.update(\n entityId.value,\n data,\n );\n\n entity.value = response;\n\n updated(response);\n } catch (e) {\n if (e instanceof Error) {\n failed(e);\n }\n } finally {\n busy.value = false;\n lockId.value = undefined;\n }\n };\n\n const remove = async () : Promise<void> => {\n if (!domainAPI || busy.value || !entityId.value) {\n return;\n }\n\n busy.value = true;\n lockId.value = entityId.value;\n\n try {\n const response = await domainAPI.delete(\n entityId.value,\n );\n\n entity.value = undefined;\n\n deleted(response);\n } catch (e) {\n if (e instanceof Error) {\n failed(e);\n }\n } finally {\n busy.value = false;\n lockId.value = undefined;\n }\n };\n\n const create = async (data: Partial<T>) : Promise<void> => {\n if (!domainAPI || busy.value) {\n return;\n }\n\n busy.value = true;\n\n lockId.value = undefined;\n\n try {\n const response = await domainAPI.create(data);\n\n entity.value = response;\n\n created(response);\n } catch (e) {\n if (e instanceof Error) {\n failed(e);\n }\n } finally {\n busy.value = false;\n lockId.value = undefined;\n }\n };\n\n const createOrUpdate = async (data: Partial<T>) : Promise<void> => {\n if (entity.value) {\n await update(data);\n } else {\n await create(data);\n }\n };\n\n let socket : EntitySocket | undefined;\n\n if (\n typeof ctx.socket !== 'boolean' ||\n typeof ctx.socket === 'undefined' ||\n typeof ctx.socket === 'function' ||\n ctx.socket\n ) {\n let socketContext : EntitySocketContext<A, T> = {\n type: ctx.type,\n };\n\n if (isObject(ctx.socket)) {\n socketContext = {\n ...socketContext,\n ...ctx.socket,\n };\n }\n\n socketContext.onCreated = created;\n socketContext.onUpdated = updated;\n socketContext.lockId = lockId;\n socketContext.realmId = realmId;\n socketContext.target = true;\n socketContext.targetId = entityId;\n\n socket = createEntitySocket(socketContext);\n }\n\n const error = ref<Error | undefined>(undefined);\n\n const resolveByProps = () : boolean => {\n if (!ctx.props) {\n return false;\n }\n\n if (ctx.props.entity) {\n entity.value = ctx.props.entity;\n\n if (socket) {\n socket.mount();\n }\n\n resolved(entity.value);\n\n return true;\n }\n\n return false;\n };\n\n if (ctx.props) {\n const propEntityRef = toRef(ctx.props, 'entity');\n const propsEntityId = computed(() => (propEntityRef.value ? propEntityRef.value.id : undefined));\n watch(propsEntityId, (val) => {\n entity.value = propEntityRef.value;\n\n if (val) {\n if (socket) {\n socket.mount();\n }\n } else if (socket) {\n socket.unmount();\n }\n });\n }\n\n resolveByProps();\n\n const resolve = async (resolveCtx: EntityManagerResolveContext<T> = {}) => {\n if (entity.value && !resolveCtx.reset) {\n return;\n }\n\n let query : (T extends Record<string, any> ? BuildInput<T> : never) | undefined;\n if (resolveCtx.query) {\n query = resolveCtx.query;\n }\n\n let { id } = resolveCtx;\n\n if (ctx.props) {\n if (resolveByProps()) {\n return;\n }\n\n if (ctx.props.entity) {\n entity.value = ctx.props.entity;\n\n if (socket) {\n socket.mount();\n }\n\n resolved(entity.value);\n\n return;\n }\n\n if (\n ctx.props.query ||\n ctx.props.queryFields ||\n ctx.props.queryFilters\n ) {\n query = {\n ...(ctx.props.query ? ctx.props.query : {}),\n ...(ctx.props.queryFields ? { fields: ctx.props.queryFields } : {}),\n ...(ctx.props.queryFilters ? { filters: ctx.props.queryFilters } : {}),\n } as any;\n }\n\n if (ctx.props.entityId) {\n id = ctx.props.entityId;\n }\n }\n\n if (!domainAPI) {\n resolved();\n\n return;\n }\n\n if (id) {\n try {\n entity.value = await domainAPI.getOne(id, query as BuildInput<any>);\n\n if (socket) {\n socket.mount();\n }\n\n resolved(entity.value);\n\n return;\n } catch (e) {\n if (e instanceof Error) {\n error.value = e;\n }\n }\n }\n\n if (query) {\n try {\n const response = await domainAPI.getMany({\n ...query,\n pagination: {\n limit: 1,\n },\n } as any);\n\n if (response.data.length === 1) {\n [entity.value] = response.data;\n\n if (socket) {\n socket.mount();\n }\n }\n\n resolved(entity.value);\n } catch (e) {\n if (e instanceof Error) {\n error.value = e;\n }\n }\n }\n };\n\n const manager : EntityManager<T> = {\n resolve,\n lockId,\n busy,\n data: entity,\n error,\n\n create,\n createOrUpdate,\n created,\n\n update,\n updated,\n\n delete: remove,\n deleted,\n\n failed,\n\n render: () => undefined,\n };\n\n if (\n ctx.setup &&\n ctx.setup.expose\n ) {\n ctx.setup.expose(manager);\n }\n\n manager.render = (content?: VNodeChild | EntityManagerRenderFn): VNodeChild => {\n if (!ctx.setup || !ctx.setup.slots) {\n if (entity.value) {\n return typeof content === 'function' ?\n content() :\n content;\n }\n\n return undefined;\n }\n\n if (entity.value) {\n if (hasNormalizedSlot('default', ctx.setup.slots)) {\n return normalizeSlot(\n 'default',\n buildEntityManagerSlotProps(manager),\n ctx.setup.slots,\n );\n }\n } else if (\n isObject(error) &&\n hasNormalizedSlot('error', ctx.setup.slots)\n ) {\n return normalizeSlot('error', error, ctx.setup.slots);\n }\n\n if (entity.value) {\n return typeof content === 'function' ?\n content() :\n content;\n }\n\n return undefined;\n };\n\n return manager;\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function initFormAttributesFromSource(\n form: Record<string, any>,\n source?: Record<string, any>,\n) : void {\n if (!source) {\n return;\n }\n\n const keys = Object.keys(form);\n for (let i = 0; i < keys.length; i++) {\n if (Object.prototype.hasOwnProperty.call(source, keys[i])) {\n form[keys[i]] = source[keys[i]] ?? '';\n }\n }\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Ref } from 'vue';\n\ntype Fn = (...args: any[]) => Promise<void>;\ntype OutputFn = () => Promise<void>;\nexport function wrapFnWithBusyState(\n busy: Ref<boolean>,\n fn: Fn,\n): OutputFn {\n return async () => {\n if (busy.value) {\n return Promise.resolve();\n }\n\n busy.value = true;\n\n return fn()\n .finally(() => {\n busy.value = false;\n });\n };\n}\n","import { isObject, hasOwnProperty } from 'smob';\n\n/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ const LOCALE_DEFAULT = 'en';\n\nfunction isLineRecord(value) {\n if (!isObject(value)) {\n return false;\n }\n const ob = value;\n const keys = Object.keys(ob);\n for(let i = 0; i < keys.length; i++){\n /* istanbul ignore next */ if (typeof ob[keys[i]] !== 'string' && !isLineRecord(ob[keys[i]])) {\n return false;\n }\n }\n return true;\n}\n\nvar aa = \"Afar\";\nvar ab = \"Abkhazian\";\nvar ae = \"Avestan\";\nvar af = \"Afrikaans\";\nvar ak = \"Akan\";\nvar am = \"Amharic\";\nvar an = \"Aragonese\";\nvar ar = \"Arabic\";\nvar as = \"Assamese\";\nvar av = \"Avaric\";\nvar ay = \"Aymara\";\nvar az = \"Azerbaijani\";\nvar ba = \"Bashkir\";\nvar be = \"Belarusian\";\nvar bg = \"Bulgarian\";\nvar bh = \"Bihari languages\";\nvar bi = \"Bislama\";\nvar bm = \"Bambara\";\nvar bn = \"Bengali\";\nvar bo = \"Tibetan\";\nvar br = \"Breton\";\nvar bs = \"Bosnian\";\nvar ca = \"Catalan\";\nvar ce = \"Chechen\";\nvar ch = \"Chamorro\";\nvar co = \"Corsican\";\nvar cr = \"Cree\";\nvar cs = \"Czech\";\nvar cu = \"Church Slavic\";\nvar cv = \"Chuvash\";\nvar cy = \"Welsh\";\nvar da = \"Danish\";\nvar de = \"German\";\nvar dv = \"Maldivian\";\nvar dz = \"Dzongkha\";\nvar ee = \"Ewe\";\nvar el = \"Greek\";\nvar en = \"English\";\nvar eo = \"Esperanto\";\nvar es = \"Spanish\";\nvar et = \"Estonian\";\nvar eu = \"Basque\";\nvar fa = \"Persian\";\nvar ff = \"Fulah\";\nvar fi = \"Finnish\";\nvar fj = \"Fijian\";\nvar fo = \"Faroese\";\nvar fr = \"French\";\nvar fy = \"Western Frisian\";\nvar ga = \"Irish\";\nvar gd = \"Gaelic\";\nvar gl = \"Galician\";\nvar gn = \"Guarani\";\nvar gu = \"Gujarati\";\nvar gv = \"Manx\";\nvar ha = \"Hausa\";\nvar he = \"Hebrew\";\nvar hi = \"Hindi\";\nvar ho = \"Hiri Motu\";\nvar hr = \"Croatian\";\nvar ht = \"Haitian\";\nvar hu = \"Hungarian\";\nvar hy = \"Armenian\";\nvar hz = \"Herero\";\nvar ia = \"Interlingua\";\nvar id = \"Indonesian\";\nvar ie = \"Interlingue\";\nvar ig = \"Igbo\";\nvar ii = \"Sichuan Yi\";\nvar ik = \"Inupiaq\";\nvar io = \"Ido\";\nvar is = \"Icelandic\";\nvar it = \"Italian\";\nvar iu = \"Inuktitut\";\nvar ja = \"Japanese\";\nvar jv = \"Javanese\";\nvar ka = \"Georgian\";\nvar kg = \"Kongo\";\nvar ki = \"Kikuyu\";\nvar kj = \"Kuanyama\";\nvar kk = \"Kazakh\";\nvar kl = \"Kalaallisut\";\nvar km = \"Central Khmer\";\nvar kn = \"Kannada\";\nvar ko = \"Korean\";\nvar kr = \"Kanuri\";\nvar ks = \"Kashmiri\";\nvar ku = \"Kurdish\";\nvar kv = \"Komi\";\nvar kw = \"Cornish\";\nvar ky = \"Kirghiz\";\nvar la = \"Latin\";\nvar lb = \"Luxembourgish\";\nvar lg = \"Ganda\";\nvar li = \"Limburgan\";\nvar ln = \"Lingala\";\nvar lo = \"Lao\";\nvar lt = \"Lithuanian\";\nvar lu = \"Luba-Katanga\";\nvar lv = \"Latvian\";\nvar mg = \"Malagasy\";\nvar mh = \"Marshallese\";\nvar mi = \"Maori\";\nvar mk = \"Macedonian\";\nvar ml = \"Malayalam\";\nvar mn = \"Mongolian\";\nvar mr = \"Marathi\";\nvar ms = \"Malay\";\nvar mt = \"Maltese\";\nvar my = \"Burmese\";\nvar na = \"Nauru\";\nvar nb = \"Norwegian\";\nvar nd = \"North Ndebele\";\nvar ne = \"Nepali\";\nvar ng = \"Ndonga\";\nvar nl = \"Dutch\";\nvar nn = \"Norwegian\";\nvar no = \"Norwegian\";\nvar nr = \"South Ndebele\";\nvar nv = \"Navajo\";\nvar ny = \"Chichewa\";\nvar oc = \"Occitan\";\nvar oj = \"Ojibwa\";\nvar om = \"Oromo\";\nvar or = \"Oriya\";\nvar os = \"Ossetic\";\nvar pa = \"Panjabi\";\nvar pi = \"Pali\";\nvar pl = \"Polish\";\nvar ps = \"Pushto\";\nvar pt = \"Portuguese\";\nvar qu = \"Quechua\";\nvar rm = \"Romansh\";\nvar rn = \"Rundi\";\nvar ro = \"Romanian\";\nvar ru = \"Russian\";\nvar rw = \"Kinyarwanda\";\nvar sa = \"Sanskrit\";\nvar sc = \"Sardinian\";\nvar sd = \"Sindhi\";\nvar se = \"Northern Sami\";\nvar sg = \"Sango\";\nvar si = \"Sinhala\";\nvar sk = \"Slovak\";\nvar sl = \"Slovenian\";\nvar sm = \"Samoan\";\nvar sn = \"Shona\";\nvar so = \"Somali\";\nvar sq = \"Albanian\";\nvar sr = \"Serbian\";\nvar ss = \"Swati\";\nvar st = \"Sotho, Southern\";\nvar su = \"Sundanese\";\nvar sv = \"Swedish\";\nvar sw = \"Swahili\";\nvar ta = \"Tamil\";\nvar te = \"Telugu\";\nvar tg = \"Tajik\";\nvar th = \"Thai\";\nvar ti = \"Tigrinya\";\nvar tk = \"Turkmen\";\nvar tl = \"Tagalog\";\nvar tn = \"Tswana\";\nvar to = \"Tonga\";\nvar tr = \"Turkish\";\nvar ts = \"Tsonga\";\nvar tt = \"Tatar\";\nvar tw = \"Twi\";\nvar ty = \"Tahitian\";\nvar ug = \"Uighur\";\nvar uk = \"Ukrainian\";\nvar ur = \"Urdu\";\nvar uz = \"Uzbek\";\nvar ve = \"Venda\";\nvar vi = \"Vietnamese\";\nvar vo = \"Volapük\";\nvar wa = \"Walloon\";\nvar wo = \"Wolof\";\nvar xh = \"Xhosa\";\nvar yi = \"Yiddish\";\nvar yo = \"Yoruba\";\nvar za = \"Zhuang\";\nvar zh = \"Chinese\";\nvar zu = \"Zulu\";\nvar codes = {\n aa: aa,\n ab: ab,\n ae: ae,\n af: af,\n ak: ak,\n am: am,\n an: an,\n ar: ar,\n as: as,\n av: av,\n ay: ay,\n az: az,\n ba: ba,\n be: be,\n bg: bg,\n bh: bh,\n bi: bi,\n bm: bm,\n bn: bn,\n bo: bo,\n br: br,\n bs: bs,\n ca: ca,\n ce: ce,\n ch: ch,\n co: co,\n cr: cr,\n cs: cs,\n cu: cu,\n cv: cv,\n cy: cy,\n da: da,\n de: de,\n dv: dv,\n dz: dz,\n ee: ee,\n el: el,\n en: en,\n eo: eo,\n es: es,\n et: et,\n eu: eu,\n fa: fa,\n ff: ff,\n fi: fi,\n fj: fj,\n fo: fo,\n fr: fr,\n fy: fy,\n ga: ga,\n gd: gd,\n gl: gl,\n gn: gn,\n gu: gu,\n gv: gv,\n ha: ha,\n he: he,\n hi: hi,\n ho: ho,\n hr: hr,\n ht: ht,\n hu: hu,\n hy: hy,\n hz: hz,\n ia: ia,\n id: id,\n ie: ie,\n ig: ig,\n ii: ii,\n ik: ik,\n io: io,\n is: is,\n it: it,\n iu: iu,\n ja: ja,\n jv: jv,\n ka: ka,\n kg: kg,\n ki: ki,\n kj: kj,\n kk: kk,\n kl: kl,\n km: km,\n kn: kn,\n ko: ko,\n kr: kr,\n ks: ks,\n ku: ku,\n kv: kv,\n kw: kw,\n ky: ky,\n la: la,\n lb: lb,\n lg: lg,\n li: li,\n ln: ln,\n lo: lo,\n lt: lt,\n lu: lu,\n lv: lv,\n mg: mg,\n mh: mh,\n mi: mi,\n mk: mk,\n ml: ml,\n mn: mn,\n mr: mr,\n ms: ms,\n mt: mt,\n my: my,\n na: na,\n nb: nb,\n nd: nd,\n ne: ne,\n ng: ng,\n nl: nl,\n nn: nn,\n no: no,\n nr: nr,\n nv: nv,\n ny: ny,\n oc: oc,\n oj: oj,\n om: om,\n or: or,\n os: os,\n pa: pa,\n pi: pi,\n pl: pl,\n ps: ps,\n pt: pt,\n qu: qu,\n rm: rm,\n rn: rn,\n ro: ro,\n ru: ru,\n rw: rw,\n sa: sa,\n sc: sc,\n sd: sd,\n se: se,\n sg: sg,\n si: si,\n sk: sk,\n sl: sl,\n sm: sm,\n sn: sn,\n so: so,\n sq: sq,\n sr: sr,\n ss: ss,\n st: st,\n su: su,\n sv: sv,\n sw: sw,\n ta: ta,\n te: te,\n tg: tg,\n th: th,\n ti: ti,\n tk: tk,\n tl: tl,\n tn: tn,\n to: to,\n tr: tr,\n ts: ts,\n tt: tt,\n tw: tw,\n ty: ty,\n ug: ug,\n uk: uk,\n ur: ur,\n uz: uz,\n ve: ve,\n vi: vi,\n vo: vo,\n wa: wa,\n wo: wo,\n xh: xh,\n yi: yi,\n yo: yo,\n za: za,\n zh: zh,\n zu: zu\n};\n\nfunction isISO639LanguageCode(input) {\n return hasOwnProperty(codes, input);\n}\nfunction isBCP47LanguageCode(input) {\n const hyphenIndex = input.indexOf('-');\n if (hyphenIndex !== -1) {\n input = input.substring(0, hyphenIndex);\n }\n return isISO639LanguageCode(input);\n}\n\nfunction setObjectPathProperty(record, key, value) {\n const parts = key.split('.');\n if (parts.length === 1) {\n record[key] = value;\n return;\n }\n const prefix = parts.shift();\n if (prefix) {\n if (!Object.prototype.hasOwnProperty.call(record, prefix) || !isObject(record[prefix])) {\n record[prefix] = {};\n }\n setObjectPathProperty(record[prefix], parts.join('.'), value);\n }\n}\nfunction getObjectPathProperty(data, key) {\n const dotIndex = key.indexOf('.');\n const currentKey = dotIndex === -1 ? key : key.substring(0, dotIndex);\n if (dotIndex === -1) {\n return data[currentKey];\n }\n if (!isObject(data[currentKey])) {\n return undefined;\n }\n const nextKey = key.substring(currentKey.length + 1);\n return getObjectPathProperty(data[currentKey], nextKey);\n}\n\n/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */ function template(str, data, regex = /\\{\\{(.+?)\\}\\}/g) {\n return Array.from(str.matchAll(regex)).reduce((acc, match)=>{\n if (typeof data[match[1]] !== 'undefined') {\n return acc.replace(match[0], data[match[1]]);\n }\n return acc;\n }, str);\n}\n\nclass Ilingo {\n // ----------------------------------------------------\n merge(instance) {\n const ownEntries = Array.from(this.stores.values());\n const foreignEntries = Array.from(instance.stores.values());\n let foreignEntriesIndex = -1;\n for(let i = 0; i < foreignEntries.length; i++){\n foreignEntriesIndex = -1;\n for(let j = 0; j < ownEntries.length; j++){\n if (ownEntries[j] === foreignEntries[i]) {\n foreignEntriesIndex = j;\n break;\n }\n }\n if (foreignEntriesIndex === -1) {\n this.stores.add(foreignEntries[i]);\n }\n }\n }\n // ----------------------------------------------------\n setLocale(key) {\n this.locale = key;\n }\n resetLocale() {\n this.locale = LOCALE_DEFAULT;\n }\n getLocale() {\n return this.locale;\n }\n // ----------------------------------------------------\n async getLocales() {\n const locales = [];\n const entries = this.stores.values();\n // eslint-disable-next-line no-constant-condition\n while(true){\n const store = entries.next();\n if (store.done) {\n break;\n }\n locales.push(...await store.value.getLocales());\n }\n return Array.from(new Set(locales));\n }\n // ----------------------------------------------------\n async get(ctx) {\n let message;\n const entries = this.stores.values();\n // eslint-disable-next-line no-constant-condition\n while(true){\n const store = entries.next();\n if (store.done) {\n break;\n }\n message = await store.value.get({\n locale: ctx.locale || this.getLocale(),\n group: ctx.group,\n key: ctx.key\n });\n if (message) {\n break;\n }\n }\n if (!message) {\n return undefined;\n }\n return this.format(message, ctx.data || {});\n }\n // ----------------------------------------------------\n format(input, data) {\n return template(input, data || {});\n }\n // ----------------------------------------------------\n constructor(input = {}){\n this.locale = input.locale || LOCALE_DEFAULT;\n this.stores = new Set();\n if (input.store) {\n this.stores.add(input.store);\n }\n }\n}\n\nclass MemoryStore {\n async get(context) {\n if (!this.data[context.locale] || !this.data[context.locale][context.group]) {\n return undefined;\n }\n const output = getObjectPathProperty(this.data[context.locale][context.group], context.key);\n if (typeof output === 'string') {\n return output;\n }\n return undefined;\n }\n async set(context) {\n this.initLines(context.group, context.locale);\n setObjectPathProperty(this.data[context.locale][context.group], context.key, context.value);\n }\n initLines(group, locale) {\n if (typeof this.data[locale] === 'undefined') {\n this.data[locale] = {};\n }\n if (typeof this.data[locale][group] === 'undefined') {\n this.data[locale][group] = {};\n }\n }\n async getLocales() {\n return Object.keys(this.data);\n }\n constructor(options){\n this.data = options.data;\n }\n}\n\nexport { Ilingo, MemoryStore, getObjectPathProperty, isBCP47LanguageCode, isISO639LanguageCode, isLineRecord, setObjectPathProperty, template };\n//# sourceMappingURL=index.mjs.map\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { MemoryStore } from '@ilingo/vuelidate/core';\nimport { install } from '@ilingo/vuelidate';\nimport type { App } from 'vue';\nimport type { TranslatorInstallOptions } from './types';\n\nexport function installTranslator(app: App, options: TranslatorInstallOptions = {}) {\n const store = new MemoryStore({\n data: {},\n });\n\n install(app, {\n store,\n locale: options.locale,\n });\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from '@privateaim/kit';\nimport type { Validation } from '@vuelidate/core';\nimport { helpers } from '@vuelidate/validators';\nimport type { Ref } from 'vue';\n\nexport const alphaNumHyphenUnderscore = helpers.regex(/^[a-z0-9-_]*$/);\nexport const alphaWithUpperNumHyphenUnderScore = helpers.regex(/^[a-zA-Z0-9-_]*$/);\n\nexport function extractVuelidateResultsFromChild(vuelidate: Ref<Validation>, child: string, keys?: string[]) {\n const childResults = vuelidate.value.$getResultsForChild(child);\n if (!childResults) {\n return {};\n }\n\n const childKeys = keys ?? Object.keys(childResults)\n .filter((key) => !key.startsWith('$'));\n\n const result : Record<string, any> = {};\n for (let i = 0; i < childKeys.length; i++) {\n if (hasOwnProperty(childResults, childKeys[i])) {\n result[childKeys[i]] = (childResults[childKeys[i]] as { $model: Record<string, any> }).$model;\n }\n }\n\n return result;\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { DomainType } from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport type { MasterImage } from '@privateaim/core-kit';\nimport type { ListSlotsType } from '../../core';\nimport {\n createList,\n defineListEvents,\n defineListProps,\n} from '../../core';\n\nexport default defineComponent({\n props: defineListProps<MasterImage>(),\n slots: Object as SlotsType<ListSlotsType<MasterImage>>,\n emits: defineListEvents<MasterImage>(),\n setup(props, ctx) {\n const { render, setDefaults } = createList({\n type: `${DomainType.MASTER_IMAGE}`,\n props,\n setup: ctx,\n queryFilters: (q) => ({\n path: q.length > 0 ? `~${q}` : q,\n }),\n query: {\n sort: {\n path: 'ASC',\n },\n },\n });\n\n setDefaults({\n item: {\n textPropName: 'virtual_path',\n },\n\n noMore: {\n content: 'No more master-images available...',\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { DomainType } from '@privateaim/core-kit';\nimport type { MasterImageGroup } from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport {\n createList,\n defineListEvents,\n defineListProps,\n} from '../../core';\nimport type { ListSlotsType } from '../../core';\n\nexport default defineComponent({\n props: defineListProps<MasterImageGroup>(),\n slots: Object as SlotsType<ListSlotsType<MasterImageGroup>>,\n emits: defineListEvents<MasterImageGroup>(),\n setup(props, ctx) {\n const { render, setDefaults } = createList({\n type: `${DomainType.MASTER_IMAGE_GROUP}`,\n props,\n setup: ctx,\n });\n\n setDefaults({\n noMore: {\n content: 'No more master-image-groups available...',\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport type { MasterImage, MasterImageGroup } from '@privateaim/core-kit';\nimport type { FormSelectOption } from '@vuecs/form-controls';\nimport { buildFormGroup, buildFormSelect } from '@vuecs/form-controls';\nimport type { ListBodySlotProps } from '@vuecs/list-controls';\nimport useVuelidate from '@vuelidate/core';\nimport { required } from '@vuelidate/validators';\nimport type { VNodeArrayChildren } from 'vue';\nimport {\n computed, defineComponent, h, nextTick, reactive, ref, toRefs, watch,\n} from 'vue';\nimport {\n EntityListSlotName, injectCoreHTTPClient, wrapFnWithBusyState,\n} from '../../core';\nimport MasterImageGroupList from '../master-image-group/FMasterImageGroups';\nimport MasterImageList from './FMasterImages';\n\nexport default defineComponent({\n components: { MasterImageList },\n props: {\n entityId: {\n type: String,\n default: undefined,\n },\n },\n emits: ['selected'],\n async setup(props, { emit }) {\n const refs = toRefs(props);\n const apiClient = injectCoreHTTPClient();\n\n const busy = ref(false);\n const form = reactive({\n group_virtual_path: '',\n master_image_id: '',\n });\n\n const $v = useVuelidate({\n group_virtual_path: {\n required,\n },\n master_image_id: {\n required,\n },\n }, form);\n\n const masterImageEntity = ref<MasterImage | null>(null);\n const masterImageGroupEntity = ref<MasterImageGroup | null>(null);\n\n const isVirtualGroupPathDefined = computed(() => !!form.group_virtual_path &&\n form.group_virtual_path.length > 0);\n\n const imageQuery = computed(() => ({\n filters: {\n ...(form.group_virtual_path !== '' ? {\n group_virtual_path: form.group_virtual_path,\n } : {}),\n },\n }));\n\n const loadImage = wrapFnWithBusyState(busy, async () => {\n if (!form.master_image_id) return;\n\n if (\n masterImageEntity.value &&\n masterImageEntity.value.id === form.master_image_id\n ) {\n form.group_virtual_path = masterImageEntity.value.group_virtual_path;\n return;\n }\n\n try {\n masterImageEntity.value = await apiClient.masterImage.getOne(form.master_image_id);\n form.group_virtual_path = masterImageEntity.value.group_virtual_path;\n\n if (!masterImageGroupEntity.value || form.group_virtual_path !== masterImageGroupEntity.value.virtual_path) {\n const { data } = await apiClient.masterImageGroup.getMany({\n filters: {\n virtual_path: form.group_virtual_path,\n },\n });\n\n const entity = data.pop();\n\n if (entity) {\n masterImageGroupEntity.value = entity;\n }\n }\n } catch (e) {\n // ...\n }\n });\n\n const init = () => {\n if (!refs.entityId.value) return;\n\n form.master_image_id = refs.entityId.value;\n };\n\n watch(refs.entityId, (val, oldValue) => {\n if (val && val !== oldValue) {\n init();\n loadImage();\n }\n });\n\n init();\n\n const translationsValidation = useTranslationsForNestedValidations($v.value);\n\n Promise.resolve()\n .then(() => loadImage());\n\n const itemListNode = ref<null | Record<string, any>>(null);\n\n const selectGroup = (input: MasterImageGroup | null) => {\n if (!input) {\n form.group_virtual_path = '';\n masterImageGroupEntity.value = null;\n emit('selected', null); // todo: check\n return;\n }\n\n const changed = input.virtual_path !== form.group_virtual_path;\n\n form.group_virtual_path = input.virtual_path;\n masterImageGroupEntity.value = input;\n\n if (changed) {\n form.master_image_id = '';\n\n nextTick(async () => {\n if (itemListNode.value) {\n await itemListNode.value.load();\n }\n });\n }\n };\n\n const selectImage = (entity: MasterImage | null) => {\n if (entity) {\n form.master_image_id = entity.id;\n\n if (masterImageGroupEntity.value) {\n entity.command = entity.command || masterImageGroupEntity.value.command;\n entity.command_arguments = entity.command_arguments || masterImageGroupEntity.value.command_arguments;\n }\n\n emit('selected', entity);\n return;\n }\n\n emit('selected', null);\n };\n\n const buildMasterImageVNode = () : VNodeArrayChildren => {\n if (!isVirtualGroupPathDefined.value) {\n return [];\n }\n\n return [\n h('div', {\n class: 'col',\n }, [\n h(MasterImageList, {\n ref: itemListNode,\n query: imageQuery.value,\n }, {\n [EntityListSlotName.BODY]: (props: ListBodySlotProps<MasterImage>) => {\n const options: FormSelectOption[] = props.data.map((entity) => ({\n id: entity.id,\n value: entity.name,\n }));\n\n return buildFormGroup({\n props: {\n key: form.group_virtual_path,\n },\n validationMessages: translationsValidation.master_image_id.value,\n validationSeverity: getSeverity($v.value.master_image_id),\n label: true,\n labelContent: [\n 'Image',\n form.master_image_id ?\n h('i', { class: 'fa fa-check text-success ms-1' }) :\n h(''),\n ],\n content: buildFormSelect({\n value: form.master_image_id,\n onChange(input) {\n const index = props.data.findIndex((el) => el.id === input);\n if (index !== -1) {\n selectImage(props.data[index]);\n return;\n }\n\n selectImage(null);\n },\n options,\n }),\n });\n },\n }),\n ]),\n ];\n };\n\n return () => h(\n 'div',\n { class: 'row' },\n [\n h(\n 'div',\n { class: 'col' },\n [\n h(MasterImageGroupList, { }, {\n [EntityListSlotName.BODY]: (props: ListBodySlotProps<MasterImageGroup>) => {\n const options : FormSelectOption[] = props.data.map((entity) => ({\n id: entity.virtual_path,\n value: entity.virtual_path,\n }));\n\n return buildFormGroup({\n validationMessages: translationsValidation.group_virtual_path.value,\n validationSeverity: getSeverity($v.value.group_virtual_path),\n label: true,\n labelContent: [\n 'Group',\n isVirtualGroupPathDefined.value ?\n h('i', { class: 'fa fa-check text-success ms-1' }) :\n h(''),\n ],\n content: buildFormSelect({\n value: form.group_virtual_path,\n onChange(input) {\n const index = props.data.findIndex((el) => el.virtual_path === input);\n if (index > -1) {\n selectGroup(props.data[index]);\n return;\n }\n\n selectGroup(null);\n },\n options,\n }),\n });\n },\n }),\n ],\n ),\n buildMasterImageVNode(),\n ],\n );\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationDefaultKey, TranslatorTranslationGroup, useTranslation } from '@authup/client-web-kit';\nimport type { DomainAPISlim } from '@authup/core-http-kit';\nimport type { DomainType } from '@privateaim/core-kit';\nimport { isObject } from '@privateaim/kit';\nimport type {\n Component,\n PropType,\n VNodeArrayChildren,\n VNodeProps,\n} from 'vue';\nimport {\n defineComponent, getCurrentInstance, h, mergeProps, ref, resolveDynamicComponent,\n} from 'vue';\nimport { injectCoreHTTPClient } from '../core';\n\nenum ElementType {\n BUTTON = 'button',\n LINK = 'link',\n DROP_DOWN_ITEM = 'dropDownItem',\n}\n\nexport default defineComponent({\n name: 'FEntityDelete',\n props: {\n elementIcon: {\n type: String,\n default: 'fa-solid fa-trash',\n },\n withText: {\n type: Boolean,\n default: true,\n },\n elementType: {\n type: String as PropType<`${ElementType}`>,\n default: ElementType.BUTTON,\n },\n\n entityId: {\n type: String,\n required: true,\n },\n entityType: {\n type: String as PropType<`${DomainType}`>,\n required: true,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n locale: {\n type: String,\n default: undefined,\n },\n },\n setup(props, ctx) {\n const apiClient = injectCoreHTTPClient();\n const instance = getCurrentInstance();\n const busy = ref(false);\n\n const submit = async () => {\n if (busy.value) return;\n\n const domainAPI = (apiClient as Record<string, any>)[props.entityType] as DomainAPISlim<any> | undefined;\n if (!isObject(domainAPI)) {\n return;\n }\n\n if (typeof domainAPI.delete !== 'function') {\n return;\n }\n\n busy.value = true;\n\n try {\n const response = await domainAPI.delete(props.entityId);\n response.id = props.entityId;\n ctx.emit('deleted', response);\n } catch (e) {\n ctx.emit('failed', e);\n }\n\n busy.value = false;\n };\n\n const translation = useTranslation({\n group: TranslatorTranslationGroup.DEFAULT,\n key: TranslatorTranslationDefaultKey.DELETE,\n });\n\n const render = () => {\n let tag : Component | string = 'button';\n const data : VNodeProps = {};\n\n switch (props.elementType) {\n case ElementType.LINK:\n tag = 'a';\n break;\n case ElementType.DROP_DOWN_ITEM:\n if (\n instance &&\n typeof instance.appContext.app.component('BDropdownItem') !== 'undefined'\n ) {\n tag = resolveDynamicComponent('BDropdownItem') as Component;\n }\n break;\n }\n\n let icon : VNodeArrayChildren = [];\n if (props.elementIcon) {\n icon = [\n h('i', {\n class: [props.elementIcon, {\n 'pe-1': props.withText,\n }],\n }),\n ];\n }\n\n let text : VNodeArrayChildren = [];\n if (props.withText) {\n text = [\n translation.value,\n ];\n }\n\n return h(\n tag as string,\n mergeProps({\n disabled: busy.value,\n onClick($event: any) {\n $event.preventDefault();\n\n return submit.apply(null);\n },\n }, data),\n [\n icon,\n text,\n ],\n );\n };\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ASearch } from '@authup/client-web-kit';\nimport type { MasterImage } from '@privateaim/core-kit';\nimport {\n DomainType,\n MasterImageCommand,\n} from '@privateaim/core-kit';\nimport type { ListHeaderSlotProps } from '@vuecs/list-controls';\nimport {\n defineComponent, h, ref,\n} from 'vue';\nimport { EntityListSlotName, injectCoreHTTPClient, wrapFnWithBusyState } from '../../core';\nimport EntityDelete from '../FEntityDelete';\nimport MasterImageList from './FMasterImages';\n\nexport default defineComponent({\n components: { EntityDelete, MasterImageList },\n emits: ['executed', 'failed'],\n setup(props, { emit }) {\n const apiClient = injectCoreHTTPClient();\n const busy = ref(false);\n const itemList = ref<null | Record<string, any>>(null);\n\n const syncMasterImages = wrapFnWithBusyState(busy, async () => {\n try {\n await apiClient.masterImage\n .runCommand(MasterImageCommand.SYNC);\n\n emit('executed');\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n });\n\n const handleDeleted = async (data: MasterImage) => {\n if (itemList.value) {\n itemList.value.handleDeleted(data.id);\n }\n };\n\n return () => h(\n 'div',\n [\n h('p', [\n 'The master images and groups are extracted from the GitHub repository after executing the sync command and are then transferred to the database.' +\n ' ' +\n 'In addition, the master images are built and transferred to all registered registry instances.',\n ]),\n h('div', { class: 'mb-1' }, [\n h('button', {\n type: 'button',\n disabled: busy.value,\n class: 'btn btn-xs btn-success',\n onClick(event: any) {\n event.preventDefault();\n\n return syncMasterImages();\n },\n }, [\n h('i', { class: 'fa fa-sync me-1' }),\n 'Sync',\n ]),\n ]),\n\n h(MasterImageList, {\n ref: itemList,\n scopedSlots: {\n [EntityListSlotName.HEADER]: (props: ListHeaderSlotProps<MasterImage>) => [\n h(ASearch, {\n load: props.load,\n meta: props.meta,\n busy: props.busy,\n }),\n h('strong', ['Overview']),\n ],\n [EntityListSlotName.ITEM_ACTIONS]: (props : { data: MasterImage }) => h(EntityDelete, {\n class: 'btn btn-xs btn-danger',\n elementType: 'button',\n entityId: props.data.id,\n entityType: DomainType.MASTER_IMAGE,\n withText: false,\n onDeleted(item: MasterImage) {\n return handleDeleted(item);\n },\n }),\n },\n }),\n ],\n );\n },\n});\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DomainType,\n} from '@privateaim/core-kit';\nimport type {\n Project,\n} from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport {\n defineComponent,\n} from 'vue';\nimport type {\n EntityManagerSlotsType,\n} from '../../core';\nimport {\n createEntityManager,\n defineEntityManagerEvents,\n defineEntityManagerProps,\n} from '../../core';\n\nconst FProject = defineComponent({\n props: defineEntityManagerProps<Project>(),\n emits: defineEntityManagerEvents<Project>(),\n slots: Object as SlotsType<EntityManagerSlotsType<Project>>,\n async setup(props, setup) {\n const manager = createEntityManager({\n type: `${DomainType.PROJECT}`,\n setup,\n props,\n });\n\n await manager.resolve();\n\n return () => manager.render();\n },\n});\n\nexport {\n FProject,\n};\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ComputedRef, MaybeRef } from 'vue';\nimport { computed, isRef } from 'vue';\n\ntype ObjectLiteral = {\n updated_at: string | Date | undefined\n};\nexport function useUpdatedAt<T extends ObjectLiteral>(input?: MaybeRef<T | undefined>) : ComputedRef<string | Date | undefined> {\n return computed(() => {\n if (isRef(input)) {\n return input.value ? input.value.updated_at : undefined;\n }\n\n return input ? input.updated_at : undefined;\n });\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { DomainType } from '@privateaim/core-kit';\nimport type { Node } from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport { createList, defineListEvents, defineListProps } from '../../core';\nimport type { ListSlotsType } from '../../core';\n\nexport default defineComponent({\n props: defineListProps<Node>(),\n slots: Object as SlotsType<ListSlotsType<Node>>,\n emits: defineListEvents<Node>(),\n setup(props, setup) {\n const { render, setDefaults } = createList({\n type: `${DomainType.NODE}`,\n props,\n setup,\n query: {\n sort: {\n name: 'ASC',\n },\n },\n });\n\n setDefaults({\n noMore: {\n content: 'No more nodes available...',\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { useAbilityCheck } from '@authup/client-web-kit';\nimport {\n ProjectNodeApprovalCommand,\n ProjectNodeApprovalStatus,\n} from '@privateaim/core-kit';\nimport { PermissionName } from '@privateaim/kit';\nimport type { PropType } from 'vue';\nimport {\n computed, defineComponent, ref,\n} from 'vue';\nimport {\n injectCoreHTTPClient,\n renderActionCommand,\n wrapFnWithBusyState,\n} from '../../core';\nimport type { ActionCommandProperties } from '../../core';\n\nconst FProjectNodeApprovalCommand = defineComponent({\n props: {\n entityId: {\n type: String,\n required: true,\n },\n approvalStatus: String as PropType<ProjectNodeApprovalStatus>,\n command: {\n type: String as PropType<ProjectNodeApprovalCommand>,\n required: true,\n },\n elementType: {\n type: String as PropType<ActionCommandProperties['elementType']>,\n default: 'button',\n },\n withIcon: {\n type: Boolean,\n default: false,\n },\n withText: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['failed', 'updated'],\n setup(props, { emit, slots }) {\n const busy = ref(false);\n const apiClient = injectCoreHTTPClient();\n\n const commandText = computed(() => {\n switch (props.command) {\n case ProjectNodeApprovalCommand.APPROVE:\n return 'approve';\n case ProjectNodeApprovalCommand.REJECT:\n return 'reject';\n default:\n return '';\n }\n });\n\n const iconClass = computed(() => {\n switch (props.command) {\n case ProjectNodeApprovalCommand.APPROVE:\n return 'fa fa-check';\n case ProjectNodeApprovalCommand.REJECT:\n return 'fa fa-ban';\n default:\n return 'fa fa-sync-alt';\n }\n });\n\n const classSuffix = computed(() => {\n switch (props.command) {\n case ProjectNodeApprovalCommand.APPROVE:\n return 'success';\n case ProjectNodeApprovalCommand.REJECT:\n return 'danger';\n default:\n return 'info';\n }\n });\n\n const isDisabled = computed(() => {\n if (props.approvalStatus) {\n if (\n props.approvalStatus === ProjectNodeApprovalStatus.APPROVED &&\n props.command === ProjectNodeApprovalCommand.APPROVE\n ) {\n return true;\n }\n\n return props.approvalStatus === ProjectNodeApprovalStatus.REJECTED &&\n props.command === ProjectNodeApprovalCommand.REJECT;\n }\n\n return props.command === ProjectNodeApprovalCommand.REJECT;\n });\n\n const execute = wrapFnWithBusyState(busy, async () => {\n let status;\n\n switch (props.command) {\n case ProjectNodeApprovalCommand.APPROVE:\n status = ProjectNodeApprovalStatus.APPROVED;\n break;\n case ProjectNodeApprovalCommand.REJECT:\n status = ProjectNodeApprovalStatus.REJECTED;\n break;\n default:\n status = null;\n break;\n }\n\n try {\n const item = await apiClient.projectNode.update(props.entityId, {\n approval_status: status,\n });\n\n emit('updated', item);\n } catch (e) {\n emit('failed', e);\n }\n });\n\n const isAllowed = useAbilityCheck(PermissionName.PROJECT_APPROVE);\n\n return () => renderActionCommand({\n execute,\n elementType: props.elementType,\n withIcon: props.withIcon,\n withText: props.withText,\n isDisabled: isDisabled.value,\n iconClass: iconClass.value,\n isAllowed: isAllowed.value,\n commandText: commandText.value,\n classSuffix: classSuffix.value,\n slots,\n });\n },\n});\n\nexport {\n FProjectNodeApprovalCommand,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { computed, defineComponent, h } from 'vue';\nimport type { PropType } from 'vue';\nimport { ProjectNodeApprovalStatus } from '@privateaim/core-kit';\nimport { hasNormalizedSlot, normalizeSlot } from '../../core';\n\nconst FProjectNodeApprovalStatus = defineComponent({\n props: {\n status: {\n type: String as PropType<ProjectNodeApprovalStatus>,\n default: undefined,\n },\n },\n setup(props, { slots }) {\n const statusText = computed(() => {\n switch (props.status) {\n case ProjectNodeApprovalStatus.APPROVED:\n return 'approved';\n case ProjectNodeApprovalStatus.REJECTED:\n return 'rejected';\n default:\n return 'none';\n }\n });\n\n const classSuffix = computed(() => {\n switch (props.status) {\n case 'approved':\n return 'success';\n case 'rejected':\n return 'danger';\n default:\n return 'info';\n }\n });\n\n if (hasNormalizedSlot('default', slots)) {\n return () => normalizeSlot('default', {\n classSuffix: classSuffix.value,\n statusText: statusText.value,\n }, slots);\n }\n\n return () => h('span', { class: `text-${classSuffix.value}` }, statusText.value);\n },\n});\n\nexport {\n FProjectNodeApprovalStatus,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { defineComponent, h } from 'vue';\nimport type { ProjectNode } from '@privateaim/core-kit';\nimport {\n DomainType,\n} from '@privateaim/core-kit';\nimport { createEntityManager, defineEntityManagerEvents } from '../../core';\n\nexport default defineComponent({\n props: {\n projectId: {\n type: String,\n required: true,\n },\n nodeId: {\n type: String,\n required: true,\n },\n realmId: String,\n },\n emits: defineEntityManagerEvents<ProjectNode>(),\n async setup(props, setup) {\n const manager = createEntityManager({\n type: `${DomainType.PROJECT_NODE}`,\n realmId: props.realmId,\n setup,\n socket: {\n processEvent(event) {\n return event.data.project_id === props.projectId &&\n event.data.node_id === props.nodeId;\n },\n },\n });\n\n await manager.resolve({\n query: {\n filters: {\n project_id: props.projectId,\n node_id: props.nodeId,\n },\n },\n });\n\n return () => h('button', {\n class: ['btn btn-xs', {\n 'btn-success': !manager.data.value,\n 'btn-danger': manager.data.value,\n }],\n onClick($event: any) {\n $event.preventDefault();\n\n if (manager.data.value) {\n return manager.delete();\n }\n\n return manager.create({\n project_id: props.projectId,\n node_id: props.nodeId,\n });\n },\n }, [\n h('i', {\n class: ['fa', {\n 'fa-plus': !manager.data.value,\n 'fa-trash': manager.data.value,\n }],\n }),\n ]);\n },\n});\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DomainSubType,\n DomainType,\n buildDomainChannelName,\n} from '@privateaim/core-kit';\nimport type {\n ProjectNode,\n} from '@privateaim/core-kit';\nimport type { FiltersBuildInput } from 'rapiq';\nimport {\n defineComponent, h,\n} from 'vue';\nimport type {\n PropType,\n VNodeChild,\n} from 'vue';\nimport { createEntityManager, defineEntityManagerEvents, injectCoreHTTPClient } from '../../core';\n\nenum Direction {\n IN = 'in',\n OUT = 'out',\n}\n\nenum Target {\n PROJECT = 'project',\n NODE = 'node',\n}\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<ProjectNode>,\n },\n entityId: {\n type: String,\n },\n queryFilters: {\n type: Object as PropType<FiltersBuildInput<ProjectNode>>,\n },\n direction: {\n type: String as PropType<`${Direction.IN}` | `${Direction.OUT}`>,\n },\n target: {\n type: String as PropType<`${Target.NODE}` | `${Target.PROJECT}`>,\n },\n },\n emits: defineEntityManagerEvents<ProjectNode>(),\n async setup(props, setup) {\n const apiClient = injectCoreHTTPClient();\n const manager = createEntityManager({\n realmId: (entity) => {\n if (!entity) {\n return undefined;\n }\n\n if (props.target === Target.PROJECT) {\n return entity.project_realm_id;\n }\n\n if (props.target === Target.NODE) {\n return entity.node_realm_id;\n }\n\n return undefined;\n },\n type: `${DomainType.PROJECT_NODE}`,\n setup,\n props,\n socket: {\n processEvent(event, realmId) {\n if (!realmId) {\n return true;\n }\n\n if (props.target === Target.PROJECT) {\n return realmId === event.data.node_realm_id;\n }\n\n if (props.target === Target.NODE) {\n return realmId === event.data.project_realm_id;\n }\n\n return false;\n },\n buildChannelName(id) {\n if (props.direction === Direction.IN) {\n return buildDomainChannelName(DomainSubType.PROJECT_NODE_IN, id);\n }\n\n if (props.direction === Direction.OUT) {\n return buildDomainChannelName(DomainSubType.PROJECT_NODE_OUT, id);\n }\n\n return buildDomainChannelName(DomainType.PROJECT_NODE, id);\n },\n },\n });\n\n await manager.resolve();\n\n if (\n manager.data.value &&\n props.target &&\n !manager.data.value[props.target]\n ) {\n if (props.target === Target.PROJECT) {\n manager.data.value[props.target] = await apiClient\n .project.getOne(manager.data.value.project_id);\n } else {\n manager.data.value[props.target] = await apiClient\n .node.getOne(manager.data.value.node_id);\n }\n }\n\n return () => {\n const fallback = () : VNodeChild => {\n if (\n props.target &&\n manager.data.value &&\n manager.data.value[props.target]\n ) {\n if (props.target === Target.PROJECT) {\n return h('div', [\n manager.data.value?.project.name,\n ]);\n }\n if (props.target === Target.NODE) {\n return h('div', [\n manager.data.value?.node.name,\n ]);\n }\n }\n\n return [\n manager.data?.value?.id,\n ];\n };\n\n return manager.render(fallback);\n };\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ATitle } from '@authup/client-web-kit';\nimport type {\n ProjectNode,\n} from '@privateaim/core-kit';\nimport {\n DomainEventSubscriptionName,\n DomainSubType,\n DomainType,\n buildDomainChannelName,\n buildDomainEventSubscriptionFullName,\n} from '@privateaim/core-kit';\nimport type { FiltersBuildInput, RelationsBuildInput } from 'rapiq';\n\nimport type { PropType, SlotsType, VNodeChild } from 'vue';\nimport { computed, defineComponent, h } from 'vue';\nimport type { ListSlotsType } from '../../core';\nimport {\n createList, defineListEvents, defineListProps,\n} from '../../core';\nimport type { DomainDetailsSlotProps } from '../type';\nimport FProjectNode from './FProjectNode';\n\nenum Direction {\n IN = 'in',\n OUT = 'out',\n}\n\nexport default defineComponent({\n props: {\n ...defineListProps<ProjectNode>(),\n realmId: {\n type: String,\n },\n sourceId: {\n type: String,\n default: undefined,\n },\n target: {\n type: String as PropType<'node' | 'project'>,\n default: DomainType.NODE,\n },\n direction: {\n type: String as PropType<'in' | 'out'>,\n default: Direction.OUT,\n },\n includeNode: {\n type: Boolean,\n default: false,\n },\n includeProject: {\n type: Boolean,\n default: false,\n },\n },\n slots: Object as SlotsType<ListSlotsType<ProjectNode>>,\n emits: defineListEvents<ProjectNode>(),\n async setup(props, ctx) {\n const source = computed(() => (props.target === DomainType.NODE ?\n DomainType.PROJECT :\n DomainType.NODE));\n\n const isSameSocketRoom = (room?: string) => {\n if (props.realmId) {\n switch (props.direction) {\n case Direction.IN:\n return room === buildDomainChannelName(DomainSubType.PROJECT_NODE_IN);\n case Direction.OUT:\n return room === buildDomainChannelName(DomainSubType.PROJECT_NODE_OUT);\n }\n } else {\n return room === buildDomainChannelName(DomainType.PROJECT_NODE);\n }\n\n return false;\n };\n\n const isSocketEventForSource = (item: ProjectNode) => {\n switch (source.value) {\n case DomainType.NODE:\n if (typeof props.sourceId === 'undefined') {\n return props.realmId === item.node_realm_id;\n }\n\n return props.sourceId === item.node_id;\n case DomainType.PROJECT:\n if (typeof props.sourceId === 'undefined') {\n return props.realmId === item.project_realm_id;\n }\n\n return props.sourceId === item.project_id;\n }\n\n return false;\n };\n\n const {\n render,\n setDefaults,\n } = createList({\n type: `${DomainType.PROJECT_NODE}`,\n props,\n setup: ctx,\n socket: {\n processEvent(event) {\n return isSameSocketRoom(event.meta.roomName) &&\n isSocketEventForSource(event.data);\n },\n buildSubscribeEventName() {\n if (props.realmId) {\n if (props.direction === Direction.IN) {\n return buildDomainEventSubscriptionFullName(\n DomainSubType.PROJECT_NODE_IN,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainSubType.PROJECT_NODE_OUT,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainType.PROJECT_NODE,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n },\n buildUnsubscribeEventName() {\n if (props.realmId) {\n if (props.direction === Direction.IN) {\n return buildDomainEventSubscriptionFullName(\n DomainSubType.PROJECT_NODE_IN,\n DomainEventSubscriptionName.UNSUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainSubType.PROJECT_NODE_OUT,\n DomainEventSubscriptionName.UNSUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainType.PROJECT_NODE,\n DomainEventSubscriptionName.UNSUBSCRIBE,\n );\n },\n },\n queryFilters: (q) => {\n let filter : FiltersBuildInput<ProjectNode>;\n\n if (props.target === DomainType.NODE) {\n filter = {\n 'node.name': q.length > 0 ? `~${q}` : q,\n };\n } else {\n filter = {\n 'project.name': q.length > 0 ? `~${q}` : q,\n };\n }\n\n if (props.realmId) {\n if (props.direction === Direction.IN) {\n filter.node_realm_id = props.realmId;\n } else {\n filter.project_realm_id = props.realmId;\n }\n }\n\n return filter;\n },\n query: () => {\n const include : string[] = [];\n if (props.target === DomainType.NODE || props.includeNode) {\n include.push('node');\n }\n\n if (props.target === DomainType.PROJECT || props.includeProject) {\n include.push('project');\n }\n\n return {\n include: include as RelationsBuildInput<ProjectNode>,\n };\n },\n });\n\n setDefaults({\n header: {\n content: () => h(ATitle, {\n text: props.target === DomainType.NODE ?\n 'Nodes' :\n 'Analyses',\n icon: true,\n iconClass: props.target === DomainType.NODE ?\n 'fa fa-hospital' :\n 'fa-solid fa-file',\n }),\n },\n\n item: {\n content(\n item,\n itemProps,\n slotContent,\n ) {\n return h(FProjectNode, {\n entity: item,\n direction: props.direction,\n target: props.target,\n onUpdated: itemProps.updated,\n onDeleted: itemProps.deleted,\n onFailed: itemProps.failed,\n }, {\n default: (slotProps: DomainDetailsSlotProps<ProjectNode>) => {\n if (slotContent.slot) {\n return slotContent.slot;\n }\n\n let text : VNodeChild | undefined;\n\n if (\n props.target === DomainType.NODE &&\n slotProps.data.node\n ) {\n text = h('div', [slotProps.data.node.name]);\n } else if (\n props.target === DomainType.PROJECT &&\n slotProps.data.project\n ) {\n text = h('div', [slotProps.data.project.name]);\n } else {\n text = h('div', [slotProps.data.id]);\n }\n\n return [\n slotContent.icon,\n text,\n slotContent.actions,\n ];\n },\n });\n },\n },\n\n noMore: {\n content: `No more ${props.target} available...`,\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { buildFormSubmitWithTranslations, createFormSubmitTranslations } from '@authup/client-web-kit';\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport type { ProjectNode } from '@privateaim/core-kit';\nimport { DomainType, ProjectNodeApprovalStatus } from '@privateaim/core-kit';\nimport {\n buildFormGroup, buildFormSelect, buildFormTextarea,\n} from '@vuecs/form-controls';\nimport useVuelidate from '@vuelidate/core';\nimport { maxLength, minLength, required } from '@vuelidate/validators';\nimport {\n defineComponent, h, reactive, ref, watch,\n} from 'vue';\nimport type { PropType } from 'vue';\nimport { useUpdatedAt } from '../../composables';\nimport {\n createEntityManager, initFormAttributesFromSource, wrapFnWithBusyState,\n} from '../../core';\n\nconst FProjectInForm = defineComponent({\n props: {\n entity: {\n type: Object as PropType<ProjectNode>,\n required: true,\n },\n },\n setup(props, setup) {\n const busy = ref(false);\n const form = reactive({\n comment: '',\n approval_status: '' as ProjectNodeApprovalStatus,\n });\n\n const options = [\n ProjectNodeApprovalStatus.APPROVED,\n ProjectNodeApprovalStatus.REJECTED,\n ];\n\n const $v = useVuelidate({\n comment: {\n minLength: minLength(5),\n maxLength: maxLength(2048),\n },\n approval_status: {\n required,\n },\n }, form);\n\n const updatedAt = useUpdatedAt(props.entity);\n\n const manager = createEntityManager({\n type: `${DomainType.PROJECT_NODE}`,\n setup,\n props,\n });\n\n function initForm() {\n initFormAttributesFromSource(form, manager.data.value);\n }\n\n watch(updatedAt, (val, oldVal) => {\n if (val && val !== oldVal) {\n manager.data.value = props.entity;\n\n initForm();\n }\n });\n\n const submit = wrapFnWithBusyState(busy, async () => {\n if ($v.value.$invalid) return;\n\n await manager.createOrUpdate(form);\n });\n\n const translationsValidation = useTranslationsForNestedValidations($v.value);\n const translationsSubmit = createFormSubmitTranslations();\n\n return () => {\n const comment = buildFormGroup({\n validationMessages: translationsValidation.comment.value,\n validationSeverity: getSeverity($v.value.comment),\n label: true,\n labelContent: 'Comment',\n content: buildFormTextarea({\n value: form.comment,\n onChange(input) {\n form.comment = input;\n },\n props: {\n rows: 4,\n placeholder: 'Write a comment why you want to approve or either reject the project...',\n },\n }),\n });\n\n const status = buildFormGroup({\n validationMessages: translationsValidation.approval_status.value,\n validationSeverity: getSeverity($v.value.approval_status),\n label: true,\n labelContent: 'Status',\n content: buildFormSelect({\n value: form.approval_status,\n onChange(input) {\n form.approval_status = input;\n },\n options: options.map((option) => ({\n id: option,\n value: option,\n })),\n }),\n });\n\n const submitNode = buildFormSubmitWithTranslations({\n submit,\n busy: busy.value,\n isEditing: !!manager.data.value,\n invalid: $v.value.$invalid,\n }, translationsSubmit);\n\n return h(\n 'div',\n [\n h('div', { class: 'alert alert-sm alert-info' }, [\n 'You have to approve the project, so the project owner can target you as a node for the analysis.',\n ]),\n comment,\n status,\n h('hr'),\n submitNode,\n ],\n );\n };\n },\n});\n\nexport {\n FProjectInForm,\n};\n","<!--\n - Copyright (c) 2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport { VCLink } from '@vuecs/link';\nimport { BModal } from 'bootstrap-vue-next';\nimport type { ProjectNode } from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport { defineComponent, ref } from 'vue';\nimport { FProjectInForm } from '../project/FProjectInForm';\nimport { FProjectNodeApprovalCommand } from './FProjectNodeApprovalCommand';\nimport { FProjectNodeApprovalStatus } from './FProjectNodeApprovalStatus';\n\nexport default defineComponent({\n components: {\n BModal,\n FProjectInForm,\n FProjectNodeApprovalCommand,\n FProjectNodeApprovalStatus,\n VCLink,\n },\n props: {\n entity: {\n type: Object as PropType<ProjectNode>,\n required: true,\n },\n busy: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['deleted', 'failed', 'updated'],\n setup(_props, { emit }) {\n const modal = ref<boolean>(false);\n const toggleModal = () => {\n modal.value = !modal.value;\n };\n\n const handleDeleted = (data: ProjectNode) => {\n emit('deleted', data);\n };\n\n const handleFailed = (data: Error) => {\n emit('failed', data);\n };\n\n const handleUpdated = (data: ProjectNode) => {\n emit('updated', data);\n };\n\n return {\n modal,\n toggleModal,\n\n handleDeleted,\n handleFailed,\n handleUpdated,\n };\n },\n});\n</script>\n<template>\n <div class=\"d-flex flex-column gap-1 w-100\">\n <div class=\"w-100\">\n <div class=\"d-flex flex-row align-items-center\">\n <div>\n <slot\n name=\"title\"\n :data=\"entity\"\n >\n <i class=\"fas fa-project-diagram me-1\" />\n <VCLink\n :to=\"'/projects/' + entity.project.id\"\n class=\"mb-0\"\n >\n {{ entity.project.name }}\n </VCLink>\n </slot>\n </div>\n <div class=\"ms-auto d-flex flex-row gap-1\">\n <slot\n name=\"itemActions\"\n :data=\"entity\"\n >\n <VCLink\n :to=\"'/projects/' + entity.project.id\"\n :disabled=\"busy\"\n class=\"btn btn-xs btn-dark\"\n >\n <i class=\"fa fa-bars\" />\n </VCLink>\n <button\n type=\"button\"\n class=\"btn btn-xs btn-primary\"\n @click.prevent=\"toggleModal\"\n >\n <i class=\"fa fa-comment-alt\" />\n </button>\n <FProjectNodeApprovalCommand\n :entity-id=\"entity.id\"\n :approval-status=\"entity.approval_status\"\n :with-icon=\"true\"\n :element-type=\"'button'\"\n :command=\"'approve'\"\n :with-text=\"false\"\n @updated=\"handleUpdated\"\n />\n <FProjectNodeApprovalCommand\n :entity-id=\"entity.id\"\n :approval-status=\"entity.approval_status\"\n :with-icon=\"true\"\n :element-type=\"'button'\"\n :command=\"'reject'\"\n :with-text=\"false\"\n @updated=\"handleUpdated\"\n />\n </slot>\n </div>\n </div>\n </div>\n <slot\n name=\"body\"\n :data=\"entity\"\n >\n <div class=\"row\">\n <div class=\"col-12 col-md-4 d-flex align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-server\" /> Node</strong>\n </div>\n <div>\n {{ entity.node.name }}\n </div>\n </div>\n <div class=\"col-12 col-md-4 d-flex align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-heartbeat\" /> Status</strong>\n </div>\n <div>\n <FProjectNodeApprovalStatus\n :status=\"entity.approval_status\"\n >\n <template #default=\"slotProps\">\n <span\n :class=\"'text-'+slotProps.classSuffix\"\n >\n {{ slotProps.statusText }}\n </span>\n </template>\n </FProjectNodeApprovalStatus>\n </div>\n </div>\n <div class=\"col-12 col-md-4 d-flex align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-user\" /> Creator</strong>\n </div>\n <div>\n <template v-if=\"entity.project.user_id\">\n {{ entity.project.user_id }}\n </template>\n <template v-else-if=\"entity.project.robot_id\">\n {{ entity.project.project.robot_id }}\n </template>\n </div>\n </div>\n <!-- todo: this is only possible when authup supports user access from other realm -->\n <!--\n <div class=\"d-flex flex-grow-1 align-items-center flex-column\">\n <div>\n <strong><i class=\"fa fa-user\" /> Creator</strong>\n </div>\n <div>\n <AUser :entity-id=\"entity.user_id\">\n <template #default=\"{ data }\">\n {{ data.name }}\n </template>\n </AUser>\n </div>\n </div>\n -->\n </div>\n </slot>\n <slot\n name=\"footer\"\n :data=\"entity\"\n >\n <div class=\"d-flex flex-row\">\n <div class=\"\">\n <small>\n <span class=\"text-muted\">\n created\n </span>\n <VCTimeago :datetime=\"entity.created_at\" />\n </small>\n </div>\n <div class=\"ms-auto\">\n <small>\n <span class=\"text-muted\">\n updated\n </span>\n <VCTimeago :datetime=\"entity.updated_at\" />\n </small>\n </div>\n </div>\n </slot>\n\n <BModal\n v-model=\"modal\"\n size=\"lg\"\n button-size=\"sm\"\n :no-close-on-backdrop=\"true\"\n :no-close-on-esc=\"true\"\n :hide-footer=\"true\"\n >\n <template #title>\n <i class=\"fas fa-file-import\" /> Project {{ entity.project.name }}\n </template>\n <template v-if=\"entity\">\n <FProjectInForm\n :entity=\"entity\"\n @updated=\"handleUpdated\"\n @failed=\"handleFailed\"\n />\n </template>\n <template v-else>\n ...\n </template>\n </BModal>\n </div>\n</template>\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { PropType, SlotsType } from 'vue';\nimport { defineComponent, h } from 'vue';\nimport { ATitle } from '@authup/client-web-kit';\n\nexport const FTitle = defineComponent({\n props: {\n icon: {\n type: Boolean,\n default: true,\n },\n iconPosition: {\n type: String as PropType<'start' | 'end'>,\n },\n iconClass: {\n type: String,\n },\n text: {\n type: String,\n },\n },\n slots: Object as SlotsType<{\n default: Record<string, any>\n }>,\n setup(props, { slots }) {\n return () => h(ATitle, {\n slots,\n icon: props.icon,\n iconClass: props.iconClass,\n iconPosition: props.iconPosition,\n text: props.text,\n });\n },\n});\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ListLoadFn } from '@vuecs/list-controls';\nimport type { PropType, SlotsType } from 'vue';\nimport { defineComponent, h } from 'vue';\nimport { ASearch } from '@authup/client-web-kit';\nimport type { ListMeta } from '../../../core';\n\nexport const FSearch = defineComponent({\n props: {\n // todo: add entity-key prop\n icon: {\n type: Boolean,\n },\n iconPosition: {\n type: String as PropType<'start' | 'end'>,\n },\n iconClass: {\n type: String,\n },\n busy: {\n type: Boolean,\n },\n load: {\n type: Function as PropType<ListLoadFn<ListMeta<any>>>,\n },\n meta: {\n type: Object as PropType<ListMeta<any>>,\n },\n },\n slots: Object as SlotsType<{\n default: Record<string, any>\n }>,\n setup(props, { slots }) {\n return () => h(ASearch, {\n slots,\n icon: props.icon,\n iconPosition: props.iconPosition,\n busy: props.busy,\n load: props.load,\n meta: props.meta,\n });\n },\n});\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { PropType } from 'vue';\nimport { defineComponent, h } from 'vue';\nimport { APagination } from '@authup/client-web-kit';\n\ntype PaginationLoadFn = (data?: any) => (Promise<void> | void);\n\nexport const FPagination = defineComponent({\n props: {\n total: {\n type: Number,\n },\n meta: {\n type: Object,\n },\n busy: {\n type: Boolean,\n },\n load: {\n type: Function as PropType<PaginationLoadFn>,\n required: true,\n },\n },\n setup(props) {\n return () => h(APagination, {\n busy: props.busy,\n load: props.load,\n meta: props.meta,\n total: props.total,\n });\n },\n});\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { buildFormSubmitWithTranslations, createFormSubmitTranslations } from '@authup/client-web-kit';\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport {\n buildFormGroup, buildFormInput, buildFormTextarea,\n} from '@vuecs/form-controls';\nimport type { ListHeaderSlotProps, ListItemSlotProps } from '@vuecs/list-controls';\nimport useVuelidate from '@vuelidate/core';\nimport { maxLength, minLength, required } from '@vuelidate/validators';\nimport {\n defineComponent,\n h,\n reactive, ref,\n watch,\n} from 'vue';\nimport type {\n PropType,\n} from 'vue';\n\nimport type { MasterImage, Node, Project } from '@privateaim/core-kit';\nimport { DomainType } from '@privateaim/core-kit';\nimport { useUpdatedAt } from '../../composables';\nimport type { ListProps } from '../../core';\nimport {\n EntityListSlotName,\n createEntityManager,\n defineEntityManagerEvents,\n initFormAttributesFromSource,\n injectCoreHTTPClient,\n renderEntityAssignAction,\n wrapFnWithBusyState,\n} from '../../core';\nimport MasterImagePicker from '../master-image/FMasterImagePicker';\nimport FNodes from '../node/FNodes';\nimport { FProjectNodeAssignAction } from '../project-node';\nimport { FSearch } from '../utility';\n\nconst FProjectForm = defineComponent({\n props: {\n entity: {\n type: Object as PropType<Project>,\n default: undefined,\n },\n },\n emits: defineEntityManagerEvents<Project>(),\n setup(props, setup) {\n const apiClient = injectCoreHTTPClient();\n const busy = ref(false);\n const form = reactive({\n name: '',\n description: '',\n master_image_id: '',\n });\n\n const $v = useVuelidate({\n name: {\n required,\n minLength: minLength(5),\n maxLength: maxLength(100),\n },\n description: {\n minLength: minLength(5),\n maxLength: maxLength(4096),\n },\n master_image_id: {\n required,\n },\n }, form);\n\n const nodeIds = ref<string[]>([]);\n\n const manager = createEntityManager({\n type: `${DomainType.PROJECT}`,\n setup,\n props,\n });\n\n const initFromProperties = () => {\n if (!manager.data.value) return;\n\n initFormAttributesFromSource(form, manager.data.value);\n };\n\n initFromProperties();\n\n const updatedAt = useUpdatedAt(props.entity);\n\n watch(updatedAt, (val, oldVal) => {\n if (val && val !== oldVal) {\n manager.data.value = props.entity;\n\n initFromProperties();\n }\n });\n\n const handleMasterImagePicker = (item: MasterImage) => {\n if (item) {\n form.master_image_id = item.id;\n } else {\n form.master_image_id = '';\n }\n };\n\n const submit = wrapFnWithBusyState(busy, async () => {\n if ($v.value.$invalid) return;\n\n const existed = !!manager.data.value;\n await manager.createOrUpdate(form);\n\n if (!existed && manager.data.value) {\n for (let i = 0; i < nodeIds.value.length; i++) {\n await apiClient.projectNode.create({\n project_id: manager.data.value.id,\n node_id: nodeIds.value[i],\n });\n }\n }\n });\n\n const toggleNodeIds = (id: string) => {\n const index = nodeIds.value.indexOf(id);\n if (index === -1) {\n nodeIds.value.push(id);\n } else {\n nodeIds.value.splice(index, 1);\n }\n };\n\n const translationsValidation = useTranslationsForNestedValidations($v.value);\n const translationsSubmit = createFormSubmitTranslations();\n\n return () => {\n const name = buildFormGroup({\n validationMessages: translationsValidation.name.value,\n validationSeverity: getSeverity($v.value.name),\n label: true,\n labelContent: 'Name',\n content: buildFormInput({\n value: form.name,\n onChange(input) {\n form.name = input;\n },\n }),\n });\n\n const description = buildFormGroup({\n validationMessages: translationsValidation.description.value,\n validationSeverity: getSeverity($v.value.description),\n label: true,\n labelContent: 'Description',\n content: buildFormTextarea({\n value: $v.value.description.$model,\n onChange(input) {\n $v.value.description.$model = input;\n },\n props: {\n rows: 4,\n },\n }),\n });\n\n const masterImagePicker = h(MasterImagePicker, {\n entityId: form.master_image_id,\n onSelected(value: MasterImage) {\n handleMasterImagePicker(value);\n },\n });\n\n const submitNode = buildFormSubmitWithTranslations({\n submit,\n busy: busy.value,\n isEditing: !!manager.data.value,\n invalid: $v.value.$invalid,\n }, translationsSubmit);\n\n const nodeVNode = h('div', [\n h(FNodes, {\n query: {\n filters: {\n hidden: false,\n },\n },\n } satisfies ListProps<Node>, {\n [EntityListSlotName.HEADER]: (props: ListHeaderSlotProps<Node>) => [\n h('label', 'Nodes'),\n h(FSearch, {\n load: props.load,\n meta: props.meta,\n }),\n ],\n [EntityListSlotName.ITEM_ACTIONS]: (props: ListItemSlotProps<Node>) => {\n if (manager.data.value) {\n return h(FProjectNodeAssignAction, {\n key: props.data.id,\n nodeId: props.data.id,\n projectId: manager.data.value.id,\n realmId: manager.data.value.id,\n });\n }\n\n const itemIndex = nodeIds.value.indexOf(props.data.id);\n\n return renderEntityAssignAction({\n item: itemIndex === -1 ? undefined : nodeIds.value[itemIndex],\n add: () => toggleNodeIds(props.data.id),\n drop: () => toggleNodeIds(props.data.id),\n });\n },\n }),\n h('div', { class: 'alert alert-dark alert-sm' }, [\n 'Chose a arbitrary amount of target nodes.',\n ]),\n ]);\n\n return h(\n 'div',\n { class: 'row' },\n [\n h(\n 'div',\n { class: 'col' },\n [\n name,\n h('hr'),\n description,\n h('hr'),\n masterImagePicker,\n ],\n ),\n h(\n 'div',\n { class: 'col' },\n [\n nodeVNode,\n h('hr'),\n submitNode,\n ],\n ),\n ],\n );\n };\n },\n});\n\nexport {\n FProjectForm,\n};\n","<!--\n - Copyright (c) 2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n\n<script lang=\"ts\">\nimport { useAbilityCheck } from '@authup/client-web-kit';\nimport type { Project } from '@privateaim/core-kit';\nimport { PermissionName } from '@privateaim/kit';\nimport { VCLink } from '@vuecs/link';\nimport { VCTimeago } from '@vuecs/timeago';\nimport type { PropType, SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport type { EntityListSlotName } from '../../core';\nimport FEntityDelete from '../FEntityDelete';\n\nexport default defineComponent({\n components: {\n FEntityDelete,\n VCLink,\n VCTimeago,\n },\n props: {\n entity: {\n type: Object as PropType<Project>,\n required: true,\n },\n busy: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['deleted'],\n slots: Object as SlotsType<{\n [EntityListSlotName.ITEM_ACTIONS]: {\n data: Project\n },\n header: {\n data: Project\n },\n body: {\n data: Project\n },\n footer: {\n data: Project\n },\n }>,\n setup(_props, { emit }) {\n const canDelete = useAbilityCheck(PermissionName.PROJECT_DELETE);\n\n const handleDeleted = (data: Project) => {\n emit('deleted', data);\n };\n\n return {\n canDelete,\n handleDeleted,\n };\n },\n});\n</script>\n<template>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"w-100\">\n <div class=\"d-flex flex-row align-items-center\">\n <div>\n <slot\n name=\"title\"\n :data=\"entity\"\n >\n <i class=\"fas fa-project-diagram me-1\" />\n <VCLink\n :to=\"'/projects/' + entity.id\"\n class=\"mb-0\"\n >\n {{ entity.name }}\n </VCLink>\n </slot>\n </div>\n <div class=\"ms-auto\">\n <slot\n name=\"itemActions\"\n :data=\"entity\"\n >\n <VCLink\n :to=\"'/projects/' + entity.id\"\n :disabled=\"busy\"\n class=\"btn btn-xs btn-dark\"\n >\n <i class=\"fa fa-bars\" />\n </VCLink>\n <template v-if=\"canDelete\">\n <FEntityDelete\n :with-text=\"false\"\n :entity-id=\"entity.id\"\n :entity-type=\"'project'\"\n :disabled=\"busy || entity.analyses > 0\"\n class=\"btn btn-xs btn-danger ms-1\"\n @deleted=\"handleDeleted\"\n />\n </template>\n </slot>\n </div>\n </div>\n </div>\n <slot\n name=\"body\"\n :data=\"entity\"\n >\n <div class=\"d-flex justify-content-between flex-row\">\n <div class=\"d-flex flex-grow-1 align-items-center flex-column\">\n <div>\n <strong><i class=\"fa fa-microscope\" /> Analyses</strong>\n </div>\n <div\n :class=\"{'text-success': entity.analyses > 0, 'text-muted': entity.analyses === 0}\"\n >\n {{ entity.analyses }}\n </div>\n </div>\n <div class=\"d-flex flex-grow-1 align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-server\" /> Nodes</strong>\n </div>\n <div\n :class=\"{'text-success': entity.nodes > 0, 'text-muted': entity.nodes === 0}\"\n >\n {{ entity.nodes }}\n </div>\n </div>\n <div class=\"d-flex flex-grow-1 align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-user\" /> Creator</strong>\n </div>\n <div>\n <template v-if=\"entity.user_id\">\n {{ entity.user_id }}\n </template>\n <template v-else-if=\"entity.robot_id\">\n {{ entity.robot_id }}\n </template>\n </div>\n </div>\n <!-- todo: this is only possible when authup supports user access from other realm -->\n <!--\n <div class=\"d-flex flex-grow-1 align-items-center flex-column\">\n <div>\n <strong><i class=\"fa fa-user\" /> Creator</strong>\n </div>\n <div>\n <AUser :entity-id=\"entity.user_id\">\n <template #default=\"{ data }\">\n {{ data.name }}\n </template>\n </AUser>\n </div>\n </div>\n -->\n </div>\n </slot>\n <slot\n name=\"footer\"\n :data=\"entity\"\n >\n <div class=\"d-flex flex-row\">\n <div class=\"\">\n <small>\n <span class=\"text-muted\">\n created\n </span>\n <VCTimeago :datetime=\"entity.created_at\" />\n </small>\n </div>\n <div class=\"ms-auto\">\n <small>\n <span class=\"text-muted\">\n updated\n </span>\n <VCTimeago :datetime=\"entity.updated_at\" />\n </small>\n </div>\n </div>\n </slot>\n </div>\n</template>\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport type {\n PropType,\n} from 'vue';\nimport {\n defineComponent, h,\n} from 'vue';\nimport type {\n Project,\n} from '@privateaim/core-kit';\nimport { FProject } from './FProject';\nimport FProjectItemCard from './FProjectItemCard.vue';\nimport type { EntityManagerSlotProps } from '../../core';\n\nconst FProjectItem = defineComponent({\n props: {\n entity: {\n type: Object as PropType<Project>,\n required: true,\n },\n },\n emits: ['updated', 'failed', 'deleted'],\n setup(props, { emit }) {\n return () => h(FProject, {\n entity: props.entity,\n onDeleted(entity) {\n emit('deleted', entity);\n },\n onUpdated: (entity) => {\n emit('updated', entity);\n },\n onFailed(e) {\n emit('failed', e);\n },\n }, {\n default: (slotProps: EntityManagerSlotProps<Project>) => {\n if (!slotProps.data) {\n return [];\n }\n\n return h(FProjectItemCard, {\n entity: slotProps.data,\n busy: slotProps.busy,\n onDeleted: slotProps.deleted,\n });\n },\n });\n },\n});\n\nexport {\n FProjectItem,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport type {\n Project,\n} from '@privateaim/core-kit';\nimport {\n DomainType,\n} from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport type { ListSlotsType } from '../../core';\nimport { createList, defineListEvents, defineListProps } from '../../core';\n\nconst FProjects = defineComponent({\n props: {\n ...defineListProps<Project>(),\n realmId: {\n type: String,\n default: undefined,\n },\n },\n slots: Object as SlotsType<ListSlotsType<Project>>,\n emits: defineListEvents<Project>(),\n setup(props, setup) {\n const { render, setDefaults } = createList({\n type: `${DomainType.PROJECT}`,\n props,\n setup,\n });\n\n setDefaults({\n noMore: {\n content: 'No more projects available...',\n },\n });\n\n return () => render();\n },\n});\n\nexport {\n FProjects,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { PropType } from 'vue';\nimport { defineComponent, h, ref } from 'vue';\nimport type { Registry } from '@privateaim/core-kit';\nimport { RegistryAPICommand } from '@privateaim/core-kit';\nimport EntityDelete from '../FEntityDelete';\nimport MasterImageList from '../master-image/FMasterImages';\nimport { injectCoreHTTPClient } from '../../core';\n\nexport default defineComponent({\n components: { EntityDelete, MasterImageList },\n props: {\n entityId: {\n type: String as PropType<Registry['id']>,\n required: true,\n },\n },\n emits: ['executed', 'failed'],\n setup(props, { emit }) {\n const busy = ref(false);\n const apiClient = injectCoreHTTPClient();\n\n const execute = async () => {\n if (busy.value) return;\n\n busy.value = true;\n\n try {\n await apiClient.service.runRegistryCommand(RegistryAPICommand.CLEANUP, {\n id: props.entityId,\n });\n\n emit('executed');\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n\n busy.value = false;\n };\n\n return () => h('div', [\n h('p', { class: 'mb-1' }, [\n 'This command will remove any registry project which is not present in the current instance.',\n ]),\n\n h('button', {\n type: 'button',\n disabled: busy.value,\n class: 'btn btn-xs btn-dark',\n onClick(event: any) {\n event.preventDefault();\n\n return execute();\n },\n }, [\n 'Execute',\n ]),\n ]);\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { buildFormSubmitWithTranslations, createFormSubmitTranslations } from '@authup/client-web-kit';\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport type { Registry } from '@privateaim/core-kit';\nimport { DomainType } from '@privateaim/core-kit';\nimport {\n buildFormGroup, buildFormInput,\n} from '@vuecs/form-controls';\nimport useVuelidate from '@vuelidate/core';\nimport { maxLength, minLength, required } from '@vuelidate/validators';\nimport {\n defineComponent, h, reactive, ref, watch,\n} from 'vue';\nimport type {\n PropType,\n} from 'vue';\nimport { useUpdatedAt } from '../../composables';\nimport {\n createEntityManager,\n defineEntityManagerEvents,\n initFormAttributesFromSource,\n wrapFnWithBusyState,\n} from '../../core';\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<Registry>,\n default: undefined,\n },\n },\n emits: defineEntityManagerEvents<Registry>(),\n setup(props, setup) {\n const busy = ref(false);\n const form = reactive({\n name: '',\n host: '',\n account_name: '',\n account_secret: '',\n });\n\n const $v = useVuelidate({\n name: {\n required,\n minLength: minLength(3),\n maxLength: maxLength(128),\n },\n host: {\n required,\n maxLength: maxLength(512),\n },\n account_name: {\n inLength: minLength(3),\n maxLength: maxLength(256),\n },\n account_secret: {\n minLength: minLength(3),\n maxLength: maxLength(256),\n },\n }, form);\n\n const updatedAt = useUpdatedAt(props.entity);\n\n const manager = createEntityManager({\n type: `${DomainType.REGISTRY}`,\n setup,\n props,\n });\n\n const initForm = () => {\n if (!manager.data.value) {\n return;\n }\n\n initFormAttributesFromSource(form, manager.data.value);\n };\n\n watch(updatedAt, (val, oldVal) => {\n if (val && val !== oldVal) {\n initForm();\n }\n });\n\n initForm();\n\n const submit = wrapFnWithBusyState(busy, async () => {\n if ($v.value.$invalid) {\n return;\n }\n\n await manager.createOrUpdate(form);\n });\n\n const translationsValidation = useTranslationsForNestedValidations($v.value);\n const translationsSubmit = createFormSubmitTranslations();\n\n return () => {\n const name = buildFormGroup({\n validationMessages: translationsValidation.name.value,\n validationSeverity: getSeverity($v.value.name),\n label: true,\n labelContent: 'Name',\n content: buildFormInput({\n value: form.name,\n props: {\n placeholder: '...',\n },\n onChange(input) {\n form.name = input;\n },\n }),\n });\n\n const host = buildFormGroup({\n validationMessages: translationsValidation.host.value,\n validationSeverity: getSeverity($v.value.host),\n label: true,\n labelContent: 'Host',\n content: buildFormInput({\n value: form.host,\n onChange(input) {\n form.host = input;\n },\n props: {\n placeholder: 'e.g. ghcr.io',\n },\n }),\n });\n\n const accountName = buildFormGroup({\n validationMessages: translationsValidation.account_name.value,\n validationSeverity: getSeverity($v.value.account_name),\n label: true,\n labelContent: 'Account Name',\n content: buildFormInput({\n value: form.account_name,\n props: {\n placeholder: '...',\n },\n onChange(input) {\n form.account_name = input;\n },\n }),\n });\n\n const accountSecret = buildFormGroup({\n validationMessages: translationsValidation.account_secret.value,\n validationSeverity: getSeverity($v.value.account_secret),\n label: true,\n labelContent: 'Account Secret',\n content: buildFormInput({\n value: form.account_secret,\n props: {\n placeholder: '...',\n },\n onChange(input) {\n form.account_secret = input;\n },\n }),\n });\n\n const submitNode = buildFormSubmitWithTranslations({\n submit,\n busy: busy.value,\n isEditing: !!manager.data.value,\n invalid: $v.value.$invalid,\n }, translationsSubmit);\n\n return h('form', [\n h('div', { class: 'row' }, [\n h('div', { class: 'col' }, [\n h('h6', [\n h('i', { class: 'fas fa-infinity pe-1' }),\n 'General',\n ]),\n name,\n host,\n ]),\n h('div', { class: 'col' }, [\n h('h6', [\n h('i', { class: 'fas fa-robot pe-1' }),\n 'Robot',\n ]),\n accountName,\n accountSecret,\n ]),\n ]),\n h(\n 'div',\n { class: 'alert alert-sm alert-warning alert-danger' },\n [\n 'It is only possible to register harbor registries > v2.3.0',\n ],\n ),\n h('hr'),\n submitNode,\n ]);\n };\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { DomainType } from '@privateaim/core-kit';\nimport type { Registry } from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport type { ListSlotsType } from '../../core';\nimport { createList, defineListEvents, defineListProps } from '../../core';\n\nexport default defineComponent({\n props: defineListProps<Registry>(),\n slots: Object as SlotsType<ListSlotsType<Registry>>,\n emits: defineListEvents<Registry>(),\n setup(props, setup) {\n const { render, setDefaults } = createList({\n type: `${DomainType.REGISTRY}`,\n props,\n setup,\n });\n\n setDefaults({\n noMore: {\n content: 'No more registries available...',\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { PropType } from 'vue';\nimport { defineComponent, h, ref } from 'vue';\nimport type { Registry } from '@privateaim/core-kit';\nimport { RegistryAPICommand } from '@privateaim/core-kit';\nimport { injectCoreHTTPClient } from '../../core';\nimport EntityDelete from '../FEntityDelete';\nimport MasterImageList from '../master-image/FMasterImages';\n\nexport default defineComponent({\n components: { EntityDelete, MasterImageList },\n props: {\n entityId: {\n type: String as PropType<Registry['id']>,\n required: true,\n },\n },\n emits: ['executed', 'failed'],\n setup(props, { emit }) {\n const apiClient = injectCoreHTTPClient();\n const busy = ref(false);\n\n const setup = async () => {\n if (busy.value) return;\n\n busy.value = true;\n\n try {\n await apiClient.service.runRegistryCommand(RegistryAPICommand.SETUP, {\n id: props.entityId,\n });\n\n emit('executed');\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n\n busy.value = false;\n };\n\n return () => h('div', [\n h('h6', [\n h('i', { class: 'fa fa-info me-1' }),\n 'Info',\n ]),\n h('p', [\n 'To setup or ensure the existence of all projects and ',\n 'the corresponding webhooks run the setup routine.',\n ]),\n\n h('button', {\n type: 'button',\n disabled: busy.value,\n class: 'btn btn-xs btn-dark',\n onClick(event: any) {\n event.preventDefault();\n\n return setup();\n },\n }, [\n 'Execute',\n ]),\n ]);\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport type {\n RegistryProject,\n} from '@privateaim/core-kit';\nimport {\n DomainType,\n RegistryAPICommand,\n ServiceID,\n registryRobotSecretRegex,\n} from '@privateaim/core-kit';\nimport { buildFormGroup, buildFormInput } from '@vuecs/form-controls';\nimport useVuelidate from '@vuelidate/core';\nimport {\n helpers,\n} from '@vuelidate/validators';\nimport type { SlotsType, VNodeChild } from 'vue';\nimport {\n defineComponent, h, reactive, ref,\n} from 'vue';\nimport type { EntityManagerSlotsType } from '../../core';\nimport {\n createEntityManager,\n defineEntityManagerEvents,\n defineEntityManagerProps,\n injectCoreHTTPClient,\n wrapFnWithBusyState,\n} from '../../core';\n\nexport default defineComponent({\n props: defineEntityManagerProps<RegistryProject>(),\n emits: defineEntityManagerEvents<RegistryProject>(),\n slots: Object as SlotsType<EntityManagerSlotsType<RegistryProject>>,\n async setup(props, setup) {\n const apiClient = injectCoreHTTPClient();\n const busy = ref(false);\n\n const form = reactive({\n secret: '',\n });\n\n const vuelidate = useVuelidate({\n secret: {\n registryRobotSecret: helpers.regex(registryRobotSecretRegex),\n },\n }, form);\n\n const translationsValidation = useTranslationsForNestedValidations(vuelidate.value);\n\n const manager = createEntityManager({\n type: `${DomainType.REGISTRY_PROJECT}`,\n setup,\n props,\n onResolved(entity) {\n if (entity) {\n form.secret = entity.account_secret || '';\n }\n },\n onUpdated: (entity) => {\n if (entity) {\n form.secret = entity.account_secret || '';\n }\n },\n });\n\n await manager.resolve({\n query: {\n fields: [\n '+account_id',\n '+account_name',\n '+account_secret',\n ],\n },\n });\n\n const execute = async (command: RegistryAPICommand) => wrapFnWithBusyState(busy, async () => {\n if (!manager.data.value) return;\n\n try {\n await apiClient.service.runCommand(ServiceID.REGISTRY, command, {\n id: manager.data.value.id,\n secret: form.secret,\n });\n\n setup.emit('updated', manager.data.value);\n } catch (e) {\n if (e instanceof Error) {\n setup.emit('failed', e);\n }\n }\n })();\n\n if (!manager.data.value) {\n return () => h(\n 'div',\n { class: 'alert alert-sm alert-warning' },\n [\n 'The registry-project details can not be displayed.',\n ],\n );\n }\n\n return () => {\n const fallback = () : VNodeChild => h('div', [\n h('div', {\n class: 'mb-2 d-flex flex-column',\n }, [\n h('div', { class: 'form-group' }, [\n h('label', { class: 'pe-1' }, 'Namespace'),\n h('input', {\n class: 'form-control',\n type: 'text',\n value: manager.data.value?.external_name || '',\n disabled: true,\n }),\n ]),\n\n h('div', [\n h('div', { class: 'form-group' }, [\n h('label', { class: 'pe-1' }, 'ID'),\n h('input', {\n class: 'form-control',\n type: 'text',\n value: manager.data.value?.account_name || '',\n placeholder: '...',\n disabled: true,\n }),\n ]),\n buildFormGroup({\n label: true,\n labelContent: 'Secret',\n validationMessages: translationsValidation.secret.value,\n validationSeverity: getSeverity(vuelidate.value.secret),\n content: buildFormInput({\n props: {\n placeholder: '...',\n },\n value: form.secret,\n onChange(value) {\n form.secret = value;\n },\n }),\n }),\n ]),\n\n h('div', [\n h('strong', { class: 'pe-1' }, 'Webhook:'),\n h('i', {\n class: {\n 'fa fa-check text-success': manager.data.value?.webhook_exists,\n 'fa fa-times text-danger': !manager.data.value?.webhook_exists,\n },\n }),\n ]),\n ]),\n h('hr'),\n h('div', { class: 'row' }, [\n h('div', { class: 'col' }, [\n h('div', {\n class: 'alert alert-sm alert-info',\n }, [\n 'Connect the database entity to the registry.',\n ]),\n h('div', { class: 'text-center' }, [\n h('button', {\n class: 'btn btn-xs btn-primary',\n disabled: busy.value,\n type: 'button',\n onClick($event: any) {\n $event.preventDefault();\n\n return execute(RegistryAPICommand.PROJECT_LINK);\n },\n }, [\n h('i', { class: 'fa-solid fa-plug pe-1' }),\n 'Connect',\n ]),\n ]),\n ]),\n h('div', { class: 'col' }, [\n h('div', {\n class: 'alert alert-sm alert-warning',\n }, [\n 'Disconnect the database entity of the registry.',\n ]),\n h('div', { class: 'text-center' }, [\n h('button', {\n class: 'btn btn-xs btn-danger',\n disabled: busy.value,\n type: 'button',\n onClick($event: any) {\n $event.preventDefault();\n return execute(RegistryAPICommand.PROJECT_UNLINK);\n },\n }, [\n h('i', { class: 'fa-solid fa-power-off pe-1' }),\n 'Disconnect',\n ]),\n ]),\n ]),\n ]),\n ]);\n\n return manager.render(fallback);\n };\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { buildFormSubmitWithTranslations, createFormSubmitTranslations } from '@authup/client-web-kit';\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport type { Registry, RegistryProject } from '@privateaim/core-kit';\nimport { DomainType, RegistryProjectType } from '@privateaim/core-kit';\nimport {\n buildFormGroup, buildFormInput, buildFormSelect,\n} from '@vuecs/form-controls';\nimport { createNanoID } from '@privateaim/kit';\nimport type { ListItemSlotProps } from '@vuecs/list-controls';\nimport useVuelidate from '@vuelidate/core';\nimport {\n helpers, maxLength, minLength, required,\n} from '@vuelidate/validators';\nimport type { PropType, VNodeArrayChildren } from 'vue';\nimport {\n computed, defineComponent, h, reactive, ref, watch,\n} from 'vue';\nimport { useUpdatedAt } from '../../composables';\nimport {\n EntityListSlotName, createEntityManager, initFormAttributesFromSource, wrapFnWithBusyState,\n} from '../../core';\nimport RegistryList from '../registry/FRegistries';\n\n// todo: must start with character or number!!\nconst alphaNumHyphenUnderscore = helpers.regex(\n /^[a-z0-9-_]*$/,\n);\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<RegistryProject>,\n default: undefined,\n },\n registryId: {\n type: String as PropType<Registry['id']>,\n default: undefined,\n },\n },\n emit: ['created', 'updated', 'failed'],\n setup(props, setup) {\n const busy = ref(false);\n const form = reactive({\n external_name: '',\n name: '',\n type: RegistryProjectType.DEFAULT,\n registry_id: '',\n });\n\n const $v = useVuelidate({\n name: {\n required,\n minLength: minLength(3),\n maxLength: maxLength(128),\n },\n external_name: {\n required,\n alphaNumHyphenUnderscore,\n minLength: minLength(3),\n maxLength: maxLength(64),\n },\n type: {\n required,\n },\n registry_id: {\n required,\n },\n }, form);\n\n const manager = createEntityManager({\n type: `${DomainType.REGISTRY_PROJECT}`,\n setup,\n props,\n });\n\n const types = [\n { id: RegistryProjectType.DEFAULT, value: 'DEFAULT' },\n { id: RegistryProjectType.NODE, value: 'Node' },\n { id: RegistryProjectType.AGGREGATOR, value: 'Aggregator' },\n { id: RegistryProjectType.INCOMING, value: 'Incoming' },\n { id: RegistryProjectType.OUTGOING, value: 'Outgoing' },\n { id: RegistryProjectType.MASTER_IMAGES, value: 'Master-Images' },\n ];\n\n const isRegistryLocked = computed(\n () => !!props.registryId,\n );\n\n const isExternalNameUnchanged = computed(() => {\n if (!manager.data.value || !manager.data.value.external_name) {\n return true;\n }\n\n return manager.data.value.external_name !== form.external_name;\n });\n\n const toggleForm = (key: keyof typeof form, id: any) => {\n if (form[key] === id) {\n form[key] = null as any;\n } else {\n form[key] = id;\n }\n };\n\n const generateAlias = () => {\n form.external_name = createNanoID();\n };\n\n const resetAlias = () => {\n if (!manager.data.value) return;\n\n form.external_name = manager.data.value.external_name;\n };\n\n const initFromProperties = () => {\n if (props.registryId) {\n form.registry_id = props.registryId;\n }\n\n if (typeof manager.data.value === 'undefined') {\n generateAlias();\n }\n\n initFormAttributesFromSource(form, manager.data.value);\n };\n\n const updatedAt = useUpdatedAt(props.entity);\n\n initFromProperties();\n\n watch(updatedAt, (val, oldValue) => {\n if (val && val !== oldValue) {\n initFromProperties();\n }\n });\n\n const submit = wrapFnWithBusyState(busy, async () => {\n if ($v.value.$invalid) {\n return;\n }\n\n await manager.createOrUpdate(form);\n });\n\n const translationsValidation = useTranslationsForNestedValidations($v.value);\n const translationsSubmit = createFormSubmitTranslations();\n\n return () => {\n const name = buildFormGroup({\n validationMessages: translationsValidation.name.value,\n validationSeverity: getSeverity($v.value.name),\n label: true,\n labelContent: 'Name',\n content: buildFormInput({\n value: form.name,\n onChange(input) {\n form.name = input;\n },\n }),\n });\n const externalName = buildFormGroup({\n validationMessages: translationsValidation.external_name.value,\n validationSeverity: getSeverity($v.value.external_name),\n label: true,\n labelContent: 'External Name',\n content: buildFormInput({\n value: form.external_name,\n onChange(input) {\n form.external_name = input;\n },\n }),\n });\n\n const externalNameHint = h('div', {\n class: ['alert alert-sm', {\n 'alert-danger': !isExternalNameUnchanged.value,\n 'alert-info': isExternalNameUnchanged.value,\n }],\n }, [\n h('div', { class: 'mb-1' }, [\n (!isExternalNameUnchanged.value ?\n 'If you change the external_name, a new representation will be created in the Registry.' :\n 'If you don\\'t want to chose a external_name by your own, you can generate one.'\n ),\n ]),\n h('button', {\n class: 'btn btn-xs btn-dark',\n type: 'button',\n onClick($event: any) {\n $event.preventDefault();\n\n generateAlias();\n },\n }, [\n h('i', { class: 'fa fa-wrench pe-1' }),\n 'Generate',\n ]),\n h('button', {\n class: 'btn btn-xs btn-dark ms-1',\n type: 'button',\n disabled: isExternalNameUnchanged.value,\n onClick($event: any) {\n $event.preventDefault();\n\n resetAlias();\n },\n }, [\n h('i', { class: 'fa fa-undo pe-1' }),\n 'Reset',\n ]),\n ]);\n\n const type = buildFormGroup({\n validationMessages: translationsValidation.type.value,\n validationSeverity: getSeverity($v.value.type),\n label: true,\n labelContent: 'Type',\n content: buildFormSelect({\n value: form.type,\n options: types,\n onChange(input) {\n form.type = input;\n },\n }),\n });\n\n let registry : VNodeArrayChildren = [];\n\n if (!isRegistryLocked.value) {\n registry = [\n h('hr'),\n h(RegistryList, {\n [EntityListSlotName.ITEM_ACTIONS]: (props: ListItemSlotProps<Registry>) => h('button', {\n attrs: {\n disabled: props.busy,\n },\n class: ['btn btn-xs', {\n 'btn-dark': form.registry_id !== props.data.id,\n 'btn-warning': form.registry_id === props.data.id,\n }],\n onClick($event: any) {\n $event.preventDefault();\n\n toggleForm('registry_id', props.data.id);\n },\n }, [\n h('i', {\n class: {\n 'fa fa-plus': form.registry_id !== props.data.id,\n 'fa fa-minus': form.registry_id === props.data.id,\n },\n }),\n ]),\n }),\n ];\n }\n\n const submitNode = buildFormSubmitWithTranslations({\n submit,\n busy: busy.value,\n isEditing: !!manager.data.value,\n invalid: $v.value.$invalid,\n }, translationsSubmit);\n\n return h('form', {\n onSubmit($event: any) {\n $event.preventDefault();\n\n return submit();\n },\n }, [\n type,\n h('hr'),\n name,\n h('hr'),\n externalName,\n externalNameHint,\n registry,\n h('hr'),\n submitNode,\n ]);\n };\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { DomainType } from '@privateaim/core-kit';\nimport type { RegistryProject } from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport type { ListSlotsType } from '../../core';\nimport { createList, defineListEvents, defineListProps } from '../../core';\n\nexport default defineComponent({\n props: defineListProps<RegistryProject>(),\n slots: Object as SlotsType<ListSlotsType<RegistryProject>>,\n emits: defineListEvents<RegistryProject>(),\n setup(props, setup) {\n const { render, setDefaults } = createList({\n type: `${DomainType.REGISTRY_PROJECT}`,\n props,\n setup,\n });\n\n setDefaults({\n noMore: {\n content: 'No more registry projects available...',\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { ARealms, buildFormSubmitWithTranslations, createFormSubmitTranslations } from '@authup/client-web-kit';\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport type { Node, Registry } from '@privateaim/core-kit';\nimport {\n DomainType,\n NodeType,\n} from '@privateaim/core-kit';\nimport { alphaNumHyphenUnderscoreRegex } from '@privateaim/kit';\nimport {\n buildFormGroup,\n buildFormInput, buildFormInputCheckbox, buildFormSelect,\n} from '@vuecs/form-controls';\nimport type { ListBodySlotProps, ListItemSlotProps } from '@vuecs/list-controls';\nimport useVuelidate from '@vuelidate/core';\nimport {\n helpers, maxLength, minLength, required,\n} from '@vuelidate/validators';\nimport type {\n PropType, VNodeArrayChildren,\n} from 'vue';\nimport {\n computed, defineComponent, h, reactive, ref, watch,\n} from 'vue';\nimport { useUpdatedAt } from '../../composables';\nimport {\n EntityListSlotName,\n createEntityManager,\n defineEntityManagerEvents,\n initFormAttributesFromSource,\n wrapFnWithBusyState,\n} from '../../core';\nimport RegistryList from '../registry/FRegistries';\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<Node>,\n default: undefined,\n },\n realmId: {\n type: String,\n default: undefined,\n },\n realmName: {\n type: String,\n default: undefined,\n },\n },\n emits: defineEntityManagerEvents<Node>(),\n setup(props, setup) {\n const busy = ref(false);\n const form = reactive({\n name: '',\n external_name: '',\n realm_id: '',\n registry_id: '',\n hidden: false,\n type: NodeType.DEFAULT,\n });\n\n const $v = useVuelidate({\n name: {\n required,\n minLength: minLength(3),\n maxLength: maxLength(128),\n },\n hidden: {\n\n },\n realm_id: {\n required,\n },\n registry_id: {\n required,\n },\n external_name: {\n alphaNumHyphenUnderscore: helpers.regex(alphaNumHyphenUnderscoreRegex),\n minLength: minLength(3),\n maxLength: maxLength(64),\n },\n type: {\n required,\n },\n }, form);\n\n const manager = createEntityManager({\n type: `${DomainType.NODE}`,\n setup,\n props,\n });\n\n const isRealmLocked = computed(() => props.realmId ||\n (manager.data.value && manager.data.value.realm_id));\n\n const updatedAt = useUpdatedAt(props.entity);\n\n const initForm = () => {\n initFormAttributesFromSource(form, manager.data.value);\n\n if (!form.realm_id && props.realmId) {\n form.realm_id = props.realmId;\n }\n\n if (\n !form.name &&\n (props.realmId || props.realmName)\n ) {\n form.name = (props.realmName || props.realmId) as string;\n }\n };\n\n initForm();\n\n watch(updatedAt, (val, oldVal) => {\n if (val && val !== oldVal) {\n initForm();\n }\n });\n\n const submit = wrapFnWithBusyState(busy, async () => {\n if ($v.value.$invalid) return;\n\n await manager.createOrUpdate(form as Partial<Node>);\n });\n\n const toggleFormData = <T extends keyof typeof form>(key: T, id: any) => {\n if (form[key] === id) {\n form[key] = null as any;\n } else {\n form[key] = id;\n }\n };\n\n const translationsValidation = useTranslationsForNestedValidations($v.value);\n const translationsSubmit = createFormSubmitTranslations();\n\n return () => {\n let realm : VNodeArrayChildren = [];\n if (!isRealmLocked.value) {\n realm = [\n h(\n ARealms,\n {},\n {\n [EntityListSlotName.BODY]: (props: ListBodySlotProps<Node>) => buildFormGroup({\n validationMessages: translationsValidation.realm_id.value,\n validationSeverity: getSeverity($v.value.realm_id),\n label: true,\n labelContent: 'Realms',\n content: buildFormSelect({\n value: form.realm_id,\n onChange(input) {\n form.realm_id = input;\n },\n options: props.data.map((item) => ({\n id: item.id,\n value: item.name,\n })),\n }),\n }),\n },\n ),\n h('hr'),\n ];\n }\n\n const name = buildFormGroup({\n validationMessages: translationsValidation.name.value,\n validationSeverity: getSeverity($v.value.name),\n label: true,\n labelContent: 'Name',\n content: buildFormInput({\n value: $v.value.name.$model,\n onChange(input) {\n $v.value.name.$model = input;\n },\n }),\n });\n\n const type = buildFormGroup({\n validationMessages: translationsValidation.type.value,\n validationSeverity: getSeverity($v.value.type),\n label: true,\n labelContent: 'Type',\n content: buildFormSelect({\n value: form.type,\n options: Object.values(NodeType).map((type) => ({\n id: type,\n value: type,\n })),\n onChange(input) {\n form.type = input;\n },\n }),\n });\n\n const externalName = buildFormGroup({\n validationMessages: translationsValidation.external_name.value,\n validationSeverity: getSeverity($v.value.external_name),\n label: true,\n labelContent: 'External Name',\n content: buildFormInput({\n value: form.external_name,\n onChange(input) {\n form.external_name = input;\n },\n }),\n });\n\n const hidden = buildFormGroup({\n validationMessages: translationsValidation.hidden.value,\n validationSeverity: getSeverity($v.value.hidden),\n label: true,\n labelContent: 'Visibility',\n content: buildFormInputCheckbox({\n groupClass: 'form-switch',\n value: form.hidden,\n onChange(input) {\n form.hidden = input;\n },\n labelContent: 'Hide for project/analysis selection?',\n }),\n });\n\n const registry : VNodeArrayChildren = [\n buildFormGroup({\n label: true,\n labelContent: 'Registry',\n content:\n h(RegistryList, {}, {\n [EntityListSlotName.ITEM_ACTIONS]: (props: ListItemSlotProps<Registry>) => h('button', {\n disabled: props.busy,\n class: ['btn btn-xs', {\n 'btn-dark': form.registry_id !== props.data.id,\n 'btn-warning': form.registry_id === props.data.id,\n }],\n onClick($event: any) {\n $event.preventDefault();\n\n toggleFormData('registry_id', props.data.id);\n },\n }, [\n h('i', {\n class: {\n 'fa fa-plus': form.registry_id !== props.data.id,\n 'fa fa-minus': form.registry_id === props.data.id,\n },\n }),\n ]),\n }),\n }),\n ];\n\n const submitNode = buildFormSubmitWithTranslations({\n submit,\n busy: busy.value,\n isEditing: !!manager.data.value,\n invalid: $v.value.$invalid,\n }, translationsSubmit);\n\n return h('div', [\n h('div', { class: 'row' }, [\n h('div', {\n class: 'col',\n }, [\n realm,\n name,\n h('hr'),\n externalName,\n h('hr'),\n registry,\n\n ]),\n h('div', {\n class: 'col',\n }, [\n type,\n h('hr'),\n hidden,\n h('hr'),\n submitNode,\n ]),\n ]),\n ]);\n };\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { PropType } from 'vue';\nimport { defineComponent, h } from 'vue';\nimport type { Node, RegistryProject } from '@privateaim/core-kit';\nimport RegistryProjectDetails from '../registry-project/FRegistryProject';\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<Node>,\n required: true,\n },\n },\n emits: ['resolved', 'failed', 'updated'],\n setup(props, { emit }) {\n if (!props.entity.registry_id) {\n return () => h(\n 'div',\n { class: 'alert alert-sm alert-warning' },\n [\n 'The node has not been assigned to a registry yet.',\n ],\n );\n }\n\n if (!props.entity.registry_project_id) {\n return () => h(\n 'div',\n { class: 'alert alert-sm alert-warning' },\n [\n 'No related registry-resource exists at the moment.',\n ' ',\n 'To create one, execute the update operation after a registry is selected.',\n ],\n );\n }\n\n return () => h(\n RegistryProjectDetails,\n {\n entityId: props.entity.registry_project_id as string,\n onUpdated: (entity: RegistryProject) => {\n emit('updated', {\n registry_project_id: entity.id,\n registry_project: entity,\n });\n },\n onFailed: (e) => {\n emit('failed', e);\n },\n onResolved: (entity?: RegistryProject) => {\n if (!entity) { return; }\n\n if (props.entity.registry_project_id !== entity.id) {\n emit('updated', {\n registry_project_id: entity.id,\n registry_project: entity,\n });\n }\n },\n },\n );\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { EntityManagerSlotProps } from '@authup/client-web-kit';\nimport { ARobot, buildFormSubmitWithTranslations, createFormSubmitTranslations } from '@authup/client-web-kit';\nimport { getSeverity, useTranslationsForNestedValidations } from '@ilingo/vuelidate';\nimport type { PropType } from 'vue';\nimport { defineComponent, h, reactive } from 'vue';\nimport type { Node } from '@privateaim/core-kit';\nimport type { Robot } from '@authup/core-kit';\nimport { buildFormGroup, buildFormInput } from '@vuecs/form-controls';\nimport useVuelidate from '@vuelidate/core';\nimport { maxLength, minLength } from '@vuelidate/validators';\nimport { initFormAttributesFromSource } from '../../core';\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<Node>,\n required: true,\n },\n },\n emits: ['failed'],\n setup(props, { emit }) {\n const form = reactive({\n id: '',\n secret: '',\n });\n\n const $v = useVuelidate({\n id: {\n\n },\n secret: {\n minLength: minLength(3),\n maxLength: maxLength(256),\n },\n }, form);\n\n const translationsValidation = useTranslationsForNestedValidations($v.value);\n const translationsSubmit = createFormSubmitTranslations();\n\n return () => h(ARobot, {\n onResolved(entity) {\n if (entity) {\n initFormAttributesFromSource(form, entity);\n }\n },\n onFailed: (e) => {\n emit('failed', e);\n },\n queryFilters: {\n id: props.entity.robot_id,\n },\n }, {\n default: (slotProps: EntityManagerSlotProps<Robot>) => {\n if (!slotProps.data) {\n return h(\n 'div',\n { class: 'alert alert-sm alert-warning' },\n [\n 'The robot details can not be displayed.',\n ],\n );\n }\n\n const id = buildFormGroup({\n validationMessages: translationsValidation.id.value,\n validationSeverity: getSeverity($v.value.id),\n label: true,\n labelContent: 'ID',\n content: buildFormInput({\n value: form.id,\n props: {\n disabled: true,\n },\n }),\n });\n\n const secret = buildFormGroup({\n validationMessages: translationsValidation.secret.value,\n validationSeverity: getSeverity($v.value.secret),\n label: true,\n labelContent: 'Secret',\n content: buildFormInput({\n value: form.secret,\n props: {\n placeholder: '...',\n },\n onChange(value) {\n form.secret = value;\n },\n }),\n });\n\n const submitNode = buildFormSubmitWithTranslations({\n submit: () => slotProps.update(form),\n busy: slotProps.busy,\n isEditing: !!slotProps.data,\n invalid: $v.value.$invalid,\n }, translationsSubmit);\n\n return h('div', [\n id,\n secret,\n submitNode,\n ]);\n },\n });\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { useAbilityCheck } from '@authup/client-web-kit';\nimport { AnalysisNodeApprovalCommand, AnalysisNodeApprovalStatus } from '@privateaim/core-kit';\nimport { PermissionName } from '@privateaim/kit';\nimport type { PropType } from 'vue';\nimport { computed, defineComponent, ref } from 'vue';\nimport type { ActionCommandProperties } from '../../core';\nimport { injectCoreHTTPClient, renderActionCommand } from '../../core';\n\nconst FAnalysisNodeApprovalCommand = defineComponent({\n props: {\n entityId: {\n type: String,\n required: true,\n },\n approvalStatus: String as PropType<AnalysisNodeApprovalStatus>,\n\n command: {\n type: String as PropType<AnalysisNodeApprovalCommand>,\n required: true,\n },\n elementType: {\n type: String as PropType<ActionCommandProperties['elementType']>,\n default: 'button',\n },\n withIcon: {\n type: Boolean,\n default: false,\n },\n withText: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['failed', 'updated'],\n setup(props, setup) {\n const apiClient = injectCoreHTTPClient();\n const busy = ref(false);\n\n const commandText = computed(() => {\n switch (props.command) {\n case AnalysisNodeApprovalCommand.APPROVE:\n return 'approve';\n case AnalysisNodeApprovalCommand.REJECT:\n return 'reject';\n default:\n return '';\n }\n });\n\n const iconClass = computed(() => {\n switch (props.command) {\n case AnalysisNodeApprovalCommand.APPROVE:\n return 'fa fa-check';\n case AnalysisNodeApprovalCommand.REJECT:\n return 'fa fa-ban';\n default:\n return 'fa fa-sync-alt';\n }\n });\n\n const classSuffix = computed(() => {\n switch (props.command) {\n case AnalysisNodeApprovalCommand.APPROVE:\n return 'success';\n case AnalysisNodeApprovalCommand.REJECT:\n return 'danger';\n default:\n return 'info';\n }\n });\n\n const isDisabled = computed(() => {\n if (props.approvalStatus) {\n if (\n props.approvalStatus === AnalysisNodeApprovalStatus.APPROVED &&\n props.command === AnalysisNodeApprovalCommand.APPROVE\n ) {\n return true;\n }\n\n return props.approvalStatus === AnalysisNodeApprovalStatus.REJECTED &&\n props.command === AnalysisNodeApprovalCommand.REJECT;\n }\n\n return props.command === AnalysisNodeApprovalCommand.REJECT;\n });\n\n const execute = async () => {\n if (busy.value) return;\n\n busy.value = true;\n\n let status;\n\n switch (props.command) {\n case AnalysisNodeApprovalCommand.APPROVE:\n status = AnalysisNodeApprovalStatus.APPROVED;\n break;\n case AnalysisNodeApprovalCommand.REJECT:\n status = AnalysisNodeApprovalStatus.REJECTED;\n break;\n default:\n status = null;\n break;\n }\n\n try {\n const item = await apiClient.analysisNode.update(props.entityId, {\n approval_status: status,\n });\n\n setup.emit('updated', item);\n } catch (e) {\n setup.emit('failed', e);\n }\n\n busy.value = false;\n };\n\n const isAllowed = useAbilityCheck(PermissionName.ANALYSIS_APPROVE);\n\n return () => renderActionCommand({\n execute,\n elementType: props.elementType,\n withIcon: props.withIcon,\n withText: props.withText,\n isDisabled: isDisabled.value,\n iconClass: iconClass.value,\n isAllowed: isAllowed.value,\n commandText: commandText.value,\n classSuffix: classSuffix.value,\n slots: setup.slots,\n });\n },\n});\n\nexport {\n FAnalysisNodeApprovalCommand,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport type { PropType } from 'vue';\nimport { computed, defineComponent, h } from 'vue';\nimport { AnalysisNodeApprovalStatus } from '@privateaim/core-kit';\nimport { hasNormalizedSlot, normalizeSlot } from '../../core';\n\nconst FAnalysisNodeApprovalStatus = defineComponent({\n props: {\n status: {\n type: String as PropType<AnalysisNodeApprovalStatus>,\n default: undefined,\n },\n },\n setup(props, { slots }) {\n const statusText = computed(() => {\n switch (props.status) {\n case AnalysisNodeApprovalStatus.APPROVED:\n return 'approved';\n case AnalysisNodeApprovalStatus.REJECTED:\n return 'rejected';\n default:\n return 'none';\n }\n });\n\n const classSuffix = computed(() => {\n switch (props.status) {\n case 'approved':\n return 'success';\n case 'rejected':\n return 'danger';\n default:\n return 'info';\n }\n });\n\n if (hasNormalizedSlot('default', slots)) {\n return () => normalizeSlot('default', {\n classSuffix: classSuffix.value,\n statusText: statusText.value,\n }, slots);\n }\n\n return () => h('span', { class: `text-${classSuffix.value}` }, statusText.value);\n },\n});\n\nexport {\n FAnalysisNodeApprovalStatus,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { defineComponent, h } from 'vue';\nimport type { AnalysisNode } from '@privateaim/core-kit';\nimport {\n DomainType,\n} from '@privateaim/core-kit';\nimport { createEntityManager, defineEntityManagerEvents } from '../../core';\n\nexport default defineComponent({\n props: {\n analysisId: {\n type: String,\n required: true,\n },\n nodeId: {\n type: String,\n required: true,\n },\n realmId: String,\n },\n emits: defineEntityManagerEvents<AnalysisNode>(),\n async setup(props, setup) {\n const manager = createEntityManager({\n type: `${DomainType.ANALYSIS_NODE}`,\n setup,\n socket: {\n processEvent(event) {\n return event.data.analysis_id === props.analysisId &&\n event.data.node_id === props.nodeId;\n },\n },\n });\n\n await manager.resolve({\n query: {\n filters: {\n analysis_id: props.analysisId,\n node_id: props.nodeId,\n },\n },\n });\n\n return () => h('button', {\n class: ['btn btn-xs', {\n 'btn-success': !manager.data.value,\n 'btn-danger': manager.data.value,\n }],\n onClick($event: any) {\n $event.preventDefault();\n\n if (manager.data.value) {\n return manager.delete();\n }\n\n return manager.create({\n analysis_id: props.analysisId,\n node_id: props.nodeId,\n });\n },\n }, [\n h('i', {\n class: ['fa', {\n 'fa-plus': !manager.data.value,\n 'fa-minus': manager.data.value,\n }],\n }),\n ]);\n },\n});\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DomainSubType,\n DomainType,\n buildDomainChannelName,\n} from '@privateaim/core-kit';\nimport type {\n AnalysisNode,\n} from '@privateaim/core-kit';\nimport type { FiltersBuildInput } from 'rapiq';\nimport {\n defineComponent,\n h,\n} from 'vue';\nimport type { PropType, VNodeChild } from 'vue';\nimport {\n createEntityManager, defineEntityManagerEvents, injectCoreHTTPClient,\n} from '../../core';\n\nenum Direction {\n IN = 'in',\n OUT = 'out',\n}\n\nenum Target {\n ANALYSIS = 'analysis',\n NODE = 'node',\n}\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<AnalysisNode>,\n },\n entityId: {\n type: String,\n },\n queryFilters: {\n type: Object as PropType<FiltersBuildInput<AnalysisNode>>,\n },\n direction: {\n type: String as PropType<`${Direction.IN}` | `${Direction.OUT}`>,\n },\n target: {\n type: String as PropType<`${Target.NODE}` | `${Target.ANALYSIS}`>,\n },\n },\n emits: defineEntityManagerEvents<AnalysisNode>(),\n async setup(props, setup) {\n const apiClient = injectCoreHTTPClient();\n const manager = createEntityManager({\n realmId: (entity) => {\n if (!entity) {\n return undefined;\n }\n\n if (props.target === Target.ANALYSIS) {\n return entity.analysis_realm_id;\n }\n\n if (props.target === Target.NODE) {\n return entity.node_realm_id;\n }\n\n return undefined;\n },\n type: `${DomainType.ANALYSIS_NODE}`,\n setup,\n props,\n socket: {\n processEvent(event, realmId) {\n if (!realmId) {\n return true;\n }\n\n if (props.target === Target.ANALYSIS) {\n return realmId === event.data.analysis_realm_id;\n }\n\n if (props.target === Target.NODE) {\n return realmId === event.data.node_realm_id;\n }\n\n return false;\n },\n buildChannelName(id) {\n if (props.direction === Direction.IN) {\n return buildDomainChannelName(DomainSubType.ANALYSIS_NODE_IN, id);\n }\n\n if (props.direction === Direction.OUT) {\n return buildDomainChannelName(DomainSubType.ANALYSIS_NODE_OUT, id);\n }\n\n return buildDomainChannelName(DomainType.ANALYSIS_NODE, id);\n },\n },\n });\n\n await manager.resolve();\n\n if (\n manager.data.value &&\n props.target &&\n !manager.data.value[props.target]\n ) {\n if (props.target === Target.ANALYSIS) {\n manager.data.value[props.target] = await apiClient\n .analysis.getOne(manager.data.value.analysis_id);\n } else {\n manager.data.value[props.target] = await apiClient\n .node.getOne(manager.data.value.node_id);\n }\n }\n\n return () => {\n const fallback = () : VNodeChild => {\n if (\n props.target &&\n manager.data.value &&\n manager.data.value[props.target]\n ) {\n if (props.target === Target.ANALYSIS) {\n return h('div', [\n manager.data.value?.analysis.name,\n ]);\n }\n if (props.target === Target.NODE) {\n return h('div', [\n manager.data.value?.node.name,\n ]);\n }\n }\n\n return [\n manager.data?.value?.id,\n ];\n };\n\n return manager.render(fallback);\n };\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ATitle } from '@authup/client-web-kit';\nimport type {\n AnalysisNode,\n} from '@privateaim/core-kit';\nimport {\n DomainEventSubscriptionName,\n DomainSubType,\n DomainType,\n buildDomainChannelName,\n buildDomainEventSubscriptionFullName,\n} from '@privateaim/core-kit';\nimport type { FiltersBuildInput } from 'rapiq';\n\nimport type { PropType, SlotsType, VNodeChild } from 'vue';\nimport { computed, defineComponent, h } from 'vue';\nimport type { ListSlotsType } from '../../core';\nimport {\n createList, defineListEvents, defineListProps,\n} from '../../core';\nimport type { DomainDetailsSlotProps } from '../type';\nimport FAnalysisNode from './FAnalysisNode';\n\nenum Direction {\n IN = 'in',\n OUT = 'out',\n}\n\nexport default defineComponent({\n props: {\n ...defineListProps<AnalysisNode>(),\n realmId: {\n type: String,\n },\n sourceId: {\n type: String,\n default: undefined,\n },\n target: {\n type: String as PropType<'node' | 'analysis'>,\n default: DomainType.NODE,\n },\n direction: {\n type: String as PropType<'in' | 'out'>,\n default: Direction.OUT,\n },\n },\n slots: Object as SlotsType<ListSlotsType<AnalysisNode>>,\n emits: defineListEvents<AnalysisNode>(),\n async setup(props, ctx) {\n const source = computed(() => (props.target === DomainType.NODE ?\n DomainType.ANALYSIS :\n DomainType.NODE));\n\n const isSameSocketRoom = (room?: string) => {\n if (props.realmId) {\n switch (props.direction) {\n case Direction.IN:\n return room === buildDomainChannelName(DomainSubType.ANALYSIS_NODE_IN);\n case Direction.OUT:\n return room === buildDomainChannelName(DomainSubType.ANALYSIS_NODE_OUT);\n }\n } else {\n return room === buildDomainChannelName(DomainType.ANALYSIS_NODE);\n }\n\n return false;\n };\n\n const isSocketEventForSource = (item: AnalysisNode) => {\n switch (source.value) {\n case DomainType.NODE:\n if (typeof props.sourceId === 'undefined') {\n return props.realmId === item.node_realm_id;\n }\n\n return props.sourceId === item.node_id;\n case DomainType.ANALYSIS:\n if (typeof props.sourceId === 'undefined') {\n return props.realmId === item.analysis_realm_id;\n }\n\n return props.sourceId === item.analysis_id;\n }\n\n return false;\n };\n\n const {\n render,\n setDefaults,\n } = createList({\n type: `${DomainType.ANALYSIS_NODE}`,\n props,\n setup: ctx,\n socket: {\n processEvent(event) {\n return isSameSocketRoom(event.meta.roomName) &&\n isSocketEventForSource(event.data);\n },\n buildSubscribeEventName() {\n if (props.realmId) {\n if (props.direction === Direction.IN) {\n return buildDomainEventSubscriptionFullName(\n DomainSubType.ANALYSIS_NODE_IN,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainSubType.ANALYSIS_NODE_OUT,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainType.ANALYSIS_NODE,\n DomainEventSubscriptionName.SUBSCRIBE,\n );\n },\n buildUnsubscribeEventName() {\n if (props.realmId) {\n if (props.direction === Direction.IN) {\n return buildDomainEventSubscriptionFullName(\n DomainSubType.ANALYSIS_NODE_IN,\n DomainEventSubscriptionName.UNSUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainSubType.ANALYSIS_NODE_OUT,\n DomainEventSubscriptionName.UNSUBSCRIBE,\n );\n }\n\n return buildDomainEventSubscriptionFullName(\n DomainType.ANALYSIS_NODE,\n DomainEventSubscriptionName.UNSUBSCRIBE,\n );\n },\n },\n queryFilters: (q) => {\n let filter : FiltersBuildInput<AnalysisNode>;\n\n if (props.target === DomainType.NODE) {\n filter = {\n 'node.name': q.length > 0 ? `~${q}` : q,\n };\n } else {\n filter = {\n 'analysis.name': q.length > 0 ? `~${q}` : q,\n };\n }\n\n if (props.realmId) {\n if (props.direction === Direction.IN) {\n filter.node_realm_id = props.realmId;\n } else {\n filter.analysis_realm_id = props.realmId;\n }\n }\n\n return filter;\n },\n query: () => {\n if (props.target === DomainType.NODE) {\n return {\n include: ['node'],\n };\n }\n\n return {\n include: ['analysis'],\n };\n },\n });\n\n setDefaults({\n header: {\n content: () => h(ATitle, {\n text: props.target === DomainType.NODE ?\n 'Nodes' :\n 'Analyses',\n icon: true,\n iconClass: props.target === DomainType.NODE ?\n 'fa fa-hospital' :\n 'fa-solid fa-train-tram',\n }),\n },\n item: {\n content(\n item,\n itemProps,\n sections,\n ) {\n return h(FAnalysisNode, {\n entity: item,\n direction: props.direction,\n target: props.target,\n onUpdated: itemProps.updated,\n onDeleted: itemProps.deleted,\n onFailed: itemProps.failed,\n }, {\n default: (slotProps: DomainDetailsSlotProps<AnalysisNode>) => {\n if (sections.slot) {\n return sections.slot;\n }\n\n let text : VNodeChild | undefined;\n\n if (\n props.target === DomainType.NODE &&\n slotProps.data.node\n ) {\n text = h('div', [slotProps.data.node.name]);\n } else if (\n props.target === DomainType.ANALYSIS &&\n slotProps.data.analysis\n ) {\n text = h('div', [slotProps.data.analysis.name]);\n } else {\n text = h('div', [slotProps.data.id]);\n }\n\n return [\n sections.icon,\n text,\n sections.actions,\n ];\n },\n });\n },\n },\n\n noMore: {\n content: `No more ${props.target} available...`,\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AnalysisNodeRunStatus } from '@privateaim/core-kit';\nimport { computed, defineComponent, h } from 'vue';\nimport { hasNormalizedSlot, normalizeSlot } from '../../core';\n\nexport default defineComponent({\n props: {\n status: {\n type: String,\n default: null,\n },\n },\n setup(props, { slots }) {\n const statusText = computed(() => {\n switch (props.status) {\n case AnalysisNodeRunStatus.ARRIVED:\n return 'arrived';\n case AnalysisNodeRunStatus.DEPARTED:\n return 'departed';\n default:\n return 'none';\n }\n });\n\n const classSuffix = computed(() => {\n switch (props.status) {\n case AnalysisNodeRunStatus.ARRIVED:\n return 'primary';\n case AnalysisNodeRunStatus.DEPARTED:\n return 'success';\n default:\n return 'info';\n }\n });\n\n if (hasNormalizedSlot('default', slots)) {\n return () => normalizeSlot(\n 'default',\n {\n classSuffix: classSuffix.value,\n statusText: statusText.value,\n },\n slots,\n );\n }\n\n return () => h('span', {\n class: `text-${classSuffix.value}`,\n }, [statusText.value]);\n },\n});\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport type { Analysis, AnalysisNode } from '@privateaim/core-kit';\nimport {\n AnalysisBuildStatus,\n AnalysisNodeRunStatus,\n AnalysisRunStatus,\n} from '@privateaim/core-kit';\nimport type { BuildInput } from 'rapiq';\nimport type { PropType } from 'vue';\nimport { computed, defineComponent, toRef } from 'vue';\nimport FAnalysisNodeRunStatus from './FAnalysisNodeRunStatus';\nimport FAnalysisNodes from './FAnalysisNodes';\n\nexport default defineComponent({\n components: { FAnalysisNodes, FAnalysisNodeRunStatus },\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n withHeader: {\n type: Boolean,\n default: false,\n },\n elementType: {\n type: String,\n default: 'steps',\n },\n },\n setup(props) {\n const entity = toRef(props, 'entity');\n\n const query : BuildInput<AnalysisNode> = {\n filters: {\n analysis_id: entity.value.id,\n },\n sort: {\n index: 'ASC',\n },\n };\n\n const progressPercentage = computed(() => {\n if (entity.value.build_status !== AnalysisBuildStatus.FINISHED) {\n return 0;\n }\n\n return 100;\n });\n\n return {\n query,\n progressPercentage,\n analysisRunStatus: AnalysisRunStatus,\n analysisNodeRunStatus: AnalysisNodeRunStatus,\n };\n },\n});\n</script>\n<template>\n <div>\n <template v-if=\"elementType === 'steps'\">\n <div class=\"train-stations-progress\">\n <FAnalysisNodes\n :header=\"false\"\n :query=\"query\"\n :no-more=\"false\"\n :realm-id=\"entity.realm_id\"\n :source-id=\"entity.id\"\n >\n <template #body=\"props\">\n <template\n v-for=\"(item) in props.data\"\n :key=\"item.id\"\n >\n <div\n class=\"d-flex flex-column progress-step\"\n >\n <div\n class=\"d-flex justify-content-center icon-circle text-light p-1\"\n :class=\"{\n 'bg-secondary': !item.run_status,\n 'bg-dark': item.run_status === analysisNodeRunStatus.DEPARTED,\n 'active': item.run_status === analysisNodeRunStatus.ARRIVED\n }\"\n >\n <span class=\"icon\">{{ item.node.name }}</span>\n </div>\n <div class=\"mt-1\">\n <strong>Status</strong>\n </div>\n <div>\n <FAnalysisNodeRunStatus :status=\"item.run_status\" />\n </div>\n </div>\n </template>\n </template>\n </FAnalysisNodes>\n </div>\n </template>\n <template v-else>\n <div class=\"progress bg-white\">\n <div\n class=\"progress-bar\"\n :class=\"{\n 'bg-dark': entity.run_status !== analysisRunStatus.FINISHED,\n 'bg-success': entity.run_status === analysisRunStatus.FINISHED\n }\"\n :style=\"{width: progressPercentage + '%'}\"\n :aria-valuenow=\"progressPercentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n />\n </div>\n </template>\n </div>\n</template>\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AnalysisBucket } from '@privateaim/core-kit';\nimport {\n DomainType,\n} from '@privateaim/core-kit';\nimport {\n defineComponent,\n} from 'vue';\nimport type { SlotsType } from 'vue';\nimport type { EntityManagerSlotsType } from '../../core';\nimport {\n createEntityManager,\n defineEntityManagerEvents,\n defineEntityManagerProps,\n} from '../../core';\n\nexport default defineComponent({\n props: defineEntityManagerProps<AnalysisBucket>(),\n emits: defineEntityManagerEvents<AnalysisBucket>(),\n slots: Object as SlotsType<EntityManagerSlotsType<AnalysisBucket>>,\n async setup(props, setup) {\n const manager = createEntityManager({\n type: `${DomainType.ANALYSIS_BUCKET}`,\n setup,\n props,\n });\n\n await manager.resolve();\n\n return () => manager.render();\n },\n});\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AnalysisBucket } from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport { defineComponent } from 'vue';\nimport { ActionCommandElementType, injectStorageHTTPClient, renderActionCommand } from '../../core';\n\nconst FAnalysisBucketDownload = defineComponent({\n props: {\n entity: {\n type: Object as PropType<AnalysisBucket>,\n required: true,\n },\n elementType: {\n type: String as PropType<`${ActionCommandElementType}`>,\n default: ActionCommandElementType.BUTTON,\n },\n withIcon: {\n type: Boolean,\n default: false,\n },\n withText: {\n type: Boolean,\n default: true,\n },\n },\n setup(props, { slots }) {\n const storageClient = injectStorageHTTPClient();\n\n const execute = async () => {\n if (!props.entity.external_id) {\n return;\n }\n\n const url = storageClient.bucket.getStreamURL(props.entity.external_id);\n\n window.open(\n url,\n '_blank',\n );\n };\n\n return () => renderActionCommand({\n execute,\n elementType: props.elementType,\n withIcon: props.withIcon,\n withText: props.withText,\n isDisabled: false,\n iconClass: 'fas fa-download',\n isAllowed: true, // todo: maybe bind to permission\n commandText: 'download',\n classSuffix: 'dark',\n slots,\n });\n },\n});\n\nexport {\n FAnalysisBucketDownload,\n};\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { PropType, VNodeChild } from 'vue';\nimport {\n computed, defineComponent, h, ref, toRef, watch,\n} from 'vue';\nimport {\n hasNormalizedSlot, injectCoreHTTPClient, normalizeSlot, wrapFnWithBusyState,\n} from '../../core';\n\nexport default defineComponent({\n props: {\n entityId: {\n type: String,\n required: true,\n },\n entityName: {\n type: String as PropType<string | null | undefined>,\n default: undefined,\n },\n editable: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['updated', 'failed'],\n setup(props, { emit, slots }) {\n const apiClient = injectCoreHTTPClient();\n const busy = ref(false);\n const name = ref('');\n\n if (props.entityName) {\n name.value = props.entityName;\n }\n\n const propName = toRef(props, 'entityName');\n watch(propName, (val) => {\n name.value = val || '';\n });\n\n const editing = ref(false);\n\n const nameDisplay = computed(() => {\n if (name.value) {\n return name.value;\n }\n\n if (props.entityName) {\n return props.entityName;\n }\n\n return props.entityId;\n });\n\n const toggle = () => {\n editing.value = !editing.value;\n };\n\n const save = wrapFnWithBusyState(busy, async () => {\n try {\n const train = await apiClient.analysis.update(props.entityId, {\n name: name.value,\n });\n\n emit('updated', train);\n\n editing.value = false;\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n });\n\n return () => {\n if (editing.value) {\n return h('div', { class: 'input-group' }, [\n h('input', {\n value: name.value,\n onInput($event: any) {\n $event.preventDefault();\n name.value = $event.target.value;\n },\n disabled: busy.value,\n class: 'form-control',\n placeholder: '...',\n }),\n h('button', {\n class: 'btn btn-xs btn-primary',\n onClick($event: any) {\n $event.preventDefault();\n\n return save();\n },\n }, [\n h('i', { class: 'fa fa-save' }),\n ]),\n ]);\n }\n\n let text : VNodeChild;\n\n if (hasNormalizedSlot('default', slots)) {\n text = normalizeSlot('default', {\n entityId: props.entityId,\n entityName: props.entityName,\n nameDisplay: nameDisplay.value,\n }, slots);\n } else {\n text = [\n nameDisplay.value,\n ...(props.entityName ? [\n ' ',\n h('small', { class: 'text-muted' }, [`${props.entityId}`]),\n ] : []),\n ];\n }\n\n return h('span', [\n text,\n ...(!editing.value && props.editable ? [\n h('a', {\n class: 'ms-1',\n // eslint-disable-next-line no-script-url\n href: 'javascript:void(0)',\n disabled: busy.value,\n onClick($event: any) {\n $event.preventDefault();\n return toggle();\n },\n }, [\n h('i', { class: 'fa fa-pencil-alt' }),\n ]),\n ] : []),\n ]);\n };\n },\n});\n","<!--\n - Copyright (c) 2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport { VCLink } from '@vuecs/link';\nimport type { AnalysisBucket, AnalysisNode } from '@privateaim/core-kit';\nimport { AnalysisBucketType } from '@privateaim/core-kit';\nimport type { BuildInput } from 'rapiq';\nimport type { PropType } from 'vue';\nimport { computed, defineComponent } from 'vue';\nimport { FAnalysisBucket, FAnalysisBucketDownload } from '../analysis-bucket';\nimport FAnalysisName from '../analysis/FAnalysisName';\nimport { FAnalysisNodeApprovalCommand } from './FAnalsisNodeApprovalCommand';\nimport { FAnalysisNodeApprovalStatus } from './FAnalysisNodeApprovalStatus';\n\nexport default defineComponent({\n components: {\n FAnalysisBucket,\n FAnalysisBucketDownload,\n FAnalysisName,\n FAnalysisNodeApprovalCommand,\n FAnalysisNodeApprovalStatus,\n VCLink,\n },\n props: {\n entity: {\n type: Object as PropType<AnalysisNode>,\n required: true,\n },\n busy: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['deleted', 'failed', 'updated'],\n setup(props, { emit }) {\n const bucketQuery = computed<BuildInput<AnalysisBucket>>(() => ({\n filter: {\n type: AnalysisBucketType.CODE,\n analysis_id: props.entity.analysis_id,\n },\n } satisfies BuildInput<AnalysisBucket>));\n\n const handleDeleted = (data: AnalysisNode) => {\n emit('deleted', data);\n };\n\n const handleFailed = (data: Error) => {\n emit('failed', data);\n };\n\n const handleUpdated = (data: AnalysisNode) => {\n emit('updated', data);\n };\n\n return {\n bucketQuery,\n\n handleDeleted,\n handleFailed,\n handleUpdated,\n };\n },\n});\n</script>\n<template>\n <div class=\"d-flex flex-column gap-1 w-100\">\n <div class=\"w-100\">\n <div class=\"d-flex flex-row align-items-center\">\n <div>\n <slot\n name=\"title\"\n :data=\"entity\"\n >\n <i class=\"fas fa-microscope me-1\" />\n\n <FAnalysisName\n :entity-id=\"entity.analysis.id\"\n :entity-name=\"entity.analysis.name\"\n />\n </slot>\n </div>\n <div class=\"ms-auto d-flex flex-row gap-1\">\n <slot\n name=\"itemActions\"\n :data=\"entity\"\n >\n <VCLink\n :to=\"'/analyses/' + entity.analysis.id\"\n :disabled=\"busy\"\n class=\"btn btn-xs btn-dark\"\n >\n <i class=\"fa fa-bars\" />\n </VCLink>\n <FAnalysisBucket :query=\"bucketQuery\">\n <template #default=\"{ data: bucket }\">\n <FAnalysisBucketDownload\n :entity=\"bucket\"\n :with-icon=\"true\"\n :with-text=\"false\"\n />\n </template>\n </FAnalysisBucket>\n <FAnalysisNodeApprovalCommand\n :entity-id=\"entity.id\"\n :approval-status=\"entity.approval_status\"\n :with-icon=\"true\"\n :element-type=\"'button'\"\n :command=\"'approve'\"\n :with-text=\"false\"\n @updated=\"handleUpdated\"\n />\n <FAnalysisNodeApprovalCommand\n :entity-id=\"entity.id\"\n :approval-status=\"entity.approval_status\"\n :with-icon=\"true\"\n :element-type=\"'button'\"\n :command=\"'reject'\"\n :with-text=\"false\"\n @updated=\"handleUpdated\"\n />\n </slot>\n </div>\n </div>\n </div>\n <slot\n name=\"body\"\n :data=\"entity\"\n >\n <div class=\"row\">\n <div class=\"col-12 col-md-4 d-flex align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-server\" /> Node</strong>\n </div>\n <div>\n {{ entity.node.name }}\n </div>\n </div>\n <div class=\"col-12 col-md-4 d-flex align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-heartbeat\" /> Status</strong>\n </div>\n <div>\n <FAnalysisNodeApprovalStatus\n :status=\"entity.approval_status\"\n >\n <template #default=\"slotProps\">\n <span\n :class=\"'text-'+slotProps.classSuffix\"\n >\n {{ slotProps.statusText }}\n </span>\n </template>\n </FAnalysisNodeApprovalStatus>\n </div>\n </div>\n <div class=\"col-12 col-md-4 d-flex align-items-center flex-column\">\n <div>\n <strong><i class=\"fa-solid fa-user\" /> Creator</strong>\n </div>\n <div>\n <template v-if=\"entity.analysis.user_id\">\n {{ entity.analysis.user_id }}\n </template>\n </div>\n </div>\n <!-- todo: this is only possible when authup supports user access from other realm -->\n <!--\n <div class=\"d-flex flex-grow-1 align-items-center flex-column\">\n <div>\n <strong><i class=\"fa fa-user\" /> Creator</strong>\n </div>\n <div>\n <AUser :entity-id=\"entity.user_id\">\n <template #default=\"{ data }\">\n {{ data.name }}\n </template>\n </AUser>\n </div>\n </div>\n -->\n </div>\n </slot>\n <slot\n name=\"footer\"\n :data=\"entity\"\n >\n <div class=\"d-flex flex-row\">\n <div class=\"\">\n <small>\n <span class=\"text-muted\">\n created\n </span>\n <VCTimeago :datetime=\"entity.created_at\" />\n </small>\n </div>\n <div class=\"ms-auto\">\n <small>\n <span class=\"text-muted\">\n updated\n </span>\n <VCTimeago :datetime=\"entity.updated_at\" />\n </small>\n </div>\n </div>\n </slot>\n </div>\n</template>\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport type { Analysis, AnalysisNode, MasterImage } from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport {\n defineComponent, ref,\n} from 'vue';\nimport FProjectNodes from '../../project-node/FProjectNodes';\nimport FMasterImagePicker from '../../master-image/FMasterImagePicker';\nimport { FAnalysisNodeAssignAction, FAnalysisNodes } from '../../analysis-node';\nimport { injectCoreHTTPClient } from '../../../core';\nimport { FPagination, FSearch } from '../../utility';\n\nexport default defineComponent({\n components: {\n ListPagination: FPagination,\n ListSearch: FSearch,\n FAnalysisNodeAssignAction,\n FAnalysisNodes,\n FMasterImagePicker,\n FProjectNodes,\n },\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n },\n emits: ['updated', 'failed'],\n setup(props, { emit }) {\n const apiClient = injectCoreHTTPClient();\n const handleMasterImageSelected = async (item: MasterImage) => {\n try {\n const response = await apiClient.analysis.update(props.entity.id, {\n master_image_id: item ? item.id : null as string,\n });\n\n emit('updated', response);\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n };\n\n const FAnalysisNodes = ref<null | Record<string, any>>(null);\n\n const handleAnalysisNodeCreated = (item: AnalysisNode) => {\n if (FAnalysisNodes.value) {\n FAnalysisNodes.value.handleCreated(item);\n }\n\n if (item.analysis) {\n emit('updated', item.analysis);\n }\n };\n\n const handleAnalysisNodeDeleted = (item: AnalysisNode) => {\n if (FAnalysisNodes.value) {\n FAnalysisNodes.value.handleDeleted(item);\n }\n\n if (item.analysis) {\n emit('updated', item.analysis);\n }\n };\n\n const handleFailed = (e: Error) => {\n emit('failed', e);\n };\n\n return {\n handleFailed,\n handleMasterImageSelected,\n handleAnalysisNodeCreated,\n handleAnalysisNodeDeleted,\n FAnalysisNodes,\n };\n },\n});\n</script>\n<template>\n <div>\n <div class=\"mb-2\">\n <h6><i class=\"fa fa-compact-disc\" /> MasterImage</h6>\n <div class=\"mb-2\">\n <FMasterImagePicker\n :entity-id=\"entity.master_image_id\"\n @selected=\"handleMasterImageSelected\"\n />\n </div>\n </div>\n\n <hr>\n\n <div>\n <h6><i class=\"fa fa-city\" /> Nodes</h6>\n\n <div class=\"row\">\n <div class=\"col-12 col-xl-6\">\n <FProjectNodes\n ref=\"FProjectNodes\"\n :realm-id=\"entity.realm_id\"\n :direction=\"'out'\"\n :query=\"{filters: {project_id: entity.project_id}}\"\n >\n <template #header=\"props\">\n <span>Nodes <span class=\"text-info\">available</span></span>\n\n <ListSearch\n :load=\"props.load\"\n :meta=\"props.meta\"\n />\n </template>\n <template #footer=\"props\">\n <ListPagination\n :load=\"props.load\"\n :meta=\"props.meta\"\n />\n </template>\n\n <template #itemActions=\"props\">\n <FAnalysisNodeAssignAction\n :key=\"props.data.node_id\"\n :node-id=\"props.data.node_id\"\n :analysis-id=\"entity.id\"\n :realm-id=\"entity.realm_id\"\n @created=\"handleAnalysisNodeCreated\"\n @deleted=\"handleAnalysisNodeDeleted\"\n @failed=\"handleFailed\"\n />\n </template>\n </FProjectNodes>\n </div>\n <div class=\"col-12 col-xl-6\">\n <FAnalysisNodes\n ref=\"FAnalysisNodes\"\n :realm-id=\"entity.realm_id\"\n :direction=\"'out'\"\n :query=\"{filters: {analysis_id: entity.id}}\"\n >\n <template #header>\n <span>Nodes <span class=\"text-success\">selected</span></span>\n </template>\n </FAnalysisNodes>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport {\n DomainType,\n} from '@privateaim/core-kit';\nimport type {\n AnalysisBucketFile,\n} from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport {\n computed, defineComponent, ref,\n} from 'vue';\nimport { createEntityManager, defineEntityManagerEvents } from '../../core';\n\nexport default defineComponent({\n props: {\n entity: {\n type: Object as PropType<AnalysisBucketFile>,\n required: true,\n },\n filesSelected: {\n type: Array,\n required: true,\n },\n fileSelectedId: {\n type: String,\n },\n },\n emits: {\n ...defineEntityManagerEvents<AnalysisBucketFile>(),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n toggle: (_entity?: AnalysisBucketFile) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n check: (_entity?: AnalysisBucketFile) => true,\n },\n setup(props, setup) {\n const manager = createEntityManager({\n type: `${DomainType.ANALYSIS_BUCKET_FILE}`,\n props,\n setup,\n });\n\n const busy = ref(false);\n\n const marked = computed(() => {\n if (!props.filesSelected) {\n return false;\n }\n\n return props.filesSelected.findIndex((file) => manager.data.value && file === manager.data.value.id) !== -1;\n });\n\n const isMatch = computed(() => manager.data.value && props.fileSelectedId === manager.data.value.id);\n\n const toggle = () => {\n setup.emit('toggle', manager.data.value);\n };\n\n const markToggle = () => {\n setup.emit('check', manager.data.value);\n };\n\n return {\n drop: manager.delete,\n marked,\n markToggle,\n isMatch,\n toggle,\n busy,\n };\n },\n});\n</script>\n<template>\n <div\n class=\"card card-file d-flex flex-row align-items-center p-1\"\n :class=\"{'checked': marked}\"\n >\n <div\n class=\"card-heading align-items-center d-flex flex-row\"\n @click.prevent=\"markToggle\"\n >\n <span class=\"title\">\n {{ entity.name }}\n </span>\n </div>\n <div class=\"ms-auto d-flex flex-row me-1\">\n <div>\n <button\n v-if=\"!fileSelectedId || isMatch\"\n type=\"button\"\n class=\"btn btn-xs\"\n :class=\"{\n 'btn-success': !isMatch,\n 'btn-warning': isMatch\n }\"\n @click.prevent=\"toggle\"\n >\n <i\n :class=\"{\n 'fa fa-check': !isMatch,\n 'fa fa-times': isMatch\n }\"\n />\n </button>\n </div>\n <div class=\"ms-1\">\n <button\n type=\"button\"\n class=\"btn btn-danger btn-xs\"\n :disabled=\"busy\"\n @click.prevent=\"drop\"\n >\n <i class=\"fa fa-trash\" />\n </button>\n </div>\n </div>\n </div>\n</template>\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { DomainType } from '@privateaim/core-kit';\nimport type {\n AnalysisBucketFile,\n} from '@privateaim/core-kit';\nimport type { SlotsType } from 'vue';\nimport { defineComponent } from 'vue';\nimport type { ListSlotsType } from '../../core';\nimport { createList, defineListEvents, defineListProps } from '../../core';\n\nconst FAnalysisBucketFiles = defineComponent({\n props: {\n ...defineListProps<AnalysisBucketFile>(),\n realmId: {\n type: String,\n default: undefined,\n },\n },\n slots: Object as SlotsType<ListSlotsType<AnalysisBucketFile>>,\n emits: defineListEvents<AnalysisBucketFile>(),\n setup(props, setup) {\n // todo: include sort\n\n const {\n render,\n setDefaults,\n } = createList({\n type: `${DomainType.ANALYSIS_BUCKET_FILE}`,\n props,\n setup,\n });\n\n setDefaults({\n noMore: {\n content: 'No more analysis bucket files available...',\n },\n });\n\n return () => render();\n },\n});\n\nexport {\n FAnalysisBucketFiles,\n};\n","<!--\n - Copyright (c) 2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n\n<script lang=\"ts\">\nimport type { PropType } from 'vue';\nimport { computed, defineComponent } from 'vue';\n\nexport default defineComponent({\n props: {\n file: {\n type: Object as PropType<File>,\n required: true,\n },\n pathSelected: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['drop'],\n setup(props, { emit }) {\n const path = computed(() => {\n let filename = props.file.name;\n if (props.file.webkitRelativePath) {\n filename = props.file.webkitRelativePath;\n }\n return filename;\n });\n\n const drop = () => {\n emit('drop', props.file);\n };\n\n return {\n path,\n drop,\n };\n },\n});\n</script>\n<template>\n <div class=\"card card-file d-flex flex-row align-items-center p-1\">\n <div class=\"card-heading\">\n <span class=\"title\">\n {{ path }}\n </span>\n </div>\n <div class=\"ms-auto\">\n <button\n type=\"button\"\n class=\"btn btn-dark btn-xs\"\n @click.prevent=\"drop\"\n >\n <i class=\"fa fa fa-trash\" />\n </button>\n </div>\n </div>\n</template>\n","<!--\n - Copyright (c) 2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n\n<script lang=\"ts\">\nimport type {\n AnalysisBucket,\n AnalysisBucketFile,\n} from '@privateaim/core-kit';\nimport {\n hasOwnProperty,\n} from '@privateaim/kit';\nimport type { PropType, Ref } from 'vue';\nimport {\n computed, defineComponent, ref,\n} from 'vue';\nimport type { BuildInput } from 'rapiq';\nimport { injectCoreHTTPClient, injectStorageHTTPClient, wrapFnWithBusyState } from '../../core';\nimport FAnalysisFile from './FAnalysisBucketFile.vue';\nimport { FAnalysisBucketFiles } from './FAnalysisBucketFiles';\nimport FAnalysisFormFile from './FAnalysisFormFile.vue';\n\nexport default defineComponent({\n components: {\n FAnalysisBucketFiles,\n FAnalysisFormFile,\n FAnalysisFile,\n },\n props: {\n entity: {\n type: Object as PropType<AnalysisBucket>,\n required: true,\n },\n fileEntity: {\n type: Object as PropType<AnalysisBucketFile>,\n },\n },\n emits: ['created', 'updated', 'deleted', 'uploaded', 'failed', 'setEntrypointFile'],\n setup(props, { emit }) {\n const coreClient = injectCoreHTTPClient();\n const storageClient = injectStorageHTTPClient();\n\n const entrypointFile = ref(null) as Ref<AnalysisBucketFile | null>;\n if (props.fileEntity) {\n entrypointFile.value = props.fileEntity;\n }\n const entrypointFileId = computed(() => {\n if (entrypointFile.value) {\n return entrypointFile.value.id;\n }\n\n return undefined;\n });\n\n const tempFiles = ref<File[]>([]);\n\n const selected = ref<string[]>([]);\n const selectAll = ref<boolean>(false);\n const directoryMode = ref<boolean>(true);\n const busy = ref<boolean>(false);\n\n const fileListNode = ref<null | typeof FAnalysisBucketFiles>(null);\n const fileListQuery = computed<BuildInput<AnalysisBucketFile>>(() => ({\n filters: {\n analysis_id: props.entity.analysis_id,\n bucket_id: props.entity.id,\n },\n }));\n\n const handleCreated = (entity: AnalysisBucketFile) => {\n if (fileListNode.value) {\n fileListNode.value.handleCreated(entity);\n }\n\n emit('created', entity);\n };\n const handleDeleted = (entity: AnalysisBucketFile) => {\n if (fileListNode.value) {\n fileListNode.value.handleDeleted(entity);\n }\n\n const selectedIndex = selected.value.indexOf(entity.id);\n if (selectedIndex !== -1) {\n selected.value.splice(selectedIndex, 1);\n }\n\n emit('deleted', entity);\n };\n\n const handleUpdated = (entity: AnalysisBucketFile) => {\n if (fileListNode.value) {\n fileListNode.value.handleUpdated(entity);\n }\n\n emit('updated', entity);\n };\n\n const upload = wrapFnWithBusyState(busy, async () => {\n if (tempFiles.value.length === 0) return;\n\n if (!props.entity.external_id) {\n emit('failed', new Error('The analysis bucket has not created yet.'));\n }\n\n try {\n const formData = new FormData();\n for (let i = 0; i < tempFiles.value.length; i++) {\n formData.append(`files[${i}]`, tempFiles.value[i]);\n }\n\n const {\n data: bucketFiles,\n } = await storageClient.bucket.upload(\n props.entity.external_id,\n formData,\n );\n\n for (let i = 0; i < bucketFiles.length; i++) {\n const file = await coreClient.analysisBucketFile.create({\n external_id: bucketFiles[i].id,\n bucket_id: props.entity.id,\n analysis_id: props.entity.analysis_id,\n name: bucketFiles[i].path,\n });\n\n handleCreated(file);\n }\n\n tempFiles.value = [];\n\n emit('uploaded');\n } catch (e) {\n emit('failed', e);\n }\n });\n\n const dropSelected = wrapFnWithBusyState(busy, async () => {\n if (selected.value.length === 0) return;\n\n try {\n for (let i = 0; i < selected.value.length; i++) {\n const file = await coreClient.analysisBucketFile.delete(selected.value[i]);\n handleDeleted(file);\n }\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n });\n\n const selectAllFiles = () => {\n if (selectAll.value) {\n if (fileListNode.value) {\n selected.value = (fileListNode.value.data as unknown as AnalysisBucketFile[])\n .map((file) => file.id);\n }\n } else {\n selected.value = [];\n }\n };\n\n const toggleFile = (file: AnalysisBucketFile) => {\n const index = selected.value.findIndex((el) => el === file.id);\n if (index === -1) {\n selected.value.push(file.id);\n } else {\n selected.value.splice(index, 1);\n }\n };\n\n const filesNode = ref<null | string>(null);\n\n const checkTempFiles = ($event: any) => {\n $event.preventDefault();\n\n for (let i = 0; i < $event.target.files.length; i++) {\n tempFiles.value.push($event.target.files[i]);\n }\n\n if (filesNode.value) {\n filesNode.value = '';\n }\n };\n\n const dropTempFile = ($event: any) => {\n const index = tempFiles.value.findIndex((file) => {\n if (\n hasOwnProperty(file, 'webkitRelativePath') &&\n hasOwnProperty($event, 'webkitRelativePath')\n ) {\n return file.webkitRelativePath === $event.webkitRelativePath;\n }\n return file.name === $event.name;\n });\n\n if (index !== -1) {\n tempFiles.value.splice(index, 1);\n }\n };\n\n const changeEntryPointFile = async (file: AnalysisBucketFile) => {\n if (entrypointFile.value) {\n if (entrypointFile.value.id === file.id) {\n await coreClient.analysisBucketFile.update(file.id, {\n root: false,\n });\n\n entrypointFile.value = null;\n\n emit('setEntrypointFile', null);\n } else {\n await coreClient.analysisBucketFile.update(entrypointFile.value.id, {\n root: false,\n });\n\n await coreClient.analysisBucketFile.update(file.id, {\n root: true,\n });\n\n entrypointFile.value = file;\n\n emit('setEntrypointFile', file);\n }\n } else {\n await coreClient.analysisBucketFile.update(file.id, {\n root: true,\n });\n\n entrypointFile.value = file;\n\n emit('setEntrypointFile', file);\n }\n };\n\n return {\n directoryMode,\n busy,\n checkTempFiles,\n tempFiles,\n\n selected,\n selectAll,\n dropSelected,\n selectAllFiles,\n\n dropTempFile,\n\n upload,\n\n handleCreated,\n handleDeleted,\n handleUpdated,\n\n toggleFile,\n\n entrypointFile,\n entrypointFileId,\n changeEntryPointFile,\n\n filesNode,\n fileListNode,\n fileListQuery,\n };\n },\n});\n</script>\n<template>\n <div>\n <div class=\"row\">\n <div class=\"col\">\n <h6><i class=\"fa fa-upload\" /> Upload</h6>\n <div class=\"form-group\">\n <label class=\"form-label\">{{ directoryMode ? 'Directories' : 'Files' }}</label>\n <input\n id=\"files\"\n ref=\"filesNode\"\n type=\"file\"\n :webkitdirectory=\"directoryMode\"\n class=\"form-control\"\n multiple\n :disbaled=\"busy\"\n @change=\"checkTempFiles\"\n >\n </div>\n <div class=\"form-group\">\n <div class=\"form-check form-switch\">\n <input\n id=\"train-file-manager-switch\"\n v-model=\"directoryMode\"\n class=\"form-check-input\"\n type=\"checkbox\"\n >\n <label\n class=\"form-check-label\"\n for=\"train-file-manager-switch\"\n >Directory Mode</label>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"d-flex flex-row\">\n <div>\n <h6 class=\"title text-muted\">\n Files\n <span style=\"font-size: 0.65rem\">\n <span class=\"text-info\">\n <i class=\"fa fa-memory\" /> in Memory\n </span>\n </span>\n </h6>\n </div>\n <div class=\"ms-auto\">\n <h6 class=\"title text-muted\">\n Path:\n <span class=\"sub-title\">\n [root]\n </span>\n </h6>\n </div>\n </div>\n\n <div\n v-if=\"tempFiles.length === 0\"\n class=\"alert alert-info alert-sm m-t-10\"\n >\n You have not selected any files to upload...\n </div>\n\n <div class=\"d-flex flex-column\">\n <template\n v-for=\"(file,key) in tempFiles\"\n :key=\"key\"\n >\n <FAnalysisFormFile\n class=\"me-1\"\n :file=\"file\"\n @drop=\"dropTempFile\"\n />\n </template>\n </div>\n\n <div class=\"form-group\">\n <button\n type=\"button\"\n class=\"btn btn-xs btn-dark\"\n :disabled=\"busy || tempFiles.length === 0\"\n @click.prevent=\"upload\"\n >\n Upload\n </button>\n </div>\n </div>\n <div class=\"col\">\n <h6 class=\"title text-muted\">\n Files\n <span style=\"font-size: 0.65rem\">\n <span class=\"text-success\">\n <i class=\"fa fa-file\" /> uploaded\n </span>\n </span>\n </h6>\n\n <div\n class=\"form-check\"\n >\n <input\n id=\"selectAllFiles\"\n v-model=\"selectAll\"\n type=\"checkbox\"\n class=\"form-check-input\"\n @change=\"selectAllFiles\"\n >\n <label for=\"selectAllFiles\">Select all</label>\n </div>\n\n <FAnalysisBucketFiles\n ref=\"fileListNode\"\n :query=\"fileListQuery\"\n :header-search=\"false\"\n :header-title=\"false\"\n :footer-pagination=\"false\"\n @created=\"handleCreated\"\n @updated=\"handleUpdated\"\n @deleted=\"handleDeleted\"\n >\n <template #body=\"props\">\n <div class=\"d-flex flex-column\">\n <template\n v-for=\"file in props.data\"\n :key=\"file.id\"\n >\n <FAnalysisFile\n class=\"me-1\"\n :entity=\"file\"\n :files-selected=\"selected\"\n :file-selected-id=\"entrypointFileId\"\n @check=\"toggleFile\"\n @updated=\"props.updated\"\n @deleted=\"props.deleted\"\n @toggle=\"changeEntryPointFile\"\n />\n </template>\n </div>\n </template>\n </FAnalysisBucketFiles>\n\n <div class=\"form-group\">\n <button\n type=\"button\"\n class=\"btn btn-warning btn-xs\"\n :disabled=\"busy || selected.length === 0\"\n @click.prevent=\"dropSelected\"\n >\n <i class=\"fa fa-trash\" /> Delete\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AnalysisBucketFile, MasterImage } from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport {\n computed, defineComponent, h, ref, toRef, watch,\n} from 'vue';\nimport { injectCoreHTTPClient, wrapFnWithBusyState } from '../../core';\n\nexport default defineComponent({\n props: {\n analysisId: {\n type: String,\n default: undefined,\n },\n masterImageId: {\n type: String,\n default: undefined,\n },\n analysisFileId: {\n type: String,\n default: undefined,\n },\n analysisFile: {\n type: Object as PropType<AnalysisBucketFile>,\n },\n },\n emits: ['failed'],\n async setup(props, { emit }) {\n const apiClient = injectCoreHTTPClient();\n\n const analysisFileId = toRef(props, 'analysisFileId');\n const analysisFile = toRef(props, 'analysisFile');\n const masterImageId = toRef(props, 'masterImageId');\n\n const masterImageEntity = ref<null | MasterImage>(null);\n const masterImageBusy = ref(false);\n\n const analysisFileEntity = ref<null | AnalysisBucketFile>(null);\n const analysisFileBusy = ref(false);\n\n const command = computed(() => {\n let command = '<Command>';\n\n if (\n masterImageEntity.value &&\n masterImageEntity.value.command &&\n !masterImageEntity.value.command.match(/\\//g)\n ) {\n command = `/usr/bin/${masterImageEntity.value.command}`;\n }\n\n return command;\n });\n\n const file = computed(() => {\n if (!analysisFileEntity.value) {\n return '<File>';\n }\n\n return analysisFileEntity.value.name;\n });\n\n const loadMasterImage = wrapFnWithBusyState(masterImageBusy, async () => {\n if (!masterImageId.value) return;\n\n try {\n const item = await apiClient.masterImage.getOne(masterImageId.value);\n const { data } = await apiClient.masterImageGroup.getMany({\n filters: {\n virtual_path: item.group_virtual_path,\n },\n });\n\n if (data.length === 1) {\n item.command = item.command || data[0].command;\n item.command_arguments = item.command_arguments || data[0].command_arguments;\n }\n\n masterImageEntity.value = item;\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n });\n\n await loadMasterImage();\n\n watch(masterImageId, async (value, oldValue) => {\n if (value && value !== oldValue) {\n await loadMasterImage();\n }\n });\n\n const resolveAnalysisFile = wrapFnWithBusyState(analysisFileBusy, async () => {\n if (props.analysisFile) {\n analysisFileEntity.value = props.analysisFile;\n return;\n }\n\n if (props.analysisFileId) {\n if (\n analysisFileEntity.value &&\n analysisFileEntity.value.id === props.analysisFileId\n ) {\n return;\n }\n\n try {\n analysisFileEntity.value = await apiClient.analysisBucketFile.getOne(props.analysisFileId);\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n }\n\n analysisFileEntity.value = null;\n });\n\n await resolveAnalysisFile();\n\n watch(analysisFileId, async () => {\n await resolveAnalysisFile();\n });\n\n const analysisFileUpdated = computed(() => {\n if (analysisFile.value) {\n return analysisFile.value.updated_at;\n }\n\n return undefined;\n });\n\n watch(analysisFileUpdated, async () => {\n await resolveAnalysisFile();\n });\n\n await Promise.all([loadMasterImage, resolveAnalysisFile]);\n\n return () => h('div', {\n class: 'command-box',\n }, [\n h('strong', { class: 'pe-1 shell-sign' }, [\n '$',\n ]),\n command.value,\n ' ',\n file.value,\n ]);\n },\n});\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport { AnalysisBucketType } from '@privateaim/core-kit';\nimport type { Analysis, AnalysisBucket, AnalysisBucketFile } from '@privateaim/core-kit';\nimport type { FiltersBuildInput } from 'rapiq';\nimport {\n type PropType, computed, defineComponent, ref,\n} from 'vue';\nimport FAnalysisBucketFileManager from '../../analysis-bucket-file/FAnalysisBucketFileManager.vue';\nimport FAnalysisBucket from '../../analysis-bucket/FAnalysisBucket';\nimport FAnalysisImageCommand from '../FAnalysisImageCommand';\n\nexport default defineComponent({\n components: {\n FAnalysisBucketFileManager,\n FAnalysisImageCommand,\n FAnalysisBucket,\n },\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n entrypointEntity: {\n type: Object as PropType<AnalysisBucketFile>,\n },\n },\n emits: ['failed', 'entrypointChanged'],\n setup(props, { emit }) {\n const analysisBucketNode = ref<typeof FAnalysisBucket | null>(null);\n const queryFilters = computed(() => ({\n analysis_id: props.entity.id,\n type: AnalysisBucketType.CODE,\n } satisfies FiltersBuildInput<AnalysisBucket>));\n\n const handleFailed = (e: Error) => {\n emit('failed', e);\n };\n\n const handleEntrypointChanged = (e: AnalysisBucketFile) => {\n emit('entrypointChanged', e);\n };\n\n const retry = () => {\n if (analysisBucketNode.value) {\n analysisBucketNode.value.resolve({ reset: true });\n }\n };\n\n return {\n handleFailed,\n handleEntrypointChanged,\n queryFilters,\n\n analysisBucketNode,\n retry,\n };\n },\n});\n</script>\n<template>\n <div>\n <FAnalysisBucket\n ref=\"analysisBucketNode\"\n :query-filters=\"queryFilters\"\n >\n <template #default=\"{ data: bucket }\">\n <span>Entrypoint Command</span>\n <br>\n <FAnalysisImageCommand\n class=\"mt-2 mb-2\"\n :master-image-id=\"entity.master_image_id\"\n :analysis-file=\"entrypointEntity\"\n :analysis-id=\"entity.id\"\n />\n\n <FAnalysisBucketFileManager\n :entity=\"bucket\"\n :file-entity=\"entrypointEntity\"\n @set-entrypoint-file=\"handleEntrypointChanged\"\n @failed=\"handleFailed\"\n />\n </template>\n <template #error>\n <div class=\"alert alert-sm alert-warning\">\n <p>\n The code bucket does not exist. Therefore, no files can be uploaded.\n </p>\n\n <button\n type=\"button\"\n class=\"btn btn-xs btn-dark\"\n @click.prevent=\"retry\"\n >\n <i class=\"fas fa-rotate-right\" /> Retry\n </button>\n </div>\n </template>\n </FAnalysisBucket>\n </div>\n</template>\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<template>\n <div class=\"alert alert-info alert-sm\">\n <i class=\"fa fa-info\" /> The analysis is now fully configured and can now be built.<br>\n Be aware that when you start the building process, you are not longer able to modify the configuration.\n </div>\n</template>\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport { FormWizard, TabContent, WizardButton } from 'vue3-form-wizard';\nimport type { PropType, Ref } from 'vue';\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n toRef,\n watch,\n} from 'vue';\nimport type { Analysis, AnalysisBucketFile } from '@privateaim/core-kit';\nimport { AnalysisBucketType, AnalysisConfigurationStatus } from '@privateaim/core-kit';\nimport { initFormAttributesFromSource, injectCoreHTTPClient } from '../../../core';\nimport FAnalysisWizardStepBase from './FAnalysisWizardStepBase.vue';\nimport FAnalysisWizardStepFiles from './FAnalysisWizardStepFiles.vue';\nimport FAnalysisWizardStepFinal from './FAnalysisWizardStepFinal.vue';\n\nexport default defineComponent({\n components: {\n FAnalysisWizardStepFiles,\n FormWizard,\n WizardButton,\n TabContent,\n\n FAnalysisWizardStepFinal,\n FAnalysisWizardStepBase,\n },\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n },\n emits: ['finished', 'failed', 'updated'],\n async setup(props, { emit }) {\n const apiClient = injectCoreHTTPClient();\n const entity = toRef(props, 'entity');\n\n const entrypointFile = ref(null) as Ref<AnalysisBucketFile | null>;\n\n const resolveEntrypointFile = async () => {\n const { data: buckets } = await apiClient.analysisBucket.getMany({\n filters: {\n type: AnalysisBucketType.CODE,\n analysis_id: entity.value.id,\n },\n });\n const [bucket] = buckets;\n if (!bucket) {\n return;\n }\n\n const { data } = await apiClient.analysisBucketFile.getMany({\n filter: {\n root: true,\n bucket_id: bucket.id,\n },\n });\n\n if (data.length > 0) {\n [entrypointFile.value] = data;\n }\n };\n\n await resolveEntrypointFile();\n\n const form = reactive({\n query: null,\n master_image_id: null,\n\n files: [],\n\n hash_signed: '',\n hash: null,\n });\n\n const updateForm = (entity: Partial<Analysis>) => {\n initFormAttributesFromSource(form, entity);\n };\n\n updateForm(entity.value);\n\n const initialized = ref(false);\n const valid = ref(false);\n\n const startIndex = ref(0);\n const index = ref(0);\n\n const steps = [\n AnalysisConfigurationStatus.BASE_CONFIGURED,\n AnalysisConfigurationStatus.RESOURCE_CONFIGURED,\n AnalysisConfigurationStatus.FINISHED,\n ];\n\n const updatedAt = computed(() => (entity.value ?\n entity.value.updated_at :\n undefined));\n\n watch(updatedAt, (val, oldValue) => {\n if (val && val !== oldValue) {\n updateForm(entity.value);\n }\n });\n\n const handleUpdated = (entity: Analysis) => {\n updateForm(entity);\n\n emit('updated', entity);\n };\n\n const handleFailed = (e?: Error | null) => {\n emit('failed', e);\n };\n\n const wizardNode : Ref<typeof FormWizard | null> = ref(null);\n\n const canPassBaseWizardStep = async () => {\n if (!form.master_image_id) {\n throw new Error('A master image must be selected...');\n }\n\n if (entity.value.nodes <= 0) {\n throw new Error('One or more nodes have to be selected...');\n }\n\n return true;\n };\n\n const canPassFilesWizardStep = async () => {\n if (!entrypointFile.value) {\n throw new Error('An uploaded file must be selected as entrypoint.');\n }\n\n return true;\n };\n\n const passWizardStep = () : Promise<boolean> => new Promise((resolve, reject) => {\n const step = steps[index.value];\n let promise : Promise<any>;\n\n switch (step) {\n case AnalysisConfigurationStatus.BASE_CONFIGURED:\n promise = canPassBaseWizardStep();\n break;\n case AnalysisConfigurationStatus.RESOURCE_CONFIGURED:\n promise = canPassFilesWizardStep();\n break;\n default:\n promise = new Promise((resolve, reject) => {\n reject(new Error('This step is not finished yet. Please fill out all required fields or make a choice of truth.'));\n });\n break;\n }\n\n promise\n .then(() => resolve(true))\n .catch((e) => reject(e));\n });\n\n const init = async () => {\n let canPass = true;\n let i = 0;\n\n while (canPass) {\n try {\n await passWizardStep();\n\n i++;\n index.value = i;\n } catch (e) {\n canPass = false;\n }\n\n if (i >= steps.length) {\n canPass = false;\n }\n }\n\n if (wizardNode.value) {\n wizardNode.value.changeTab(0, i);\n } else {\n startIndex.value = i;\n }\n\n initialized.value = true;\n };\n\n await init();\n\n const prevWizardStep = () => {\n if (wizardNode.value) {\n wizardNode.value.prevTab();\n }\n };\n\n const nextWizardStep = () => {\n if (wizardNode.value) {\n wizardNode.value.nextTab();\n }\n };\n\n const setEntrypointFile = (item?: AnalysisBucketFile) => {\n if (item) {\n entrypointFile.value = item;\n } else {\n entrypointFile.value = null;\n }\n };\n\n const handleWizardChangedEvent = (prevIndex: number, nextIndex: number) => {\n index.value = nextIndex;\n valid.value = true;\n };\n\n const handleWizardErrorEvent = (e?: Error) => {\n if (e instanceof Error) {\n emit('failed', e);\n }\n };\n\n const handleWizardFinishedEvent = () => {\n emit('finished');\n };\n\n return {\n startIndex,\n\n handleFailed,\n handleUpdated,\n handleWizardChangedEvent,\n handleWizardFinishedEvent,\n handleWizardErrorEvent,\n\n prevWizardStep,\n nextWizardStep,\n passWizardStep,\n\n entrypointFile,\n setEntrypointFile,\n\n wizardNode,\n };\n },\n});\n</script>\n<template>\n <FormWizard\n ref=\"wizardNode\"\n color=\"#333\"\n title=\"Wizard\"\n :subtitle=\"'Configure your analysis step by step'\"\n :start-index=\"startIndex\"\n @on-change=\"handleWizardChangedEvent\"\n @on-complete=\"handleWizardFinishedEvent\"\n @on-error=\"handleWizardErrorEvent\"\n >\n <template #title>\n <h4 class=\"wizard-title\">\n <i class=\"fa fa-hat-wizard\" /> Wizard\n </h4>\n <p class=\"category\">\n Configure your analysis step by step\n </p>\n </template>\n <template #footer=\"props\">\n <div class=\"wizard-footer-left\">\n <WizardButton\n v-if=\"props.activeTabIndex > 0 && !props.isLastStep\"\n :style=\"props.fillButtonStyle\"\n @click.native=\"prevWizardStep\"\n >\n Back\n </WizardButton>\n </div>\n <div class=\"wizard-footer-right\">\n <WizardButton\n v-if=\"!props.isLastStep\"\n class=\"wizard-footer-right\"\n :style=\"props.fillButtonStyle\"\n @click.native=\"nextWizardStep\"\n >\n Next\n </WizardButton>\n\n <WizardButton\n v-else\n class=\"wizard-footer-right finish-button\"\n :style=\"props.fillButtonStyle\"\n @click.native=\"handleWizardFinishedEvent\"\n >\n Finish\n </WizardButton>\n </div>\n </template>\n\n <TabContent\n title=\"Base\"\n :before-change=\"passWizardStep\"\n >\n <FAnalysisWizardStepBase\n :entity=\"entity\"\n @updated=\"handleUpdated\"\n />\n </TabContent>\n\n <TabContent\n title=\"Files\"\n :before-change=\"passWizardStep\"\n >\n <FAnalysisWizardStepFiles\n :entity=\"entity\"\n :entrypoint-entity=\"entrypointFile\"\n @entrypointChanged=\"setEntrypointFile\"\n @failed=\"handleFailed\"\n />\n </TabContent>\n\n <TabContent title=\"Finish\">\n <FAnalysisWizardStepFinal />\n </TabContent>\n </FormWizard>\n</template>\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport { IVuelidate } from '@ilingo/vuelidate';\nimport type { Analysis, Project } from '@privateaim/core-kit';\nimport { DomainType } from '@privateaim/core-kit';\nimport { maxLength, minLength, required } from '@vuelidate/validators';\nimport type { BuildInput } from 'rapiq';\nimport useVuelidate from '@vuelidate/core';\nimport type { PropType } from 'vue';\nimport {\n computed, defineComponent, reactive, ref,\n} from 'vue';\nimport { VCFormInput } from '@vuecs/form-controls';\nimport {\n createEntityManager, defineEntityManagerEvents, wrapFnWithBusyState,\n} from '../../core';\nimport { FProjects } from '../project';\nimport { FSearch } from '../utility';\n\nexport default defineComponent({\n components: {\n FSearch,\n IVuelidate,\n VCFormInput,\n FProjects,\n },\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n },\n projectId: {\n type: String as PropType<string | undefined | null>,\n },\n realmId: {\n type: String,\n },\n },\n emits: defineEntityManagerEvents<Analysis>(),\n setup(props, setup) {\n const busy = ref(false);\n const form = reactive({\n project_id: '',\n name: '',\n description: '',\n });\n\n const $v = useVuelidate({\n project_id: {\n required,\n },\n name: {\n minLength: minLength(3),\n maxLength: maxLength(128),\n },\n description: {\n minLength: minLength(5),\n maxLength: maxLength(4096),\n },\n }, form);\n\n const proposalQuery = computed<BuildInput<Project>>(() => ({\n filters: {\n ...(props.realmId ? { realm_id: props.realmId } : {}),\n },\n }));\n\n if (props.projectId) {\n form.project_id = props.projectId as string;\n }\n\n const manager = createEntityManager({\n type: `${DomainType.ANALYSIS}`,\n setup,\n props,\n });\n\n const add = wrapFnWithBusyState(busy, async () => {\n await manager.createOrUpdate(form);\n });\n\n const toggle = (key: keyof typeof form, id: any) => {\n if (form[key] === id) {\n form[key] = null as any;\n } else {\n form[key] = id;\n }\n };\n\n return {\n v$: $v,\n form,\n add,\n toggle,\n proposalQuery,\n busy,\n };\n },\n});\n</script>\n<template>\n <form @submit.prevent=\"add\">\n <div class=\"row\">\n <div class=\"col\">\n <IVuelidate :validation=\"v$.name\">\n <template #default=\"props\">\n <VCFormGroup\n :validation-messages=\"props.data\"\n :validation-severity=\"props.severity\"\n >\n <template #label>\n Name\n </template>\n <template #default>\n <VCFormInput\n v-model=\"v$.name.$model\"\n />\n </template>\n </VCFormGroup>\n </template>\n </IVuelidate>\n\n <hr>\n\n <IVuelidate :validation=\"v$.description\">\n <template #default=\"props\">\n <VCFormGroup\n :validation-messages=\"props.data\"\n :validation-severity=\"props.severity\"\n >\n <template #label>\n Description\n </template>\n <template #default>\n <VCFormTextarea\n v-model=\"v$.description.$model\"\n rows=\"4\"\n />\n </template>\n </VCFormGroup>\n </template>\n </IVuelidate>\n\n <div>\n <button\n type=\"submit\"\n class=\"btn btn-xs btn-primary\"\n :disabled=\"v$.$invalid || busy\"\n @click.prevent=\"add\"\n >\n <i class=\"fa fa-plus\" /> create\n </button>\n </div>\n </div>\n <div\n v-if=\"!projectId\"\n class=\"col\"\n >\n <FProjects :query=\"proposalQuery\">\n <template #header=\"props\">\n <label>Projects</label>\n\n <FSearch\n :load=\"props.load\"\n :meta=\"props.meta\"\n />\n </template>\n <template #itemActions=\"props\">\n <button\n :disabled=\"props.busy\"\n type=\"button\"\n class=\"btn btn-xs\"\n :class=\"{\n 'btn-dark': form.project_id !== props.data.id,\n 'btn-warning': form.project_id === props.data.id\n }\"\n @click.prevent=\"toggle('project_id', props.data.id)\"\n >\n <i\n :class=\"{\n 'fa fa-plus': form.project_id !== props.data.id,\n 'fa fa-minus': form.project_id === props.data.id\n }\"\n />\n </button>\n </template>\n </FProjects>\n\n <div\n v-if=\"!v$.project_id.required && !v$.project_id.$model\"\n class=\"alert alert-sm alert-warning\"\n >\n Choose a project as base of your analysis\n </div>\n </div>\n </div>\n </form>\n</template>\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DomainType,\n} from '@privateaim/core-kit';\nimport type {\n Analysis,\n} from '@privateaim/core-kit';\nimport {\n defineComponent,\n} from 'vue';\nimport type { SlotsType } from 'vue';\nimport type { EntityManagerSlotsType } from '../../core';\nimport {\n createEntityManager,\n defineEntityManagerEvents,\n defineEntityManagerProps,\n} from '../../core';\n\nexport default defineComponent({\n props: defineEntityManagerProps<Analysis>(),\n emits: defineEntityManagerEvents<Analysis>(),\n slots: Object as SlotsType<EntityManagerSlotsType<Analysis>>,\n async setup(props, setup) {\n const manager = createEntityManager({\n type: `${DomainType.ANALYSIS}`,\n setup,\n props,\n });\n\n await manager.resolve();\n\n return () => manager.render();\n },\n});\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { useAbilityCheck } from '@authup/client-web-kit';\nimport type { Analysis } from '@privateaim/core-kit';\nimport { AnalysisAPICommand, AnalysisBuildStatus } from '@privateaim/core-kit';\nimport { PermissionName } from '@privateaim/kit';\nimport type { PropType } from 'vue';\nimport {\n computed, defineComponent, ref, toRef,\n} from 'vue';\nimport {\n ActionCommandElementType,\n injectCoreHTTPClient,\n renderActionCommand,\n wrapFnWithBusyState,\n} from '../../core';\n\nconst FAnalysisCommand = defineComponent({\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n command: {\n type: String as PropType<`${AnalysisAPICommand}`>,\n required: true,\n },\n\n elementType: {\n type: String as PropType<`${ActionCommandElementType}`>,\n default: ActionCommandElementType.BUTTON,\n },\n withIcon: {\n type: Boolean,\n default: false,\n },\n withText: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['updated', 'executed', 'failed'],\n setup(props, { emit, slots }) {\n const apiClient = injectCoreHTTPClient();\n const busy = ref(false);\n\n const entity = toRef(props, 'entity');\n\n const execute = wrapFnWithBusyState(busy, async () => {\n try {\n const response = await apiClient\n .analysis.runCommand(entity.value.id, props.command);\n\n emit('executed', props.command);\n emit('updated', response);\n } catch (e) {\n if (e instanceof Error) {\n emit('failed', e);\n }\n }\n });\n\n const isAllowed = useAbilityCheck(PermissionName.ANALYSIS_UPDATE);\n\n const isHidden = computed<boolean>(() => {\n if (props.command === AnalysisAPICommand.CONFIGURATION_LOCK) {\n return entity.value.configuration_locked;\n }\n\n if (props.command === AnalysisAPICommand.CONFIGURATION_UNLOCK) {\n return !entity.value.configuration_locked;\n }\n\n if (!entity.value.configuration_locked) {\n return true;\n }\n\n if (props.command === AnalysisAPICommand.BUILD_START) {\n if (!entity.value.build_status) {\n return false;\n }\n\n return entity.value.build_status !== AnalysisBuildStatus.STOPPING &&\n entity.value.build_status !== AnalysisBuildStatus.FAILED;\n }\n\n if (props.command === AnalysisAPICommand.BUILD_STOP) {\n if (!entity.value.build_status) {\n return true;\n }\n\n return entity.value.build_status === AnalysisBuildStatus.STOPPING ||\n entity.value.build_status === AnalysisBuildStatus.FINISHED;\n }\n\n if (props.command === AnalysisAPICommand.BUILD_STATUS) {\n return entity.value.build_status === AnalysisBuildStatus.FINISHED;\n }\n\n return false;\n });\n\n const commandText = computed(() => {\n switch (props.command) {\n case AnalysisAPICommand.BUILD_START:\n return 'start';\n case AnalysisAPICommand.BUILD_STOP:\n return 'stop';\n case AnalysisAPICommand.BUILD_STATUS:\n return 'check';\n case AnalysisAPICommand.CONFIGURATION_LOCK:\n return 'lock';\n case AnalysisAPICommand.CONFIGURATION_UNLOCK:\n return 'unlock';\n default:\n return '';\n }\n });\n\n const iconClass = computed(() => {\n switch (props.command) {\n case AnalysisAPICommand.BUILD_START:\n return 'fa fa-play';\n case AnalysisAPICommand.BUILD_STOP:\n return 'fa fa-stop';\n case AnalysisAPICommand.BUILD_STATUS:\n return 'fas fa-shield-alt';\n case AnalysisAPICommand.CONFIGURATION_LOCK:\n return 'fas fa-lock';\n case AnalysisAPICommand.CONFIGURATION_UNLOCK:\n return 'fas fa-unlock';\n default:\n return '';\n }\n });\n\n const classSuffix = computed(() => {\n switch (props.command) {\n case AnalysisAPICommand.BUILD_START:\n case AnalysisAPICommand.CONFIGURATION_LOCK:\n return 'success';\n case AnalysisAPICommand.BUILD_STOP:\n case AnalysisAPICommand.CONFIGURATION_UNLOCK:\n return 'danger';\n case AnalysisAPICommand.BUILD_STATUS:\n return 'primary';\n default:\n return 'info';\n }\n });\n\n return () => {\n if (isHidden.value) {\n return [];\n }\n\n return renderActionCommand({\n execute,\n elementType: props.elementType,\n withIcon: props.withIcon,\n withText: props.withText,\n isDisabled: isHidden.value,\n iconClass: iconClass.value,\n isAllowed: isAllowed.value,\n commandText: commandText.value,\n classSuffix: classSuffix.value,\n slots,\n });\n };\n },\n});\n\nexport {\n FAnalysisCommand,\n};\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\n\nimport { AnalysisBuildStatus } from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n props: {\n status: {\n type: String as PropType<`${AnalysisBuildStatus}`>,\n default: null,\n },\n },\n computed: {\n statusText() {\n switch (this.status) {\n case AnalysisBuildStatus.STARTING:\n return 'starting...';\n case AnalysisBuildStatus.STOPPING:\n return 'stopping...';\n\n case AnalysisBuildStatus.STARTED:\n return 'started';\n case AnalysisBuildStatus.STOPPED:\n return 'stopped';\n\n case AnalysisBuildStatus.FINISHED:\n return 'finished';\n case AnalysisBuildStatus.FAILED:\n return 'failed';\n default:\n return 'none';\n }\n },\n classSuffix() {\n switch (this.status) {\n case AnalysisBuildStatus.STARTING:\n case AnalysisBuildStatus.STARTED:\n case AnalysisBuildStatus.STOPPED:\n return 'primary';\n case AnalysisBuildStatus.FINISHED:\n return 'success';\n case AnalysisBuildStatus.STOPPING:\n return 'warning';\n case AnalysisBuildStatus.FAILED:\n return 'danger';\n default:\n return 'info';\n }\n },\n },\n});\n</script>\n<template>\n <span>\n <slot\n :class-suffix=\"classSuffix\"\n :status-text=\"statusText\"\n >\n <span :class=\"'text-'+classSuffix\">{{ statusText }}</span>\n </slot>\n </span>\n</template>\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n\n<script lang=\"ts\">\nimport { computed, defineComponent, toRef } from 'vue';\n\nexport default defineComponent({\n props: {\n locked: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const locked = toRef(props, 'locked');\n const statusText = computed(() => {\n if (locked.value) {\n return 'locked';\n }\n\n return 'not locked';\n });\n\n const iconClass = computed(() => {\n if (locked.value) {\n return 'fas fa-lock';\n }\n\n return 'fas fa-unlock';\n });\n\n const classSuffix = computed(() => {\n if (locked.value) {\n return 'success';\n }\n\n return 'danger';\n });\n\n return {\n statusText,\n iconClass,\n classSuffix,\n };\n },\n});\n</script>\n<template>\n <span>\n <slot\n :class-suffix=\"classSuffix\"\n :status-text=\"statusText\"\n >\n <span :class=\"'text-'+classSuffix\"> {{ statusText }}</span>\n </slot>\n </span>\n</template>\n","<!--\n - Copyright (c) 2021-2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n<script lang=\"ts\">\nimport type { Analysis } from '@privateaim/core-kit';\nimport {\n AnalysisAPICommand,\n AnalysisBuildStatus,\n AnalysisConfigurationStatus,\n AnalysisResultStatus,\n AnalysisRunStatus,\n} from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport { defineComponent } from 'vue';\nimport { FAnalysisCommand } from './FAnalysisCommand';\nimport FAnalysisBuildStatusText from './FAnalysisBuildStatusText.vue';\nimport FAnalysisConfigurationStatusText from './FAnalysisConfigurationStatusText.vue';\n\nexport default defineComponent({\n components: {\n FAnalysisBuildStatusText,\n FAnalysisConfigurationStatusText,\n FAnalysisCommand,\n },\n props: {\n listDirection: {\n type: String,\n default: 'row',\n },\n withCommand: {\n type: Boolean,\n default: true,\n },\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n },\n emits: ['updated', 'executed', 'failed'],\n setup(props, { emit }) {\n const handleExecuted = (type: string, command: string) => {\n emit('executed', type, command);\n };\n const handleUpdated = (item: Analysis) => {\n emit('updated', item);\n };\n const handleFailed = (e: Error) => {\n emit('failed', e);\n };\n\n return {\n trainBuildStatus: AnalysisBuildStatus,\n trainConfigurationStatus: AnalysisConfigurationStatus,\n trainRunStatus: AnalysisRunStatus,\n trainResultStatus: AnalysisResultStatus,\n trainCommand: AnalysisAPICommand,\n\n busy: false,\n\n handleUpdated,\n handleFailed,\n handleExecuted,\n };\n },\n});\n</script>\n<template>\n <div\n class=\"d-flex justify-content-between mb-2 mt-2\"\n :class=\"{\n 'flex-column': listDirection === 'column',\n 'flex-row': listDirection === 'row'\n }\"\n >\n <div\n class=\"d-flex flex-grow-1 align-items-center\"\n style=\"flex-basis: 0\"\n :class=\"{\n 'mb-2 flex-row': listDirection === 'column',\n 'flex-column': listDirection === 'row'\n }\"\n >\n <div class=\"me-1\">\n <strong>1. Configuration</strong>\n </div>\n <div>\n <FAnalysisConfigurationStatusText :locked=\"entity.configuration_locked\" />\n </div>\n <div\n v-if=\"withCommand\"\n class=\"ms-auto\"\n >\n <FAnalysisCommand\n :command=\"trainCommand.CONFIGURATION_LOCK\"\n :with-icon=\"true\"\n :entity=\"entity\"\n @executed=\"(command: string) => handleExecuted('configuration', command)\"\n @updated=\"handleUpdated\"\n @failed=\"handleFailed\"\n />\n <FAnalysisCommand\n :command=\"trainCommand.CONFIGURATION_UNLOCK\"\n :with-icon=\"true\"\n :entity=\"entity\"\n @executed=\"(command: string) => handleExecuted('configuration', command)\"\n @updated=\"handleUpdated\"\n @failed=\"handleFailed\"\n />\n </div>\n </div>\n\n <div\n class=\"d-flex flex-grow-1 align-items-center\"\n style=\"flex-basis: 0\"\n :class=\"{\n 'mb-2 flex-row': listDirection === 'column',\n 'flex-column': listDirection === 'row'\n }\"\n >\n <div class=\"me-1\">\n <strong>2. Build</strong>\n </div>\n <div>\n <FAnalysisBuildStatusText :status=\"entity.build_status\" />\n </div>\n <div\n v-if=\"withCommand\"\n class=\"ms-auto flex-row d-flex justify-between gap-1\"\n >\n <div>\n <FAnalysisCommand\n :command=\"trainCommand.BUILD_START\"\n :with-icon=\"true\"\n :entity=\"entity\"\n @executed=\"(command) => handleExecuted('build', command)\"\n @updated=\"handleUpdated\"\n @failed=\"handleFailed\"\n />\n </div>\n <div>\n <FAnalysisCommand\n :command=\"trainCommand.BUILD_STATUS\"\n :with-icon=\"true\"\n :entity=\"entity\"\n @executed=\"(command) => handleExecuted('build', command)\"\n @updated=\"handleUpdated\"\n @failed=\"handleFailed\"\n />\n </div>\n <div>\n <FAnalysisCommand\n :command=\"trainCommand.BUILD_STOP\"\n :with-icon=\"true\"\n :entity=\"entity\"\n @executed=\"(command) => handleExecuted('build', command)\"\n @updated=\"handleUpdated\"\n @failed=\"handleFailed\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n","<!--\n - Copyright (c) 2024.\n - Author Peter Placzek (tada5hi)\n - For the full copyright and license information,\n - view the LICENSE file that was distributed with this source code.\n -->\n\n<script lang=\"ts\">\nimport { useAbilityCheck } from '@authup/client-web-kit';\nimport type { Analysis } from '@privateaim/core-kit';\nimport { PermissionName } from '@privateaim/kit';\nimport { VCLink } from '@vuecs/link';\nimport { VCTimeago } from '@vuecs/timeago';\nimport type { PropType, SlotsType } from 'vue';\nimport { defineComponent, ref } from 'vue';\nimport type { EntityListSlotName } from '../../core';\nimport FAnalysisNodesProgress from '../analysis-node/FAnalysisNodesProgress.vue';\nimport FEntityDelete from '../FEntityDelete';\nimport FAnalysisName from './FAnalysisName';\nimport FAnalysisPipeline from './FAnalysisPipeline.vue';\n\nexport default defineComponent({\n components: {\n FAnalysisNodesProgress,\n FAnalysisPipeline,\n FAnalysisName,\n FEntityDelete,\n VCLink,\n VCTimeago,\n },\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n busy: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['deleted', 'updated', 'executed', 'failed'],\n slots: Object as SlotsType<{\n [EntityListSlotName.ITEM_ACTIONS]: {\n data: Analysis\n }\n }>,\n setup(_props, { emit }) {\n const extendedView = ref(false);\n const toggleView = () => {\n extendedView.value = !extendedView.value;\n };\n\n const canDelete = useAbilityCheck(PermissionName.ANALYSIS_DELETE);\n\n const handleDeleted = (data: Analysis) => {\n emit('deleted', data);\n };\n\n const handleExecuted = (component: string, command: string) => {\n emit('executed', component, command);\n };\n\n const handleFailed = (error: Error) => {\n emit('failed', error);\n };\n\n const handleUpdated = (data: Analysis) => {\n emit('updated', data);\n };\n\n return {\n extendedView,\n toggleView,\n\n canDelete,\n handleDeleted,\n handleExecuted,\n handleFailed,\n handleUpdated,\n };\n },\n});\n</script>\n<template>\n <div class=\"d-flex flex-column w-100\">\n <div>\n <div class=\"d-flex flex-row align-items-center\">\n <div class=\"me-1\">\n <FAnalysisName\n :entity-id=\"entity.id\"\n :entity-name=\"entity.name\"\n :editable=\"true\"\n @updated=\"handleUpdated\"\n >\n <template #default=\"props\">\n <i class=\"fas fa-microscope me-1\" />\n <VCLink :to=\"'/analyses/' + props.entityId\">\n {{ props.nameDisplay }}\n </VCLink>\n <template v-if=\"props.entityName\">\n <span class=\"text-muted ms-1\">\n {{ props.entityId }}\n </span>\n </template>\n </template>\n </FAnalysisName>\n </div>\n <div class=\"ms-auto\">\n <slot\n name=\"itemActions\"\n :data=\"entity\"\n >\n <button\n class=\"btn btn-xs btn-dark\"\n @click.prevent=\"toggleView\"\n >\n <i\n :class=\"{\n 'fa fa-chevron-down': !extendedView,\n 'fa fa-chevron-up': extendedView}\n \"\n />\n </button>\n <VCLink\n :to=\"'/analyses/' + entity.id\"\n :disabled=\"busy\"\n class=\"btn btn-xs btn-dark ms-1\"\n >\n <i class=\"fa fa-bars\" />\n </VCLink>\n <template v-if=\"canDelete\">\n <FEntityDelete\n :with-text=\"false\"\n :entity-id=\"entity.id\"\n :entity-type=\"'analysis'\"\n :disabled=\"busy\"\n class=\"btn btn-xs btn-danger ms-1\"\n @deleted=\"handleDeleted\"\n />\n </template>\n </slot>\n </div>\n </div>\n </div>\n <FAnalysisPipeline\n :entity=\"entity\"\n :with-command=\"extendedView\"\n :list-direction=\"extendedView ? 'column' : 'row'\"\n @updated=\"handleUpdated\"\n @deleted=\"handleDeleted\"\n @executed=\"handleExecuted\"\n @failed=\"handleFailed\"\n />\n <FAnalysisNodesProgress\n class=\"mt-1 mb-1\"\n :entity=\"entity\"\n :element-type=\"'progress-bar'\"\n />\n <div class=\"d-flex flex-row\">\n <div class=\"\">\n <small>\n <span class=\"text-muted\">\n created\n </span>\n <VCTimeago :datetime=\"entity.created_at\" />\n </small>\n </div>\n <div class=\"ms-auto\">\n <small>\n <span class=\"text-muted\">\n updated\n </span>\n <VCTimeago :datetime=\"entity.updated_at\" />\n </small>\n </div>\n </div>\n </div>\n</template>\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { PropType, VNodeChild } from 'vue';\nimport {\n defineComponent, h,\n} from 'vue';\nimport type {\n Analysis,\n} from '@privateaim/core-kit';\nimport TrainEntity from './FAnalysis';\nimport TrainPipeline from './FAnalysisPipeline.vue';\nimport FAnalysisNodesProgress from '../analysis-node/FAnalysisNodesProgress.vue';\nimport TrainName from './FAnalysisName';\nimport type { EntityManagerSlotProps } from '../../core';\nimport FAnalysisItemCard from './FAnalysisItemCard.vue';\n\nconst FAnalysisItem = defineComponent({\n components: {\n TrainName,\n FAnalysisNodesProgress,\n TrainPipeline,\n },\n props: {\n entity: {\n type: Object as PropType<Analysis>,\n required: true,\n },\n },\n emits: ['updated', 'deleted', 'failed', 'executed'],\n setup(props, { emit }) {\n const handleExecuted = (component: string, command: string) => {\n emit('executed', component, command);\n };\n\n return () => h(TrainEntity, {\n entity: props.entity,\n onDeleted(entity) {\n emit('deleted', entity);\n },\n onUpdated: (entity) => {\n emit('updated', entity);\n },\n onFailed(e) {\n emit('failed', e);\n },\n }, {\n default: (slotProps: EntityManagerSlotProps<Analysis>) : VNodeChild => {\n if (!slotProps.data) {\n return [];\n }\n\n return h(FAnalysisItemCard, {\n entity: slotProps.data,\n busy: slotProps.busy,\n onDeleted: slotProps.deleted,\n onExecuted: handleExecuted,\n onFailed: slotProps.failed,\n onUpdated: slotProps.updated,\n });\n },\n });\n },\n});\n\nexport {\n FAnalysisItem,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { DomainType } from '@privateaim/core-kit';\nimport type {\n Analysis,\n} from '@privateaim/core-kit';\nimport type { SetupContext, SlotsType } from 'vue';\nimport { defineComponent, h } from 'vue';\nimport type { ListEventsType, ListSlotsType } from '../../core';\nimport { createList, defineListEvents, defineListProps } from '../../core';\nimport { FAnalysisItem } from './FAnalysisItem';\n\nexport default defineComponent({\n props: defineListProps<Analysis>(),\n slots: Object as SlotsType<ListSlotsType<Analysis>>,\n emits: {\n ...defineListEvents<Analysis>(),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n executed: (_component: string, _command :string) => true,\n },\n setup(props, setup) {\n const {\n render,\n setDefaults,\n handleUpdated,\n handleDeleted,\n } = createList({\n type: `${DomainType.ANALYSIS}`,\n props,\n setup: setup as unknown as SetupContext<ListEventsType<Analysis>>,\n });\n\n setDefaults({\n item: {\n content(item) {\n return h(FAnalysisItem, {\n entity: item,\n onDeleted: handleDeleted,\n onUpdated: handleUpdated,\n onExecuted(component: string, command: string) {\n setup.emit('executed', component, command);\n },\n });\n },\n },\n\n noMore: {\n content: 'No more analyses available...',\n },\n });\n\n return () => render();\n },\n});\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AnalysisBucketFile } from '@privateaim/core-kit';\nimport type { PropType } from 'vue';\nimport { defineComponent } from 'vue';\nimport { ActionCommandElementType, injectStorageHTTPClient, renderActionCommand } from '../../core';\n\nconst FAnalysisBucketFileDownload = defineComponent({\n props: {\n entity: {\n type: Object as PropType<AnalysisBucketFile>,\n required: true,\n },\n elementType: {\n type: String as PropType<`${ActionCommandElementType}`>,\n default: ActionCommandElementType.BUTTON,\n },\n withIcon: {\n type: Boolean,\n default: false,\n },\n withText: {\n type: Boolean,\n default: true,\n },\n },\n setup(props, { slots }) {\n const storageClient = injectStorageHTTPClient();\n\n const execute = async () => {\n const url = storageClient.bucketFile.getStreamURL(props.entity.external_id);\n\n window.open(\n url,\n '_blank',\n );\n };\n\n return () => renderActionCommand({\n execute,\n elementType: props.elementType,\n withIcon: props.withIcon,\n withText: props.withText,\n isDisabled: false,\n iconClass: 'fas fa-download',\n isAllowed: true, // todo: maybe bind to permission\n commandText: 'download',\n classSuffix: 'dark',\n slots,\n });\n },\n});\n\nexport {\n FAnalysisBucketFileDownload,\n};\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport { VCTimeago } from '@vuecs/timeago';\nimport type { AnalysisLog } from '@privateaim/core-kit';\nimport { defineComponent, h, toRefs } from 'vue';\nimport type {\n PropType, VNode, VNodeArrayChildren,\n VNodeChild,\n} from 'vue';\n\nexport default defineComponent({\n props: {\n index: {\n type: Number,\n default: 0,\n },\n entity: {\n type: Object as PropType<AnalysisLog>,\n required: true,\n },\n },\n setup(props) {\n const refs = toRefs(props);\n\n let message : VNode;\n if (refs.entity.value.error) {\n const parts : VNodeArrayChildren = ['An error '];\n\n if (refs.entity.value.error_code) {\n parts.push('with error code ');\n parts.push(h('strong', refs.entity.value.error_code));\n parts.push(' ');\n }\n\n if (refs.entity.value.step) {\n parts.push('during the step ');\n parts.push(h('strong', refs.entity.value.step));\n parts.push(' ');\n }\n\n parts.push('occurred');\n\n message = h('span', parts);\n } else if (refs.entity.value.status) {\n message = h('span', [\n 'Event ',\n h('strong', refs.entity.value.event as string),\n ' triggered and status changed to ',\n h('strong', refs.entity.value.status),\n ]);\n } else {\n message = h('span', [\n 'Event ',\n h('strong', refs.entity.value.event as string),\n ' triggered',\n ]);\n }\n\n return () => {\n let statusMessage : VNodeChild | undefined;\n\n if (refs.entity.value.status_message) {\n statusMessage = h('div', { class: 'line-status-message' }, [\n refs.entity.value.status_message.replace(/\\n/g, '\\t'),\n ]);\n }\n\n return h(\n 'div',\n {\n class: `line line-${refs.index.value + 1}`,\n },\n [\n h('div', { class: 'd-flex flex-row' }, [\n h('div', { class: 'line-number' }, [refs.index.value + 1]),\n h('div', { class: 'line-content d-flex flex-row' }, [\n h('div', { class: `line-component ${refs.entity.value.component}` }, [\n `${refs.entity.value.component}/${refs.entity.value.command}`,\n ]),\n h('div', { class: ['line-message', { error: refs.entity.value.error }] }, [\n message,\n ]),\n h('div', { class: 'ms-auto' }, [\n h(VCTimeago, { datetime: refs.entity.value.created_at }),\n ]),\n ]),\n ]),\n statusMessage,\n ],\n );\n };\n },\n});\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\nimport type {\n AnalysisLog,\n} from '@privateaim/core-kit';\nimport {\n DomainType,\n buildDomainChannelName,\n} from '@privateaim/core-kit';\nimport type { ListItemSlotProps } from '@vuecs/list-controls';\nimport {\n defineComponent, h, ref,\n} from 'vue';\nimport type { ListMeta } from '../../core';\nimport { createList } from '../../core';\nimport FAnalysisLog from './FAnalysisLog';\n\nexport default defineComponent({\n props: {\n entityId: {\n type: String,\n required: true,\n },\n realmId: {\n type: String,\n default: undefined,\n },\n },\n setup(props, setup) {\n const rootNode = ref<null | HTMLElement>(null);\n\n const scrollToLastLine = (meta: ListMeta<AnalysisLog>) => {\n if (!rootNode.value) {\n return;\n }\n\n const el = rootNode.value.getElementsByClassName(`line-${meta.total}`)[0];\n\n if (el) {\n el.scrollIntoView({ behavior: 'smooth' });\n }\n };\n\n const {\n render,\n setDefaults,\n } = createList({\n type: `${DomainType.ANALYSIS_LOG}`,\n onCreated(_entity, meta) {\n scrollToLastLine(meta);\n },\n socket: {\n processEvent(event) {\n return event.meta.roomName !== buildDomainChannelName(DomainType.ANALYSIS_LOG) ||\n event.data.analysis_id !== props.entityId;\n },\n },\n props,\n setup,\n loadAll: true,\n query: {\n filters: {\n analysis_id: props.entityId,\n },\n sort: {\n created_at: 'ASC',\n },\n },\n queryFilters: (q) => ({\n title: q.length > 0 ? `~${q}` : q,\n }),\n });\n\n setDefaults({\n noMore: {\n content: 'No more logs available...',\n },\n item: {\n content(item: AnalysisLog, slotProps: ListItemSlotProps<AnalysisLog>) {\n return h(\n FAnalysisLog,\n {\n entity: item,\n index: slotProps.index,\n onDeleted() {\n if (slotProps && slotProps.deleted) {\n slotProps.deleted(item);\n }\n },\n onUpdated: (e: AnalysisLog) => {\n if (slotProps && slotProps.updated) {\n slotProps.updated(e);\n }\n },\n },\n );\n },\n },\n });\n\n return () => h('div', {\n ref: rootNode,\n class: 'log-container',\n }, [\n h('div', {\n class: 'log-body',\n }, [\n render(),\n ]),\n ]);\n },\n});\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { applyStoreManagerOptions, installStoreManager } from '@vuecs/list-controls/core';\nimport type { App, Component } from 'vue';\nimport * as components from './components';\nimport {\n installCoreHTTPClient,\n installSocketManager,\n installStorageHTTPClient,\n installTranslator,\n} from './core';\nimport type { Options } from './type';\n\nexport function install(app: App, options: Options): void {\n installCoreHTTPClient(app, {\n baseURL: options.coreURL,\n });\n\n installStorageHTTPClient(app, {\n baseURL: options.storageURL,\n });\n\n installSocketManager(app, {\n baseURL: options.coreURL,\n });\n\n installTranslator(app, {\n locale: options.translatorLocale,\n });\n\n const storeManager = installStoreManager(app);\n if (options.storeManager) {\n applyStoreManagerOptions(storeManager, options.storeManager);\n }\n\n if (options.components) {\n let componentsSelected: undefined | string[];\n if (typeof options.components !== 'boolean') {\n componentsSelected = options.components;\n }\n\n Object.entries(components)\n .forEach(([componentName, component]) => {\n if (\n !Array.isArray(componentsSelected) ||\n componentsSelected.indexOf(componentName) !== -1\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n app.component(componentName, component as Component);\n }\n });\n }\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Plugin } from 'vue';\nimport './css';\nimport { install } from './module';\nimport type { Options } from './type';\n\nexport default {\n install,\n} satisfies Plugin<Options | undefined>;\n\nexport * from './components';\nexport * from './core';\nexport * from './module';\nexport * from './type';\n"],"names":["StoreName","Store","setAll","items","keys","Object","i","length","setOptions","group","options","data","hasOptions","hasOwnProperty$1","getOptions","hasOption","option","getOption","undefined","constructor","StoreManager","instances","use","key","applyStoreManagerOptions","manager","presets","presetKeys","store","defaults","DEFAULT","getSymbol","Symbol","for","installStoreManager","instance","symbol","_context","provides","hasInjectionContext","inject","provide","defineComponent","components","IVuelidate","VCFormInput","VCFormSubmit","props","realmId","type","String","emits","setup","emit","toRef","form","reactive","name","password","realm_id","value","watch","val","vuelidate","useVuelidate","required","minLength","maxLength","useStore","busy","ref","submit","login","e","Error","_resolveComponent","onSubmit","_cache","_withModifiers","args","_ctx","validation","_withCtx","_createVNode","_component_VCFormGroup","severity","_createTextVNode","_component_VCFormInput","modelValue","$model","_","$event","_component_VCFormSubmit","invalid","$invalid","bootstrap","ActionCommandElementType","POOL_SIZE_MULTIPLIER","pool","poolOffset","fillPool","bytes","Buffer","allocUnsafe","crypto","randomFillSync","random","subarray","customRandom","alphabet","defaultSize","getRandom","mask","Math","clz32","step","ceil","size","id","customAlphabet","PermissionName","hasOwnProperty","obj","prop","prototype","call","isObject","item","Array","isArray","createNanoID","alphabetOrLen","len","alphaNumHyphenUnderscoreRegex","EnvironmentName","hasNormalizedSlot","$slots","normalizeSlot","scope","renderActionCommand","ctx","isAllowed","h","attributes","onClick","event","preventDefault","execute","disabled","isDisabled","iconClasses","iconClass","tag","elementType","component","resolveDynamicComponent","push","classSuffix","class","text","commandText","withText","withIcon","unshift","slots","renderEntityAssignAction","children","drop","add","defineListEvents","created","_item","deleted","updated","defineListProps","query","default","loadOnSetup","Boolean","loading","noMore","footer","header","body","mergeListOption","primary","secondary","primaryRecord","secondaryRecord","merge","mergeListOptions","output","buildListCreatedHandler","cb","index","findIndex","el","buildListUpdatedHandler","buildListDeletedHandler","splice","pop","boolableToObject","input","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","PLUS_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_PIPE_RE","ENC_SPACE_RE","encode","encodeURI","replace","encodeQueryValue","JSON","stringify","encodeQueryKey","decode","decodeURIComponent","decodeQueryKey","decodeQueryValue","parseQuery","parametersString","object","slice","parameter","split","s","match","encodeQueryItem","map","_value","join","stringifyQuery","filter","k","PROTOCOL_STRICT_REGEX","PROTOCOL_REGEX","PROTOCOL_RELATIVE_REGEX","JOIN_LEADING_SLASH_RE","hasProtocol","inputString","opts","acceptRelative","strict","test","hasTrailingSlash","respectQueryAndFragment","endsWith","withoutTrailingSlash","withTrailingSlash","withBase","base","isEmptyURL","_base","startsWith","joinURL","withQuery","parsed","parseURL","mergedQuery","search","stringifyParsedURL","url","isNonEmptyURL","segment","url2","_segment","protocolRelative","defaultProto","_specialProtoMatch","_proto","_pathname","protocol","toLowerCase","pathname","href","auth","host","hash","parsePath","hostAndPath","path","max","proto","globalThis","Blob","o","File","a","FormData","Headers","AbortController","l","fetch","createExtractOptionsFn","fn","element","message","stack","cause","isOptions","code","expose","logMessage","logLevel","check","extractOptions","BaseError","defineProperty","configurable","enumerable","writable","captureStackTrace","n","t","r","c","agent","dispatcher","gT","self","window","global","File$1","FormData$1","AbortController$1","nodeFetch","Headers$1","Blob$1","ResponseType","MethodName","HookName","kindOf","toString","kindOfTest","isStream","pipe","isFormData","pattern","isArrayBuffer","ArrayBuffer","isFile","isBlob","isURLSearchParams","URLSearchParams","verifyInstanceBySymbol","isJSONSerializable","toJSON","isPromise","p","Promise","then","AuthorizationHeaderType","ErrorCode","ClientError","request","response","status","statusCode","statusMessage","statusText","formatRequestOptions","searchParams","searchQuery","createClientError","context","error","isAbort","CONNECTION_ABORTED","CONNECTION_CLOSED","isClientError","stringifyAuthorizationHeader","BASIC","basicStr","from","username","BEARER","token","X_API_KEY","API_KEY","HeaderName","createDefaultRequestTransformer","headers","delete","CONTENT_TYPE","set","contentType","get","contentTypeIsJson","indexOf","has","ACCEPT","extendRequestOptionsWithDefaults","transform","isRequestPayloadSupported","method","toUpperCase","PATCH","POST","PUT","isRequestOptions","isResponse","ok","JSON_REGEX","detectResponseType","STREAM","shift","textTypes","TEXT","HookManager","addListener","removeListener","removeListeners","triggerReqHook","REQUEST","temp","hook","triggerResHook","RESPONSE","triggerErrorHook","Client","getBaseURL","baseURL","setBaseURL","setHeader","getHeader","unsetHeader","unsetHeaders","forEach","setAuthorizationHeader","AUTHORIZATION","getAuthorizationHeader","unsetAuthorizationHeader","config","params","hookManager","transformers","transformer","handleError","REQUEST_ERROR","RESPONSE_ERROR","proxy","proxyOptions","responseType","BLOB","blob","ARRAY_BUFFER","arrayBuffer","parse","GET","DELETE","head","HEAD","post","put","patch","on","off","createClient","isClient","_define_property$5","BaseAPI","setClient","client","asyncGeneratorStep$d","gen","resolve","reject","_next","_throw","arg","info","done","_async_to_generator$d","arguments","apply","err","MasterImageGroupAPI","getMany","_this","buildQuery","getOne","asyncGeneratorStep$c","_async_to_generator$c","_define_property$4","_object_spread$3","target","source","ownKeys","getOwnPropertySymbols","concat","sym","getOwnPropertyDescriptor","MasterImageAPI","runCommand","command","actionData","nullifyEmptyObjectProperties","asyncGeneratorStep$b","_async_to_generator$b","ProjectAPI","record","requestRecord","create","update","asyncGeneratorStep$a","_async_to_generator$a","ProjectNodeAPI","asyncGeneratorStep$9","_async_to_generator$9","RegistryAPI","asyncGeneratorStep$8","_async_to_generator$8","RegistryProjectAPI","asyncGeneratorStep$7","_async_to_generator$7","_define_property$3","_object_spread$2","NodeAPI","task","asyncGeneratorStep$6","_async_to_generator$6","_define_property$2","_object_spread$1","AnalysisAPI","getResultDownloadPath","getResultDownloadURL","URL","getFilesDownloadPath","getFileDownloadURL","requestConfig","streamFiles","downloadResult","asyncGeneratorStep$5","_async_to_generator$5","AnalysisBucketFileAPI","asyncGeneratorStep$4","_async_to_generator$4","AnalysisLogAPI","asyncGeneratorStep$3","_async_to_generator$3","TrainStationAPI","asyncGeneratorStep$2","_async_to_generator$2","AnalysisPermissionAPI","asyncGeneratorStep$1","_async_to_generator$1","_define_property$1","_object_spread","ServiceAPI","resultData","runRegistryCommand","ServiceID","REGISTRY","asyncGeneratorStep","_async_to_generator","AnalysisBucketAPI","_define_property","Client$1","masterImage","masterImageGroup","project","projectNode","registry","registryProject","node","analysis","analysisBucket","analysisBucketFile","analysisLog","analysisNode","analysisPermission","service","setupBaseHTTPClient","app","storeCreator","injectStore","refreshToken","storeToRefs","authupClient","injectHTTPClient","tokenHook","ClientResponseErrorTokenHook","tokenCreator","createWithRefreshToken","refresh_token","tokenCreated","handleTokenGrantResponse","tokenFailed","logout","timer","$subscribe","mutation","state","storeId","STORE_ID","accessToken","mount","unmount","provideCoreHTTPClient","isCoreHTTPClientUsable","injectCoreHTTPClient","installCoreHTTPClient","provideStorageHTTPClient","isStorageHTTPClientUsable","injectStorageHTTPClient","installStorageHTTPClient","SocketSymbol","isSocketManagerUsable","provideSocketManager","injectSocketManager","installSocketManager","ClientManager","oldValue","reconnect","createEntitySocket","socketManager","storeRefs","computed","realmName","REALM_MASTER_NAME","isRef","targetId","lockId","processEvent","channelName","buildChannelName","buildDomainChannelName","meta","roomName","handleCreated","onCreated","handleUpdated","onUpdated","handleDeleted","onDeleted","mounted","socket","connect","buildDomainNamespaceName","buildSubscribeEventName","buildDomainEventSubscriptionFullName","DomainEventSubscriptionName","SUBSCRIBE","buildDomainEventFullName","DomainEventName","CREATED","UPDATED","DELETED","buildUnsubscribeEventName","onMounted","onUnmounted","isQuerySortedDescByDate","some","created_at","SortDirection","DESC","updated_at","merger","createMerger","array","inPlace","priority","createList","total","pagination","limit","domainAPI","load","filters","queryFilters","nextQuery","offset","loadAll","cbEntity","setDefaults","render","buildList","slotItems","propLoadOnSetup","unref","catch","console","log","socketContext","entity","isSorted","sort","EntityListSlotName","SlotName","BODY","ITEM","ITEM_ACTIONS","ITEM_ACTIONS_EXTRA","HEADER","FOOTER","NO_MORE","LOADING","EntityManagerError","unresolvable","extendObjectProperties","src","buildEntityManagerSlotProps","defineEntityManagerEvents","failed","resolved","defineEntityManagerProps","entityId","queryFields","createEntityManager","onResolved","onFailed","remove","createOrUpdate","resolveByProps","propEntityRef","propsEntityId","resolveCtx","reset","fields","content","initFormAttributesFromSource","wrapFnWithBusyState","finally","setObjectPathProperty","parts","prefix","getObjectPathProperty","dotIndex","currentKey","substring","nextKey","MemoryStore","locale","initLines","getLocales","installTranslator","install","alphaNumHyphenUnderscore","helpers","regex","alphaWithUpperNumHyphenUnderScore","extractVuelidateResultsFromChild","child","childResults","$getResultsForChild","childKeys","result","DomainType","MASTER_IMAGE","q","textPropName","MASTER_IMAGE_GROUP","MasterImageList","refs","toRefs","apiClient","group_virtual_path","master_image_id","$v","masterImageEntity","masterImageGroupEntity","isVirtualGroupPathDefined","imageQuery","loadImage","virtual_path","init","translationsValidation","useTranslationsForNestedValidations","itemListNode","selectGroup","changed","nextTick","selectImage","command_arguments","buildMasterImageVNode","buildFormGroup","validationMessages","validationSeverity","getSeverity","label","labelContent","buildFormSelect","onChange","MasterImageGroupList","ElementType","elementIcon","entityType","hint","getCurrentInstance","translation","useTranslation","TranslatorTranslationGroup","TranslatorTranslationDefaultKey","appContext","icon","mergeProps","EntityDelete","itemList","syncMasterImages","MasterImageCommand","SYNC","scopedSlots","ASearch","FProject","PROJECT","useUpdatedAt","NODE","FProjectNodeApprovalCommand","approvalStatus","ProjectNodeApprovalCommand","APPROVE","REJECT","ProjectNodeApprovalStatus","APPROVED","REJECTED","approval_status","useAbilityCheck","PROJECT_APPROVE","FProjectNodeApprovalStatus","projectId","nodeId","PROJECT_NODE","project_id","node_id","Direction","Target","direction","project_realm_id","node_realm_id","DomainSubType","PROJECT_NODE_IN","PROJECT_NODE_OUT","fallback","sourceId","includeNode","includeProject","isSameSocketRoom","room","isSocketEventForSource","UNSUBSCRIBE","include","ATitle","itemProps","slotContent","FProjectNode","slotProps","slot","actions","FProjectInForm","comment","updatedAt","initForm","oldVal","translationsSubmit","createFormSubmitTranslations","buildFormTextarea","rows","placeholder","submitNode","buildFormSubmitWithTranslations","isEditing","BModal","VCLink","_props","modal","toggleModal","handleFailed","_hoisted_2","_hoisted_3","_createElementVNode","_hoisted_5","_hoisted_7","_hoisted_9","_hoisted_16","_hoisted_18","_hoisted_19","_component_BModal","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_hoisted_4","_component_VCLink","to","_toDisplayString","_hoisted_6","_hoisted_8","_component_FProjectNodeApprovalCommand","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_component_FProjectNodeApprovalStatus","_normalizeClass","_hoisted_14","_hoisted_15","user_id","_Fragment","robot_id","_createCommentVNode","_hoisted_17","_hoisted_20","_hoisted_21","_createBlock","_component_FProjectInForm","FTitle","iconPosition","FSearch","Function","FPagination","Number","APagination","FProjectForm","description","nodeIds","initFromProperties","handleMasterImagePicker","existed","toggleNodeIds","buildFormInput","masterImagePicker","MasterImagePicker","onSelected","nodeVNode","FNodes","hidden","FProjectNodeAssignAction","itemIndex","FEntityDelete","VCTimeago","canDelete","PROJECT_DELETE","_component_VCTimeago","_component_FEntityDelete","analyses","nodes","FProjectItem","FProjectItemCard","FProjects","RegistryAPICommand","CLEANUP","account_name","account_secret","inLength","accountName","accountSecret","SETUP","secret","registryRobotSecret","registryRobotSecretRegex","REGISTRY_PROJECT","external_name","webhook_exists","PROJECT_LINK","PROJECT_UNLINK","registryId","RegistryProjectType","registry_id","types","AGGREGATOR","INCOMING","OUTGOING","MASTER_IMAGES","isRegistryLocked","isExternalNameUnchanged","toggleForm","generateAlias","resetAlias","externalName","externalNameHint","RegistryList","attrs","NodeType","isRealmLocked","toggleFormData","realm","ARealms","values","buildFormInputCheckbox","groupClass","registry_project_id","RegistryProjectDetails","registry_project","ARobot","FAnalysisNodeApprovalCommand","AnalysisNodeApprovalCommand","AnalysisNodeApprovalStatus","ANALYSIS_APPROVE","FAnalysisNodeApprovalStatus","analysisId","ANALYSIS_NODE","analysis_id","analysis_realm_id","ANALYSIS_NODE_IN","ANALYSIS_NODE_OUT","ANALYSIS","sections","FAnalysisNode","AnalysisNodeRunStatus","ARRIVED","DEPARTED","FAnalysisNodes","FAnalysisNodeRunStatus","withHeader","progressPercentage","build_status","AnalysisBuildStatus","FINISHED","analysisRunStatus","AnalysisRunStatus","analysisNodeRunStatus","_renderList","run_status","_component_FAnalysisNodeRunStatus","style","_normalizeStyle","width","ANALYSIS_BUCKET","FAnalysisBucketDownload","BUTTON","storageClient","external_id","bucket","getStreamURL","open","entityName","editable","propName","editing","nameDisplay","toggle","save","train","onInput","FAnalysisBucket","FAnalysisName","bucketQuery","AnalysisBucketType","CODE","_component_FAnalysisName","_component_FAnalysisBucket","_component_FAnalysisBucketDownload","_component_FAnalysisNodeApprovalCommand","_component_FAnalysisNodeApprovalStatus","ListPagination","ListSearch","FAnalysisNodeAssignAction","FMasterImagePicker","FProjectNodes","handleMasterImageSelected","handleAnalysisNodeCreated","handleAnalysisNodeDeleted","_component_FMasterImagePicker","_component_FProjectNodes","_component_ListSearch","_component_ListPagination","itemActions","_component_FAnalysisNodeAssignAction","_component_FAnalysisNodes","filesSelected","fileSelectedId","_entity","ANALYSIS_BUCKET_FILE","marked","file","isMatch","markToggle","_sfc_render","$props","$setup","$data","$options","FAnalysisBucketFiles","pathSelected","filename","webkitRelativePath","FAnalysisFormFile","FAnalysisFile","fileEntity","coreClient","entrypointFile","entrypointFileId","tempFiles","selected","selectAll","directoryMode","fileListNode","fileListQuery","bucket_id","selectedIndex","upload","formData","append","bucketFiles","dropSelected","selectAllFiles","toggleFile","filesNode","checkTempFiles","files","dropTempFile","changeEntryPointFile","root","_createStaticVNode","_hoisted_22","webkitdirectory","multiple","disbaled","_withDirectives","_vModelCheckbox","_component_FAnalysisFormFile","_component_FAnalysisFile","onCheck","_hoisted_24","masterImageId","analysisFileId","analysisFile","masterImageBusy","analysisFileEntity","analysisFileBusy","loadMasterImage","resolveAnalysisFile","analysisFileUpdated","all","FAnalysisBucketFileManager","FAnalysisImageCommand","entrypointEntity","analysisBucketNode","handleEntrypointChanged","retry","_component_FAnalysisImageCommand","_component_FAnalysisBucketFileManager","FAnalysisWizardStepFiles","FormWizard","WizardButton","TabContent","FAnalysisWizardStepFinal","FAnalysisWizardStepBase","resolveEntrypointFile","buckets","hash_signed","updateForm","initialized","valid","startIndex","steps","AnalysisConfigurationStatus","BASE_CONFIGURED","RESOURCE_CONFIGURED","wizardNode","canPassBaseWizardStep","canPassFilesWizardStep","passWizardStep","promise","canPass","changeTab","prevWizardStep","prevTab","nextWizardStep","nextTab","setEntrypointFile","handleWizardChangedEvent","prevIndex","nextIndex","handleWizardErrorEvent","handleWizardFinishedEvent","_component_FormWizard","color","title","subtitle","onOnChange","onOnError","activeTabIndex","_component_WizardButton","fillButtonStyle","isLastStep","_component_TabContent","_component_FAnalysisWizardStepFiles","_component_FAnalysisWizardStepFinal","proposalQuery","v$","_component_IVuelidate","_component_VCFormTextarea","_component_FProjects","_component_FSearch","FAnalysisCommand","ANALYSIS_UPDATE","isHidden","AnalysisAPICommand","CONFIGURATION_LOCK","configuration_locked","CONFIGURATION_UNLOCK","BUILD_START","STOPPING","FAILED","BUILD_STOP","BUILD_STATUS","STARTING","STARTED","STOPPED","locked","FAnalysisBuildStatusText","FAnalysisConfigurationStatusText","listDirection","withCommand","handleExecuted","trainBuildStatus","trainConfigurationStatus","trainRunStatus","trainResultStatus","AnalysisResultStatus","trainCommand","_component_FAnalysisBuildStatusText","_component_FAnalysisConfigurationStatusText","_component_FAnalysisCommand","onExecuted","FAnalysisNodesProgress","FAnalysisPipeline","extendedView","toggleView","ANALYSIS_DELETE","_component_FAnalysisPipeline","FAnalysisItem","TrainName","TrainPipeline","TrainEntity","FAnalysisItemCard","executed","_component","_command","FAnalysisBucketFileDownload","bucketFile","error_code","status_message","datetime","rootNode","scrollToLastLine","getElementsByClassName","scrollIntoView","behavior","ANALYSIS_LOG","FAnalysisLog","coreURL","storageURL","translatorLocale","storeManager","componentsSelected","entries","componentName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAIA,SAAAA,CAAAA;AACH,CAAA,SAASA,SAAS,EAAA;IACfA,SAAS,CAAC,UAAU,GAAG,SAAA,CAAA;AAC3B,CAAA,EAAGA,SAAAA,KAAcA,SAAAA,GAAY,EAAC,CAAA,CAAA,CAAA;AAE9B,MAAMC,KAAAA,CAAAA;AACF;;;;QAIIC,MAAAA,CAAOC,KAAK,EAAE;QACd,MAAMC,IAAAA,GAAOC,MAAOD,CAAAA,IAAI,CAACD,KAAAA,CAAAA,CAAAA;AACzB,QAAA,IAAI,IAAIG,CAAI,GAAA,CAAA,EAAGA,IAAIF,IAAKG,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;AAChC,YAAA,IAAI,CAACE,UAAU,CAACJ,IAAI,CAACE,CAAAA,CAAE,EAAEH,KAAK,CAACC,IAAI,CAACE,CAAAA,CAAE,CAAC,CAAA,CAAA;AAC3C,SAAA;AACJ,KAAA;AACA;;;;;AAKC,QAAGE,UAAWC,CAAAA,KAAK,EAAEC,OAAO,EAAE;AAC3B,QAAA,IAAI,OAAO,IAAI,CAACC,IAAI,CAACF,KAAAA,CAAM,KAAK,WAAa,EAAA;AACzC,YAAA,IAAI,CAACE,IAAI,CAACF,KAAAA,CAAM,GAAG,EAAC,CAAA;AACxB,SAAA;AACA,QAAA,IAAI,CAACE,IAAI,CAACF,KAAAA,CAAM,GAAGC,OAAAA,CAAAA;AACvB,KAAA;AACAE,IAAAA,UAAAA,CAAWH,KAAK,EAAE;AACd,QAAA,OAAOI,mBAAiB,CAAA,IAAI,CAACF,IAAI,EAAEF,KAAAA,CAAAA,CAAAA;AACvC,KAAA;AACAK,IAAAA,UAAAA,CAAWL,KAAK,EAAE;AACd,QAAA,IAAI,OAAO,IAAI,CAACE,IAAI,CAACF,KAAAA,CAAM,KAAK,WAAa,EAAA;AACzC,YAAA,OAAO,IAAI,CAACE,IAAI,CAACF,KAAM,CAAA,CAAA;AAC3B,SAAA;AACA,QAAA,OAAO,EAAC,CAAA;AACZ,KAAA;IACAM,SAAUN,CAAAA,KAAK,EAAEO,MAAM,EAAE;AACrB,QAAA,OAAO,OAAO,IAAI,CAACL,IAAI,CAACF,KAAM,CAAA,KAAK,WAAeI,IAAAA,mBAAAA,CAAiB,IAAI,CAACF,IAAI,CAACF,MAAM,EAAEO,MAAAA,CAAAA,CAAAA;AACzF,KAAA;IACAC,SAAUR,CAAAA,KAAK,EAAEO,MAAM,EAAE;AACrB,QAAA,IAAI,OAAO,IAAI,CAACL,IAAI,CAACF,KAAAA,CAAM,KAAK,WAAa,EAAA;YACzC,OAAOS,SAAAA,CAAAA;AACX,SAAA;AACA,QAAA,OAAO,IAAI,CAACP,IAAI,CAACF,KAAAA,CAAM,CAACO,MAAO,CAAA,CAAA;AACnC,KAAA;IACAG,WAAa,EAAA;QACT,IAAI,CAACR,IAAI,GAAG,EAAC,CAAA;AACjB,KAAA;AACJ,CAAA;AAEA,MAAMS,YAAAA,CAAAA;IACFhB,IAAO,GAAA;AACH,QAAA,OAAOC,MAAOD,CAAAA,IAAI,CAAC,IAAI,CAACiB,SAAS,CAAA,CAAA;AACrC,KAAA;AACAC,IAAAA,GAAAA,CAAIC,GAAG,EAAE;AACL,QAAA,IAAI,OAAO,IAAI,CAACF,SAAS,CAACE,GAAAA,CAAI,KAAK,WAAa,EAAA;AAC5C,YAAA,OAAO,IAAI,CAACF,SAAS,CAACE,GAAI,CAAA,CAAA;AAC9B,SAAA;AACA,QAAA,IAAI,CAACF,SAAS,CAACE,GAAAA,CAAI,GAAG,IAAItB,KAAAA,EAAAA,CAAAA;AAC1B,QAAA,OAAO,IAAI,CAACoB,SAAS,CAACE,GAAI,CAAA,CAAA;AAC9B,KAAA;IACAJ,WAAa,EAAA;QACT,IAAI,CAACE,SAAS,GAAG,EAAC,CAAA;AACtB,KAAA;AACJ,CAAA;AAEA,SAASG,wBAAAA,CAAyBC,OAAO,EAAEf,OAAO,EAAA;IAC9C,IAAIA,OAAAA,CAAQgB,OAAO,EAAE;AACjB,QAAA,MAAMC,UAAatB,GAAAA,MAAAA,CAAOD,IAAI,CAACM,QAAQgB,OAAO,CAAA,CAAA;AAC9C,QAAA,IAAI,IAAIpB,CAAI,GAAA,CAAA,EAAGA,IAAIqB,UAAWpB,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;AACtC,YAAA,MAAMsB,QAAQH,OAAQH,CAAAA,GAAG,CAACK,UAAU,CAACrB,CAAE,CAAA,CAAA,CAAA;YACvCsB,KAAM1B,CAAAA,MAAM,CAACQ,OAAQgB,CAAAA,OAAO,CAACC,UAAU,CAACrB,EAAE,CAAC,CAAA,CAAA;AAC/C,SAAA;AACJ,KAAA;IACA,IAAII,OAAAA,CAAQmB,QAAQ,EAAE;AAClB,QAAA,MAAMD,KAAQH,GAAAA,OAAAA,CAAQH,GAAG,CAACtB,UAAU8B,OAAO,CAAA,CAAA;QAC3CF,KAAM1B,CAAAA,MAAM,CAACQ,OAAAA,CAAQmB,QAAQ,CAAA,CAAA;AACjC,KAAA;AACJ,CAAA;AAEA,SAASE,UAAUR,GAAG,EAAA;IAIlB,OAAOS,MAAAA,CAAOC,GAAG,CAAC,gBAAA,CAAA,CAAA;AACtB,CAAA;AACA,SAASC,mBAAAA,CAAoBC,QAAQ,EAAEZ,GAAG,EAAA;IACtC,IAAIE,OAAAA,CAAAA;AACJ,IAAA,MAAMW,SAASL,SAAUR,CAAAA,CAAAA,CAAAA;AACzB,IAAA,IAAIY,QAASE,CAAAA,QAAQ,IAAIF,QAAAA,CAASE,QAAQ,CAACC,QAAQ,IAAIH,QAAAA,CAASE,QAAQ,CAACC,QAAQ,CAACF,OAAO,EAAE;AACvF,QAAA,OAAOD,QAASE,CAAAA,QAAQ,CAACC,QAAQ,CAACF,MAAO,CAAA,CAAA;AAC7C,KAAA;AACA,IAAA,IAAIG,uBAAuB,EAAA,EAAA;AACvBd,QAAAA,OAAAA,GAAUe,WAAOJ,MAAQlB,EAAAA,SAAAA,CAAAA,CAAAA;AACzB,QAAA,IAAIO,OAAS,EAAA;YACT,OAAOA,OAAAA,CAAAA;AACX,SAAA;AACJ,KAAA;AACAA,IAAAA,OAAAA,GAAU,IAAIL,YAAAA,EAAAA,CAAAA;IACde,QAASM,CAAAA,OAAO,CAACL,MAAQX,EAAAA,OAAAA,CAAAA,CAAAA;IACzB,OAAOA,OAAAA,CAAAA;AACX;;ACvFA,kBAAeiB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRC,oBAAAA,oBAAAA;AACAC,qBAAAA,wBAAAA;AACAC,sBAAAA,yBAAAA;AACJ,KAAA;IACAC,KAAO,EAAA;QACHC,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACAC,KAAO,EAAA;AAAC,QAAA,MAAA;AAAQ,QAAA,QAAA;AAAS,KAAA;AACzBC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAG,EAAG,EAAA;QACjB,MAAML,OAAAA,GAAUM,UAAMP,KAAO,EAAA,SAAA,CAAA,CAAA;AAE7B,QAAA,MAAMQ,OAAOC,YAAS,CAAA;YAClBC,IAAM,EAAA,EAAA;YACNC,QAAU,EAAA,EAAA;YACVC,QAAU,EAAA,EAAA;AACd,SAAA,CAAA,CAAA;QAEA,IAAIX,OAAAA,CAAQY,KAAK,EAAE;YACfL,IAAKI,CAAAA,QAAO,GAAIX,OAAAA,CAAQY,KAAK,CAAA;AACjC,SAAA;AAEAC,QAAAA,SAAAA,CAAMb,SAAS,CAACc,GAAAA,GAAAA;YACZP,IAAKI,CAAAA,QAAO,GAAIG,GAAO,IAAA,EAAA,CAAA;AAC3B,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMC,YAAYC,YAAa,CAAA;YAC3BP,IAAM,EAAA;AACFQ,0BAAAA,mBAAAA;AACAC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;YACAT,QAAU,EAAA;AACNO,0BAAAA,mBAAAA;AACAC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;AACAR,YAAAA,QAAAA,EAAU,EAEV;SACDJ,EAAAA,IAAAA,CAAAA,CAAAA;AAEH,QAAA,MAAM3B,KAAQwC,GAAAA,qBAAAA,EAAAA,CAAAA;AAEd,QAAA,MAAMC,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AAEjB,QAAA,MAAMC,MAAS,GAAA,UAAA;YACX,IAAI;gBACA,MAAM3C,KAAAA,CAAM4C,KAAK,CAAC;AACdf,oBAAAA,IAAAA,EAAMF,KAAKE,IAAI;AACfC,oBAAAA,QAAAA,EAAUH,KAAKG,QAAQ;AACvBV,oBAAAA,OAAAA,EAASO,KAAKI,QAAQ;AAC1B,iBAAA,CAAA,CAAA;gBAEAN,IAAK,CAAA,MAAA,CAAA,CAAA;AACT,aAAA,CAAE,OAAOoB,CAAQ,EAAA;AACb,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA;QAEA,OAAO;AACHV,YAAAA,SAAAA;AACAR,YAAAA,IAAAA;AACAgB,YAAAA,MAAAA;AACAF,YAAAA,IAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;;;;;;;;;;;;;oCAGEM,oBA8CO,CAAA,cAAA,CAAA,CAAA;;AA7CHC,QAAAA,QAAAA,EAgBaC,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAT,CAAAA,MAAA,IAAAS,IAAAT,CAAAA,MAAA,IAAAQ,IAAA,CAAA,EAAA;AAAA,YAAA,SAAA;SAAA,CAAA,CAAA;KAAA,EAAA;;YAfEE,UAAOD,EAAAA,IAAAA,CAAOjB,SAAA,CAAAN,IAAA;SAAA,EAAA;mBAEhByB,EAAAA,WAAAA,CAAqB,CAAAnC,KAAA,GAAA;AAAAoC,oBAAAA,eAAAA,CACrBC,sBAA2B,EAAA;AAAA,wBAAA,qBAAA,EAAArC,MAAApC,IAAA;AAEjB,wBAAA,qBAAA,EAEXoC,MAAAsC,QAAA;qBAAA,EAAA;;gCACWC,mBAGL,CAAA,QAAA,CAAA;AAAA,6BAAA,CAAA;iCAzG1BJ,YAwGqCnB,IAAAA;AAxGrCoB,gCAAAA,eAAAA,CAAAI,sBAAA,EAAA;AAAAC,oCAAAA,UAAAA,EAAAR,IAAAjB,CAAAA,SAAA,CAAAN,IAAA,CAAAgC,MAAA;;AAAA,iCAAA,EAAA,MAAA,CAAA,EAAA;AAAA,oCAAA,YAAA;AAAA,iCAAA,CAAA;AAAA,6BAAA,CAAA;;AAAA,qBAAA,EAAA,IAAA,EAAA;AAAA,wBAAA,qBAAA;AAAA,wBAAA,qBAAA;AAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;YA+GQC,CAAA,EAAA,CAAA;AAAA,SAAA,EAAa,CAAY3B,EAAAA;AAAAA,YAAAA,YAAAA;AAAAA,SAAAA,CAAAA;AAAAA,QAAAA,eAAAA,CAAAA,qBAAAA,EAAAA;YACVkB,UAAOD,EAAAA,IAAAA,CAAOjB,SAAA,CAAAL,QAAA;SAAA,EAAA;mBAEhBwB,EAAAA,WAAAA,CAAqB,CAAAnC,KAAA,GAAA;AAAAoC,oBAAAA,eAAAA,CACrBC,sBAA2B,EAAA;AAAA,wBAAA,qBAAA,EAAArC,MAAApC,IAAA;AAEjB,wBAAA,qBAAA,EAEXoC,MAAAsC,QAAA;qBAAA,EAAA;;gCACWC,mBAIL,CAAA,YAAA,CAAA;AAAA,6BAAA,CAAA;iCA5H1BJ,YA0HqCnB,IAAAA;AA1HrCoB,gCAAAA,eAAAA,CAAAI,sBAAA,EAAA;AA2H4BC,oCAAAA,UAAAA,EAAKR,IAAUjB,CAAAA,SAAA,CAAAL,QAAA,CAAA+B,MAAA;AAAA,oCAAA,qBAAA,EAAAZ,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAc,MAAAA,GAAAX,KAAAjB,SAAA,CAAAL,QAAA,CAAA+B,MAAA,GAAAE,MAAA,CAAA;;AA3H3C,iCAAA,EAAA,MAAA,CAAA,EAAA;AAAA,oCAAA,YAAA;AAAA,iCAAA,CAAA;AAAA,6BAAA,CAAA;;AAAA,qBAAA,EAAA,IAAA,EAAA;AAAA,wBAAA,qBAAA;AAAA,wBAAA,qBAAA;AAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;YAkIQD,CAAA,EAAA,CAAA;AAAA,SAAA,EAlIR,CAmIqBrB,EAAAA;AAAAA,YAAAA,YAAAA;AAAAA,SAAAA,CAAAA;AAnIrBc,QAAAA,eAAAA,CAAAS,uBAAA,EAAA;AAoIaJ,YAAAA,UAAAA,EAASzB,KAAAA,IAAAA;AACT,YAAA,qBAAA,EAAoBc,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAc,MAAAA,GAAAX,IAAAX,CAAAA,IAAA,GAAAsB,MAAA,CAAA;YACpBE,OAAqBb,EAAAA,IAAAA,CAAAjB,SAAA,CAAA+B,QAAA;YACrB,aAAA,EAAA,OAAA;YACA,qBAAc,EAAA;gBAAAlC,KAAA,EAAA,+BAAA;gBAAAlC,OAAA,EAAA;oBAAAqE,SAAA,EAAA,KAAA;AAAA,iBAAA;AAAA,aAAA;YAAA,mBAAA,EAAA,8BAAA;;;;;;;;;;;;;;;;ACxI3B;;;;;AAKC,IAAAC,0CAAA;AAEWA,CAAAA,SAAAA,wBAAAA,EAAAA;;;;GAAAA,gCAAAA,KAAAA,gCAAAA,GAAAA,EAAAA,CAAAA,CAAAA;;ACLZ,MAAMC,oBAAuB,GAAA,GAAA,CAAA;AAC7B,IAAIC,IAAMC,EAAAA,UAAAA,CAAAA;AACV,IAAIC,WAAWC,CAAAA,KAAAA,GAAAA;AACb,IAAA,IAAI,CAACH,IAAAA,IAAQA,IAAK3F,CAAAA,MAAM,GAAG8F,KAAO,EAAA;QAChCH,IAAOI,GAAAA,MAAAA,CAAOC,WAAW,CAACF,KAAQJ,GAAAA,oBAAAA,CAAAA,CAAAA;AAClCO,QAAAA,MAAAA,CAAOC,cAAc,CAACP,IAAAA,CAAAA,CAAAA;QACtBC,UAAa,GAAA,CAAA,CAAA;AACf,KAAA,MAAO,IAAIA,UAAAA,GAAaE,KAAQH,GAAAA,IAAAA,CAAK3F,MAAM,EAAE;AAC3CiG,QAAAA,MAAAA,CAAOC,cAAc,CAACP,IAAAA,CAAAA,CAAAA;QACtBC,UAAa,GAAA,CAAA,CAAA;AACf,KAAA;IACAA,UAAcE,IAAAA,KAAAA,CAAAA;AAChB,CAAA,CAAA;AACA,IAAIK,SAASL,CAAAA,KAAAA,GAAAA;AACXD,IAAAA,QAAAA,CAAUC,KAAS,IAAA,CAAA,CAAA,CAAA;AACnB,IAAA,OAAOH,IAAKS,CAAAA,QAAQ,CAACR,UAAAA,GAAaE,KAAOF,EAAAA,UAAAA,CAAAA,CAAAA;AAC3C,CAAA,CAAA;AACA,IAAIS,YAAAA,GAAe,CAACC,QAAAA,EAAUC,WAAaC,EAAAA,SAAAA,GAAAA;AACzC,IAAA,IAAIC,IAAO,GAAC,CAAA,CAAA,IAAM,KAAKC,IAAKC,CAAAA,KAAK,CAAEL,QAAStG,CAAAA,MAAM,GAAG,CAAA,GAAK,EAAE,IAAK,CAAA,CAAA;IACjE,IAAI4G,IAAAA,GAAOF,KAAKG,IAAI,CAAC,GAAOJ,GAAAA,IAAAA,GAAOF,WAAeD,GAAAA,QAAAA,CAAStG,MAAM,CAAA,CAAA;IACjE,OAAO,CAAC8G,OAAOP,WAAW,GAAA;AACxB,QAAA,IAAIQ,EAAK,GAAA,EAAA,CAAA;AACT,QAAA,MAAO,IAAM,CAAA;AACX,YAAA,IAAIjB,QAAQU,SAAUI,CAAAA,IAAAA,CAAAA,CAAAA;AACtB,YAAA,IAAI7G,CAAI6G,GAAAA,IAAAA,CAAAA;AACR,YAAA,MAAO7G,CAAK,EAAA,CAAA;AACVgH,gBAAAA,EAAAA,IAAMT,QAAQ,CAACR,KAAK,CAAC/F,CAAE,CAAA,GAAG0G,KAAK,IAAI,EAAA,CAAA;AACnC,gBAAA,IAAIM,EAAG/G,CAAAA,MAAM,KAAK8G,IAAAA,EAAM,OAAOC,EAAAA,CAAAA;AACjC,aAAA;AACF,SAAA;AACF,KAAA,CAAA;AACF,CAAA,CAAA;AACA,IAAIC,cAAAA,GAAiB,CAACV,QAAUQ,EAAAA,IAAAA,GAAO,EAAE,GACvCT,YAAAA,CAAaC,UAAUQ,IAAMX,EAAAA,MAAAA,CAAAA;;ACjC/B;;;;;AAKC,IAAG,IAAIc,cAAAA,CAAAA;AACP,CAAA,SAASA,cAAc,EAAA;IACpBA,cAAc,CAAC,gBAAgB,GAAG,eAAA,CAAA;IAClCA,cAAc,CAAC,gBAAgB,GAAG,eAAA,CAAA;IAClCA,cAAc,CAAC,gBAAgB,GAAG,eAAA,CAAA;IAClCA,cAAc,CAAC,iBAAiB,GAAG,gBAAA,CAAA;IACnCA,cAAc,CAAC,iBAAiB,GAAG,gBAAA,CAAA;IACnCA,cAAc,CAAC,iBAAiB,GAAG,gBAAA,CAAA;IACnCA,cAAc,CAAC,kBAAkB,GAAG,iBAAA,CAAA;IACpCA,cAAc,CAAC,kBAAkB,GAAG,iBAAA,CAAA;IACpCA,cAAc,CAAC,0BAA0B,GAAG,yBAAA,CAAA;IAC5CA,cAAc,CAAC,cAAc,GAAG,aAAA,CAAA;IAChCA,cAAc,CAAC,cAAc,GAAG,aAAA,CAAA;IAChCA,cAAc,CAAC,cAAc,GAAG,aAAA,CAAA;IAChCA,cAAc,CAAC,mBAAmB,GAAG,kBAAA,CAAA;IACrCA,cAAc,CAAC,kBAAkB,GAAG,iBAAA,CAAA;IACpCA,cAAc,CAAC,kBAAkB,GAAG,iBAAA,CAAA;IACpCA,cAAc,CAAC,2BAA2B,GAAG,0BAAA,CAAA;IAC7CA,cAAc,CAAC,0BAA0B,GAAG,yBAAA,CAAA;IAC5CA,cAAc,CAAC,kBAAkB,GAAG,iBAAA,CAAA;IACpCA,cAAc,CAAC,uBAAuB,GAAG,sBAAA,CAAA;IACzCA,cAAc,CAAC,sBAAsB,GAAG,qBAAA,CAAA;IACxCA,cAAc,CAAC,4BAA4B,GAAG,2BAAA,CAAA;IAC9CA,cAAc,CAAC,iBAAiB,GAAG,gBAAA,CAAA;AACvC,CAAA,EAAGA,cAAAA,KAAmBA,cAAAA,GAAiB,EAAC,CAAA,CAAA,CAAA;AAiBxC;;;;;AAKC;AACD,SAASC,cAAAA,CAAeC,GAAG,EAAEC,IAAI,EAAA;AAC7B,IAAA,OAAOtH,OAAOuH,SAAS,CAACH,cAAc,CAACI,IAAI,CAACH,GAAKC,EAAAA,IAAAA,CAAAA,CAAAA;AACrD,CAAA;AACA,SAASG,WAASC,IAAI,EAAA;IAClB,OAAO,CAAC,CAACA,IAAQ,IAAA,OAAOA,SAAS,QAAY,IAAA,CAACC,KAAMC,CAAAA,OAAO,CAACF,IAAAA,CAAAA,CAAAA;AAChE,CAAA;AAsCA,SAASG,YAAAA,CAAaC,aAAa,EAAEC,GAAG,EAAA;IAOpC,OAAOb,cAAAA,CAAe,wCAA+C,EAAA,CAAA,EAAA,CAAA;AACzE,CAAA;AAoEA;;;;;AAKC,IAAG,MAAMc,6BAAgC,GAAA,eAAA,CAAA;AAG1C;;;;;AAKC,IAAG,IAAIC,eAAAA,CAAAA;AACP,CAAA,SAASA,eAAe,EAAA;IACrBA,eAAe,CAAC,OAAO,GAAG,MAAA,CAAA;IAC1BA,eAAe,CAAC,cAAc,GAAG,aAAA,CAAA;IACjCA,eAAe,CAAC,aAAa,GAAG,YAAA,CAAA;AACpC,CAAA,EAAGA,eAAAA,KAAoBA,eAAAA,GAAkB,EAAC,CAAA,CAAA;;ACrL1C;;;;;;;AAOC,IACM,SAASC,iBAAAA,CACZ9E,IAAa,EACb+E,MAAAA,GAAiB,EAAE,EAAA;AAEnB,IAAA,OAAOf,eAAee,MAAQ/E,EAAAA,IAAAA,CAAAA,CAAAA;AAClC,CAAA;AAEA;;;;;;;;IASO,SAASgF,aAAAA,CACZhF,IAAa,EACbiF,KAA6B,GAAA,EAAE,EAC/BF,MAAiB,GAAA,EAAE,EAAA;IAEnB,IAAIf,cAAAA,CAAee,QAAQ/E,IAAO,CAAA,EAAA;AAC9B,QAAA,OAAO,MAAO,CAACA,IAAAA,CAAK,CAAUiF,KAAAA,CAAAA,CAAAA;AAClC,KAAA;AAEA,IAAA,OAAO,EAAE,CAAA;AACb;;AChBO,SAASC,oBAAoBC,GAAY,EAAA;IAC5C,IAAI,CAACA,GAAIC,CAAAA,SAAS,EAAE;QAChB,OAAOC,KAAAA,CAAE,MAAQ,EAAA,EAAI,EAAA;AAAC,YAAA,EAAA;AAAG,SAAA,CAAA,CAAA;AAC7B,KAAA;AAEA,IAAA,MAAMC,UAAgD,GAAA;AAClDC,QAAAA,OAAAA,CAAAA,CAAQC,KAAU,EAAA;AACdA,YAAAA,KAAAA,CAAMC,cAAc,EAAA,CAAA;AAEpB,YAAA,OAAON,IAAIO,OAAO,EAAA,CAAA;AACtB,SAAA;AACAC,QAAAA,QAAAA,EAAUR,IAAIS,UAAU;AAC5B,KAAA,CAAA;AAEA,IAAA,MAAMC,WAAyB,GAAA;AAACV,QAAAA,GAAAA,CAAIW,SAAS;AAAE,QAAA,MAAA;AAAO,KAAA,CAAA;IAEtD,IAAIC,GAAAA,CAAAA;IAEJ,IAAIZ,GAAAA,CAAIa,WAAW,KAAK,cAAgB,EAAA;AACpC,QAAA,MAAMC,YAAYC,2BAAwB,CAAA,eAAA,CAAA,CAAA;AAC1C,QAAA,IAAI7B,cAAS4B,SAAY,CAAA,EAAA;YACrBF,GAAME,GAAAA,SAAAA,CAAAA;YACNJ,WAAYM,CAAAA,IAAI,CAAC,MAAQ,EAAA,CAAC,KAAK,EAAEhB,GAAAA,CAAIiB,WAAW,CAAC,CAAC,CAAA,CAAA;AACtD,SAAA;AACJ,KAAA;IAEA,IAAIjB,GAAAA,CAAIa,WAAW,KAAK,MAAQ,EAAA;QAC5BD,GAAM,GAAA,GAAA,CAAA;QACNF,WAAYM,CAAAA,IAAI,CAAC,CAAC,KAAK,EAAEhB,GAAIiB,CAAAA,WAAW,CAAC,CAAC,CAAA,CAAA;AAC9C,KAAA;AAEA,IAAA,IAAI,CAACL,GAAK,EAAA;QACNA,GAAM,GAAA,QAAA,CAAA;AACNT,QAAAA,UAAAA,CAAW9F,IAAI,GAAG,QAAA,CAAA;AAClB8F,QAAAA,UAAAA,CAAWe,KAAK,GAAG;AAAC,YAAA,KAAA;AAAO,YAAA,QAAA;AAAU,YAAA,CAAC,IAAI,EAAElB,GAAIiB,CAAAA,WAAW,CAAC,CAAC;AAAC,SAAA,CAAA;AAClE,KAAA;AAEA,IAAA,IAAIE,IAA4B,GAAA;AAACnB,QAAAA,GAAAA,CAAIoB,WAAW;AAAC,KAAA,CAAA;IAEjD,IAAI,CAACpB,GAAIqB,CAAAA,QAAQ,EAAE;AACfF,QAAAA,IAAAA,GAAO,EAAE,CAAA;AACb,KAAA;IAEA,IAAInB,GAAAA,CAAIsB,QAAQ,EAAE;QACdH,IAAKI,CAAAA,OAAO,CAACrB,KAAAA,CAAE,GAAK,EAAA;YAChBgB,KAAOR,EAAAA,WAAAA;AACX,SAAA,CAAA,CAAA,CAAA;AACJ,KAAA;AAEA,IAAA,IAAIf,iBAAkB,CAAA,SAAA,EAAWK,GAAIwB,CAAAA,KAAK,CAAG,EAAA;AACzC,QAAA,OAAO3B,cAAc,SAAW,EAAA;AAC5BuB,YAAAA,WAAAA,EAAapB,IAAIoB,WAAW;AAC5BX,YAAAA,UAAAA,EAAYT,IAAIS,UAAU;AAC1BR,YAAAA,SAAAA,EAAWD,IAAIC,SAAS;YACxBU,SAAWD,EAAAA,WAAAA;AACf,SAAA,EAAGV,IAAIwB,KAAK,CAAA,CAAA;AAChB,KAAA;IAEA,OAAOtB,KAAAA,CAAEU,KAAeT,UAAYgB,EAAAA,IAAAA,CAAAA,CAAAA;AACxC;;ACvEO,SAASM,yBACZzB,GAAe,EAAA;AAEf,IAAA,IAAI0B,WAA+B,EAAE,CAAA;IAErC,IAAI,CAAC1B,GAAIvE,CAAAA,IAAI,EAAE;QACXiG,QAAW,GAAA;AACPxB,YAAAA,KAAAA,CAAE,QAAU,EAAA;gBACRgB,KAAO,EAAA;AAAC,oBAAA,YAAA;AAAc,oBAAA;wBAClB,aAAe,EAAA,CAAClB,IAAIb,IAAI;AACxB,wBAAA,YAAA,EAAca,IAAIb,IAAI;AAC1B,qBAAA;AAAE,iBAAA;AACFiB,gBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,oBAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;oBAErB,IAAIN,GAAAA,CAAIb,IAAI,EAAE;AACV,wBAAA,OAAOa,GAAI2B,CAAAA,IAAI,CAAC1C,IAAI,CAAC,IAAA,CAAA,CAAA;AACzB,qBAAA;AAEA,oBAAA,OAAOe,GAAI4B,CAAAA,GAAG,CAAC3C,IAAI,CAAC,IAAA,CAAA,CAAA;AACxB,iBAAA;aACD,EAAA;AACCiB,gBAAAA,KAAAA,CAAE,GAAK,EAAA;oBACHgB,KAAO,EAAA;AAAC,wBAAA,IAAA;AAAM,wBAAA;4BACV,SAAW,EAAA,CAAClB,IAAIb,IAAI;AACpB,4BAAA,UAAA,EAAYa,IAAIb,IAAI;AACxB,yBAAA;AAAE,qBAAA;AACN,iBAAA,CAAA;AACH,aAAA,CAAA;AACJ,SAAA,CAAA;AACL,KAAA;AAEA,IAAA,OAAOe,MAAE,KAAO,EAAA;AAACwB,QAAAA,QAAAA;AAAS,KAAA,CAAA,CAAA;AAC9B;;ACjDA;;;;;AAKC,IASM,SAASG,gBAAAA,GAAAA;IACZ,OAAO;;AAEHC,QAAAA,OAAAA,EAAS,CAACC,KAAa,GAAA,IAAA;;AAEvBC,QAAAA,OAAAA,EAAS,CAACD,KAAa,GAAA,IAAA;;AAEvBE,QAAAA,OAAAA,EAAS,CAACF,KAAa,GAAA,IAAA;AAC3B,KAAA,CAAA;AACJ,CAAA;AACO,SAASG,eAAAA,GAAAA;IACZ,OAAO;QACHC,KAAO,EAAA;YACH9H,IAAM5C,EAAAA,MAAAA;AACN2K,YAAAA,OAAAA,CAAAA,GAAAA;AACI,gBAAA,OAAO,EAAC,CAAA;AACZ,aAAA;AACJ,SAAA;QACAhI,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA+J,WAAa,EAAA;YACThI,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;QACAG,OAAS,EAAA;YACLlI,IAAM,EAAA;AAACiI,gBAAAA,OAAAA;AAAS7K,gBAAAA,MAAAA;AAAO,aAAA;YACvB2K,OAAS,EAAA,IAAA;AACb,SAAA;QACAI,MAAQ,EAAA;YACJnI,IAAM,EAAA;AAACiI,gBAAAA,OAAAA;AAAS7K,gBAAAA,MAAAA;AAAO,aAAA;YACvB2K,OAAS,EAAA,IAAA;AACb,SAAA;QACAK,MAAQ,EAAA;YACJpI,IAAM,EAAA;AAACiI,gBAAAA,OAAAA;AAAS7K,gBAAAA,MAAAA;AAAO,aAAA;YACvB2K,OAAS,EAAA,IAAA;AACb,SAAA;QACAM,MAAQ,EAAA;YACJrI,IAAM,EAAA;AAACiI,gBAAAA,OAAAA;AAAS7K,gBAAAA,MAAAA;AAAO,aAAA;YACvB2K,OAAS,EAAA,IAAA;AACb,SAAA;QACAO,IAAM,EAAA;YACFtI,IAAM5C,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA,CAAA;AACJ;;AClDA,SAASmL,eAAAA,CACLC,OAAU,EACVC,SAAY,EAAA;IAEZ,IAAI,OAAOA,cAAc,WAAa,EAAA;QAClC,OAAOD,OAAAA,CAAAA;AACX,KAAA;IAEA,IAAI,OAAOA,YAAY,WAAa,EAAA;QAChC,OAAOC,SAAAA,CAAAA;AACX,KAAA;AAEA,IAAA,IAAI,OAAOD,OAAAA,KAAY,SAAa,IAAA,CAACA,OAAS,EAAA;QAC1C,OAAOA,OAAAA,CAAAA;AACX,KAAA;AAEA,IAAA,MAAME,aAAgB,GAAA,OAAOF,OAAY,KAAA,SAAA,GAAY,EAAKA,GAAAA,OAAAA,CAAAA;AAC1D,IAAA,MAAMG,eAAkB,GAAA,OAAOF,SAAc,KAAA,SAAA,GAAY,EAAKA,GAAAA,SAAAA,CAAAA;AAE9D,IAAA,OAAOG,WAAMF,aAAeC,EAAAA,eAAAA,CAAAA,CAAAA;AAChC,CAAA;AAEO,SAASE,gBAAAA,CACZ/I,KAAmB,EACnBlB,QAAuC,EAAA;AAEvC,IAAA,MAAMkK,MAAyC,GAAA;AAC3CR,QAAAA,IAAAA,EAAM1J,SAAS0J,IAAI;AACnBxD,QAAAA,IAAAA,EAAMlG,SAASkG,IAAI;AACvB,KAAA,CAAA;AAEAgE,IAAAA,MAAAA,CAAOT,MAAM,GAAGE,eAAAA,CAAgBzI,MAAMuI,MAAM,EAAEzJ,SAASyJ,MAAM,CAAA,CAAA;AAC7DS,IAAAA,MAAAA,CAAOX,MAAM,GAAGI,eAAAA,CAAgBzI,MAAMqI,MAAM,EAAEvJ,SAASuJ,MAAM,CAAA,CAAA;AAC7DW,IAAAA,MAAAA,CAAOV,MAAM,GAAGG,eAAAA,CAAgBzI,MAAMsI,MAAM,EAAExJ,SAASwJ,MAAM,CAAA,CAAA;AAC7DU,IAAAA,MAAAA,CAAOZ,OAAO,GAAGK,eAAAA,CAAgBzI,MAAMoI,OAAO,EAAEtJ,SAASsJ,OAAO,CAAA,CAAA;IAEhE,OAAOY,MAAAA,CAAAA;AACX;;ACrCO,SAASC,uBAAAA,CACZ7L,KAAe,EACf8L,EAAwC,EAAA;AAExC,IAAA,OAAO,CAAClE,IAASrH,EAAAA,OAAAA,GAAAA;AACbA,QAAAA,OAAAA,GAAUA,WAAW,EAAC,CAAA;QAEtB,IAAIwL,KAAAA,CAAAA;AACJ,QAAA,IAAIpE,cAASC,IAAO,CAAA,EAAA;AAChBmE,YAAAA,KAAAA,GAAQ/L,KAAMyD,CAAAA,KAAK,CAACuI,SAAS,CACzB,CAACC,EAAU,GAACA,EAA2B9E,CAAAA,EAAE,KAAMS,KAA6BT,EAAE,CAAA,CAAA;SAE/E,MAAA;AACH4E,YAAAA,KAAAA,GAAQ,CAAC,CAAA,CAAA;AACb,SAAA;QAEA,IAAIA,KAAAA,KAAU,CAAC,CAAG,EAAA;YACd,IAAIxL,OAAAA,CAAQyJ,OAAO,EAAE;gBACjBhK,KAAMyD,CAAAA,KAAK,CAACuG,OAAO,CAACpC,IAAAA,CAAAA,CAAAA;aACjB,MAAA;gBACH5H,KAAMyD,CAAAA,KAAK,CAACgG,IAAI,CAAC7B,IAAAA,CAAAA,CAAAA;AACrB,aAAA;AAEA,YAAA,IAAIkE,EAAI,EAAA;gBACJA,EAAGlE,CAAAA,IAAAA,CAAAA,CAAAA;AACP,aAAA;AACJ,SAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AAEO,SAASsE,wBAA2BlM,KAAe,EAAA;AACtD,IAAA,OAAO,CAAC4H,IAAAA,GAAAA;QACJ,IAAI,CAACD,cAASC,IAAO,CAAA,EAAA;AACjB,YAAA,OAAA;AACJ,SAAA;AAEA,QAAA,MAAMmE,KAAQ/L,GAAAA,KAAAA,CAAMyD,KAAK,CAACuI,SAAS,CAAC,CAACC,EAAU,GAACA,EAA2B9E,CAAAA,EAAE,KAAMS,KAA6BT,EAAE,CAAA,CAAA;QAElH,IAAI4E,KAAAA,KAAU,CAAC,CAAG,EAAA;YACd,MAAM9L,IAAAA,GAAOC,MAAOD,CAAAA,IAAI,CAAC2H,IAAAA,CAAAA,CAAAA;AACzB,YAAA,IAAK,IAAIzH,CAAI,GAAA,CAAA,EAAGA,IAAIF,IAAKG,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;AAClCH,gBAAAA,KAAAA,CAAMyD,KAAK,CAACsI,KAAM,CAAA,CAAC9L,IAAI,CAACE,CAAAA,CAAE,CAAC,GAAGyH,IAAI,CAAC3H,IAAI,CAACE,EAAE,CAAC,CAAA;AAC/C,aAAA;AACJ,SAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AAEO,SAASgM,uBAAAA,CACZnM,KAAe,EACf8L,EAAwC,EAAA;AAExC,IAAA,OAAO,CAAClE,IAAAA,GAAAA;QACJ,IAAI,CAACD,cAASC,IAAO,CAAA,EAAA;YACjB,OAAO7G,SAAAA,CAAAA;AACX,SAAA;AAEA,QAAA,MAAMgL,KAAQ/L,GAAAA,KAAAA,CAAMyD,KAAK,CAACuI,SAAS,CAAC,CAACC,EAAU,GAACA,EAA2B9E,CAAAA,EAAE,KAAMS,KAA6BT,EAAE,CAAA,CAAA;QAClH,IAAI4E,KAAAA,KAAU,CAAC,CAAG,EAAA;AACd,YAAA,IAAID,EAAI,EAAA;gBACJA,EAAG9L,CAAAA,KAAAA,CAAMyD,KAAK,CAACsI,KAAM,CAAA,CAAA,CAAA;AACzB,aAAA;AAEA,YAAA,OAAO/L,MAAMyD,KAAK,CAAC2I,MAAM,CAACL,KAAAA,EAAO,GAAGM,GAAG,EAAA,CAAA;AAC3C,SAAA;QAEA,OAAOtL,SAAAA,CAAAA;AACX,KAAA,CAAA;AACJ;;AC7EA;;;;;IAOO,SAASuL,gBAAAA,CAAgDC,KAAkB,EAAA;IAC9E,IAAI,OAAOA,UAAU,SAAW,EAAA;AAC5B,QAAA,OAAO,EAAC,CAAA;AACZ,KAAA;IAEA,OAAOA,KAAAA,CAAAA;AACX;;AC8EA,MAAMC,OAAU,GAAA,IAAA,CAAA;AAChB,MAAMC,YAAe,GAAA,IAAA,CAAA;AACrB,MAAMC,QAAW,GAAA,KAAA,CAAA;AACjB,MAAMC,QAAW,GAAA,IAAA,CAAA;AAEjB,MAAMC,OAAU,GAAA,KAAA,CAAA;AAChB,MAAMC,YAAe,GAAA,OAAA,CAAA;AACrB,MAAMC,eAAkB,GAAA,OAAA,CAAA;AAExB,MAAMC,WAAc,GAAA,OAAA,CAAA;AAEpB,MAAMC,YAAe,GAAA,OAAA,CAAA;AAGrB,SAASC,OAAOrD,IAAI,EAAA;AAClB,IAAA,OAAOsD,SAAU,CAAA,EAAA,GAAKtD,IAAMuD,CAAAA,CAAAA,OAAO,CAACJ,WAAa,EAAA,GAAA,CAAA,CAAA;AACnD,CAAA;AAIA,SAASK,iBAAiBb,KAAK,EAAA;AAC7B,IAAA,OAAOU,MAAO,CAAA,OAAOV,KAAU,KAAA,QAAA,GAAWA,QAAQc,IAAKC,CAAAA,SAAS,CAACf,KAAAA,CAAAA,CAAAA,CAAQY,OAAO,CAACP,OAAAA,EAAS,KAAOO,CAAAA,CAAAA,OAAO,CAACH,YAAc,EAAA,GAAA,CAAA,CAAKG,OAAO,CAACX,SAAS,KAAOW,CAAAA,CAAAA,OAAO,CAACV,YAAAA,EAAc,OAAOU,OAAO,CAACL,eAAiB,EAAA,GAAA,CAAA,CAAKK,OAAO,CAACN,YAAAA,EAAc,GAAKM,CAAAA,CAAAA,OAAO,CAACT,QAAU,EAAA,KAAA,CAAA,CAAA;AAC9P,CAAA;AACA,SAASa,eAAe3D,IAAI,EAAA;AAC1B,IAAA,OAAOwD,gBAAiBxD,CAAAA,IAAAA,CAAAA,CAAMuD,OAAO,CAACR,QAAU,EAAA,KAAA,CAAA,CAAA;AAClD,CAAA;AAOA,SAASa,MAAAA,CAAO5D,OAAO,EAAE,EAAA;IACvB,IAAI;AACF,QAAA,OAAO6D,mBAAmB,EAAK7D,GAAAA,IAAAA,CAAAA,CAAAA;AACjC,KAAA,CAAE,OAAM;AACN,QAAA,OAAO,EAAKA,GAAAA,IAAAA,CAAAA;AACd,KAAA;AACF,CAAA;AAIA,SAAS8D,eAAe9D,IAAI,EAAA;AAC1B,IAAA,OAAO4D,MAAO5D,CAAAA,IAAAA,CAAKuD,OAAO,CAACP,OAAS,EAAA,GAAA,CAAA,CAAA,CAAA;AACtC,CAAA;AACA,SAASe,iBAAiB/D,IAAI,EAAA;AAC5B,IAAA,OAAO4D,MAAO5D,CAAAA,IAAAA,CAAKuD,OAAO,CAACP,OAAS,EAAA,GAAA,CAAA,CAAA,CAAA;AACtC,CAAA;AAKA,SAASgB,UAAAA,CAAWC,mBAAmB,EAAE,EAAA;AACvC,IAAA,MAAMC,SAAS,EAAC,CAAA;AAChB,IAAA,IAAID,gBAAgB,CAAC,CAAE,CAAA,KAAK,GAAK,EAAA;QAC/BA,gBAAmBA,GAAAA,gBAAAA,CAAiBE,KAAK,CAAC,CAAA,CAAA,CAAA;AAC5C,KAAA;AACA,IAAA,KAAK,MAAMC,SAAAA,IAAaH,gBAAiBI,CAAAA,KAAK,CAAC,GAAM,CAAA,CAAA;AACnD,QAAA,MAAMC,CAAIF,GAAAA,SAAAA,CAAUG,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAChD,IAAID,CAAAA,CAAE9N,MAAM,GAAG,CAAG,EAAA;AAChB,YAAA,SAAA;AACF,SAAA;AACA,QAAA,MAAMgB,GAAMsM,GAAAA,cAAAA,CAAeQ,CAAC,CAAC,CAAE,CAAA,CAAA,CAAA;QAC/B,IAAI9M,GAAAA,KAAQ,WAAeA,IAAAA,GAAAA,KAAQ,aAAe,EAAA;AAChD,YAAA,SAAA;AACF,SAAA;AACA,QAAA,MAAMqC,KAAQkK,GAAAA,gBAAAA,CAAiBO,CAAC,CAAC,EAAE,IAAI,EAAA,CAAA,CAAA;AACvC,QAAA,IAAIJ,MAAM,CAAC1M,GAAI,CAAA,KAAK,KAAK,CAAG,EAAA;YAC1B0M,MAAM,CAAC1M,IAAI,GAAGqC,KAAAA,CAAAA;AAChB,SAAA,MAAO,IAAIoE,KAAMC,CAAAA,OAAO,CAACgG,MAAM,CAAC1M,IAAI,CAAG,EAAA;AACrC0M,YAAAA,MAAM,CAAC1M,GAAAA,CAAI,CAACqI,IAAI,CAAChG,KAAAA,CAAAA,CAAAA;SACZ,MAAA;YACLqK,MAAM,CAAC1M,IAAI,GAAG;AAAC0M,gBAAAA,MAAM,CAAC1M,GAAI,CAAA;AAAEqC,gBAAAA,KAAAA;AAAM,aAAA,CAAA;AACpC,SAAA;AACF,KAAA;IACA,OAAOqK,MAAAA,CAAAA;AACT,CAAA;AACA,SAASM,eAAAA,CAAgBhN,GAAG,EAAEqC,KAAK,EAAA;AACjC,IAAA,IAAI,OAAOA,KAAAA,KAAU,QAAY,IAAA,OAAOA,UAAU,SAAW,EAAA;AAC3DA,QAAAA,KAAAA,GAAQV,MAAOU,CAAAA,KAAAA,CAAAA,CAAAA;AACjB,KAAA;AACA,IAAA,IAAI,CAACA,KAAO,EAAA;AACV,QAAA,OAAO8J,cAAenM,CAAAA,GAAAA,CAAAA,CAAAA;AACxB,KAAA;IACA,IAAIyG,KAAAA,CAAMC,OAAO,CAACrE,KAAQ,CAAA,EAAA;AACxB,QAAA,OAAOA,MAAM4K,GAAG,CAAC,CAACC,MAAAA,GAAW,CAAC,EAAEf,cAAAA,CAAenM,GAAK,CAAA,CAAA,CAAC,EAAEgM,gBAAiBkB,CAAAA,MAAAA,CAAAA,CAAQ,CAAC,CAAA,CAAEC,IAAI,CAAC,GAAA,CAAA,CAAA;AAC1F,KAAA;IACA,OAAO,CAAC,EAAEhB,cAAenM,CAAAA,GAAAA,CAAAA,CAAK,CAAC,EAAEgM,gBAAAA,CAAiB3J,OAAO,CAAC,CAAA;AAC5D,CAAA;AACA,SAAS+K,eAAe5D,KAAK,EAAA;AAC3B,IAAA,OAAO1K,MAAOD,CAAAA,IAAI,CAAC2K,KAAAA,CAAAA,CAAO6D,MAAM,CAAC,CAACC,CAAAA,GAAM9D,KAAK,CAAC8D,CAAE,CAAA,KAAK,KAAK,CAAA,CAAA,CAAGL,GAAG,CAAC,CAACK,CAAAA,GAAMN,eAAgBM,CAAAA,CAAAA,EAAG9D,KAAK,CAAC8D,CAAE,CAAA,CAAA,CAAA,CAAGD,MAAM,CAAC1D,OAASwD,CAAAA,CAAAA,IAAI,CAAC,GAAA,CAAA,CAAA;AAC7H,CAAA;AAEA,MAAMI,qBAAwB,GAAA,+BAAA,CAAA;AAC9B,MAAMC,cAAiB,GAAA,8BAAA,CAAA;AACvB,MAAMC,uBAA0B,GAAA,uBAAA,CAAA;AAGhC,MAAMC,qBAAwB,GAAA,QAAA,CAAA;AAI9B,SAASC,WAAYC,CAAAA,WAAW,EAAEC,IAAAA,GAAO,EAAE,EAAA;IACzC,IAAI,OAAOA,SAAS,SAAW,EAAA;QAC7BA,IAAO,GAAA;YAAEC,cAAgBD,EAAAA,IAAAA;AAAK,SAAA,CAAA;AAChC,KAAA;IACA,IAAIA,IAAAA,CAAKE,MAAM,EAAE;QACf,OAAOR,qBAAAA,CAAsBS,IAAI,CAACJ,WAAAA,CAAAA,CAAAA;AACpC,KAAA;AACA,IAAA,OAAOJ,cAAeQ,CAAAA,IAAI,CAACJ,WAAAA,CAAAA,KAAiBC,IAAAA,CAAKC,cAAc,GAAGL,uBAAwBO,CAAAA,IAAI,CAACJ,WAAAA,CAAAA,GAAe,KAAI,CAAA,CAAA;AACpH,CAAA;AAIA,SAASK,gBAAiB9C,CAAAA,KAAAA,GAAQ,EAAE,EAAE+C,uBAAuB,EAAA;AAC3D,IAA8B;QAC5B,OAAO/C,KAAAA,CAAMgD,QAAQ,CAAC,GAAA,CAAA,CAAA;AACxB,KAAA;AAEF,CAAA;AACA,SAASC,oBAAqBjD,CAAAA,KAAAA,GAAQ,EAAE,EAAE+C,uBAAuB,EAAA;AAC/D,IAA8B;QAC5B,OAAQD,CAAAA,gBAAAA,CAAiB9C,KAASA,CAAAA,GAAAA,KAAAA,CAAMwB,KAAK,CAAC,CAAG,EAAA,CAAC,CAAKxB,CAAAA,GAAAA,KAAI,KAAM,GAAA,CAAA;AACnE,KAAA;AAcF,CAAA;AACA,SAASkD,iBAAkBlD,CAAAA,KAAAA,GAAQ,EAAE,EAAE+C,uBAAuB,EAAA;AAC5D,IAA8B;AAC5B,QAAA,OAAO/C,KAAMgD,CAAAA,QAAQ,CAAC,GAAA,CAAA,GAAOhD,QAAQA,KAAQ,GAAA,GAAA,CAAA;AAC/C,KAAA;AAgBF,CAAA;AAaA,SAASmD,QAAAA,CAASnD,KAAK,EAAEoD,IAAI,EAAA;IAC3B,IAAIC,UAAAA,CAAWD,IAASZ,CAAAA,IAAAA,WAAAA,CAAYxC,KAAQ,CAAA,EAAA;QAC1C,OAAOA,KAAAA,CAAAA;AACT,KAAA;AACA,IAAA,MAAMsD,QAAQL,oBAAqBG,CAAAA,IAAAA,CAAAA,CAAAA;IACnC,IAAIpD,KAAAA,CAAMuD,UAAU,CAACD,KAAQ,CAAA,EAAA;QAC3B,OAAOtD,KAAAA,CAAAA;AACT,KAAA;AACA,IAAA,OAAOwD,QAAQF,KAAOtD,EAAAA,KAAAA,CAAAA,CAAAA;AACxB,CAAA;AAYA,SAASyD,SAAAA,CAAUzD,KAAK,EAAE3B,KAAK,EAAA;AAC7B,IAAA,MAAMqF,SAASC,QAAS3D,CAAAA,KAAAA,CAAAA,CAAAA;AACxB,IAAA,MAAM4D,WAAc,GAAA;QAAE,GAAGvC,UAAAA,CAAWqC,MAAOG,CAAAA,MAAM,CAAC;AAAE,QAAA,GAAGxF,KAAK;AAAC,KAAA,CAAA;IAC7DqF,MAAOG,CAAAA,MAAM,GAAG5B,cAAe2B,CAAAA,WAAAA,CAAAA,CAAAA;AAC/B,IAAA,OAAOE,kBAAmBJ,CAAAA,MAAAA,CAAAA,CAAAA;AAC5B,CAAA;AAIA,SAASL,WAAWU,GAAG,EAAA;IACrB,OAAO,CAACA,OAAOA,GAAQ,KAAA,GAAA,CAAA;AACzB,CAAA;AACA,SAASC,cAAcD,GAAG,EAAA;AACxB,IAAA,OAAOA,OAAOA,GAAQ,KAAA,GAAA,CAAA;AACxB,CAAA;AACA,SAASP,OAAQJ,CAAAA,IAAI,EAAE,GAAGpD,KAAK,EAAA;AAC7B,IAAA,IAAI+D,MAAMX,IAAQ,IAAA,EAAA,CAAA;IAClB,KAAK,MAAMa,WAAWjE,KAAMkC,CAAAA,MAAM,CAAC,CAACgC,IAAAA,GAASF,cAAcE,IAAQ,CAAA,CAAA,CAAA;AACjE,QAAA,IAAIH,GAAK,EAAA;AACP,YAAA,MAAMI,QAAWF,GAAAA,OAAAA,CAAQrD,OAAO,CAAC2B,qBAAuB,EAAA,EAAA,CAAA,CAAA;AACxDwB,YAAAA,GAAAA,GAAMb,kBAAkBa,GAAOI,CAAAA,GAAAA,QAAAA,CAAAA;SAC1B,MAAA;YACLJ,GAAME,GAAAA,OAAAA,CAAAA;AACR,SAAA;AACF,KAAA;IACA,OAAOF,GAAAA,CAAAA;AACT,CAAA;AA2IA,MAAMK,gBAAAA,GAAmB9O,MAAOC,CAAAA,GAAG,CAAC,sBAAA,CAAA,CAAA;AACpC,SAASoO,QAAS3D,CAAAA,KAAAA,GAAQ,EAAE,EAAEqE,YAAY,EAAA;IACxC,MAAMC,kBAAAA,GAAqBtE,KAAM4B,CAAAA,KAAK,CACpC,kDAAA,CAAA,CAAA;AAEF,IAAA,IAAI0C,kBAAoB,EAAA;AACtB,QAAA,MAAM,GAAGC,MAAAA,EAAQC,SAAY,GAAA,EAAE,CAAC,GAAGF,kBAAAA,CAAAA;QACnC,OAAO;AACLG,YAAAA,QAAAA,EAAUF,OAAOG,WAAW,EAAA;YAC5BC,QAAUH,EAAAA,SAAAA;AACVI,YAAAA,IAAAA,EAAML,MAASC,GAAAA,SAAAA;YACfK,IAAM,EAAA,EAAA;YACNC,IAAM,EAAA,EAAA;YACNjB,MAAQ,EAAA,EAAA;YACRkB,IAAM,EAAA,EAAA;AACR,SAAA,CAAA;AACF,KAAA;IACA,IAAI,CAACvC,YAAYxC,KAAO,EAAA;QAAE2C,cAAgB,EAAA,IAAA;KAAS,CAAA,EAAA;AACjD,QAAA,OAAuDqC,SAAUhF,CAAAA,KAAAA,CAAAA,CAAAA;AACnE,KAAA;AACA,IAAA,MAAM,GAAGyE,QAAW,GAAA,EAAE,EAAEI,IAAAA,EAAMI,cAAc,EAAE,CAAC,GAAGjF,KAAAA,CAAMY,OAAO,CAAC,KAAA,EAAO,KAAKgB,KAAK,CAAC,gDAAgD,EAAE,CAAA;AACpI,IAAA,IAAI,GAAGkD,IAAAA,GAAO,EAAE,EAAEI,IAAO,GAAA,EAAE,CAAC,GAAGD,WAAYrD,CAAAA,KAAK,CAAC,gBAAA,CAAA,IAAqB,EAAE,CAAA;AACxE,IAAA,IAAI6C,aAAa,OAAS,EAAA;QACxBS,IAAOA,GAAAA,IAAAA,CAAKtE,OAAO,CAAC,iBAAmB,EAAA,EAAA,CAAA,CAAA;AACzC,KAAA;IACA,MAAM,EAAE+D,QAAQ,EAAEd,MAAM,EAAEkB,IAAI,EAAE,GAAGC,SAAUE,CAAAA,IAAAA,CAAAA,CAAAA;IAC7C,OAAO;AACLT,QAAAA,QAAAA,EAAUA,SAASC,WAAW,EAAA;AAC9BG,QAAAA,IAAAA,EAAMA,IAAOA,GAAAA,IAAAA,CAAKrD,KAAK,CAAC,CAAGjH,EAAAA,IAAAA,CAAK4K,GAAG,CAAC,CAAGN,EAAAA,IAAAA,CAAKhR,MAAM,GAAG,CAAM,CAAA,CAAA,GAAA,EAAA;AAC3DiR,QAAAA,IAAAA;AACAH,QAAAA,QAAAA;AACAd,QAAAA,MAAAA;AACAkB,QAAAA,IAAAA;QACA,CAACX,gBAAAA,GAAmB,CAACK,QAAAA;AACvB,KAAA,CAAA;AACF,CAAA;AACA,SAASO,SAAAA,CAAUhF,QAAQ,EAAE,EAAA;IAC3B,MAAM,CAAC2E,WAAW,EAAE,EAAEd,SAAS,EAAE,EAAEkB,OAAO,EAAE,CAAC,GAAG,CAAC/E,MAAM4B,KAAK,CAAC,+BAA+B,EAAC,EAAG/B,MAAM,CAAC,CAAA,CAAA,CAAA;IACvG,OAAO;AACL8E,QAAAA,QAAAA;AACAd,QAAAA,MAAAA;AACAkB,QAAAA,IAAAA;AACF,KAAA,CAAA;AACF,CAAA;AAeA,SAASjB,mBAAmBJ,MAAM,EAAA;IAChC,MAAMiB,QAAAA,GAAWjB,MAAOiB,CAAAA,QAAQ,IAAI,EAAA,CAAA;AACpC,IAAA,MAAMd,SAASH,MAAOG,CAAAA,MAAM,GAAIH,CAAAA,MAAOG,CAAAA,MAAM,CAACN,UAAU,CAAC,GAAO,CAAA,GAAA,EAAA,GAAK,GAAE,IAAKG,MAAAA,CAAOG,MAAM,GAAG,EAAA,CAAA;IAC5F,MAAMkB,IAAAA,GAAOrB,MAAOqB,CAAAA,IAAI,IAAI,EAAA,CAAA;AAC5B,IAAA,MAAMF,OAAOnB,MAAOmB,CAAAA,IAAI,GAAGnB,MAAOmB,CAAAA,IAAI,GAAG,GAAM,GAAA,EAAA,CAAA;IAC/C,MAAMC,IAAAA,GAAOpB,MAAOoB,CAAAA,IAAI,IAAI,EAAA,CAAA;AAC5B,IAAA,MAAMM,KAAQ1B,GAAAA,MAAAA,CAAOe,QAAQ,IAAIf,MAAM,CAACU,gBAAAA,CAAiB,GAAIV,CAAAA,MAAOe,CAAAA,QAAQ,IAAI,EAAC,IAAK,IAAO,GAAA,EAAA,CAAA;AAC7F,IAAA,OAAOW,KAAQP,GAAAA,IAAAA,GAAOC,IAAOH,GAAAA,QAAAA,GAAWd,MAASkB,GAAAA,IAAAA,CAAAA;AACnD;;ACjgBA,MAAMhN,GAAEsN,GAAAA,UAAAA,CAAWC,IAAI,CAAA,CAACC,MAAEF,UAAWG,CAAAA,IAAI,CAACC,CAAAA,GAAAA,GAAEJ,UAAWK,CAAAA,QAAQ,CAAC/D,CAAAA,CAAAA,GAAE0D,WAAWM,OAAO,CAAA,CAA4C/R,GAAAA,GAAEyR,UAAWO,CAAAA,eAAe,CAACC,CAAAA,CAAAA,GAAER,UAAWS,CAAAA,KAAK,KAAG,IAAA;AAAK,IAAA,MAAM,IAAI9N,KAAM,CAAA,2EAAA,CAAA,CAAA;AAA4E,CAAA;;ACAnR,SAASoD,WAASC,IAAI,EAAA;IAClB,OAAO,CAAC,CAACA,IAAQ,IAAA,OAAOA,SAAS,QAAY,IAAA,CAACC,KAAMC,CAAAA,OAAO,CAACF,IAAAA,CAAAA,CAAAA;AAChE,CAAA;AAEA,SAAS0K,uBAAuBC,EAAE,EAAA;AAC9B,IAAA,OAAO,CAAC,GAAGhG,KAAAA,GAAAA;AACP,QAAA,MAAMX,SAAS,EAAC,CAAA;AAChB,QAAA,IAAI,IAAIzL,CAAI,GAAA,CAAA,EAAGA,IAAIoM,KAAMnM,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;YACjC,MAAMqS,OAAAA,GAAUjG,KAAK,CAACpM,CAAE,CAAA,CAAA;YACxB,IAAI,OAAOqS,YAAY,QAAU,EAAA;AAC7B5G,gBAAAA,MAAAA,CAAO6G,OAAO,GAAGD,OAAAA,CAAAA;AACjB,gBAAA,SAAA;AACJ,aAAA;;AAEA,YAAA,IAAIA,mBAAmBjO,KAAO,EAAA;gBAC1BqH,MAAO6G,CAAAA,OAAO,GAAGD,OAAAA,CAAQC,OAAO,CAAA;gBAChC7G,MAAO8G,CAAAA,KAAK,GAAGF,OAAAA,CAAQE,KAAK,CAAA;AAC5B9G,gBAAAA,MAAAA,CAAO+G,KAAK,GAAGH,OAAAA,CAAAA;AACnB,aAAA;;;AAGA,YAAA,IAAID,GAAGC,OAAU,CAAA,EAAA;gBACb,MAAMvS,IAAAA,GAAOC,MAAOD,CAAAA,IAAI,CAACuS,OAAAA,CAAAA,CAAAA;AACzB,gBAAA,IAAI,IAAIrS,CAAI,GAAA,CAAA,EAAGA,IAAIF,IAAKG,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;oBAChCyL,MAAM,CAAC3L,IAAI,CAACE,CAAE,CAAA,CAAC,GAAGqS,OAAO,CAACvS,IAAI,CAACE,CAAAA,CAAE,CAAC,CAAA;AACtC,iBAAA;AACJ,aAAA;AACJ,SAAA;QACA,OAAOyL,MAAAA,CAAAA;AACX,KAAA,CAAA;AACJ,CAAA;AACA,SAASgH,UAAUrG,KAAK,EAAA;IACpB,IAAI,CAAC5E,WAAS4E,KAAQ,CAAA,EAAA;QAClB,OAAO,KAAA,CAAA;AACX,KAAA;IACA,IAAI,OAAOA,MAAMkG,OAAO,KAAK,eAAe,OAAOlG,KAAAA,CAAMkG,OAAO,KAAK,QAAU,EAAA;QAC3E,OAAO,KAAA,CAAA;AACX,KAAA;IACA,IAAI,OAAOlG,MAAMmG,KAAK,KAAK,eAAe,OAAOnG,KAAAA,CAAMmG,KAAK,KAAK,QAAU,EAAA;QACvE,OAAO,KAAA,CAAA;AACX,KAAA;AACA,IAAA,IAAI,OAAOnG,KAAMsG,CAAAA,IAAI,KAAK,WAAe,IAAA,OAAOtG,MAAMsG,IAAI,KAAK,QAAY,IAAA,OAAOtG,MAAMsG,IAAI,KAAK,YAAYtG,KAAMsG,CAAAA,IAAI,KAAK,IAAM,EAAA;QAC9H,OAAO,KAAA,CAAA;AACX,KAAA;IACA,IAAI,OAAOtG,MAAMuG,MAAM,KAAK,eAAe,OAAOvG,KAAAA,CAAMuG,MAAM,KAAK,SAAW,EAAA;QAC1E,OAAO,KAAA,CAAA;AACX,KAAA;IACA,IAAI,OAAOvG,MAAMwG,UAAU,KAAK,eAAe,OAAOxG,KAAAA,CAAMwG,UAAU,KAAK,SAAW,EAAA;QAClF,OAAO,KAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAO,OAAOxG,KAAAA,CAAMyG,QAAQ,KAAK,WAAe,IAAA,OAAOzG,KAAMyG,CAAAA,QAAQ,KAAK,QAAA,IAAY,OAAOzG,KAAAA,CAAMyG,QAAQ,KAAK,QAAA,CAAA;AACpH,CAAA;AACA,MAAMC,QAAQX,sBAAuBM,CAAAA,SAAAA,CAAAA,CAAAA;AACrC,SAASM,cAAAA,CAAe,GAAG3G,KAAK,EAAA;AAC5B,IAAA,OAAO0G,KAAS1G,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA;AACpB,CAAA;AAEA,MAAM4G,SAAkB5O,SAAAA,KAAAA,CAAAA;;IAEpBvD,WAAY,CAAA,GAAGuL,KAAK,CAAC;AACjB,QAAA,MAAMhM,UAAU2S,cAAkB3G,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA;QAClC,KAAK,CAAChM,OAAQkS,CAAAA,OAAO,EAAE;AACnBE,YAAAA,KAAAA,EAAOpS,QAAQoS,KAAK;AACxB,SAAA,CAAA,CAAA;QACA,IAAI,OAAO,IAAI,CAACrP,IAAI,KAAK,eAAe,IAAI,CAACA,IAAI,KAAK,OAAS,EAAA;AAC3DpD,YAAAA,MAAAA,CAAOkT,cAAc,CAAC,IAAI,EAAE,MAAQ,EAAA;gBAChCC,YAAc,EAAA,IAAA;gBACdC,UAAY,EAAA,KAAA;AACZ7P,gBAAAA,KAAAA,EAAO,IAAI,CAACzC,WAAW,CAACsC,IAAI;gBAC5BiQ,QAAU,EAAA,IAAA;AACd,aAAA,CAAA,CAAA;AACJ,SAAA;QACA,IAAIhP,KAAAA,CAAMiP,iBAAiB,EAAE;AACzBjP,YAAAA,KAAAA,CAAMiP,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAACxS,WAAW,CAAA,CAAA;AAClD,SAAA;;QAEA,IAAIT,OAAAA,CAAQmS,KAAK,EAAE;AACf,YAAA,IAAI,CAACA,KAAK,GAAGnS,OAAAA,CAAQmS,KAAK,CAAA;AAC9B,SAAA;AACA,QAAA,IAAI,CAACG,IAAI,GAAGtS,OAAAA,CAAQsS,IAAI,CAAA;AACxB,QAAA,IAAI,CAACC,MAAM,GAAGvS,OAAAA,CAAQuS,MAAM,CAAA;AAC5B,QAAA,IAAI,CAACC,UAAU,GAAGxS,OAAAA,CAAQwS,UAAU,CAAA;AACpC,QAAA,IAAI,CAACC,QAAQ,GAAGzS,OAAAA,CAAQyS,QAAQ,CAAA;AAChC,QAAA,IAAI,CAACxS,IAAI,GAAGD,OAAAA,CAAQC,IAAI,CAAA;AAC5B,KAAA;AACJ;;ACjFA,IAAIiT,CAAAA,GAAIvT,OAAOkT,cAAc,CAAA;AAC7B,IAAI9O,IAAI,CAACoP,CAAAA,EAAGC,CAAIF,GAAAA,CAAAA,CAAEC,GAAG,MAAQ,EAAA;QACrBjQ,KAAOkQ,EAAAA,CAAAA;AACPN,QAAAA,YAAAA,EAAc,CAAC,CAAA;AACnB,KAAA,CAAA,CAAA;AACJ,IAAIlT,CAAAA,GAAID,MAAOkT,CAAAA,cAAc,EAAEQ,CAAAA,GAAItP,CAAE,CAAA,CAACoP,CAAGC,EAAAA,CAAAA,GAAIxT,CAAEuT,CAAAA,CAAAA,EAAG,MAAQ,EAAA;QAClDjQ,KAAOkQ,EAAAA,CAAAA;AACPN,QAAAA,YAAAA,EAAc,CAAC,CAAA;KACf,CAAA,EAAA,GAAA,CAAA,CAAA;AACR,SAASrB,CAAAA,GAAAA;IACL,OAAO;AACH6B,QAAAA,KAAAA,EAAO,KAAK,CAAA;AACZC,QAAAA,UAAAA,EAAY,KAAK,CAAA;AACrB,KAAA,CAAA;AACJ,CAAA;AACAxP,CAAE0N,CAAAA,CAAAA,EAAG,aAAgB4B,CAAAA,EAAAA,CAAAA,CAAE5B,CAAG,EAAA,aAAA,CAAA,CAAA;AAC1B,SAASF,CAAAA,GAAAA;AACL,IAAA,OAAOF,WAAWS,KAAK,CAAA;AAC3B,CAAA;AACA/N,CAAEwN,CAAAA,CAAAA,EAAG,aAAgB8B,CAAAA,EAAAA,CAAAA,CAAE9B,CAAG,EAAA,aAAA,CAAA,CAAA;AAE1B,MAAMiC,EAAAA,GAAK,CAAC,IAAA;IACR,IAAI,OAAOnC,eAAe,WAAa,EAAA;QACnC,OAAOA,UAAAA,CAAAA;AACX,KAAA;;IAEA,IAAI,OAAOoC,SAAS,WAAa,EAAA;;QAE7B,OAAOA,IAAAA,CAAAA;AACX,KAAA;IACA,IAAI,OAAOC,WAAW,WAAa,EAAA;QAC/B,OAAOA,MAAAA,CAAAA;AACX,KAAA;IACA,IAAI,OAAOC,WAAW,WAAa,EAAA;QAC/B,OAAOA,MAAAA,CAAAA;AACX,KAAA;AACA,IAAA,MAAM,IAAI3P,KAAM,CAAA,gCAAA,CAAA,CAAA;AACpB,CAAA,GAAA,CAAA;AACA,MAAMwN,IAAAA,GAAOgC,EAAGhC,CAAAA,IAAI,IAAIoC,GAAAA,CAAAA;AACxB,MAAMlC,UAAAA,GAAW8B,EAAG9B,CAAAA,QAAQ,IAAImC,GAAAA,CAAAA;AACRL,EAAG5B,CAAAA,eAAe,IAAIkC,IAAAA;AAC9C,MAAMhC,KAAAA,GAAQ0B,EAAG1B,CAAAA,KAAK,IAAIiC,CAAAA,CAAAA;AAC1B,MAAMpC,OAAAA,GAAU6B,EAAG7B,CAAAA,OAAO,IAAIqC,CAAAA,CAAAA;AAC9B,MAAM1C,IAAAA,GAAOkC,EAAGlC,CAAAA,IAAI,IAAI2C,GAAAA,CAAAA;AAExB;;;;;AAKC,IAAG,IAAIC,YAAAA,CAAAA;AACP,CAAA,SAASA,YAAY,EAAA;IAClBA,YAAY,CAAC,OAAO,GAAG,MAAA,CAAA;IACvBA,YAAY,CAAC,SAAS,GAAG,QAAA,CAAA;IACzBA,YAAY,CAAC,OAAO,GAAG,MAAA,CAAA;IACvBA,YAAY,CAAC,eAAe,GAAG,aAAA,CAAA;IAC/BA,YAAY,CAAC,OAAO,GAAG,MAAA,CAAA;AAC3B,CAAA,EAAGA,YAAAA,KAAiBA,YAAAA,GAAe,EAAC,CAAA,CAAA,CAAA;AACpC,IAAIC,UAAAA,CAAAA;AACH,CAAA,SAASA,UAAU,EAAA;IAChBA,UAAU,CAAC,SAAS,GAAG,QAAA,CAAA;IACvBA,UAAU,CAAC,MAAM,GAAG,KAAA,CAAA;IACpBA,UAAU,CAAC,OAAO,GAAG,MAAA,CAAA;IACrBA,UAAU,CAAC,QAAQ,GAAG,OAAA,CAAA;IACtBA,UAAU,CAAC,OAAO,GAAG,MAAA,CAAA;IACrBA,UAAU,CAAC,MAAM,GAAG,KAAA,CAAA;AACxB,CAAA,EAAGA,UAAAA,KAAeA,UAAAA,GAAa,EAAC,CAAA,CAAA,CAAA;AAEhC;;;;;AAKC,IAAG,IAAIC,QAAAA,CAAAA;AACP,CAAA,SAASA,QAAQ,EAAA;IACdA,QAAQ,CAAC,UAAU,GAAG,SAAA,CAAA;IACtBA,QAAQ,CAAC,gBAAgB,GAAG,cAAA,CAAA;IAC5BA,QAAQ,CAAC,WAAW,GAAG,UAAA,CAAA;IACvBA,QAAQ,CAAC,iBAAiB,GAAG,eAAA,CAAA;AACjC,CAAA,EAAGA,QAAAA,KAAaA,QAAAA,GAAW,EAAC,CAAA,CAAA,CAAA;AAY5B,SAASC,OAAOrI,KAAK,EAAA;AACjB,IAAA,OAAOrM,MAAOuH,CAAAA,SAAS,CAACoN,QAAQ,CAACnN,IAAI,CAAC6E,KAAAA,CAAAA,CAAOwB,KAAK,CAAC,CAAG,EAAA,CAAC,GAAGkD,WAAW,EAAA,CAAA;AACzE,CAAA;AACA,SAAS6D,UAAAA,CAAWhS,IAAI,EAAEyJ,KAAK,EAAA;AAC3BzJ,IAAAA,IAAAA,GAAOA,KAAKmO,WAAW,EAAA,CAAA;AACvB,IAAA,OAAO2D,OAAOrI,KAAWzJ,CAAAA,KAAAA,IAAAA,CAAAA;AAC7B,CAAA;AACA,SAAS6E,SAAS4E,KAAK,EAAA;IACnB,OAAO,OAAOA,KAAU,KAAA,QAAA,IAAYA,KAAU,KAAA,IAAA,IAAQ,CAAC,CAACA,KAAS,IAAA,CAAC1E,KAAMC,CAAAA,OAAO,CAACyE,KAAAA,CAAAA,CAAAA;AACpF,CAAA;AACA,SAASwI,SAASxI,KAAK,EAAA;AACnB,IAAA,OAAO5E,QAAS4E,CAAAA,KAAAA,CAAAA,IAAU,OAAOA,KAAAA,CAAMyI,IAAI,KAAK,UAAA,CAAA;AACpD,CAAA;AACA,SAASC,WAAW1I,KAAK,EAAA;AACrB,IAAA,IAAI,OAAO0F,UAAAA,KAAa,WAAe1F,IAAAA,KAAAA,YAAiB0F,UAAU,EAAA;QAC9D,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,MAAMiD,OAAU,GAAA,mBAAA,CAAA;IAChB,IAAIhV,MAAAA,CAAOuH,SAAS,CAACoN,QAAQ,CAACnN,IAAI,CAAC6E,WAAW2I,OAAS,EAAA;QACnD,OAAO,IAAA,CAAA;AACX,KAAA;IACA,OAAO,CAAC,CAAC3I,KAAAA,IAAS,OAAOA,KAAAA,CAAMsI,QAAQ,KAAK,UAAA,IAActI,KAAMsI,CAAAA,QAAQ,EAAOK,KAAAA,OAAAA,CAAAA;AACnF,CAAA;AACA,SAASC,cAAc5I,KAAK,EAAA;AACxB,IAAA,IAAI,OAAO6I,WAAAA,KAAgB,WAAe7I,IAAAA,KAAAA,YAAiB6I,WAAa,EAAA;QACpE,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAON,WAAW,aAAevI,EAAAA,KAAAA,CAAAA,CAAAA;AACrC,CAAA;AACA,SAAS8I,OAAO9I,KAAK,EAAA;AACjB,IAAA,IAAI,OAAOwF,IAAAA,KAAS,WAAexF,IAAAA,KAAAA,YAAiBwF,IAAM,EAAA;QACtD,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAO+C,WAAW,MAAQvI,EAAAA,KAAAA,CAAAA,CAAAA;AAC9B,CAAA;AACA,SAAS+I,OAAO/I,KAAK,EAAA;AACjB,IAAA,IAAI,OAAOsF,IAAAA,KAAS,WAAetF,IAAAA,KAAAA,YAAiBsF,IAAM,EAAA;QACtD,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAOiD,WAAW,MAAQvI,EAAAA,KAAAA,CAAAA,CAAAA;AAC9B,CAAA;AACA,SAASgJ,kBAAkBhJ,KAAK,EAAA;AAC5B,IAAA,IAAI,OAAOiJ,eAAAA,KAAoB,WAAejJ,IAAAA,KAAAA,YAAiBiJ,eAAiB,EAAA;QAC5E,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAOV,WAAW,iBAAmBvI,EAAAA,KAAAA,CAAAA,CAAAA;AACzC,CAAA;AAEA,SAASkJ,sBAAAA,CAAuBlJ,KAAK,EAAEjJ,IAAI,EAAA;AACvC,IAAA,IAAI,CAACqE,QAAAA,CAAS4E,KAAU,CAAA,IAAA,OAAOA,UAAU,UAAY,EAAA;QACjD,OAAO,KAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAOA,KAAK,CAAC,aAAA,CAAc,KAAK1K,MAAAA,CAAOC,GAAG,CAACwB,IAAAA,CAAAA,CAAAA;AAC/C,CAAA;AAEA,SAASoS,mBAAmBnJ,KAAK,EAAA;AAC7B,IAAA,IAAIA,UAAUxL,SAAW,EAAA;QACrB,OAAO,KAAA,CAAA;AACX,KAAA;AACA,IAAA,MAAM2S,IAAI,OAAOnH,KAAAA,CAAAA;AACjB,IAAA,IAAImH,MAAM,QAAYA,IAAAA,CAAAA,KAAM,YAAYA,CAAM,KAAA,SAAA,IAAaA,MAAM,IAAM,EAAA;QACnE,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,IAAIA,MAAM,QAAU,EAAA;AAChB,QAAA,OAAO;AACX,KAAA;IACA,IAAI7L,KAAAA,CAAMC,OAAO,CAACyE,KAAQ,CAAA,EAAA;QACtB,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAO5E,SAAS4E,KAAU,CAAA,IAAA,OAAOA,UAAU,UAAcA,IAAAA,KAAAA,CAAMoJ,MAAM,KAAK,UAAA,CAAA;AAC9E,CAAA;AAEA;;;;;IAKI,SAASC,UAAUC,CAAC,EAAA;IACpB,OAAO,OAAOA,CAAM,KAAA,QAAA,IAAYA,CAAM,KAAA,IAAA,KAAS,OAAOC,OAAY,KAAA,WAAA,IAAeD,CAAaC,YAAAA,OAAAA;;IAE9F,OAAOD,CAAAA,CAAEE,IAAI,KAAK,UAAS,CAAA,CAAA;AAC/B,CAAA;AAEA;;;;;AAKC,IAAG,IAAIC,uBAAAA,CAAAA;AACP,CAAA,SAASA,uBAAuB,EAAA;IAC7BA,uBAAuB,CAAC,SAAS,GAAG,QAAA,CAAA;IACpCA,uBAAuB,CAAC,QAAQ,GAAG,OAAA,CAAA;IACnCA,uBAAuB,CAAC,YAAY,GAAG,WAAA,CAAA;IACvCA,uBAAuB,CAAC,UAAU,GAAG,SAAA,CAAA;AACzC,CAAA,EAAGA,uBAAAA,KAA4BA,uBAAAA,GAA0B,EAAC,CAAA,CAAA,CAAA;AAE1D;;;;;AAKC,IAAG,IAAIC,SAAAA,CAAAA;AACP,CAAA,SAASA,SAAS,EAAA;IACfA,SAAS,CAAC,+BAA+B,GAAG,qBAAA,CAAA;IAC5CA,SAAS,CAAC,6BAA6B,GAAG,mBAAA,CAAA;IAC1CA,SAAS,CAAC,kCAAkC,GAAG,wBAAA,CAAA;IAC/CA,SAAS,CAAC,qBAAqB,GAAG,cAAA,CAAA;IAClCA,SAAS,CAAC,oBAAoB,GAAG,YAAA,CAAA;AACrC,CAAA,EAAGA,SAAAA,KAAcA,SAAAA,GAAY,EAAC,CAAA,CAAA,CAAA;AAuB9B,MAAMC,WAAoB/C,SAAAA,SAAAA,CAAAA;AACtBnS,IAAAA,WAAAA,CAAYyH,GAAG,CAAC;QACZ,KAAK,EAAA,CAAA;AACL,QAAA,IAAI,CAAC,aAAA,CAAc,GAAG5G,MAAAA,CAAOC,GAAG,CAAC,aAAA,CAAA,CAAA;AACjC,QAAA,IAAI,CAACqU,OAAO,GAAG1N,GAAAA,CAAI0N,OAAO,CAAA;AAC1B,QAAA,IAAI,CAACC,QAAQ,GAAG3N,GAAAA,CAAI2N,QAAQ,CAAA;AAC5B,QAAA,IAAI,CAACvD,IAAI,GAAGpK,GAAAA,CAAIoK,IAAI,CAAA;QACpB,IAAI,CAACwD,MAAM,GAAG5N,GAAAA,CAAI2N,QAAQ,IAAI3N,GAAAA,CAAI2N,QAAQ,CAACC,MAAM,CAAA;QACjD,IAAI,CAACC,UAAU,GAAG7N,GAAAA,CAAI2N,QAAQ,IAAI3N,GAAAA,CAAI2N,QAAQ,CAACC,MAAM,CAAA;QACrD,IAAI,CAACE,aAAa,GAAG9N,GAAAA,CAAI2N,QAAQ,IAAI3N,GAAAA,CAAI2N,QAAQ,CAACI,UAAU,CAAA;QAC5D,IAAI,CAACA,UAAU,GAAG/N,GAAAA,CAAI2N,QAAQ,IAAI3N,GAAAA,CAAI2N,QAAQ,CAACI,UAAU,CAAA;AACzD,QAAA,IAAI,CAAC/D,OAAO,GAAGhK,GAAAA,CAAIgK,OAAO,CAAA;AAC9B,KAAA;AACJ,CAAA;AAEA,SAASgE,qBAAqBlK,KAAK,EAAA;IAC/B,IAAIA,KAAAA,CAAM+D,GAAG,EAAE;QACX,IAAI1E,MAAAA,GAASW,MAAM+D,GAAG,CAAA;QACtB,IAAI/D,KAAAA,CAAM3B,KAAK,EAAE;AACb,YAAA,MAAM8L,YAAe,GAAA,IAAIlB,eAAgBjJ,CAAAA,KAAAA,CAAM3B,KAAK,CAAA,CAAA;YACpD,MAAM+L,WAAAA,GAAcD,aAAa7B,QAAQ,EAAA,CAAA;YACzC,IAAI8B,WAAAA,CAAYvW,MAAM,GAAG,CAAG,EAAA;AACxBwL,gBAAAA,MAAAA,IAAU,CAAC,CAAC,EAAE+K,WAAAA,CAAY,CAAC,CAAA;AAC/B,aAAA;AACJ,SAAA;QACA,OAAO/K,MAAAA,CAAAA;AACX,KAAA;AACA,IAAA,OAAOW,MAAMsI,QAAQ,EAAA,CAAA;AACzB,CAAA;AACA,SAAS+B,kBAAkBC,OAAO,EAAA;IAC9B,IAAIpE,OAAAA,CAAAA;AACJ,IAAA,IAAIoE,OAAQV,CAAAA,OAAO,IAAIU,OAAAA,CAAQT,QAAQ,EAAE;QACrC3D,OAAU,GAAA,CAAC,EAAEoE,OAAQT,CAAAA,QAAQ,CAACC,MAAM,CAAC,CAAC,EAAEQ,OAAAA,CAAQT,QAAQ,CAACI,UAAU,CAAC,EAAE,EAAEC,qBAAqBI,OAAQV,CAAAA,OAAO,CAAE,CAAA,CAAC,CAAC,CAAA;KAC7G,MAAA,IAAIU,OAAQV,CAAAA,OAAO,EAAE;AACxB1D,QAAAA,OAAAA,GAAU,CAAC,EAAEgE,oBAAAA,CAAqBI,OAAQV,CAAAA,OAAO,EAAE,CAAC,CAAA;AACxD,KAAA;AACA,IAAA,IAAIU,QAAQC,KAAK,IAAID,QAAQC,KAAK,CAACrE,OAAO,EAAE;QACxCA,OAAU,GAAA,CAAC,EAAEoE,OAAAA,CAAQC,KAAK,CAACrE,OAAO,CAAC,EAAE,EAAEA,OAAQ,CAAA,CAAC,CAAC,CAAA;AACrD,KAAA;AACA,IAAA,IAAI,CAACA,OAAS,EAAA;QACVA,OAAU,GAAA,4BAAA,CAAA;AACd,KAAA;IACA,MAAMsE,OAAAA,GAAU,CAAC,CAACF,OAAQC,CAAAA,KAAK,IAAID,OAAQC,CAAAA,KAAK,CAACxT,IAAI,KAAK,YAAA,CAAA;IAC1D,IAAIuP,IAAAA,CAAAA;IACJ,IAAI,CAACgE,OAAQT,CAAAA,QAAQ,EAAE;AACnB,QAAA,IAAIW,OAAS,EAAA;AACTlE,YAAAA,IAAAA,GAAOoD,UAAUe,kBAAkB,CAAA;SAChC,MAAA;AACHnE,YAAAA,IAAAA,GAAOoD,UAAUgB,iBAAiB,CAAA;AACtC,SAAA;AACJ,KAAA;IACA,MAAMrL,MAAAA,GAAS,IAAIsK,WAAY,CAAA;AAC3B,QAAA,GAAGW,OAAO;AACVhE,QAAAA,IAAAA;AACAJ,QAAAA,OAAAA;AACJ,KAAA,CAAA,CAAA;IACA,OAAO7G,MAAAA,CAAAA;AACX,CAAA;AACA,SAASsL,cAAcJ,KAAK,EAAA;AACxB,IAAA,IAAIA,iBAAiBZ,WAAa,EAAA;QAC9B,OAAO,IAAA,CAAA;AACX,KAAA;IACA,OAAOvO,QAAAA,CAASmP,KAAUrB,CAAAA,IAAAA,sBAAAA,CAAuBqB,KAAO,EAAA,aAAA,CAAA,CAAA;AAC5D,CAAA;AA0DA,SAASK,6BAA6BhM,MAAM,EAAA;AACxC,IAAA,OAAOA,OAAOrI,IAAI;AACd,QAAA,KAAKkT,wBAAwBoB,KAAK;AAC9B,YAAA;AACI,gBAAA,MAAMC,WAAWlR,MAAOmR,CAAAA,IAAI,CAAC,CAAC,EAAEnM,MAAOoM,CAAAA,QAAQ,CAAC,CAAC,EAAEpM,MAAO5H,CAAAA,QAAQ,CAAC,CAAC,CAAA,CAAEsR,QAAQ,CAAC,QAAA,CAAA,CAAA;AAC/E,gBAAA,OAAO,CAAC,MAAM,EAAEwC,QAAAA,CAAS,CAAC,CAAA;AAC9B,aAAA;AACJ,QAAA,KAAKrB,wBAAwBwB,MAAM;AAC/B,YAAA,OAAO,CAAC,OAAO,EAAErM,MAAOsM,CAAAA,KAAK,CAAC,CAAC,CAAA;AACnC,QAAA,KAAKzB,wBAAwB0B,SAAS,CAAA;AACtC,QAAA,KAAK1B,wBAAwB2B,OAAO;YAChC,OAAO,CAAC,EAAExM,MAAAA,CAAOrI,IAAI,CAAC,CAAC,EAAEqI,MAAAA,CAAO/J,GAAG,CAAC,CAAC,CAAA;AAC7C,KAAA;IACA,OAAO,EAAA,CAAA;AACX,CAAA;AAEA;;;;;AAKC,IAAG,IAAIwW,UAAAA,CAAAA;AACP,CAAA,SAASA,UAAU,EAAA;IAChBA,UAAU,CAAC,SAAS,GAAG,QAAA,CAAA;IACvBA,UAAU,CAAC,gBAAgB,GAAG,eAAA,CAAA;IAC9BA,UAAU,CAAC,eAAe,GAAG,cAAA,CAAA;AACjC,CAAA,EAAGA,UAAAA,KAAeA,UAAAA,GAAa,EAAC,CAAA,CAAA,CAAA;AAuEhC,SAASC,+BAAAA,GAAAA;AACL,IAAA,OAAO,CAACrX,IAAMsX,EAAAA,OAAAA,GAAAA;AACV,QAAA,IAAI7C,WAAWzU,IAAO,CAAA,EAAA;YAClBsX,OAAQC,CAAAA,MAAM,CAACH,UAAAA,CAAWI,YAAY,CAAA,CAAA;AAC1C,SAAA;QACA,IAAI7C,aAAAA,CAAc3U,SAAS6U,MAAO7U,CAAAA,IAAAA,CAAAA,IAAS8U,OAAO9U,IAASyU,CAAAA,IAAAA,UAAAA,CAAWzU,IAASuU,CAAAA,IAAAA,QAAAA,CAASvU,IAAO,CAAA,EAAA;YAC3F,OAAOA,IAAAA,CAAAA;AACX,SAAA;AACA,QAAA,IAAI+U,kBAAkB/U,IAAO,CAAA,EAAA;AACzBsX,YAAAA,OAAAA,CAAQG,GAAG,CAACL,UAAWI,CAAAA,YAAY,EAAE,iDAAA,CAAA,CAAA;YACrC,OAAOxX,IAAAA,CAAAA;AACX,SAAA;AACA,QAAA,MAAM0X,cAAcJ,OAAQK,CAAAA,GAAG,CAACP,UAAAA,CAAWI,YAAY,CAAK,IAAA,EAAA,CAAA;AAC5D,QAAA,MAAMI,iBAAoBF,GAAAA,WAAAA,CAAYG,OAAO,CAAC,wBAAwB,CAAC,CAAA,CAAA;QACvE,IAAI3C,kBAAAA,CAAmBlV,SAAS4X,iBAAmB,EAAA;AAC/C5X,YAAAA,IAAAA,GAAO,OAAOA,IAAS,KAAA,QAAA,GAAWA,IAAO6M,GAAAA,IAAAA,CAAKC,SAAS,CAAC9M,IAAAA,CAAAA,CAAAA;AACxD,YAAA,IAAI,CAACsX,OAAQQ,CAAAA,GAAG,CAACV,UAAAA,CAAWI,YAAY,CAAG,EAAA;AACvCF,gBAAAA,OAAAA,CAAQG,GAAG,CAACL,UAAWI,CAAAA,YAAY,EAAE,kBAAA,CAAA,CAAA;AACzC,aAAA;AACA,YAAA,IAAI,CAACF,OAAQQ,CAAAA,GAAG,CAACV,UAAAA,CAAWW,MAAM,CAAG,EAAA;AACjCT,gBAAAA,OAAAA,CAAQG,GAAG,CAACL,UAAWW,CAAAA,MAAM,EAAE,kBAAA,CAAA,CAAA;AACnC,aAAA;AACJ,SAAA;QACA,OAAO/X,IAAAA,CAAAA;AACX,KAAA,CAAA;AACJ,CAAA;AAEA,SAASgY,iCAAiCjY,OAAO,EAAA;IAC7C,IAAI,CAACA,OAAQkY,CAAAA,SAAS,EAAE;AACpBlY,QAAAA,OAAAA,CAAQkY,SAAS,GAAG;AAChBZ,YAAAA,+BAAAA,EAAAA;AACH,SAAA,CAAA;AACL,KAAA;IACA,OAAOtX,OAAAA,CAAAA;AACX,CAAA;AAEA,SAASmY,yBAAAA,CAA0BC,SAAS,KAAK,EAAA;AAC7CA,IAAAA,MAAAA,GAASA,OAAOC,WAAW,EAAA,CAAA;IAC3B,OAAOD,MAAAA,KAAWjE,UAAWmE,CAAAA,KAAK,IAAIF,MAAAA,KAAWjE,WAAWoE,IAAI,IAAIH,MAAWjE,KAAAA,UAAAA,CAAWqE,GAAG,CAAA;AACjG,CAAA;AAEA,SAASC,iBAAiBzM,KAAK,EAAA;IAC3B,IAAI,CAAC5E,SAAS4E,KAAQ,CAAA,EAAA;QAClB,OAAO,KAAA,CAAA;AACX,KAAA;IACA,OAAOA,KAAAA,CAAM+D,GAAG,KAAK,QAAA,CAAA;AACzB,CAAA;AAEA,SAAS2I,WAAW1M,KAAK,EAAA;IACrB,IAAI,CAAC5E,SAAS4E,KAAQ,CAAA,EAAA;QAClB,OAAO,KAAA,CAAA;AACX,KAAA;IACA,OAAO,OAAOA,MAAMuL,OAAO,KAAK,eAAe,OAAOvL,KAAAA,CAAM2M,EAAE,KAAK,SAAA,CAAA;AACvE,CAAA;AAEA,MAAMC,UAAa,GAAA,mDAAA,CAAA;AACnB,SAASC,mBAAmB7M,KAAK,EAAA;AAC7B,IAAA,IAAI,OAAOA,KAAU,KAAA,QAAA,IAAYA,KAAMnM,CAAAA,MAAM,KAAK,CAAG,EAAA;AACjD,QAAA,OAAOqU,aAAa4E,MAAM,CAAA;AAC9B,KAAA;AACA,IAAA,MAAMnB,cAAc3L,KAAM0B,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKqL,KAAK,EAAM,IAAA,EAAA,CAAA;IAChD,IAAIH,UAAAA,CAAW/J,IAAI,CAAC8I,WAAc,CAAA,EAAA;AAC9B,QAAA,OAAOzD,aAAapH,IAAI,CAAA;AAC5B,KAAA;AACA,IAAA,MAAMkM,SAAY,GAAA;AACd,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA,mBAAA;AACA,QAAA,kBAAA;AACH,KAAA,CAAA;IACD,IAAIA,SAAAA,CAAUlB,OAAO,CAACH,WAAAA,CAAAA,KAAiB,CAAC,CAAKA,IAAAA,WAAAA,CAAYpI,UAAU,CAAC,OAAU,CAAA,EAAA;AAC1E,QAAA,OAAO2E,aAAa+E,IAAI,CAAA;AAC5B,KAAA;AACA,IAAA,OAAO/E,aAAapH,IAAI,CAAA;AAC5B,CAAA;AAEA,MAAMoM,WAAAA,CAAAA;IACFC,WAAYpW,CAAAA,IAAI,EAAEiP,EAAE,EAAE;QAClB,IAAI,CAACvS,KAAK,CAACsD,IAAK,CAAA,GAAG,IAAI,CAACtD,KAAK,CAACsD,IAAK,CAAA,IAAI,EAAE,CAAA;AACzC,QAAA,IAAI,CAACtD,KAAK,CAACsD,IAAK,CAAA,CAACmG,IAAI,CAAC8I,EAAAA,CAAAA,CAAAA;AACtB,QAAA,OAAO,IAAI,CAACvS,KAAK,CAACsD,IAAK,CAAA,CAAClD,MAAM,GAAG,CAAA,CAAA;AACrC,KAAA;IACAuZ,cAAerW,CAAAA,IAAI,EAAEiP,EAAE,EAAE;AACrB,QAAA,IAAI,CAAC,IAAI,CAACvS,KAAK,CAACsD,KAAK,EAAE;AACnB,YAAA,OAAA;AACJ,SAAA;QACA,IAAI,OAAOiP,OAAO,QAAU,EAAA;AACxB,YAAA,IAAI,CAACvS,KAAK,CAACsD,IAAK,CAAA,CAACiP,GAAG,GAAGxR,SAAAA,CAAAA;AACvB,YAAA,OAAA;AACJ,SAAA;QACA,MAAMgL,KAAAA,GAAQ,IAAI,CAAC/L,KAAK,CAACsD,IAAK,CAAA,CAAC+U,OAAO,CAAC9F,EAAAA,CAAAA,CAAAA;QACvC,IAAIxG,KAAAA,KAAU,CAAC,CAAG,EAAA;AACd,YAAA,IAAI,CAAC/L,KAAK,CAACsD,IAAK,CAAA,CAACyI,MAAM,GAAGhL,SAAAA,CAAAA;AAC9B,SAAA;AACJ,KAAA;AACA6Y,IAAAA,eAAAA,CAAgBtW,IAAI,EAAE;AAClB,QAAA,OAAO,IAAI,CAACtD,KAAK,CAACsD,IAAK,CAAA,CAAA;AAC3B,KAAA;IACA,MAAMuW,cAAAA,CAAetN,KAAK,EAAE;QACxB,MAAMvM,KAAAA,GAAQ,IAAI,CAACA,KAAK,CAAC2U,QAASmF,CAAAA,OAAO,CAAC,IAAI,EAAE,CAAA;AAChD,QAAA,IAAIC,IAAOxN,GAAAA,KAAAA,CAAAA;AACX,QAAA,IAAI,IAAIpM,CAAI,GAAA,CAAA,EAAGA,IAAIH,KAAMI,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;YACjC,MAAM6Z,IAAAA,GAAOha,KAAK,CAACG,CAAE,CAAA,CAAA;AACrB,YAAA,IAAI,CAAC6Z,IAAM,EAAA;AACP,gBAAA,SAAA;AACJ,aAAA;AACA,YAAA,IAAIpO,SAASoO,IAAKD,CAAAA,IAAAA,CAAAA,CAAAA;AAClB,YAAA,IAAInE,UAAUhK,MAAS,CAAA,EAAA;AACnBA,gBAAAA,MAAAA,GAAS,MAAMA,MAAAA,CAAAA;AACnB,aAAA;AACA,YAAA,IAAIoN,iBAAiBpN,MAAS,CAAA,EAAA;gBAC1BmO,IAAOnO,GAAAA,MAAAA,CAAAA;AACX,aAAA;AACJ,SAAA;QACA,OAAOmO,IAAAA,CAAAA;AACX,KAAA;IACA,MAAME,cAAAA,CAAe1N,KAAK,EAAE;QACxB,MAAMvM,KAAAA,GAAQ,IAAI,CAACA,KAAK,CAAC2U,QAASuF,CAAAA,QAAQ,CAAC,IAAI,EAAE,CAAA;AACjD,QAAA,IAAIH,IAAOxN,GAAAA,KAAAA,CAAAA;AACX,QAAA,IAAI,IAAIpM,CAAI,GAAA,CAAA,EAAGA,IAAIH,KAAMI,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;YACjC,MAAM6Z,IAAAA,GAAOha,KAAK,CAACG,CAAE,CAAA,CAAA;AACrB,YAAA,IAAI,CAAC6Z,IAAM,EAAA;AACP,gBAAA,SAAA;AACJ,aAAA;AACA,YAAA,IAAIpO,SAASoO,IAAKD,CAAAA,IAAAA,CAAAA,CAAAA;AAClB,YAAA,IAAInE,UAAUhK,MAAS,CAAA,EAAA;AACnBA,gBAAAA,MAAAA,GAAS,MAAMA,MAAAA,CAAAA;AACnB,aAAA;AACA,YAAA,IAAIqN,WAAWrN,MAAS,CAAA,EAAA;gBACpBmO,IAAOnO,GAAAA,MAAAA,CAAAA;AACX,aAAA;AACJ,SAAA;QACA,OAAOmO,IAAAA,CAAAA;AACX,KAAA;AACA,IAAA,MAAMI,gBAAiB7W,CAAAA,IAAI,EAAEiJ,KAAK,EAAE;AAChC,QAAA,MAAMvM,QAAQ,IAAI,CAACA,KAAK,CAACsD,IAAAA,CAAK,IAAI,EAAE,CAAA;AACpC,QAAA,IAAIyW,IAAOxN,GAAAA,KAAAA,CAAAA;AACX,QAAA,IAAI,IAAIpM,CAAI,GAAA,CAAA,EAAGA,IAAIH,KAAMI,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;YACjC,MAAM6Z,IAAAA,GAAOha,KAAK,CAACG,CAAE,CAAA,CAAA;AACrB,YAAA,IAAI,CAAC6Z,IAAM,EAAA;AACP,gBAAA,SAAA;AACJ,aAAA;YACA,IAAI;AACA,gBAAA,IAAIpO,SAASoO,IAAKD,CAAAA,IAAAA,CAAAA,CAAAA;AAClB,gBAAA,IAAInE,UAAUhK,MAAS,CAAA,EAAA;AACnBA,oBAAAA,MAAAA,GAAS,MAAMA,MAAAA,CAAAA;AACnB,iBAAA;gBACA,IAAIqN,UAAAA,CAAWrN,MAAWoN,CAAAA,IAAAA,gBAAAA,CAAiBpN,MAAS,CAAA,EAAA;oBAChD,OAAOA,MAAAA,CAAAA;AACX,iBAAA;AACJ,aAAA,CAAE,OAAOtH,CAAG,EAAA;gBACRyV,IAAOzV,GAAAA,CAAAA,CAAAA;AACX,aAAA;AACJ,SAAA;QACA,MAAMyV,IAAAA,CAAAA;AACV,KAAA;IACA/Y,WAAa,EAAA;QACT,IAAI,CAAChB,KAAK,GAAG,EAAC,CAAA;AAClB,KAAA;AACJ,CAAA;eAEA,MAAMoa,MAAAA,CAAAA;;AAEF;;;;AAIC,QAAGC,UAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC3Y,QAAQ,CAAC4Y,OAAO,CAAA;AAChC,KAAA;AACA;;;;QAIIC,UAAAA,CAAWjK,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC5O,QAAQ,CAAC4Y,OAAO,GAAGhK,GAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;;AAEA;;;;;AAKC,QAAGkK,SAAUpZ,CAAAA,GAAG,EAAEqC,KAAK,EAAE;AACtB,QAAA,IAAI,CAACqU,OAAO,CAACG,GAAG,CAAC7W,GAAKqC,EAAAA,KAAAA,CAAAA,CAAAA;AACtB,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;AACA;;;;QAIIgX,SAAAA,CAAUrZ,GAAG,EAAE;AACf,QAAA,OAAO,IAAI,CAAC0W,OAAO,CAACK,GAAG,CAAC/W,GAAAA,CAAAA,CAAAA;AAC5B,KAAA;AACA;;;;QAIIsZ,WAAAA,CAAYtZ,GAAG,EAAE;AACjB,QAAA,IAAI,IAAI,CAAC0W,OAAO,CAACQ,GAAG,CAAClX,GAAM,CAAA,EAAA;AACvB,YAAA,IAAI,CAAC0W,OAAO,CAACC,MAAM,CAAC3W,GAAAA,CAAAA,CAAAA;AACxB,SAAA;AACA,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;AACA;;AAEC,QAAGuZ,YAAe,GAAA;AACf,QAAA,IAAI,CAAC7C,OAAO,CAAC8C,OAAO,CAAC,CAACtM,MAAQlN,EAAAA,GAAAA,GAAAA;AAC1B,YAAA,IAAI,CAAC0W,OAAO,CAACC,MAAM,CAAC3W,GAAAA,CAAAA,CAAAA;AACxB,SAAA,CAAA,CAAA;AACA,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;;AAEA;;;;QAIIyZ,sBAAAA,CAAuBta,OAAO,EAAE;AAChC,QAAA,IAAI,CAACia,SAAS,CAAC5C,UAAWkD,CAAAA,aAAa,EAAE3D,4BAA6B5W,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA;AACtE,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;AACA;;AAEC,QAAGwa,sBAAyB,GAAA;AACzB,QAAA,MAAM5P,SAAS,IAAI,CAACsP,SAAS,CAAC7C,WAAWkD,aAAa,CAAA,CAAA;AACtD,QAAA,IAAI3P,WAAW,IAAM,EAAA;YACjB,OAAOA,MAAAA,CAAAA;AACX,SAAA;QACA,OAAOpK,SAAAA,CAAAA;AACX,KAAA;AACA;;AAEC,QAAGia,wBAA2B,GAAA;AAC3B,QAAA,IAAI,CAACN,WAAW,CAAC9C,UAAAA,CAAWkD,aAAa,CAAA,CAAA;AACzC,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;;AAEA;;;;QAII,MAAM3E,OAAQ8E,CAAAA,MAAM,EAAE;AACtB,QAAA,MAAMnD,OAAU,GAAA,IAAI5F,OAAQ+I,CAAAA,MAAAA,CAAOnD,OAAO,CAAA,CAAA;AAC1C,QAAA,IAAI,CAACA,OAAO,CAAC8C,OAAO,CAAC,CAACnX,KAAOrC,EAAAA,GAAAA,GAAAA;AACzB,YAAA,IAAI,CAAC0W,OAAAA,CAAQQ,GAAG,CAAClX,GAAM,CAAA,EAAA;gBACnB0W,OAAQG,CAAAA,GAAG,CAAC7W,GAAKqC,EAAAA,KAAAA,CAAAA,CAAAA;AACrB,aAAA;AACJ,SAAA,CAAA,CAAA;QACA,MAAM6W,OAAAA,GAAUW,OAAOX,OAAO,IAAI,IAAI,CAAC5Y,QAAQ,CAAC4Y,OAAO,CAAA;AACvD,QAAA,IAAI/Z,OAAU,GAAA;YACV,GAAG,IAAI,CAACmB,QAAQ;AAChB,YAAA,GAAGuZ,MAAM;AACTnD,YAAAA,OAAAA;AACAxH,YAAAA,GAAAA,EAAKgK,UAAU5K,QAASuL,CAAAA,MAAAA,CAAO3K,GAAG,EAAEgK,OAAAA,CAAAA,GAAWW,OAAO3K,GAAG;AAC7D,SAAA,CAAA;AACA,QAAA,IAAI/P,OAAQqK,CAAAA,KAAK,IAAIrK,OAAAA,CAAQ2a,MAAM,EAAE;AACjC3a,YAAAA,OAAAA,CAAQ+P,GAAG,GAAGN,SAAUzP,CAAAA,OAAAA,CAAQ+P,GAAG,EAAE;AACjC,gBAAA,GAAG/P,QAAQ2a,MAAM;AACjB,gBAAA,GAAG3a,QAAQqK,KAAK;AACpB,aAAA,CAAA,CAAA;AACJ,SAAA;AACArK,QAAAA,OAAAA,GAAU,MAAM,IAAI,CAAC4a,WAAW,CAACtB,cAAc,CAACtZ,OAAAA,CAAAA,CAAAA;QAChD,IAAIA,OAAAA,CAAQkY,SAAS,EAAE;YACnB,MAAM2C,YAAAA,GAAevT,MAAMC,OAAO,CAACvH,QAAQkY,SAAS,CAAA,GAAIlY,OAAQkY,CAAAA,SAAS,GAAG;AACxElY,gBAAAA,OAAAA,CAAQkY,SAAS;AACpB,aAAA,CAAA;AACD,YAAA,IAAI,IAAItY,CAAI,GAAA,CAAA,EAAGA,IAAIib,YAAahb,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;gBACxC,MAAMkb,WAAAA,GAAcD,YAAY,CAACjb,CAAE,CAAA,CAAA;AACnCI,gBAAAA,OAAAA,CAAQ6K,IAAI,GAAGiQ,WAAAA,CAAY9a,QAAQ6K,IAAI,EAAE7K,QAAQuX,OAAO,CAAA,CAAA;AAC5D,aAAA;AACJ,SAAA;QACA,MAAMwD,WAAAA,GAAc,OAAOtU,IAAMyB,EAAAA,GAAAA,GAAAA;AAC7B,YAAA,MAAMqO,QAAQF,iBAAkBnO,CAAAA,GAAAA,CAAAA,CAAAA;YAChC,IAAIlE,KAAAA,CAAMiP,iBAAiB,EAAE;AACzBjP,gBAAAA,KAAAA,CAAMiP,iBAAiB,CAACsD,KAAAA,CAAAA,CAAAA;AAC5B,aAAA;YACA,IAAIlL,MAAAA,CAAAA;AACJ,YAAA,IAAI5E,SAAS,SAAW,EAAA;gBACpB4E,MAAS,GAAA,MAAM,IAAI,CAACuP,WAAW,CAAChB,gBAAgB,CAACxF,QAAS4G,CAAAA,aAAa,EAAEzE,KAAAA,CAAAA,CAAAA;aACtE,MAAA;gBACHlL,MAAS,GAAA,MAAM,IAAI,CAACuP,WAAW,CAAChB,gBAAgB,CAACxF,QAAS6G,CAAAA,cAAc,EAAE1E,KAAAA,CAAAA,CAAAA;AAC9E,aAAA;AACA,YAAA,IAAIlL,MAAQ,EAAA;AACR,gBAAA,IAAIqN,WAAWrN,MAAS,CAAA,EAAA;oBACpB,OAAOA,MAAAA,CAAAA;AACX,iBAAA;gBACA,OAAO,IAAI,CAACuK,OAAO,CAACvK,MAAAA,CAAAA,CAAAA;AACxB,aAAA;YACA,MAAMkL,KAAAA,CAAAA;AACV,SAAA,CAAA;QACA,IAAIV,QAAAA,CAAAA;QACJ,IAAI;AACA,YAAA,IAAI,CAACsC,yBAAAA,CAA0BnY,OAAQoY,CAAAA,MAAM,CAAG,EAAA;AAC5C,gBAAA,OAAOpY,QAAQ6K,IAAI,CAAA;AACvB,aAAA;AACA,YAAA,MAAM,EAAEkF,GAAG,EAAEmL,KAAK,EAAE,GAAGjb,MAAM,GAAGD,OAAAA,CAAAA;AAChC,YAAA,IAAIkb,UAAU,KAAO,EAAA;gBACjBrF,QAAW,GAAA,MAAM/D,MAAM/B,GAAK9P,EAAAA,IAAAA,CAAAA,CAAAA;aACzB,MAAA;gBACH,IAAIkb,YAAAA,CAAAA;AACJ,gBAAA,IAAI,OAAOD,KAAAA,KAAU,SAAa,IAAA,OAAOA,UAAU,WAAa,EAAA;oBAC5DC,YAAeD,GAAAA,KAAAA,CAAAA;AACnB,iBAAA;gBACArF,QAAW,GAAA,MAAM/D,MAAM/B,GAAK,EAAA;AACxB,oBAAA,GAAG9P,IAAI;AACP,oBAAA,GAAGwR,EAAE0J,YAAa,CAAA;AACtB,iBAAA,CAAA,CAAA;AACJ,aAAA;AACJ,SAAA,CAAE,OAAO5E,KAAO,EAAA;AACZ,YAAA,OAAOwE,YAAY,SAAW,EAAA;gBAC1BnF,OAAS5V,EAAAA,OAAAA;AACT,gBAAA,GAAGuW,iBAAiBvS,KAAQ,GAAA;AACxBuS,oBAAAA,KAAAA;AACJ,iBAAA,GAAI,EAAE;AACV,aAAA,CAAA,CAAA;AACJ,SAAA;QACA,MAAM6E,YAAAA,GAAepb,OAAQob,CAAAA,YAAY,IAAIvC,kBAAAA,CAAmBhD,QAAS0B,CAAAA,OAAO,CAACK,GAAG,CAACP,UAAAA,CAAWI,YAAY,CAAA,CAAA,CAAA;QAC5G,IAAIxX,IAAAA,CAAAA;QACJ,OAAOmb,YAAAA;AACH,YAAA,KAAKlH,aAAa4E,MAAM;AACpB,gBAAA;AACI7Y,oBAAAA,IAAAA,GAAO4V,SAAShL,IAAI,CAAA;AACpB,oBAAA,MAAA;AACJ,iBAAA;AACJ,YAAA,KAAKqJ,aAAamH,IAAI;AAClB,gBAAA;oBACIpb,IAAO,GAAA,MAAM4V,SAASyF,IAAI,EAAA,CAAA;AAC1B,oBAAA,MAAA;AACJ,iBAAA;AACJ,YAAA,KAAKpH,aAAaqH,YAAY;AAC1B,gBAAA;oBACItb,IAAO,GAAA,MAAM4V,SAAS2F,WAAW,EAAA,CAAA;AACjC,oBAAA,MAAA;AACJ,iBAAA;AACJ,YAAA,KAAKtH,aAAa+E,IAAI;AAClB,gBAAA;oBACIhZ,IAAO,GAAA,MAAM4V,SAASxM,IAAI,EAAA,CAAA;AAC1B,oBAAA,MAAA;AACJ,iBAAA;AACJ,YAAA;AACI,gBAAA;oBACI,MAAMmQ,IAAAA,GAAO,MAAM3D,QAAAA,CAASxM,IAAI,EAAA,CAAA;oBAChC,IAAI;wBACApJ,IAAO6M,GAAAA,IAAAA,CAAK2O,KAAK,CAACjC,IAAAA,CAAAA,CAAAA;AACtB,qBAAA,CAAE,OAAOzV,CAAG,EAAA;wBACR9D,IAAOuZ,GAAAA,IAAAA,CAAAA;AACX,qBAAA;AACJ,iBAAA;AACR,SAAA;QACA7Z,MAAOkT,CAAAA,cAAc,CAACgD,QAAAA,EAAU,MAAQ,EAAA;AACpC+B,YAAAA,GAAAA,CAAAA,GAAAA;gBACI,OAAO3X,IAAAA,CAAAA;AACX,aAAA;AACAyX,YAAAA,GAAAA,CAAAA,CAAKxU,KAAK,EAAA;gBACNjD,IAAOiD,GAAAA,KAAAA,CAAAA;AACX,aAAA;AACJ,SAAA,CAAA,CAAA;AACA,QAAA,IAAI2S,SAASC,MAAM,IAAI,OAAOD,QAASC,CAAAA,MAAM,GAAG,GAAK,EAAA;AACjD,YAAA,OAAOiF,YAAY,UAAY,EAAA;AAC3BlF,gBAAAA,QAAAA;gBACAD,OAAS5V,EAAAA,OAAAA;AACb,aAAA,CAAA,CAAA;AACJ,SAAA;AACA,QAAA,OAAO,MAAM,IAAI,CAAC4a,WAAW,CAAClB,cAAc,CAAC7D,QAAAA,CAAAA,CAAAA;AACjD,KAAA;;AAEA;;;;;AAKC,QAAG+B,GAAI7H,CAAAA,GAAG,EAAE2K,MAAM,EAAE;QACjB,OAAO,IAAI,CAAC9E,OAAO,CAAC;YAChB,GAAG8E,MAAAA,IAAU,EAAE;AACftC,YAAAA,MAAAA,EAAQjE,WAAWuH,GAAG;AACtB3L,YAAAA,GAAAA;AACJ,SAAA,CAAA,CAAA;AACJ,KAAA;;AAEA;;;;;AAKC,QAAGyH,MAAOzH,CAAAA,GAAG,EAAE2K,MAAM,EAAE;QACpB,OAAO,IAAI,CAAC9E,OAAO,CAAC;YAChB,GAAG8E,MAAAA,IAAU,EAAE;AACftC,YAAAA,MAAAA,EAAQjE,WAAWwH,MAAM;AACzB5L,YAAAA,GAAAA;AACJ,SAAA,CAAA,CAAA;AACJ,KAAA;;AAEA;;;;;AAKC,QAAG6L,IAAK7L,CAAAA,GAAG,EAAE2K,MAAM,EAAE;QAClB,OAAO,IAAI,CAAC9E,OAAO,CAAC;YAChB,GAAG8E,MAAAA,IAAU,EAAE;AACftC,YAAAA,MAAAA,EAAQjE,WAAW0H,IAAI;AACvB9L,YAAAA,GAAAA;AACJ,SAAA,CAAA,CAAA;AACJ,KAAA;;AAEA;;;;;;AAMC,QAAG+L,KAAK/L,GAAG,EAAElF,IAAI,EAAE6P,MAAM,EAAE;QACxB,OAAO,IAAI,CAAC9E,OAAO,CAAC;YAChB,GAAG8E,MAAAA,IAAU,EAAE;AACftC,YAAAA,MAAAA,EAAQjE,WAAWoE,IAAI;AACvBxI,YAAAA,GAAAA;AACAlF,YAAAA,IAAAA;AACJ,SAAA,CAAA,CAAA;AACJ,KAAA;;AAEA;;;;;;AAMC,QAAGkR,IAAIhM,GAAG,EAAElF,IAAI,EAAE6P,MAAM,EAAE;QACvB,OAAO,IAAI,CAAC9E,OAAO,CAAC;YAChB,GAAG8E,MAAAA,IAAU,EAAE;AACftC,YAAAA,MAAAA,EAAQjE,WAAWqE,GAAG;AACtBzI,YAAAA,GAAAA;AACAlF,YAAAA,IAAAA;AACJ,SAAA,CAAA,CAAA;AACJ,KAAA;;AAEA;;;;;;AAMC,QAAGmR,MAAMjM,GAAG,EAAElF,IAAI,EAAE6P,MAAM,EAAE;QACzB,OAAO,IAAI,CAAC9E,OAAO,CAAC;YAChB,GAAG8E,MAAAA,IAAU,EAAE;AACftC,YAAAA,MAAAA,EAAQjE,WAAWmE,KAAK;AACxBvI,YAAAA,GAAAA;AACAlF,YAAAA,IAAAA;AACJ,SAAA,CAAA,CAAA;AACJ,KAAA;IACAoR,EAAGlZ,CAAAA,IAAI,EAAEiP,EAAE,EAAE;AACT,QAAA,OAAO,IAAI,CAAC4I,WAAW,CAACzB,WAAW,CAACpW,IAAMiP,EAAAA,EAAAA,CAAAA,CAAAA;AAC9C,KAAA;AACA;;;;;AAKC,QAAGkK,GAAInZ,CAAAA,IAAI,EAAEiP,EAAE,EAAE;QACd,IAAI,OAAOA,OAAO,WAAa,EAAA;AAC3B,YAAA,IAAI,CAAC4I,WAAW,CAACvB,eAAe,CAACtW,IAAAA,CAAAA,CAAAA;AACjC,YAAA,OAAO,IAAI,CAAA;AACf,SAAA;AACA,QAAA,IAAI,CAAC6X,WAAW,CAACxB,cAAc,CAACrW,IAAMiP,EAAAA,EAAAA,CAAAA,CAAAA;AACtC,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;;IAEAvR,WAAYuL,CAAAA,KAAAA,GAAQ,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,aAAA,CAAc,GAAG1K,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA,CAAA;AACjC,QAAA,IAAI,CAACJ,QAAQ,GAAG8W,gCAAAA,CAAiCjM,SAAS,EAAC,CAAA,CAAA;QAC3D,IAAI,CAACuL,OAAO,GAAG,IAAI5F,QAAQ,IAAI,CAACxQ,QAAQ,CAACoW,OAAO,CAAA,CAAA;QAChD,IAAI,CAACqD,WAAW,GAAG,IAAI1B,WAAAA,EAAAA,CAAAA;AAC3B,KAAA;AACJ,EAAA;AA0BA,SAASiD,aAAanQ,KAAK,EAAA;AACvB,IAAA,OAAO,IAAI6N,QAAO7N,CAAAA,KAAAA,CAAAA,CAAAA;AACtB,CAAA;AACA,SAASoQ,SAASpQ,KAAK,EAAA;AACnB,IAAA,IAAIA,iBAAiB6N,QAAQ,EAAA;QACzB,OAAO,IAAA,CAAA;AACX,KAAA;AACA,IAAA,OAAO3E,uBAAuBlJ,KAAO,EAAA,QAAA,CAAA,CAAA;AACzC,CAAA;AAEemQ,YAAAA;;ACp7Bf;;;;;AAKC,IAAG,SAASE,kBAAmBrV,CAAAA,GAAG,EAAEnG,GAAG,EAAEqC,KAAK,EAAA;AAC3C,IAAA,IAAIrC,OAAOmG,GAAK,EAAA;QACZrH,MAAOkT,CAAAA,cAAc,CAAC7L,GAAAA,EAAKnG,GAAK,EAAA;YAC5BqC,KAAOA,EAAAA,KAAAA;YACP6P,UAAY,EAAA,IAAA;YACZD,YAAc,EAAA,IAAA;YACdE,QAAU,EAAA,IAAA;AACd,SAAA,CAAA,CAAA;KACG,MAAA;QACHhM,GAAG,CAACnG,IAAI,GAAGqC,KAAAA,CAAAA;AACf,KAAA;IACA,OAAO8D,GAAAA,CAAAA;AACX,CAAA;AACA,MAAMsV,OAAAA,CAAAA;;AAEFC,IAAAA,SAAAA,CAAUvQ,KAAK,EAAE;AACb,QAAA,IAAI,CAACwQ,MAAM,GAAGJ,QAASpQ,CAAAA,KAAAA,CAAAA,GAASA,QAAQmQ,YAAanQ,CAAAA,KAAAA,CAAAA,CAAAA;AACzD,KAAA;;AAEAvL,IAAAA,WAAAA,CAAY6V,OAAO,CAAC;QAChB+F,kBAAmB,CAAA,IAAI,EAAE,QAAA,EAAU,KAAK,CAAA,CAAA,CAAA;AACxC/F,QAAAA,OAAAA,GAAUA,WAAW,EAAC,CAAA;AACtB,QAAA,IAAI,CAACiG,SAAS,CAACjG,OAAAA,CAAQkG,MAAM,CAAA,CAAA;AACjC,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASC,oBAAAA,CAAqBC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASI,sBAAsBlL,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBuZ,gBAAAA,oBAAAA,CAAqBC,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfZ,gBAAAA,oBAAAA,CAAqBC,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAM8c,mBAA4BhB,SAAAA,OAAAA,CAAAA;AAC9BiB,IAAAA,OAAAA,CAAQtd,IAAI,EAAE;AACV,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAON,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMrH,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,mBAAmB,EAAE6F,gBAAWxd,CAAAA,IAAAA,CAAAA,CAAM,CAAC,CAAA,CAAA;AAChF,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAyd,IAAAA,MAAAA,CAAO9W,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAON,qBAAsB,CAAA,YAAA;YACzB,MAAMrH,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,oBAAoB,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AACtE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAON,qBAAsB,CAAA,YAAA;YACzB,MAAMrH,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,oBAAoB,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AACtE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAAS0d,oBAAAA,CAAqBjB,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASc,sBAAsB5L,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBya,gBAAAA,oBAAAA,CAAqBjB,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfM,gBAAAA,oBAAAA,CAAqBjB,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,SAASqd,kBAAmB7W,CAAAA,GAAG,EAAEnG,GAAG,EAAEqC,KAAK,EAAA;AACvC,IAAA,IAAIrC,OAAOmG,GAAK,EAAA;QACZrH,MAAOkT,CAAAA,cAAc,CAAC7L,GAAAA,EAAKnG,GAAK,EAAA;YAC5BqC,KAAOA,EAAAA,KAAAA;YACP6P,UAAY,EAAA,IAAA;YACZD,YAAc,EAAA,IAAA;YACdE,QAAU,EAAA,IAAA;AACd,SAAA,CAAA,CAAA;KACG,MAAA;QACHhM,GAAG,CAACnG,IAAI,GAAGqC,KAAAA,CAAAA;AACf,KAAA;IACA,OAAO8D,GAAAA,CAAAA;AACX,CAAA;AACA,SAAS8W,iBAAiBC,MAAM,EAAA;AAC5B,IAAA,IAAI,IAAIne,CAAI,GAAA,CAAA,EAAGA,IAAIud,SAAUtd,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;QACrC,IAAIoe,MAAAA,GAASb,SAAS,CAACvd,CAAE,CAAA,IAAI,OAAOud,SAAS,CAACvd,CAAE,CAAA,GAAG,EAAC,CAAA;QACpD,IAAIqe,OAAAA,GAAUte,MAAOD,CAAAA,IAAI,CAACse,MAAAA,CAAAA,CAAAA;AAC1B,QAAA,IAAI,OAAOre,MAAAA,CAAOue,qBAAqB,KAAK,UAAY,EAAA;YACpDD,OAAUA,GAAAA,OAAAA,CAAQE,MAAM,CAACxe,MAAOue,CAAAA,qBAAqB,CAACF,MAAQ9P,CAAAA,CAAAA,MAAM,CAAC,SAASkQ,GAAG,EAAA;AAC7E,gBAAA,OAAOze,MAAO0e,CAAAA,wBAAwB,CAACL,MAAAA,EAAQI,KAAKrL,UAAU,CAAA;AAClE,aAAA,CAAA,CAAA,CAAA;AACJ,SAAA;QACAkL,OAAQ5D,CAAAA,OAAO,CAAC,SAASxZ,GAAG,EAAA;AACxBgd,YAAAA,kBAAAA,CAAmBE,MAAQld,EAAAA,GAAAA,EAAKmd,MAAM,CAACnd,GAAI,CAAA,CAAA,CAAA;AAC/C,SAAA,CAAA,CAAA;AACJ,KAAA;IACA,OAAOkd,MAAAA,CAAAA;AACX,CAAA;AACA,MAAMO,cAAuBhC,SAAAA,OAAAA,CAAAA;AACzBiB,IAAAA,OAAAA,CAAQtd,IAAI,EAAE;AACV,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOI,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/H,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,aAAa,EAAE6F,gBAAWxd,CAAAA,IAAAA,CAAAA,CAAM,CAAC,CAAA,CAAA;AAC1E,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAyd,MAAO9W,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOI,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/H,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,cAAc,EAAEhR,EAAAA,CAAG,EAAE6W,gBAAAA,CAAWxd,MAAM,CAAC,CAAA,CAAA;AAChF,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOI,qBAAsB,CAAA,YAAA;YACzB,MAAM/H,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,cAAc,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AAChE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAse,IAAAA,UAAAA,CAAWC,OAAO,EAAEve,IAAO,GAAA,EAAE,EAAE;AAC3B,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOI,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMa,aAAaX,gBAAiB,CAAA;AAChCU,gBAAAA,OAAAA;aACDve,EAAAA,IAAAA,CAAAA,CAAAA;YACH,MAAM,EAAEA,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAACV,IAAI,CAAC,uBAAyB2C,EAAAA,UAAAA,CAAAA,CAAAA;YAC5E,OAAO5I,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA,SAAS6I,6BAA6Bze,IAAI,EAAA;IACtC,MAAMP,IAAAA,GAAOC,MAAOD,CAAAA,IAAI,CAACO,IAAAA,CAAAA,CAAAA;AACzB,IAAA,IAAI,IAAIL,CAAI,GAAA,CAAA,EAAGA,IAAIF,IAAKG,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;AAChC,QAAA,IAAIK,IAAI,CAACP,IAAI,CAACE,CAAE,CAAA,CAAC,KAAK,EAAI,EAAA;AACtBK,YAAAA,IAAI,CAACP,IAAI,CAACE,CAAAA,CAAE,CAAC,GAAG,IAAA,CAAA;AACpB,SAAA;AACJ,KAAA;IACA,OAAOK,IAAAA,CAAAA;AACX,CAAA;AAEA;;;;;AAKC,IAAG,SAAS0e,oBAAAA,CAAqBjC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAAS8B,sBAAsB5M,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChByb,gBAAAA,oBAAAA,CAAqBjC,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfsB,gBAAAA,oBAAAA,CAAqBjC,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAMqe,UAAmBvC,SAAAA,OAAAA,CAAAA;AACrBiB,IAAAA,OAAAA,CAAQuB,MAAM,EAAE;AACZ,QAAA,IAAItB,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoB,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/I,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,QAAQ,EAAE6F,gBAAWqB,CAAAA,MAAAA,CAAAA,CAAQ,CAAC,CAAA,CAAA;AACvE,YAAA,OAAOjJ,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAyd,MAAO9W,CAAAA,EAAE,EAAEmY,aAAa,EAAE;AACtB,QAAA,IAAIvB,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoB,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/I,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,SAAS,EAAEhR,EAAAA,CAAG,EAAE6W,gBAAAA,CAAWsB,eAAe,CAAC,CAAA,CAAA;AACpF,YAAA,OAAOlJ,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA+e,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoB,qBAAsB,CAAA,YAAA;YACzB,MAAM/I,QAAAA,GAAW,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,YAAY4C,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAClF,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoB,qBAAsB,CAAA,YAAA;YACzB,MAAM/I,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,SAAS,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AAC3D,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAgf,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoB,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/I,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,SAAS,EAAElV,EAAG,CAAA,CAAC,EAAE8X,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACxF,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASif,oBAAAA,CAAqBxC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASqC,sBAAsBnN,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBgc,gBAAAA,oBAAAA,CAAqBxC,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACf6B,gBAAAA,oBAAAA,CAAqBxC,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAM4e,cAAuB9C,SAAAA,OAAAA,CAAAA;AACzBiB,IAAAA,OAAAA,CAAQtd,IAAI,EAAE;AACV,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO2B,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMtJ,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,aAAa,EAAE6F,gBAAWxd,CAAAA,IAAAA,CAAAA,CAAM,CAAC,CAAA,CAAA;AAC1E,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAyd,MAAO9W,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO2B,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMtJ,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,cAAc,EAAEhR,EAAAA,CAAG,EAAE6W,gBAAAA,CAAWxd,MAAM,CAAC,CAAA,CAAA;AAChF,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA+e,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO2B,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMtJ,WAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAACV,IAAI,CAAC,eAAiB7b,EAAAA,IAAAA,CAAAA,CAAAA;AAC1D,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAgf,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO2B,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMtJ,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,cAAc,EAAElV,EAAG,CAAA,CAAC,EAAE8X,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAC7F,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO2B,qBAAsB,CAAA,YAAA;YACzB,MAAMtJ,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,cAAc,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AAChE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASof,oBAAAA,CAAqB3C,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASwC,sBAAsBtN,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBmc,gBAAAA,oBAAAA,CAAqB3C,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfgC,gBAAAA,oBAAAA,CAAqB3C,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAM+e,WAAoBjD,SAAAA,OAAAA,CAAAA;AACtBiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO8B,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMzJ,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,UAAU,EAAE6F,gBAAWzd,CAAAA,OAAAA,CAAAA,CAAS,CAAC,CAAA,CAAA;AAC1E,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAyd,MAAO9W,CAAAA,EAAE,EAAE5G,OAAO,EAAE;AAChB,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO8B,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMzJ,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,WAAW,EAAEhR,EAAAA,CAAG,EAAE6W,gBAAAA,CAAWzd,SAAS,CAAC,CAAA,CAAA;AAChF,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA+e,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO8B,qBAAsB,CAAA,YAAA;YACzB,MAAMzJ,QAAAA,GAAW,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,cAAc4C,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACpF,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAgf,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO8B,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMzJ,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,WAAW,EAAElV,EAAG,CAAA,CAAC,EAAE8X,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAC1F,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO8B,qBAAsB,CAAA,YAAA;YACzB,MAAMzJ,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,WAAW,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AAC7D,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASuf,oBAAAA,CAAqB9C,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAAS2C,sBAAsBzN,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBsc,gBAAAA,oBAAAA,CAAqB9C,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfmC,gBAAAA,oBAAAA,CAAqB9C,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAMkf,kBAA2BpD,SAAAA,OAAAA,CAAAA;AAC7BiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOiC,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM5J,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,iBAAiB,EAAE6F,gBAAWzd,CAAAA,OAAAA,CAAAA,CAAS,CAAC,CAAA,CAAA;AACjF,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAyd,MAAO9W,CAAAA,EAAE,EAAE5G,OAAO,EAAE;AAChB,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOiC,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM5J,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,kBAAkB,EAAEhR,EAAAA,CAAG,EAAE6W,gBAAAA,CAAWzd,SAAS,CAAC,CAAA,CAAA;AACvF,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA+e,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOiC,qBAAsB,CAAA,YAAA;YACzB,MAAM5J,QAAAA,GAAW,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,qBAAqB4C,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAC3F,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAgf,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOiC,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM5J,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,kBAAkB,EAAElV,EAAG,CAAA,CAAC,EAAE8X,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACjG,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOiC,qBAAsB,CAAA,YAAA;YACzB,MAAM5J,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,kBAAkB,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AACpE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAAS0f,oBAAAA,CAAqBjD,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAAS8C,sBAAsB5N,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChByc,gBAAAA,oBAAAA,CAAqBjD,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfsC,gBAAAA,oBAAAA,CAAqBjD,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,SAASqf,kBAAmB7Y,CAAAA,GAAG,EAAEnG,GAAG,EAAEqC,KAAK,EAAA;AACvC,IAAA,IAAIrC,OAAOmG,GAAK,EAAA;QACZrH,MAAOkT,CAAAA,cAAc,CAAC7L,GAAAA,EAAKnG,GAAK,EAAA;YAC5BqC,KAAOA,EAAAA,KAAAA;YACP6P,UAAY,EAAA,IAAA;YACZD,YAAc,EAAA,IAAA;YACdE,QAAU,EAAA,IAAA;AACd,SAAA,CAAA,CAAA;KACG,MAAA;QACHhM,GAAG,CAACnG,IAAI,GAAGqC,KAAAA,CAAAA;AACf,KAAA;IACA,OAAO8D,GAAAA,CAAAA;AACX,CAAA;AACA,SAAS8Y,iBAAiB/B,MAAM,EAAA;AAC5B,IAAA,IAAI,IAAIne,CAAI,GAAA,CAAA,EAAGA,IAAIud,SAAUtd,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;QACrC,IAAIoe,MAAAA,GAASb,SAAS,CAACvd,CAAE,CAAA,IAAI,OAAOud,SAAS,CAACvd,CAAE,CAAA,GAAG,EAAC,CAAA;QACpD,IAAIqe,OAAAA,GAAUte,MAAOD,CAAAA,IAAI,CAACse,MAAAA,CAAAA,CAAAA;AAC1B,QAAA,IAAI,OAAOre,MAAAA,CAAOue,qBAAqB,KAAK,UAAY,EAAA;YACpDD,OAAUA,GAAAA,OAAAA,CAAQE,MAAM,CAACxe,MAAOue,CAAAA,qBAAqB,CAACF,MAAQ9P,CAAAA,CAAAA,MAAM,CAAC,SAASkQ,GAAG,EAAA;AAC7E,gBAAA,OAAOze,MAAO0e,CAAAA,wBAAwB,CAACL,MAAAA,EAAQI,KAAKrL,UAAU,CAAA;AAClE,aAAA,CAAA,CAAA,CAAA;AACJ,SAAA;QACAkL,OAAQ5D,CAAAA,OAAO,CAAC,SAASxZ,GAAG,EAAA;AACxBgf,YAAAA,kBAAAA,CAAmB9B,MAAQld,EAAAA,GAAAA,EAAKmd,MAAM,CAACnd,GAAI,CAAA,CAAA,CAAA;AAC/C,SAAA,CAAA,CAAA;AACJ,KAAA;IACA,OAAOkd,MAAAA,CAAAA;AACX,CAAA;AACA,MAAMgC,OAAgBzD,SAAAA,OAAAA,CAAAA;AAClBiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoC,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/J,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,KAAK,EAAE6F,gBAAWzd,CAAAA,OAAAA,CAAAA,CAAS,CAAC,CAAA,CAAA;AACrE,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAyd,MAAO9W,CAAAA,EAAE,EAAE5G,OAAO,EAAE;AAChB,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoC,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/J,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,MAAM,EAAEhR,EAAAA,CAAG,EAAE6W,gBAAAA,CAAWzd,SAAS,CAAC,CAAA,CAAA;AAC3E,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA+e,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoC,qBAAsB,CAAA,YAAA;YACzB,MAAM/J,QAAAA,GAAW,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,SAAS4C,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAC/E,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAgf,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoC,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/J,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,MAAM,EAAElV,EAAG,CAAA,CAAC,EAAE8X,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACrF,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoC,qBAAsB,CAAA,YAAA;YACzB,MAAM/J,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,MAAM,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AACxD,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAse,IAAAA,UAAAA,CAAW3X,EAAE,EAAEoZ,IAAI,EAAE/f,IAAI,EAAE;AACvB,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOoC,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM/J,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,MAAM,EAAElV,EAAAA,CAAG,KAAK,CAAC,EAAEkZ,gBAAiB,CAAA;AAC1EE,gBAAAA,IAAAA;aACD/f,EAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACH,YAAA,OAAO4V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASggB,oBAAAA,CAAqBvD,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASoD,sBAAsBlO,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChB+c,gBAAAA,oBAAAA,CAAqBvD,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACf4C,gBAAAA,oBAAAA,CAAqBvD,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,SAAS2f,kBAAmBnZ,CAAAA,GAAG,EAAEnG,GAAG,EAAEqC,KAAK,EAAA;AACvC,IAAA,IAAIrC,OAAOmG,GAAK,EAAA;QACZrH,MAAOkT,CAAAA,cAAc,CAAC7L,GAAAA,EAAKnG,GAAK,EAAA;YAC5BqC,KAAOA,EAAAA,KAAAA;YACP6P,UAAY,EAAA,IAAA;YACZD,YAAc,EAAA,IAAA;YACdE,QAAU,EAAA,IAAA;AACd,SAAA,CAAA,CAAA;KACG,MAAA;QACHhM,GAAG,CAACnG,IAAI,GAAGqC,KAAAA,CAAAA;AACf,KAAA;IACA,OAAO8D,GAAAA,CAAAA;AACX,CAAA;AACA,SAASoZ,iBAAiBrC,MAAM,EAAA;AAC5B,IAAA,IAAI,IAAIne,CAAI,GAAA,CAAA,EAAGA,IAAIud,SAAUtd,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;QACrC,IAAIoe,MAAAA,GAASb,SAAS,CAACvd,CAAE,CAAA,IAAI,OAAOud,SAAS,CAACvd,CAAE,CAAA,GAAG,EAAC,CAAA;QACpD,IAAIqe,OAAAA,GAAUte,MAAOD,CAAAA,IAAI,CAACse,MAAAA,CAAAA,CAAAA;AAC1B,QAAA,IAAI,OAAOre,MAAAA,CAAOue,qBAAqB,KAAK,UAAY,EAAA;YACpDD,OAAUA,GAAAA,OAAAA,CAAQE,MAAM,CAACxe,MAAOue,CAAAA,qBAAqB,CAACF,MAAQ9P,CAAAA,CAAAA,MAAM,CAAC,SAASkQ,GAAG,EAAA;AAC7E,gBAAA,OAAOze,MAAO0e,CAAAA,wBAAwB,CAACL,MAAAA,EAAQI,KAAKrL,UAAU,CAAA;AAClE,aAAA,CAAA,CAAA,CAAA;AACJ,SAAA;QACAkL,OAAQ5D,CAAAA,OAAO,CAAC,SAASxZ,GAAG,EAAA;AACxBsf,YAAAA,kBAAAA,CAAmBpC,MAAQld,EAAAA,GAAAA,EAAKmd,MAAM,CAACnd,GAAI,CAAA,CAAA,CAAA;AAC/C,SAAA,CAAA,CAAA;AACJ,KAAA;IACA,OAAOkd,MAAAA,CAAAA;AACX,CAAA;AACA,MAAMsC,WAAoB/D,SAAAA,OAAAA,CAAAA;;AAEtBgE,IAAAA,qBAAAA,CAAsB1Z,EAAE,EAAE;AACtB,QAAA,OAAO,CAAC,SAAS,EAAEA,EAAAA,CAAG,gBAAgB,CAAC,CAAA;AAC3C,KAAA;AACA2Z,IAAAA,oBAAAA,CAAqB3Z,EAAE,EAAE;AACrB,QAAA,OAAO,IAAI4Z,GAAAA,CAAI,IAAI,CAACF,qBAAqB,CAAC1Z,EAAK,CAAA,EAAA,IAAI,CAAC4V,MAAM,CAAC1C,UAAU,IAAIlJ,IAAI,CAAA;AACjF,KAAA;AACA6P,IAAAA,oBAAAA,CAAqB7Z,EAAE,EAAE;AACrB,QAAA,OAAO,CAAC,SAAS,EAAEA,EAAAA,CAAG,eAAe,CAAC,CAAA;AAC1C,KAAA;AACA8Z,IAAAA,kBAAAA,CAAmB9Z,EAAE,EAAE;AACnB,QAAA,OAAO,IAAI4Z,GAAAA,CAAI,IAAI,CAACC,oBAAoB,CAAC7Z,EAAK,CAAA,EAAA,IAAI,CAAC4V,MAAM,CAAC1C,UAAU,IAAIlJ,IAAI,CAAA;AAChF,KAAA;AACA2M,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjgB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,QAAQ,EAAE6F,gBAAAA,CAAWzd,SAAS,CAAC,CAAA,CAAA;YAClF,OAAO6V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA6H,IAAAA,MAAAA,CAAO9W,EAAE,EAAE5G,OAAO,EAAE2gB,aAAa,EAAE;AAC/B,QAAA,IAAInD,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjgB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,MAAMhB,MAAM,CAAC5E,GAAG,CAAC,CAAC,SAAS,EAAEhR,EAAAA,CAAG,EAAE6W,gBAAWzd,CAAAA,OAAAA,CAAAA,CAAS,CAAC,EAAE2gB,aAAAA,CAAAA,CAAAA;YAC1F,OAAO9K,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA2B,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjgB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,SAAS,EAAE5Q,GAAG,CAAC,CAAA,CAAA;YACrE,OAAOiP,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAoJ,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjgB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,SAAS,EAAElV,EAAG,CAAA,CAAC,EAAE8X,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;YAClG,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAmJ,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjgB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,UAAA,EAAY4C,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;YAC5F,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA0I,IAAAA,UAAAA,CAAW3X,EAAE,EAAE4X,OAAO,EAAEve,IAAO,GAAA,EAAE,EAAE;AAC/B,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMzB,aAAa2B,gBAAiB,CAAA;AAChC5B,gBAAAA,OAAAA;aACDve,EAAAA,IAAAA,CAAAA,CAAAA;AACH,YAAA,MAAM,EAAEA,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,SAAS,EAAElV,EAAG,CAAA,QAAQ,CAAC,EAAE6X,UAAAA,CAAAA,CAAAA;YAC7E,OAAO5I,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA+K,IAAAA,WAAAA,CAAYha,EAAE,EAAE;AACZ,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;YACzB,MAAMrK,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAC5E,GAAG,CAAC4F,KAAAA,CAAMiD,oBAAoB,CAAC7Z,EAAK,CAAA,EAAA;gBACpEwU,YAAc,EAAA,QAAA;AAClB,aAAA,CAAA,CAAA;AACA,YAAA,OAAOvF,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA4gB,IAAAA,cAAAA,CAAeja,EAAE,EAAE;AACf,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0C,qBAAsB,CAAA,YAAA;YACzB,MAAMrK,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAC5E,GAAG,CAAC4F,KAAAA,CAAM8C,qBAAqB,CAAC1Z,EAAK,CAAA,EAAA;gBACrEwU,YAAc,EAAA,QAAA;AAClB,aAAA,CAAA,CAAA;AACA,YAAA,OAAOvF,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAAS6gB,oBAAAA,CAAqBpE,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASiE,sBAAsB/O,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChB4d,gBAAAA,oBAAAA,CAAqBpE,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfyD,gBAAAA,oBAAAA,CAAqBpE,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAMwgB,qBAA8B1E,SAAAA,OAAAA,CAAAA;AAChCiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOuD,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAMlL,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,qBAAqB,EAAE6F,gBAAWzd,CAAAA,OAAAA,CAAAA,CAAS,CAAC,CAAA,CAAA;AACrF,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAyd,IAAAA,MAAAA,CAAO9W,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOuD,qBAAsB,CAAA,YAAA;YACzB,MAAMlL,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAC5E,GAAG,CAAC,CAAC,sBAAsB,EAAEhR,EAAAA,CAAG,CAAC,CAAA,CAAA;AACrE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAuX,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOuD,qBAAsB,CAAA,YAAA;YACzB,MAAMlL,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,sBAAsB,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AACxE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAgf,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOuD,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAE9gB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,sBAAsB,EAAElV,EAAG,CAAA,CAAC,EAAE8X,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;YAC/G,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAmJ,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOuD,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAE9gB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,uBAAA,EAAyB4C,4BAA6Bze,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;YACzG,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASoL,oBAAAA,CAAqBvE,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASoE,sBAAsBlP,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChB+d,gBAAAA,oBAAAA,CAAqBvE,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACf4D,gBAAAA,oBAAAA,CAAqBvE,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAM2gB,cAAuB7E,SAAAA,OAAAA,CAAAA;AACzBiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjhB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,aAAa,EAAE6F,gBAAAA,CAAWzd,SAAS,CAAC,CAAA,CAAA;YACvF,OAAO6V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA6H,IAAAA,MAAAA,CAAO9W,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjhB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAAC5E,GAAG,CAAC,CAAC,cAAc,EAAEhR,GAAG,CAAC,CAAA,CAAA;YACvE,OAAOiP,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA2B,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjhB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,cAAc,EAAE5Q,GAAG,CAAC,CAAA,CAAA;YAC1E,OAAOiP,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAoJ,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEjhB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,cAAc,EAAElV,EAAAA,CAAG,CAAC,EAAE3G,IAAAA,CAAAA,CAAAA;YAC1E,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAmJ,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO0D,qBAAsB,CAAA,YAAA;YACzB,MAAM,EAAEjhB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAACV,IAAI,CAAC,eAAiB7b,EAAAA,IAAAA,CAAAA,CAAAA;YACpE,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASuL,oBAAAA,CAAqB1E,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASuE,sBAAsBrP,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBke,gBAAAA,oBAAAA,CAAqB1E,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACf+D,gBAAAA,oBAAAA,CAAqB1E,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAM8gB,eAAwBhF,SAAAA,OAAAA,CAAAA;AAC1BiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO6D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEphB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,cAAc,EAAE6F,gBAAAA,CAAWzd,SAAS,CAAC,CAAA,CAAA;YACxF,OAAO6V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA6H,IAAAA,MAAAA,CAAO9W,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO6D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEphB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAAC5E,GAAG,CAAC,CAAC,eAAe,EAAEhR,GAAG,CAAC,CAAA,CAAA;YACxE,OAAOiP,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA2B,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO6D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEphB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,eAAe,EAAE5Q,GAAG,CAAC,CAAA,CAAA;YAC3E,OAAOiP,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAoJ,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO6D,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEphB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,eAAe,EAAElV,EAAAA,CAAG,CAAC,EAAE3G,IAAAA,CAAAA,CAAAA;YAC3E,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAmJ,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO6D,qBAAsB,CAAA,YAAA;YACzB,MAAM,EAAEphB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAACV,IAAI,CAAC,gBAAkB7b,EAAAA,IAAAA,CAAAA,CAAAA;YACrE,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAAS0L,oBAAAA,CAAqB7E,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAAS0E,sBAAsBxP,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBqe,gBAAAA,oBAAAA,CAAqB7E,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfkE,gBAAAA,oBAAAA,CAAqB7E,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAMihB,qBAA8BnF,SAAAA,OAAAA,CAAAA;AAChCiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOgE,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEvhB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,oBAAoB,EAAE6F,gBAAAA,CAAWzd,SAAS,CAAC,CAAA,CAAA;YAC9F,OAAO6V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA6H,IAAAA,MAAAA,CAAO9W,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOgE,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEvhB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAAC5E,GAAG,CAAC,CAAC,qBAAqB,EAAEhR,GAAG,CAAC,CAAA,CAAA;YAC9E,OAAOiP,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA2B,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOgE,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEvhB,IAAAA,EAAM4V,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,qBAAqB,EAAE5Q,GAAG,CAAC,CAAA,CAAA;YACjF,OAAOiP,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAoJ,MAAOrY,CAAAA,EAAE,EAAE3G,IAAI,EAAE;AACb,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOgE,qBAAsB,CAAA,YAAA;AACzB,YAAA,MAAM,EAAEvhB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAMhB,CAAAA,MAAM,CAACV,IAAI,CAAC,CAAC,qBAAqB,EAAElV,EAAAA,CAAG,CAAC,EAAE3G,IAAAA,CAAAA,CAAAA;YACjF,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAmJ,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOgE,qBAAsB,CAAA,YAAA;YACzB,MAAM,EAAEvhB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAACV,IAAI,CAAC,sBAAwB7b,EAAAA,IAAAA,CAAAA,CAAAA;YAC3E,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAAS6L,oBAAAA,CAAqBhF,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IAC3E,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAAS6E,sBAAsB3P,EAAE,EAAA;IAC7B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBwe,gBAAAA,oBAAAA,CAAqBhF,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACtE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACfqE,gBAAAA,oBAAAA,CAAqBhF,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACvE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,SAASohB,kBAAmB5a,CAAAA,GAAG,EAAEnG,GAAG,EAAEqC,KAAK,EAAA;AACvC,IAAA,IAAIrC,OAAOmG,GAAK,EAAA;QACZrH,MAAOkT,CAAAA,cAAc,CAAC7L,GAAAA,EAAKnG,GAAK,EAAA;YAC5BqC,KAAOA,EAAAA,KAAAA;YACP6P,UAAY,EAAA,IAAA;YACZD,YAAc,EAAA,IAAA;YACdE,QAAU,EAAA,IAAA;AACd,SAAA,CAAA,CAAA;KACG,MAAA;QACHhM,GAAG,CAACnG,IAAI,GAAGqC,KAAAA,CAAAA;AACf,KAAA;IACA,OAAO8D,GAAAA,CAAAA;AACX,CAAA;AACA,SAAS6a,eAAe9D,MAAM,EAAA;AAC1B,IAAA,IAAI,IAAIne,CAAI,GAAA,CAAA,EAAGA,IAAIud,SAAUtd,CAAAA,MAAM,EAAED,CAAI,EAAA,CAAA;QACrC,IAAIoe,MAAAA,GAASb,SAAS,CAACvd,CAAE,CAAA,IAAI,OAAOud,SAAS,CAACvd,CAAE,CAAA,GAAG,EAAC,CAAA;QACpD,IAAIqe,OAAAA,GAAUte,MAAOD,CAAAA,IAAI,CAACse,MAAAA,CAAAA,CAAAA;AAC1B,QAAA,IAAI,OAAOre,MAAAA,CAAOue,qBAAqB,KAAK,UAAY,EAAA;YACpDD,OAAUA,GAAAA,OAAAA,CAAQE,MAAM,CAACxe,MAAOue,CAAAA,qBAAqB,CAACF,MAAQ9P,CAAAA,CAAAA,MAAM,CAAC,SAASkQ,GAAG,EAAA;AAC7E,gBAAA,OAAOze,MAAO0e,CAAAA,wBAAwB,CAACL,MAAAA,EAAQI,KAAKrL,UAAU,CAAA;AAClE,aAAA,CAAA,CAAA,CAAA;AACJ,SAAA;QACAkL,OAAQ5D,CAAAA,OAAO,CAAC,SAASxZ,GAAG,EAAA;AACxB+gB,YAAAA,kBAAAA,CAAmB7D,MAAQld,EAAAA,GAAAA,EAAKmd,MAAM,CAACnd,GAAI,CAAA,CAAA,CAAA;AAC/C,SAAA,CAAA,CAAA;AACJ,KAAA;IACA,OAAOkd,MAAAA,CAAAA;AACX,CAAA;AACA,MAAM+D,UAAmBxF,SAAAA,OAAAA,CAAAA;AACrBiC,IAAAA,UAAAA,CAAW3X,EAAE,EAAE4X,OAAO,EAAEve,IAAI,EAAE;AAC1B,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOmE,qBAAsB,CAAA,YAAA;AACzB1hB,YAAAA,IAAAA,GAAOA,QAAQ,EAAC,CAAA;AAChB,YAAA,MAAM,EAAEA,IAAM8hB,EAAAA,UAAU,EAAE,GAAG,MAAMvE,MAAMhB,MAAM,CAACV,IAAI,CAAC,CAAC,SAAS,EAAElV,EAAAA,CAAG,QAAQ,CAAC,EAAE8X,6BAA6BmD,cAAe,CAAA;AACvHrD,gBAAAA,OAAAA;aACDve,EAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;YACH,OAAO8hB,UAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;IACAC,kBAAmBxD,CAAAA,OAAO,EAAEve,IAAI,EAAE;AAC9B,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAOmE,qBAAsB,CAAA,YAAA;AACzB,YAAA,OAAOnE,MAAMe,UAAU,CAAC0D,iBAAUC,CAAAA,QAAQ,EAAE1D,OAASve,EAAAA,IAAAA,CAAAA,CAAAA;AACzD,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASkiB,kBAAAA,CAAmBzF,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEjc,GAAG,EAAEkc,GAAG,EAAA;IACzE,IAAI;AACA,QAAA,IAAIC,IAAON,GAAAA,GAAG,CAAC7b,GAAAA,CAAI,CAACkc,GAAAA,CAAAA,CAAAA;QACpB,IAAI7Z,KAAAA,GAAQ8Z,KAAK9Z,KAAK,CAAA;AAC1B,KAAA,CAAE,OAAOqT,KAAO,EAAA;QACZqG,MAAOrG,CAAAA,KAAAA,CAAAA,CAAAA;AACP,QAAA,OAAA;AACJ,KAAA;IACA,IAAIyG,IAAAA,CAAKC,IAAI,EAAE;QACXN,OAAQzZ,CAAAA,KAAAA,CAAAA,CAAAA;KACL,MAAA;AACHqS,QAAAA,OAAAA,CAAQoH,OAAO,CAACzZ,KAAOsS,CAAAA,CAAAA,IAAI,CAACqH,KAAOC,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,KAAA;AACJ,CAAA;AACA,SAASsF,oBAAoBpQ,EAAE,EAAA;IAC3B,OAAO,WAAA;QACH,IAAIyB,IAAAA,GAAO,IAAI,EAAEpP,IAAO8Y,GAAAA,SAAAA,CAAAA;AACxB,QAAA,OAAO,IAAI5H,OAAAA,CAAQ,SAASoH,OAAO,EAAEC,MAAM,EAAA;AACvC,YAAA,IAAIF,GAAM1K,GAAAA,EAAAA,CAAGoL,KAAK,CAAC3J,IAAMpP,EAAAA,IAAAA,CAAAA,CAAAA;AACzB,YAAA,SAASwY,MAAM3Z,KAAK,EAAA;AAChBif,gBAAAA,kBAAAA,CAAmBzF,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,MAAQ5Z,EAAAA,KAAAA,CAAAA,CAAAA;AACpE,aAAA;AACA,YAAA,SAAS4Z,OAAOO,GAAG,EAAA;AACf8E,gBAAAA,kBAAAA,CAAmBzF,GAAKC,EAAAA,OAAAA,EAASC,MAAQC,EAAAA,KAAAA,EAAOC,QAAQ,OAASO,EAAAA,GAAAA,CAAAA,CAAAA;AACrE,aAAA;YACAR,KAAMrc,CAAAA,SAAAA,CAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA,CAAA;AACJ,CAAA;AACA,MAAM6hB,iBAA0B/F,SAAAA,OAAAA,CAAAA;AAC5BiB,IAAAA,OAAAA,CAAQvd,OAAO,EAAE;AACb,QAAA,IAAIwd,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO4E,mBAAoB,CAAA,YAAA;AACvB,YAAA,MAAMvM,QAAW,GAAA,MAAM2H,KAAMhB,CAAAA,MAAM,CAAC5E,GAAG,CAAC,CAAC,gBAAgB,EAAE6F,gBAAWzd,CAAAA,OAAAA,CAAAA,CAAS,CAAC,CAAA,CAAA;AAChF,YAAA,OAAO6V,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACAyd,IAAAA,MAAAA,CAAO9W,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO4E,mBAAoB,CAAA,YAAA;YACvB,MAAMvM,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAC5E,GAAG,CAAC,CAAC,iBAAiB,EAAEhR,EAAAA,CAAG,CAAC,CAAA,CAAA;AAChE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA+e,IAAAA,MAAAA,CAAO/e,IAAI,EAAE;AACT,QAAA,IAAIud,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO4E,mBAAoB,CAAA,YAAA;YACvB,MAAM,EAAEniB,IAAM4V,EAAAA,QAAQ,EAAE,GAAG,MAAM2H,KAAAA,CAAMhB,MAAM,CAACV,IAAI,CAAC,kBAAoB7b,EAAAA,IAAAA,CAAAA,CAAAA;YACvE,OAAO4V,QAAAA,CAAAA;AACX,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACA2B,IAAAA,MAAAA,CAAO5Q,EAAE,EAAE;AACP,QAAA,IAAI4W,QAAQ,IAAI,CAAA;AAChB,QAAA,OAAO4E,mBAAoB,CAAA,YAAA;YACvB,MAAMvM,QAAAA,GAAW,MAAM2H,KAAAA,CAAMhB,MAAM,CAAChF,MAAM,CAAC,CAAC,iBAAiB,EAAE5Q,EAAAA,CAAG,CAAC,CAAA,CAAA;AACnE,YAAA,OAAOiP,SAAS5V,IAAI,CAAA;AACxB,SAAA,CAAA,EAAA,CAAA;AACJ,KAAA;AACJ,CAAA;AAEA;;;;;AAKC,IAAG,SAASqiB,gBAAiBtb,CAAAA,GAAG,EAAEnG,GAAG,EAAEqC,KAAK,EAAA;AACzC,IAAA,IAAIrC,OAAOmG,GAAK,EAAA;QACZrH,MAAOkT,CAAAA,cAAc,CAAC7L,GAAAA,EAAKnG,GAAK,EAAA;YAC5BqC,KAAOA,EAAAA,KAAAA;YACP6P,UAAY,EAAA,IAAA;YACZD,YAAc,EAAA,IAAA;YACdE,QAAU,EAAA,IAAA;AACd,SAAA,CAAA,CAAA;KACG,MAAA;QACHhM,GAAG,CAACnG,IAAI,GAAGqC,KAAAA,CAAAA;AACf,KAAA;IACA,OAAO8D,GAAAA,CAAAA;AACX,CAAA;AACA,MAAM6S,MAAe0I,SAAAA,QAAAA,CAAAA;AACjB9hB,IAAAA,WAAAA,CAAYia,MAAM,CAAC;AACf,QAAA,KAAK,CAACA,MAAAA,CAAAA,CAAAA;QACN4H,gBAAiB,CAAA,IAAI,EAAE,aAAA,EAAe,KAAK,CAAA,CAAA,CAAA;QAC3CA,gBAAiB,CAAA,IAAI,EAAE,kBAAA,EAAoB,KAAK,CAAA,CAAA,CAAA;QAChDA,gBAAiB,CAAA,IAAI,EAAE,SAAA,EAAW,KAAK,CAAA,CAAA,CAAA;QACvCA,gBAAiB,CAAA,IAAI,EAAE,aAAA,EAAe,KAAK,CAAA,CAAA,CAAA;QAC3CA,gBAAiB,CAAA,IAAI,EAAE,UAAA,EAAY,KAAK,CAAA,CAAA,CAAA;QACxCA,gBAAiB,CAAA,IAAI,EAAE,iBAAA,EAAmB,KAAK,CAAA,CAAA,CAAA;QAC/CA,gBAAiB,CAAA,IAAI,EAAE,MAAA,EAAQ,KAAK,CAAA,CAAA,CAAA;QACpCA,gBAAiB,CAAA,IAAI,EAAE,UAAA,EAAY,KAAK,CAAA,CAAA,CAAA;QACxCA,gBAAiB,CAAA,IAAI,EAAE,gBAAA,EAAkB,KAAK,CAAA,CAAA,CAAA;QAC9CA,gBAAiB,CAAA,IAAI,EAAE,oBAAA,EAAsB,KAAK,CAAA,CAAA,CAAA;QAClDA,gBAAiB,CAAA,IAAI,EAAE,aAAA,EAAe,KAAK,CAAA,CAAA,CAAA;QAC3CA,gBAAiB,CAAA,IAAI,EAAE,cAAA,EAAgB,KAAK,CAAA,CAAA,CAAA;QAC5CA,gBAAiB,CAAA,IAAI,EAAE,oBAAA,EAAsB,KAAK,CAAA,CAAA,CAAA;QAClDA,gBAAiB,CAAA,IAAI,EAAE,SAAA,EAAW,KAAK,CAAA,CAAA,CAAA;AACvC,QAAA,IAAI,CAACE,WAAW,GAAG,IAAIlE,cAAe,CAAA;AAClC9B,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACiG,gBAAgB,GAAG,IAAInF,mBAAoB,CAAA;AAC5Cd,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACkG,OAAO,GAAG,IAAI7D,UAAW,CAAA;AAC1BrC,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACmG,WAAW,GAAG,IAAIvD,cAAe,CAAA;AAClC5C,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACoG,QAAQ,GAAG,IAAIrD,WAAY,CAAA;AAC5B/C,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACqG,eAAe,GAAG,IAAInD,kBAAmB,CAAA;AAC1ClD,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACsG,IAAI,GAAG,IAAI/C,OAAQ,CAAA;AACpBvD,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACuG,QAAQ,GAAG,IAAI1C,WAAY,CAAA;AAC5B7D,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACwG,cAAc,GAAG,IAAIX,iBAAkB,CAAA;AACxC7F,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACyG,kBAAkB,GAAG,IAAIjC,qBAAsB,CAAA;AAChDxE,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAAC0G,WAAW,GAAG,IAAI/B,cAAe,CAAA;AAClC3E,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAAC2G,YAAY,GAAG,IAAI7B,eAAgB,CAAA;AACpC9E,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAAC4G,kBAAkB,GAAG,IAAI3B,qBAAsB,CAAA;AAChDjF,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAAC6G,OAAO,GAAG,IAAIvB,UAAW,CAAA;AAC1BtF,YAAAA,MAAAA,EAAQ,IAAI;AAChB,SAAA,CAAA,CAAA;AACA,QAAA,IAAI,CAACP,EAAE,CAAC7H,QAAS6G,CAAAA,cAAc,EAAE,CAAC1E,KAAAA,GAAAA;AAC9B,YAAA,IAAII,cAAcJ,KAAUA,CAAAA,IAAAA,KAAAA,CAAMV,QAAQ,IAAIU,KAAAA,CAAMV,QAAQ,CAAC5V,IAAI,IAAI,OAAOsW,MAAMV,QAAQ,CAAC5V,IAAI,CAACiS,OAAO,KAAK,QAAU,EAAA;AAClHqE,gBAAAA,KAAAA,CAAMrE,OAAO,GAAGqE,KAAAA,CAAMV,QAAQ,CAAC5V,IAAI,CAACiS,OAAO,CAAA;AAC/C,aAAA;YACA,MAAMqE,KAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AACJ,KAAA;AACJ;;AC1tCO,SAAS+M,mBAAAA,CAAoBC,GAAQ,EAAE/G,MAAkB,EAAA;AAC5D,IAAA,MAAMgH,eAAeC,wBAAYF,CAAAA,GAAAA,CAAAA,CAAAA;AACjC,IAAA,MAAMriB,KAAQsiB,GAAAA,YAAAA,EAAAA,CAAAA;AACd,IAAA,MAAM,EAAEE,YAAY,EAAE,GAAGC,wBAAYziB,CAAAA,KAAAA,CAAAA,CAAAA;AAErC,IAAA,MAAM0iB,eAAeC,6BAAiBN,CAAAA,GAAAA,CAAAA,CAAAA;IAEtC,MAAMO,SAAAA,GAAY,IAAIC,wCAAAA,CAClBvH,MACA,EAAA;AACIzC,QAAAA,OAAAA,EAAS6J,aAAa9J,UAAU,EAAA;QAChCkK,YAAc,EAAA,IAAA;YACV,IAAI,CAACN,YAAaxgB,CAAAA,KAAK,EAAE;AACrB,gBAAA,MAAM,IAAIc,KAAM,CAAA,6BAAA,CAAA,CAAA;AACpB,aAAA;AAEA,YAAA,OAAO4f,YAAa1M,CAAAA,KAAK,CAAC+M,sBAAsB,CAAC;AAC7CC,gBAAAA,aAAAA,EAAeR,aAAaxgB,KAAK;AACrC,aAAA,CAAA,CAAA;AACJ,SAAA;AACAihB,QAAAA,YAAAA,EAAc,CAACtO,QAAAA,GAAAA;AACX3U,YAAAA,KAAAA,CAAMkjB,wBAAwB,CAACvO,QAAAA,CAAAA,CAAAA;AACnC,SAAA;QACAwO,WAAa,EAAA,IAAA;AACTnjB,YAAAA,KAAAA,CAAMojB,MAAM,EAAA,CAAA;AAChB,SAAA;QACAC,KAAO,EAAA,KAAA;AACX,KAAA,CAAA,CAAA;IAGJrjB,KAAMsjB,CAAAA,UAAU,CAAC,CAACC,QAAUC,EAAAA,KAAAA,GAAAA;QACxB,IAAID,QAAAA,CAASE,OAAO,KAAKC,qBAAU,EAAA,OAAA;QAEnC,IAAIF,KAAAA,CAAMG,WAAW,EAAE;AACnBrI,YAAAA,MAAAA,CAAOlC,sBAAsB,CAAC;gBAC1B/X,IAAM,EAAA,QAAA;AACN2U,gBAAAA,KAAAA,EAAOwN,MAAMG,WAAW;AAC5B,aAAA,CAAA,CAAA;AAEAf,YAAAA,SAAAA,CAAUgB,KAAK,EAAA,CAAA;SACZ,MAAA;AACHtI,YAAAA,MAAAA,CAAO/B,wBAAwB,EAAA,CAAA;AAE/BqJ,YAAAA,SAAAA,CAAUiB,OAAO,EAAA,CAAA;AACrB,SAAA;AACJ,KAAA,CAAA,CAAA;AACJ;;ACjDA,MAAMrjB,QAAAA,GAASJ,MAAOC,CAAAA,GAAG,CAAC,iBAAA,CAAA,CAAA;AAEnB,SAASyjB,qBAAAA,CAAsBxI,MAAc,EAAE+G,GAAS,EAAA;AAC3DxhB,IAAAA,oBAAAA,CAAQL,UAAQ8a,MAAQ+G,EAAAA,GAAAA,CAAAA,CAAAA;AAC5B,CAAA;AAEO,SAAS0B,uBAAuB1B,GAAS,EAAA;IAC5C,OAAO,CAAC,CAACzhB,mBAAAA,CAAOJ,QAAQ6hB,EAAAA,GAAAA,CAAAA,CAAAA;AAC5B,CAAA;AAEO,SAAS2B,qBAAqB3B,GAAS,EAAA;IAC1C,MAAM9hB,QAAAA,GAAWK,oBAAeJ,QAAQ6hB,EAAAA,GAAAA,CAAAA,CAAAA;AACxC,IAAA,IAAI,CAAC9hB,QAAU,EAAA;AACX,QAAA,MAAM,IAAIuC,KAAM,CAAA,kCAAA,CAAA,CAAA;AACpB,KAAA;IAEA,OAAOvC,QAAAA,CAAAA;AACX;;ACfO,SAAS0jB,qBAAAA,CAAsB5B,GAAQ,EAAEvjB,OAAqC,EAAA;AACjF,IAAA,IAAIilB,uBAAuB1B,GAAM,CAAA,EAAA;AAC7B,QAAA,OAAA;AACJ,KAAA;IAEA,MAAM/G,MAAAA,GAAS,IAAI3C,MAAO,CAAA;AAAEE,QAAAA,OAAAA,EAAS/Z,QAAQ+Z,OAAO;AAAC,KAAA,CAAA,CAAA;AAErDuJ,IAAAA,mBAAAA,CAAoBC,GAAK/G,EAAAA,MAAAA,CAAAA,CAAAA;AAEzBwI,IAAAA,qBAAAA,CAAsBxI,MAAQ+G,EAAAA,GAAAA,CAAAA,CAAAA;AAClC;;ACZA,MAAM7hB,MAAAA,GAASJ,MAAOC,CAAAA,GAAG,CAAC,oBAAA,CAAA,CAAA;AAEnB,SAAS6jB,wBAAAA,CAAyB5I,MAAiB,EAAE+G,GAAS,EAAA;AACjExhB,IAAAA,oBAAAA,CAAQL,QAAQ8a,MAAQ+G,EAAAA,GAAAA,CAAAA,CAAAA;AAC5B,CAAA;AAEO,SAAS8B,0BAA0B9B,GAAS,EAAA;IAC/C,OAAO,CAAC,CAACzhB,mBAAAA,CAAOJ,MAAQ6hB,EAAAA,GAAAA,CAAAA,CAAAA;AAC5B,CAAA;AAEO,SAAS+B,wBAAwB/B,GAAS,EAAA;IAC7C,MAAM9hB,QAAAA,GAAWK,oBAAkBJ,MAAQ6hB,EAAAA,GAAAA,CAAAA,CAAAA;AAC3C,IAAA,IAAI,CAAC9hB,QAAU,EAAA;AACX,QAAA,MAAM,IAAIuC,KAAM,CAAA,qCAAA,CAAA,CAAA;AACpB,KAAA;IAEA,OAAOvC,QAAAA,CAAAA;AACX;;ACfO,SAAS8jB,wBAAAA,CAAyBhC,GAAQ,EAAEvjB,OAAqC,EAAA;AACpF,IAAA,IAAIqlB,0BAA0B9B,GAAM,CAAA,EAAA;AAChC,QAAA,OAAA;AACJ,KAAA;IAEA,MAAM/G,MAAAA,GAAS,IAAI3C,oBAAO,CAAA;AAAEE,QAAAA,OAAAA,EAAS/Z,QAAQ+Z,OAAO;AAAC,KAAA,CAAA,CAAA;AAErDuJ,IAAAA,mBAAAA,CAAoBC,GAAK/G,EAAAA,MAAAA,CAAAA,CAAAA;AAEzB4I,IAAAA,wBAAAA,CAAyB5I,MAAQ+G,EAAAA,GAAAA,CAAAA,CAAAA;AACrC;;ACXA,MAAMiC,YAAAA,GAAelkB,MAAOC,CAAAA,GAAG,CAAC,SAAA,CAAA,CAAA;AAEzB,SAASkkB,qBAAAA,GAAAA;AACZ,IAAA,IAAI,CAAC5jB,uBAAuB,EAAA,EAAA;QACxB,OAAO,KAAA,CAAA;AACX,KAAA;AAEA,IAAA,MAAMJ,WAAWK,mBAAO0jB,CAAAA,YAAAA,CAAAA,CAAAA;AACxB,IAAA,OAAO,CAAC,CAAC/jB,QAAAA,CAAAA;AACb,CAAA;AAEO,SAASikB,oBAAAA,CACZ3kB,OAA4B,EAC5BwiB,GAAS,EAAA;AAETxhB,IAAAA,oBAAAA,CAAQyjB,cAAczkB,OAASwiB,EAAAA,GAAAA,CAAAA,CAAAA;AACnC,CAAA;AAEO,SAASoC,oBAAoBpC,GAAS,EAAA;IACzC,MAAMxiB,OAAAA,GAAUe,oBAA4B0jB,YAAcjC,EAAAA,GAAAA,CAAAA,CAAAA;AAC1D,IAAA,IAAI,CAACxiB,OAAS,EAAA;AACV,QAAA,MAAM,IAAIiD,KAAM,CAAA,qCAAA,CAAA,CAAA;AACpB,KAAA;IAEA,OAAOjD,OAAAA,CAAAA;AACX;;ACtBO,SAAS6kB,oBAAAA,CAAqBrC,GAAQ,EAAEvjB,OAAoC,EAAA;AAC/E,IAAA,MAAMkB,KAAQwC,GAAAA,qBAAAA,EAAAA,CAAAA;AACd,IAAA,MAAM,EAAEmhB,WAAW,EAAE,GAAGlB,wBAAYziB,CAAAA,KAAAA,CAAAA,CAAAA;IAEpC,MAAMH,OAAAA,GAAU,IAAI8kB,6BAGlB,CAAA;AACE9V,QAAAA,GAAAA,EAAK/P,QAAQ+Z,OAAO;QACpB7C,KAAO,EAAA,IAAM2N,YAAY3hB,KAAK;AAClC,KAAA,CAAA,CAAA;AAEA,IAAA,MAAM4iB,QAAWliB,GAAAA,OAAAA,EAAAA,CAAAA;IAEjB1C,KAAMsjB,CAAAA,UAAU,CAAC,CACbC,QACAC,EAAAA,KAAAA,GAAAA;AAEA,QAAA,IAAIA,KAAMG,CAAAA,WAAW,KAAKiB,QAAAA,CAAS5iB,KAAK,EAAE;YACtC4iB,QAAS5iB,CAAAA,KAAK,GAAGwhB,KAAAA,CAAMG,WAAW,CAAA;AAElCtP,YAAAA,OAAAA,CAAQoH,OAAO,EACVnH,CAAAA,IAAI,CAAC,IAAMzU,QAAQglB,SAAS,EAAA,CAAA,CAAA;AACrC,SAAA;AACJ,KAAA,CAAA,CAAA;AAEAL,IAAAA,oBAAAA,CAAqB3kB,OAASwiB,EAAAA,GAAAA,CAAAA,CAAAA;AAClC;;ACRO,SAASyC,mBAIZ9d,GAA8B,EAAA;AAE9B,IAAA,IAAI,CAACud,qBAAyB,EAAA,EAAA;QAC1B,OAAO;YACHX,KAEA,CAAA,GAAA,EAAA;YACAC,OAEA,CAAA,GAAA,EAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AAEA,IAAA,MAAMkB,aAAgBN,GAAAA,mBAAAA,EAAAA,CAAAA;AACtB,IAAA,MAAMzkB,KAAQwC,GAAAA,qBAAAA,EAAAA,CAAAA;AACd,IAAA,MAAMwiB,YAAYvC,wBAAYziB,CAAAA,KAAAA,CAAAA,CAAAA;AAE9B,IAAA,MAAMoB,UAAU6jB,YAAS,CAAA,IAAA;AACrB,QAAA,IAAID,SAAUE,CAAAA,SAAS,CAACljB,KAAK,KAAKmjB,2BAAmB,EAAA;YACjD,OAAO7lB,SAAAA,CAAAA;AACX,SAAA;QAEA,IAAI8lB,SAAAA,CAAMpe,GAAI5F,CAAAA,OAAO,CAAG,EAAA;YACpB,OAAO4F,GAAAA,CAAI5F,OAAO,CAACY,KAAK,CAAA;AAC5B,SAAA;QAEA,IAAIgF,GAAAA,CAAI5F,OAAO,EAAE;AACb,YAAA,OAAO4F,IAAI5F,OAAO,CAAA;AACtB,SAAA;QAEA,OAAO4jB,SAAAA,CAAU5jB,OAAO,CAACY,KAAK,CAAA;AAClC,KAAA,CAAA,CAAA;AAEA,IAAA,MAAMqjB,QAAWJ,GAAAA,YAAAA,CAAS,IAAOG,SAAAA,CAAMpe,GAAIqe,CAAAA,QAAQ,CAAIre,GAAAA,GAAAA,CAAIqe,QAAQ,CAACrjB,KAAK,GAAGgF,IAAIqe,QAAQ,CAAA,CAAA;AAExF,IAAA,MAAMC,MAASL,GAAAA,YAAAA,CAAS,IAAOG,SAAAA,CAAMpe,GAAIse,CAAAA,MAAM,CAAIte,GAAAA,GAAAA,CAAIse,MAAM,CAACtjB,KAAK,GAAGgF,IAAIse,MAAM,CAAA,CAAA;AAEhF,IAAA,MAAMC,eAAe,CAACle,KAAAA,GAAAA;QAClB,IACIL,GAAAA,CAAIue,YAAY,IAChB,CAACve,GAAAA,CAAIue,YAAY,CAACle,KAAAA,EAAOjG,OAAQY,CAAAA,KAAK,CACxC,EAAA;YACE,OAAO,KAAA,CAAA;AACX,SAAA;AAEA,QAAA,MAAMwjB,WAAcxe,GAAAA,GAAAA,CAAIye,gBAAgB,GACpCze,IAAIye,gBAAgB,CAACJ,QAASrjB,CAAAA,KAAK,IACnC0jB,8BAAuB1e,CAAAA,GAAAA,CAAI3F,IAAI,EAAEgkB,SAASrjB,KAAK,CAAA,CAAA;AAEnD,QAAA,IAAIqF,KAAMse,CAAAA,IAAI,CAACC,QAAQ,KAAKJ,WAAa,EAAA;YACrC,OAAO,KAAA,CAAA;AACX,SAAA;AAEA,QAAA,IAAIxe,IAAI6V,MAAM,KAAK,CAACwI,SAASrjB,KAAK,IAAIqjB,QAASrjB,CAAAA,KAAK,KAAKqF,KAAMtI,CAAAA,IAAI,CAAC2G,EAAE,CAAG,EAAA;YACrE,OAAO,KAAA,CAAA;AACX,SAAA;AAEA,QAAA,OAAO2B,MAAMtI,IAAI,CAAC2G,EAAE,KAAK4f,OAAOtjB,KAAK,CAAA;AACzC,KAAA,CAAA;AAEA,IAAA,MAAM6jB,gBAAgB,CAACxe,KAAAA,GAAAA;QACnB,IAAI,CAACke,aAAale,KAAQ,CAAA,EAAA;AACtB,YAAA,OAAA;AACJ,SAAA;QAEA,IAAIL,GAAAA,CAAI8e,SAAS,EAAE;YACf9e,GAAI8e,CAAAA,SAAS,CAACze,KAAAA,CAAMtI,IAAI,CAAA,CAAA;AAC5B,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMgnB,gBAAgB,CAAC1e,KAAAA,GAAAA;QACnB,IAAI,CAACke,aAAale,KAAQ,CAAA,EAAA;AACtB,YAAA,OAAA;AACJ,SAAA;QAEA,IAAIL,GAAAA,CAAIgf,SAAS,EAAE;YACfhf,GAAIgf,CAAAA,SAAS,CAAC3e,KAAAA,CAAMtI,IAAI,CAAA,CAAA;AAC5B,SAAA;AACJ,KAAA,CAAA;AACA,IAAA,MAAMknB,gBAAgB,CAAC5e,KAAAA,GAAAA;QACnB,IAAI,CAACke,aAAale,KAAQ,CAAA,EAAA;AACtB,YAAA,OAAA;AACJ,SAAA;QAEA,IAAIL,GAAAA,CAAIkf,SAAS,EAAE;YACflf,GAAIkf,CAAAA,SAAS,CAAC7e,KAAAA,CAAMtI,IAAI,CAAA,CAAA;AAC5B,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,IAAIonB,OAAU,GAAA,KAAA,CAAA;AACd,IAAA,MAAMvC,KAAQ,GAAA,UAAA;QACV,IAAK5c,IAAI6V,MAAM,IAAI,CAACwI,QAASrjB,CAAAA,KAAK,IAAKmkB,OAAS,EAAA;AAC5C,YAAA,OAAA;AACJ,SAAA;QAEAA,OAAU,GAAA,IAAA,CAAA;AAEV,QAAA,MAAMC,SAAS,MAAMrB,aAAAA,CAAcsB,OAAO,CAACC,gCAAAA,CAAyBllB,QAAQY,KAAK,CAAA,CAAA,CAAA;QAEjF,IAAIqF,KAAAA,CAAAA;QACJ,IAAIL,GAAAA,CAAIuf,uBAAuB,EAAE;AAC7Blf,YAAAA,KAAAA,GAAQL,IAAIuf,uBAAuB,EAAA,CAAA;SAChC,MAAA;AACHlf,YAAAA,KAAAA,GAAQmf,4CACJxf,CAAAA,GAAAA,CAAI3F,IAAI,EACRolB,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,SAAA;AAEAN,QAAAA,MAAAA,CAAO3kB,IAAI,CACP4F,KACAge,EAAAA,QAAAA,CAASrjB,KAAK,EACd,IAAA;;AAEA,SAAA,CAAA,CAAA;QAGJ,IAAIgF,GAAAA,CAAI8e,SAAS,EAAE;YACfM,MAAOrL,CAAAA,EAAE,CAAC4L,gCACN3f,CAAAA,GAAAA,CAAI3F,IAAI,EACRulB,yBAAAA,CAAgBC,OAAO,CACxBhB,EAAAA,aAAAA,CAAAA,CAAAA;AACP,SAAA;QAEA,IAAI7e,GAAAA,CAAIgf,SAAS,EAAE;YACfI,MAAOrL,CAAAA,EAAE,CAAC4L,gCACN3f,CAAAA,GAAAA,CAAI3F,IAAI,EACRulB,yBAAAA,CAAgBE,OAAO,CACxBf,EAAAA,aAAAA,CAAAA,CAAAA;AACP,SAAA;QAEA,IAAI/e,GAAAA,CAAIkf,SAAS,EAAE;YACfE,MAAOrL,CAAAA,EAAE,CAAC4L,gCACN3f,CAAAA,GAAAA,CAAI3F,IAAI,EACRulB,yBAAAA,CAAgBG,OAAO,CACxBd,EAAAA,aAAAA,CAAAA,CAAAA;AACP,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMpC,OAAU,GAAA,UAAA;QACZ,IAAK7c,IAAI6V,MAAM,IAAI,CAACwI,QAASrjB,CAAAA,KAAK,IAAK,CAACmkB,OAAS,EAAA;AAC7C,YAAA,OAAA;AACJ,SAAA;QAEAA,OAAU,GAAA,KAAA,CAAA;AAEV,QAAA,MAAMC,SAAS,MAAMrB,aAAAA,CAAcsB,OAAO,CAACC,gCAAAA,CAAyBllB,QAAQY,KAAK,CAAA,CAAA,CAAA;QAEjF,IAAIqF,KAAAA,CAAAA;QACJ,IAAIL,GAAAA,CAAIggB,yBAAyB,EAAE;AAC/B3f,YAAAA,KAAAA,GAAQL,IAAIggB,yBAAyB,EAAA,CAAA;SAClC,MAAA;AACH3f,YAAAA,KAAAA,GAAQmf,4CACJxf,CAAAA,GAAAA,CAAI3F,IAAI,EACRolB,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,SAAA;AAEAN,QAAAA,MAAAA,CAAO3kB,IAAI,CACP4F,KACAge,EAAAA,QAAAA,CAASrjB,KAAK,CAAA,CAAA;QAGlB,IAAIgF,GAAAA,CAAI8e,SAAS,EAAE;YACfM,MAAOpL,CAAAA,GAAG,CAAC2L,gCACP3f,CAAAA,GAAAA,CAAI3F,IAAI,EACRulB,yBAAAA,CAAgBE,OAAO,CACxBjB,EAAAA,aAAAA,CAAAA,CAAAA;AACP,SAAA;QAEA,IAAI7e,GAAAA,CAAIgf,SAAS,EAAE;YACfI,MAAOpL,CAAAA,GAAG,CAAC2L,gCACP3f,CAAAA,GAAAA,CAAI3F,IAAI,EACRulB,yBAAAA,CAAgBE,OAAO,CACxBf,EAAAA,aAAAA,CAAAA,CAAAA;AACP,SAAA;QAEA,IAAI/e,GAAAA,CAAIkf,SAAS,EAAE;YACfE,MAAOpL,CAAAA,GAAG,CAAC2L,gCACP3f,CAAAA,GAAAA,CAAI3F,IAAI,EACRulB,yBAAAA,CAAgBG,OAAO,CACxBd,EAAAA,aAAAA,CAAAA,CAAAA;AACP,SAAA;AACJ,KAAA,CAAA;AAEAgB,IAAAA,aAAAA,CAAU,IAAMrD,KAAAA,EAAAA,CAAAA,CAAAA;AAChBsD,IAAAA,eAAAA,CAAY,IAAMrD,OAAAA,EAAAA,CAAAA,CAAAA;IAElB5hB,SAAMojB,CAAAA,QAAAA,EAAU,CAACnjB,GAAK0iB,EAAAA,QAAAA,GAAAA;AAClB,QAAA,IAAI1iB,QAAQ0iB,QAAU,EAAA;AAClBf,YAAAA,OAAAA,EAAAA,CAAAA;AACAD,YAAAA,KAAAA,EAAAA,CAAAA;AACJ,SAAA;AACJ,KAAA,CAAA,CAAA;IAEA,OAAO;AACHA,QAAAA,KAAAA;AACAC,QAAAA,OAAAA;AACJ,KAAA,CAAA;AACJ;;AC7NO,SAASsD,wBAAwCrc,KAAwB,EAAA;IAC5E,IAAI1E,KAAAA,CAAMC,OAAO,CAACyE,KAAQ,CAAA,EAAA;AACtB,QAAA,OAAOA,KAAMsc,CAAAA,IAAI,CAAC,CAAC5c,KAAO2c,uBAAwB3c,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AACtD,KAAA;AAEA,IAAA,IAAItE,cAAS4E,KAAQ,CAAA,EAAA;QACjB,OAAOA,KAAAA,CAAMuc,UAAU,KAAKC,mBAAcC,CAAAA,IAAI,IAC1Czc,KAAM0c,CAAAA,UAAU,KAAKF,mBAAAA,CAAcC,IAAI,CAAA;AAC/C,KAAA;AAEA,IAAA,OAAO,OAAOzc,KAAU,KAAA,QAAA,KACnBA,KAAU,KAAA,aAAA,IAAiBA,UAAU,aAAY,CAAA,CAAA;AAC1D;;ACgBA,MAAM2c,SAASC,iBAAa,CAAA;IACxBC,KAAO,EAAA,KAAA;IACPC,OAAS,EAAA,KAAA;IACTC,QAAU,EAAA,MAAA;AACd,CAAA,CAAA,CAAA;AAEO,SAASC,WAIZ1S,OAAgC,EAAA;IAEhC,MAAMrW,IAAAA,GAAkB2D,QAAI,EAAE,CAAA,CAAA;AAC9B,IAAA,MAAMD,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,IAAA,MAAMqlB,QAAQrlB,OAAI,CAAA,CAAA,CAAA,CAAA;AAClB,IAAA,MAAMijB,OAAOjjB,OAAI,CAAA;QACbslB,UAAY,EAAA;YACRC,KAAO,EAAA,EAAA;AACX,SAAA;AACJ,KAAA,CAAA,CAAA;AAEA,IAAA,MAAM7mB,UAAU6jB,YACZ,CAAA,IAAA;QACI,IAAI7P,OAAAA,CAAQhU,OAAO,EAAE;YACjB,OAAOgkB,SAAAA,CAAMhQ,OAAQhU,CAAAA,OAAO,CAAIgU,GAAAA,OAAAA,CAAQhU,OAAO,CAACY,KAAK,GAAGoT,OAAAA,CAAQhU,OAAO,CAAA;AAC3E,SAAA;AAEA,QAAA,IAAIgU,OAAQjU,CAAAA,KAAK,CAACC,OAAO,EAAE;YACvB,OAAOgU,OAAAA,CAAQjU,KAAK,CAACC,OAAO,CAAA;AAChC,SAAA;QAEA,OAAO9B,SAAAA,CAAAA;AACX,KAAA,CAAA,CAAA;AAGJ,IAAA,MAAMgc,MAAS0I,GAAAA,oBAAAA,EAAAA,CAAAA;IAEf,IAAIkE,SAAAA,CAAAA;AACJ,IAAA,IAAIriB,cAAeyV,CAAAA,MAAAA,EAAQlG,OAAQ/T,CAAAA,IAAI,CAAG,EAAA;AACtC6mB,QAAAA,SAAAA,GAAY5M,MAAM,CAAClG,OAAQ/T,CAAAA,IAAI,CAAC,CAAA;AACpC,KAAA;IAEA,IAAI8H,KAAAA,CAAAA;IAEJ,eAAegf,IAAAA,CAAKrd,KAAqB,GAAA,EAAE,EAAA;AACvC,QAAA,IAAI,CAACod,SAAAA,IAAazlB,IAAKT,CAAAA,KAAK,EAAE,OAAA;AAE9BS,QAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;QACb2jB,IAAK3jB,CAAAA,KAAK,CAACS,IAAI,GAAG,IAAA,CAAA;QAElB,IAAI;YACA,IAAI2lB,OAAAA,CAAAA;AACJ,YAAA,IACIhT,QAAQiT,YAAY,IACpBvd,KAAMsd,CAAAA,OAAO,IACbviB,cAAeiF,CAAAA,KAAAA,CAAMsd,OAAO,EAAE,WAC9B,OAAOtd,KAAAA,CAAMsd,OAAO,CAACvmB,IAAI,KAAK,QAChC,EAAA;;AAEEumB,gBAAAA,OAAAA,GAAUhT,QAAQiT,YAAY,CAACvd,KAAMsd,CAAAA,OAAO,CAACvmB,IAAI,CAAA,CAAA;AACrD,aAAA;YAEAsH,KAAQ7J,GAAAA,SAAAA,CAAAA;YACR,IAAI8V,OAAAA,CAAQjM,KAAK,EAAE;AACf,gBAAA,IAAI,OAAOiM,OAAAA,CAAQjM,KAAK,KAAK,UAAY,EAAA;AACrCA,oBAAAA,KAAAA,GAAQiM,QAAQjM,KAAK,EAAA,CAAA;iBAClB,MAAA;AACHA,oBAAAA,KAAAA,GAAQiM,QAAQjM,KAAK,CAAA;AACzB,iBAAA;AACJ,aAAA;AAEA,YAAA,IAAIiM,OAAQjU,CAAAA,KAAK,CAACgI,KAAK,EAAE;AACrB,gBAAA,IAAIA,KAAO,EAAA;AACPA,oBAAAA,KAAAA,GAAQse,OAAO,EAAC,EAAGrS,QAAQjU,KAAK,CAACgI,KAAK,EAAEA,KAAAA,CAAAA,CAAAA;iBACrC,MAAA;oBACHA,KAAQiM,GAAAA,OAAAA,CAAQjU,KAAK,CAACgI,KAAK,CAAA;AAC/B,iBAAA;AACJ,aAAA;YAEA,MAAMmf,SAAAA,GAA0Bb,OAC3BW,OAAU,GAAA;AAAEA,gBAAAA,OAAAA;AAAQ,aAAA,GAAI,EAAC,EAC1Btd,KAAS,IAAA,EACT,EAAA;gBACIkd,UAAY,EAAA;AACRC,oBAAAA,KAAAA,EAAOtC,IAAK3jB,CAAAA,KAAK,CAACgmB,UAAU,EAAEC,KAAAA;AAC9BM,oBAAAA,MAAAA,EAAQ5C,IAAK3jB,CAAAA,KAAK,CAACgmB,UAAU,EAAEO,MAAAA;AACnC,iBAAA;AACJ,aAAA,EACApf,SAAS,EAAC,CAAA,CAAA;AAGd,YAAA,MAAMwL,QAAW,GAAA,MAAMuT,SAAU7L,CAAAA,OAAO,CACpCiM,SAAAA,CAAAA,CAAAA;AAGJ3C,YAAAA,IAAAA,CAAK3jB,KAAK,GAAGsmB,SAAAA,CAAAA;YAEb,IAAIlT,OAAAA,CAAQoT,OAAO,EAAE;AACjBzpB,gBAAAA,IAAAA,CAAKiD,KAAK,CAACgG,IAAI,CAAA,GAAI2M,SAAS5V,IAAI,CAAA,CAAA;aAC7B,MAAA;gBACHA,IAAKiD,CAAAA,KAAK,GAAG2S,QAAAA,CAAS5V,IAAI,CAAA;AAC9B,aAAA;AAEAgpB,YAAAA,KAAAA,CAAM/lB,KAAK,GAAG2S,QAASgR,CAAAA,IAAI,CAACoC,KAAK,CAAA;AAEjCpC,YAAAA,IAAAA,CAAK3jB,KAAK,CAAC+lB,KAAK,GAAGpT,QAASgR,CAAAA,IAAI,CAACoC,KAAK,CAAA;YACtCpC,IAAK3jB,CAAAA,KAAK,CAACgmB,UAAU,GAAG;gBACpBC,KAAOtT,EAAAA,QAAAA,CAASgR,IAAI,CAACsC,KAAK;gBAC1BM,MAAQ5T,EAAAA,QAAAA,CAASgR,IAAI,CAAC4C,MAAM;AAChC,aAAA,CAAA;SACM,QAAA;AACN9lB,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;YACb2jB,IAAK3jB,CAAAA,KAAK,CAACS,IAAI,GAAG,KAAA,CAAA;AACtB,SAAA;QAEA,IACI2S,OAAAA,CAAQoT,OAAO,IACfT,KAAM/lB,CAAAA,KAAK,GAAGjD,IAAKiD,CAAAA,KAAK,CAACrD,MAAM,EACjC;AACE,YAAA,MAAMwpB,IAAK,CAAA;AACP,gBAAA,GAAGxC,KAAK3jB,KAAK;gBACbgmB,UAAY,EAAA;oBACR,GAAGrC,IAAAA,CAAK3jB,KAAK,CAACgmB,UAAU;AACxBO,oBAAAA,MAAAA,EAAQ,CAAC5C,IAAAA,CAAK3jB,KAAK,CAACgmB,UAAU,EAAEO,MAAAA,IAAU,CAAA,KAAM5C,IAAK3jB,CAAAA,KAAK,CAACgmB,UAAU,EAAEC,SAAS,CAAA,CAAA;AACpF,iBAAA;AACJ,aAAA,CAAA,CAAA;AACJ,SAAA;AACJ,KAAA;IAEA,MAAMpC,aAAAA,GAAgBzb,uBAAwBrL,CAAAA,IAAAA,EAAM,CAAC0pB,QAAAA,GAAAA;AACjDV,QAAAA,KAAAA,CAAM/lB,KAAK,EAAA,CAAA;QAEX,IAAIoT,OAAAA,CAAQ0Q,SAAS,EAAE;AACnB1Q,YAAAA,OAAAA,CAAQ0Q,SAAS,CAAC2C,QAAU9C,EAAAA,IAAAA,CAAK3jB,KAAK,CAAA,CAAA;AAC1C,SAAA;AACJ,KAAA,CAAA,CAAA;IACA,MAAMikB,aAAAA,GAAgBvb,wBAAwB3L,IAAM,EAAA,IAAA;AAChDgpB,QAAAA,KAAAA,CAAM/lB,KAAK,EAAA,CAAA;AACf,KAAA,CAAA,CAAA;AACA,IAAA,MAAM+jB,gBAAgBtb,uBAAwB1L,CAAAA,IAAAA,CAAAA,CAAAA;IAE9C,IAAID,OAAAA,GAAiCsW,QAAQjU,KAAK,CAAA;AAElD,IAAA,MAAMunB,cAAc,CAACzoB,QAAAA,GAAAA;QACjBnB,OAAUoL,GAAAA,gBAAAA,CAAiBkL,OAAQjU,CAAAA,KAAK,EAAElB,QAAAA,CAAAA,CAAAA;AAC9C,KAAA,CAAA;IAEA,SAAS0oB,MAAAA,GAAAA;AACL,QAAA,MAAMjf,MAA0CmB,GAAAA,gBAAAA,CAAiB/L,OAAQ4K,CAAAA,MAAM,IAAI,EAAC,CAAA,CAAA;AACpF,QAAA,MAAMD,MAA0CoB,GAAAA,gBAAAA,CAAiB/L,OAAQ2K,CAAAA,MAAM,IAAI,EAAC,CAAA,CAAA;QAEpF,IAAI3K,OAAAA,CAAQqH,IAAI,EAAE;YACd,IACI,OAAOrH,QAAQ6K,IAAI,KAAK,eACxB,OAAO7K,OAAAA,CAAQ6K,IAAI,KAAK,SAC1B,EAAA;AACE7K,gBAAAA,OAAAA,CAAQ6K,IAAI,GAAG;AAAExD,oBAAAA,IAAAA,EAAMrH,QAAQqH,IAAI;AAAC,iBAAA,CAAA;aACjC,MAAA;AACHrH,gBAAAA,OAAAA,CAAQ6K,IAAI,CAACxD,IAAI,GAAGrH,QAAQqH,IAAI,CAAA;AACpC,aAAA;AACJ,SAAA;AAEA,QAAA,OAAOyiB,sBAA0B,CAAA;AAC7Bnf,YAAAA,MAAAA;AACAC,YAAAA,MAAAA;AACAF,YAAAA,MAAAA,EAAQ1K,QAAQ0K,MAAM;AACtBG,YAAAA,IAAAA,EAAM7K,QAAQ6K,IAAI;AAClBJ,YAAAA,OAAAA,EAASzK,QAAQyK,OAAO;AACxBwe,YAAAA,KAAAA,EAAOA,MAAM/lB,KAAK;AAClBmmB,YAAAA,IAAAA;AACA1lB,YAAAA,IAAAA,EAAMA,KAAKT,KAAK;AAChBjD,YAAAA,IAAAA,EAAMA,KAAKiD,KAAK;YAChB2jB,IAAM,EAAA;AACF,gBAAA,GAAGA,KAAK3jB,KAAK;AACb+lB,gBAAAA,KAAAA,EAAOA,MAAM/lB,KAAK;AACtB,aAAA;AACA8jB,YAAAA,SAAAA,CAAAA,CAAU9jB,KAAQ,EAAA;AACd,gBAAA,IAAIoT,OAAQ5T,CAAAA,KAAK,CAACC,IAAI,EAAE;AACpB2T,oBAAAA,OAAAA,CAAQ5T,KAAK,CAACC,IAAI,CAAC,SAAWO,EAAAA,KAAAA,CAAAA,CAAAA;AAClC,iBAAA;AAEA+lB,gBAAAA,KAAAA,CAAM/lB,KAAK,EAAA,CAAA;AACf,aAAA;AACAkkB,YAAAA,SAAAA,CAAAA,CAAUlkB,KAAQ,EAAA;AACd,gBAAA,IAAIoT,OAAQ5T,CAAAA,KAAK,CAACC,IAAI,EAAE;AACpB2T,oBAAAA,OAAAA,CAAQ5T,KAAK,CAACC,IAAI,CAAC,SAAWO,EAAAA,KAAAA,CAAAA,CAAAA;AAClC,iBAAA;AAEA+lB,gBAAAA,KAAAA,CAAM/lB,KAAK,EAAA,CAAA;AACf,aAAA;AACAgkB,YAAAA,SAAAA,EAAW,CAAChkB,KAAAA,GAAAA;AACR,gBAAA,IAAIoT,OAAQ5T,CAAAA,KAAK,CAACC,IAAI,EAAE;AACpB2T,oBAAAA,OAAAA,CAAQ5T,KAAK,CAACC,IAAI,CAAC,SAAWO,EAAAA,KAAAA,CAAAA,CAAAA;AAClC,iBAAA;AACJ,aAAA;AACA6mB,YAAAA,SAAAA,EAAWzT,OAAQ5T,CAAAA,KAAK,CAACgH,KAAK,IAAI,EAAC;AACvC,SAAA,CAAA,CAAA;AACJ,KAAA;IAEA4M,OAAQ5T,CAAAA,KAAK,CAAC6P,MAAM,CAAC;AACjBwU,QAAAA,aAAAA;AACAI,QAAAA,aAAAA;AACAF,QAAAA,aAAAA;AACAoC,QAAAA,IAAAA;AACAppB,QAAAA,IAAAA;AACJ,KAAA,CAAA,CAAA;AAEA,IAAA,IAAIsK,WAAc,GAAA,IAAA,CAAA;AAClB,IAAA,MAAMyf,eAAkBC,GAAAA,SAAAA,CAAM3T,OAAQjU,CAAAA,KAAK,CAACkI,WAAW,CAAA,CAAA;IACvD,IAAI,OAAOyf,oBAAoB,SAAW,EAAA;QACtCzf,WAAcyf,GAAAA,eAAAA,CAAAA;AAClB,KAAA;AAEA,IAAA,IAAIzf,WAAa,EAAA;AACbgL,QAAAA,OAAAA,CAAQoH,OAAO,EAAA,CACVnH,IAAI,CAAC,IAAM6T,IAAAA,EAAAA,CAAAA,CACXa,KAAK,CAAC,CAACnmB,CAAAA,GAAMomB,OAAQC,CAAAA,GAAG,CAACrmB,CAAAA,CAAAA,CAAAA,CAAAA;AAClC,KAAA;AAEA,IAAA,IACI,OAAOuS,OAAAA,CAAQgR,MAAM,KAAK,SAC1B,IAAA,OAAOhR,OAAQgR,CAAAA,MAAM,KAAK,WAAA,IAC1BhR,OAAQgR,CAAAA,MAAM,EAChB;AACE,QAAA,MAAM+C,aAA4C,GAAA;AAC9C9nB,YAAAA,IAAAA,EAAM+T,QAAQ/T,IAAI;YAClB,GAAI6E,aAAAA,CAASkP,QAAQgR,MAAM,CAAA,GAAIhR,QAAQgR,MAAM,GAAG,EAAE;AACtD,SAAA,CAAA;QAEA+C,aAAcrD,CAAAA,SAAS,GAAG,CAACsD,MAAAA,GAAAA;AACvB,YAAA,MAAMnB,KAAQtC,GAAAA,IAAAA,CAAK3jB,KAAK,EAAEgmB,UAAYC,EAAAA,KAAAA,CAAAA;YACtC,IAAI,OAAOA,UAAU,QAAU,EAAA;gBAC3BpC,aAAcuD,CAAAA,MAAAA,CAAAA,CAAAA;AACd,gBAAA,OAAA;AACJ,aAAA;YAEA,IAAIrB,KAAAA,CAAM/lB,KAAK,GAAGimB,KAAO,EAAA;gBACrBpC,aAAcuD,CAAAA,MAAAA,CAAAA,CAAAA;AACd,gBAAA,OAAA;AACJ,aAAA;AAEA,YAAA,MAAMC,QAAWlgB,GAAAA,KAAAA,IACbA,KAAMmgB,CAAAA,IAAI,IACVnC,uBAAAA,CAAwBhe,KAAMmgB,CAAAA,IAAI,CAClC3D,IAAAA,IAAAA,CAAK3jB,KAAK,EAAEgmB,YAAYO,MAAW,KAAA,CAAA,CAAA;AAEvC,YAAA,IAAIc,QAAU,EAAA;gBACVxD,aAAcuD,CAAAA,MAAAA,CAAAA,CAAAA;AAClB,aAAA;AACJ,SAAA,CAAA;QACAD,aAAcjD,CAAAA,SAAS,GAAG,CAACkD,MAAAA,GAAAA;YACvBnD,aAAcmD,CAAAA,MAAAA,CAAAA,CAAAA;AAClB,SAAA,CAAA;QACAD,aAAcnD,CAAAA,SAAS,GAAG,CAACoD,MAAAA,GAAAA;YACvBnD,aAAcmD,CAAAA,MAAAA,CAAAA,CAAAA;AAClB,SAAA,CAAA;AACAD,QAAAA,aAAAA,CAAc/nB,OAAO,GAAGA,OAAAA,CAAAA;QAExB0jB,kBAAmBqE,CAAAA,aAAAA,CAAAA,CAAAA;AACvB,KAAA;IAEA,OAAO;AACHpqB,QAAAA,IAAAA;AACA0D,QAAAA,IAAAA;AACAkjB,QAAAA,IAAAA;AACAoC,QAAAA,KAAAA;AAEAlC,QAAAA,aAAAA;AACAE,QAAAA,aAAAA;AACAE,QAAAA,aAAAA;AAEA0C,QAAAA,MAAAA;AACAR,QAAAA,IAAAA;AACAO,QAAAA,WAAAA;AACJ,KAAA,CAAA;AACJ;;;ACtTYa,CAAAA,SAAAA,kBAAAA,EAAAA;AACEC,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,SAAAA,CAAAA,GAAAA,qBAAAA,CAAStpB,OAAO,CAAA,GAAA,SAAA,CAAA;AACnBspB,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,MAAAA,CAAAA,GAAAA,qBAAAA,CAASC,IAAI,CAAA,GAAA,MAAA,CAAA;AACbD,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,MAAAA,CAAAA,GAAAA,qBAAAA,CAASE,IAAI,CAAA,GAAA,MAAA,CAAA;AACLF,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,cAAAA,CAAAA,GAAAA,qBAAAA,CAASG,YAAY,CAAA,GAAA,cAAA,CAAA;AACfH,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,oBAAAA,CAAAA,GAAAA,qBAAAA,CAASI,kBAAkB,CAAA,GAAA,oBAAA,CAAA;AACvCJ,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,QAAAA,CAAAA,GAAAA,qBAAAA,CAASK,MAAM,CAAA,GAAA,QAAA,CAAA;AACfL,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,QAAAA,CAAAA,GAAAA,qBAAAA,CAASM,MAAM,CAAA,GAAA,QAAA,CAAA;AACdN,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,SAAAA,CAAAA,GAAAA,qBAAAA,CAASO,OAAO,CAAA,GAAA,SAAA,CAAA;AAChBP,IAAAA,kBAAAA,CAAAA,kBAAAA,CAAAA,SAAAA,CAAAA,GAAAA,qBAAAA,CAASQ,OAAO,CAAA,GAAA,SAAA,CAAA;GATlBT,0BAAAA,KAAAA,0BAAAA,GAAAA,EAAAA,CAAAA,CAAAA;;ACTZ;;;;;IAOO,MAAMU,kBAA2BnnB,SAAAA,KAAAA,CAAAA;AACpC,IAAA,OAAOonB,YAAe,GAAA;QAClB,OAAO,IAAI,IAAI,CAAC,+BAAA,CAAA,CAAA;AACpB,KAAA;AACJ;;ACXA;;;;;AAKC,IAEM,SAASC,sBACZC,CAAAA,GAAM,EACNtf,KAAkB,EAAA;AAElB,IAAA,IAAI,CAACA,KAAO,EAAA;QACR,OAAOsf,GAAAA,CAAAA;AACX,KAAA;IAEA,MAAM5rB,IAAAA,GAAqBC,MAAOD,CAAAA,IAAI,CAACsM,KAAAA,CAAAA,CAAAA;AACvC,IAAA,IAAK,IAAIpM,CAAI,GAAA,CAAA,EAAGA,IAAIF,IAAKG,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;QAClC0rB,GAAG,CAAC5rB,IAAI,CAACE,CAAE,CAAA,CAAC,GAAGoM,KAAK,CAACtM,IAAI,CAACE,CAAAA,CAAE,CAAC,CAAA;AACjC,KAAA;IAEA,OAAO0rB,GAAAA,CAAAA;AACX;;ACLO,SAASC,4BACZvf,KAAuB,EAAA;IAEvB,OAAO;AACH,QAAA,GAAGA,KAAK;QACRuK,KAAO0T,EAAAA,SAAAA,CAAMje,MAAMuK,KAAK,CAAA;QACxB5S,IAAMsmB,EAAAA,SAAAA,CAAMje,MAAMrI,IAAI,CAAA;QACtB1D,IAAMgqB,EAAAA,SAAAA,CAAMje,MAAM/L,IAAI,CAAA;QACtBumB,MAAQyD,EAAAA,SAAAA,CAAMje,MAAMwa,MAAM,CAAA;AAC9B,KAAA,CAAA;AACJ,CAAA;AAEO,SAASgF,yBAAAA,GAAAA;IACZ,OAAO;;AAEHC,QAAAA,MAAAA,EAAQ,CAACxhB,KAAiB,GAAA,IAAA;;AAE1BD,QAAAA,OAAAA,EAAS,CAACC,KAAa,GAAA,IAAA;;AAEvBC,QAAAA,OAAAA,EAAS,CAACD,KAAa,GAAA,IAAA;;AAEvBE,QAAAA,OAAAA,EAAS,CAACF,KAAa,GAAA,IAAA;;AAEvByhB,QAAAA,QAAAA,EAAU,CAACzhB,KAAc,GAAA,IAAA;AAC7B,KAAA,CAAA;AACJ,CAAA;AAEO,SAAS0hB,wBAAAA,GAAAA;IACZ,OAAO;QACHrB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAisB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACA+mB,YAAc,EAAA;YACVhnB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAksB,WAAa,EAAA;YACTtpB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACA0K,KAAO,EAAA;YACH9H,IAAM5C,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA,CAAA;AACJ;;AC/BO,SAASmsB,oBAIZ5jB,GAA+B,EAAA;AAE/B,IAAA,MAAMsU,MAAS0I,GAAAA,oBAAAA,EAAAA,CAAAA;IACf,IAAIkE,SAAAA,CAAAA;AACJ,IAAA,IAAIriB,cAAeyV,CAAAA,MAAAA,EAAQtU,GAAI3F,CAAAA,IAAI,CAAG,EAAA;AAClC6mB,QAAAA,SAAAA,GAAY5M,MAAM,CAACtU,GAAI3F,CAAAA,IAAI,CAAC,CAAA;AAChC,KAAA;AAEA,IAAA,MAAM+nB,SAA8B1mB,OAAIpD,CAAAA,SAAAA,CAAAA,CAAAA;IACxC,MAAMorB,QAAAA,GAAWzF,YACb,CAAA,IACImE,MAAOpnB,CAAAA,KAAK,GAAIonB,MAAOpnB,CAAAA,KAAK,CAAS0D,EAAE,GAAGpG,SAAAA,CAAAA,CAAAA;AAGlD,IAAA,MAAM8B,UAAU6jB,YACZ,CAAA,IAAA;QACI,IAAI7jB,OAAAA,CAAAA;QAEJ,IAAI4F,GAAAA,CAAI5F,OAAO,EAAE;AACb,YAAA,IAAI,OAAO4F,GAAAA,CAAI5F,OAAO,KAAK,UAAY,EAAA;AACnC,gBAAA,OAAO4F,GAAI5F,CAAAA,OAAO,CAACgoB,MAAAA,CAAOpnB,KAAK,CAAA,CAAA;AACnC,aAAA;YAEAZ,OAAUgkB,GAAAA,SAAAA,CAAMpe,GAAI5F,CAAAA,OAAO,CAAI4F,GAAAA,GAAAA,CAAI5F,OAAO,CAACY,KAAK,GAAGgF,GAAAA,CAAI5F,OAAO,CAAA;AAClE,SAAA;AAEA,QAAA,IAAI,CAACA,OAAAA,IAAWgoB,MAAOpnB,CAAAA,KAAK,EAAE;YAC1B,IACI6D,cAAAA,CAAeujB,MAAOpnB,CAAAA,KAAK,EAAE,UAAA,CAAA,IAC7B,OAAOonB,MAAAA,CAAOpnB,KAAK,CAACD,QAAQ,KAAK,QACnC,EAAA;gBACE,OAAOqnB,MAAAA,CAAOpnB,KAAK,CAACD,QAAQ,CAAA;AAChC,aAAA;AACJ,SAAA;QAEA,OAAOX,OAAAA,CAAAA;AACX,KAAA,CAAA,CAAA;AAGJ,IAAA,MAAMkkB,SAAS5iB,OAAIpD,CAAAA,SAAAA,CAAAA,CAAAA;AAEnB,IAAA,IAAI0H,IAAI7F,KAAK,IAAI6F,IAAI7F,KAAK,CAACioB,MAAM,EAAE;AAC/BA,QAAAA,MAAAA,CAAOpnB,KAAK,GAAGgF,GAAI7F,CAAAA,KAAK,CAACioB,MAAM,CAAA;AACnC,KAAA;AAEA,IAAA,MAAMtgB,UAAU,CAAC9G,KAAAA,GAAAA;AACb,QAAA,IAAIgF,IAAIxF,KAAK,IAAIwF,IAAIxF,KAAK,CAACC,IAAI,EAAE;AAC7BuF,YAAAA,GAAAA,CAAIxF,KAAK,CAACC,IAAI,CAAC,SAAWO,EAAAA,KAAAA,CAAAA,CAAAA;AAC9B,SAAA;QAEA,IAAIgF,GAAAA,CAAI8e,SAAS,EAAE;AACf9e,YAAAA,GAAAA,CAAI8e,SAAS,CAAC9jB,KAAAA,CAAAA,CAAAA;AAClB,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMgH,UAAU,CAAChH,KAAAA,GAAAA;AACb,QAAA,IAAIgF,IAAIxF,KAAK,IAAIwF,IAAIxF,KAAK,CAACC,IAAI,EAAE;AAC7BuF,YAAAA,GAAAA,CAAIxF,KAAK,CAACC,IAAI,CAAC,SAAYO,EAAAA,KAAAA,IAASonB,OAAOpnB,KAAK,CAAA,CAAA;AACpD,SAAA;QAEA,IAAIgF,GAAAA,CAAIkf,SAAS,EAAE;AACflf,YAAAA,GAAAA,CAAIkf,SAAS,CAAElkB,KAASonB,IAAAA,MAAAA,CAAOpnB,KAAK,CAAA,CAAA;AACxC,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMiH,UAAU,CAACjH,KAAAA,GAAAA;QACb,IAAIonB,MAAAA,CAAOpnB,KAAK,EAAE;YACdmoB,sBAAuBf,CAAAA,MAAAA,CAAOpnB,KAAK,EAAEA,KAAAA,CAAAA,CAAAA;AACzC,SAAA;AAEA,QAAA,IAAIgF,IAAIxF,KAAK,IAAIwF,IAAIxF,KAAK,CAACC,IAAI,EAAE;AAC7BuF,YAAAA,GAAAA,CAAIxF,KAAK,CAACC,IAAI,CAAC,SAAY2nB,EAAAA,MAAAA,CAAOpnB,KAAK,IAAIA,KAAAA,CAAAA,CAAAA;AAC/C,SAAA;QAEA,IAAIgF,GAAAA,CAAIgf,SAAS,EAAE;AACfhf,YAAAA,GAAAA,CAAIgf,SAAS,CAACoD,MAAOpnB,CAAAA,KAAK,IAAIA,KAAAA,CAAAA,CAAAA;AAClC,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMwoB,WAAW,CAACxoB,KAAAA,GAAAA;AACd,QAAA,IAAIgF,IAAIxF,KAAK,IAAIwF,IAAIxF,KAAK,CAACC,IAAI,EAAE;AAC7BuF,YAAAA,GAAAA,CAAIxF,KAAK,CAACC,IAAI,CAAC,UAAYO,EAAAA,KAAAA,CAAAA,CAAAA;AAC/B,SAAA;QAEA,IAAIgF,GAAAA,CAAI6jB,UAAU,EAAE;AAChB7jB,YAAAA,GAAAA,CAAI6jB,UAAU,CAAC7oB,KAAAA,CAAAA,CAAAA;AACnB,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMuoB,SAAS,CAAClV,KAAAA,GAAAA;AACZ,QAAA,IAAIrO,IAAIxF,KAAK,IAAIwF,IAAIxF,KAAK,CAACC,IAAI,EAAE;AAC7BuF,YAAAA,GAAAA,CAAIxF,KAAK,CAACC,IAAI,CAAC,QAAU4T,EAAAA,KAAAA,CAAAA,CAAAA;AAC7B,SAAA;QAEA,IAAIrO,GAAAA,CAAI8jB,QAAQ,EAAE;AACd9jB,YAAAA,GAAAA,CAAI8jB,QAAQ,CAACzV,KAAAA,CAAAA,CAAAA;AACjB,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAM5S,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AAEjB,IAAA,MAAMqb,SAAS,OAAOhf,IAAAA,GAAAA;QAClB,IAAI,CAACmpB,aAAazlB,IAAKT,CAAAA,KAAK,IAAI,CAAC0oB,QAAAA,CAAS1oB,KAAK,EAAE;AAC7C,YAAA,OAAA;AACJ,SAAA;AAEAS,QAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;QACbsjB,MAAOtjB,CAAAA,KAAK,GAAG0oB,QAAAA,CAAS1oB,KAAK,CAAA;QAE7B,IAAI;AACA,YAAA,MAAM2S,WAAW,MAAMuT,SAAAA,CAAUnK,MAAM,CACnC2M,QAAAA,CAAS1oB,KAAK,EACdjD,IAAAA,CAAAA,CAAAA;AAGJqqB,YAAAA,MAAAA,CAAOpnB,KAAK,GAAG2S,QAAAA,CAAAA;YAEf1L,OAAQ0L,CAAAA,QAAAA,CAAAA,CAAAA;AACZ,SAAA,CAAE,OAAO9R,CAAG,EAAA;AACR,YAAA,IAAIA,aAAaC,KAAO,EAAA;gBACpBynB,MAAO1nB,CAAAA,CAAAA,CAAAA,CAAAA;AACX,aAAA;SACM,QAAA;AACNJ,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACbsjB,YAAAA,MAAAA,CAAOtjB,KAAK,GAAG1C,SAAAA,CAAAA;AACnB,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMyrB,MAAS,GAAA,UAAA;QACX,IAAI,CAAC7C,aAAazlB,IAAKT,CAAAA,KAAK,IAAI,CAAC0oB,QAAAA,CAAS1oB,KAAK,EAAE;AAC7C,YAAA,OAAA;AACJ,SAAA;AAEAS,QAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;QACbsjB,MAAOtjB,CAAAA,KAAK,GAAG0oB,QAAAA,CAAS1oB,KAAK,CAAA;QAE7B,IAAI;AACA,YAAA,MAAM2S,WAAW,MAAMuT,SAAAA,CAAU5R,MAAM,CACnCoU,SAAS1oB,KAAK,CAAA,CAAA;AAGlBonB,YAAAA,MAAAA,CAAOpnB,KAAK,GAAG1C,SAAAA,CAAAA;YAEf0J,OAAQ2L,CAAAA,QAAAA,CAAAA,CAAAA;AACZ,SAAA,CAAE,OAAO9R,CAAG,EAAA;AACR,YAAA,IAAIA,aAAaC,KAAO,EAAA;gBACpBynB,MAAO1nB,CAAAA,CAAAA,CAAAA,CAAAA;AACX,aAAA;SACM,QAAA;AACNJ,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACbsjB,YAAAA,MAAAA,CAAOtjB,KAAK,GAAG1C,SAAAA,CAAAA;AACnB,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMwe,SAAS,OAAO/e,IAAAA,GAAAA;AAClB,QAAA,IAAI,CAACmpB,SAAAA,IAAazlB,IAAKT,CAAAA,KAAK,EAAE;AAC1B,YAAA,OAAA;AACJ,SAAA;AAEAS,QAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;AAEbsjB,QAAAA,MAAAA,CAAOtjB,KAAK,GAAG1C,SAAAA,CAAAA;QAEf,IAAI;AACA,YAAA,MAAMqV,QAAW,GAAA,MAAMuT,SAAUpK,CAAAA,MAAM,CAAC/e,IAAAA,CAAAA,CAAAA;AAExCqqB,YAAAA,MAAAA,CAAOpnB,KAAK,GAAG2S,QAAAA,CAAAA;YAEf7L,OAAQ6L,CAAAA,QAAAA,CAAAA,CAAAA;AACZ,SAAA,CAAE,OAAO9R,CAAG,EAAA;AACR,YAAA,IAAIA,aAAaC,KAAO,EAAA;gBACpBynB,MAAO1nB,CAAAA,CAAAA,CAAAA,CAAAA;AACX,aAAA;SACM,QAAA;AACNJ,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACbsjB,YAAAA,MAAAA,CAAOtjB,KAAK,GAAG1C,SAAAA,CAAAA;AACnB,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAM0rB,iBAAiB,OAAOjsB,IAAAA,GAAAA;QAC1B,IAAIqqB,MAAAA,CAAOpnB,KAAK,EAAE;AACd,YAAA,MAAM+b,MAAOhf,CAAAA,IAAAA,CAAAA,CAAAA;SACV,MAAA;AACH,YAAA,MAAM+e,MAAO/e,CAAAA,IAAAA,CAAAA,CAAAA;AACjB,SAAA;AACJ,KAAA,CAAA;IAEA,IAAIqnB,MAAAA,CAAAA;AAEJ,IAAA,IACI,OAAOpf,GAAIof,CAAAA,MAAM,KAAK,SAAA,IACtB,OAAOpf,GAAIof,CAAAA,MAAM,KAAK,WAAA,IACtB,OAAOpf,GAAIof,CAAAA,MAAM,KAAK,UACtBpf,IAAAA,GAAAA,CAAIof,MAAM,EACZ;AACE,QAAA,IAAI+C,aAA4C,GAAA;AAC5C9nB,YAAAA,IAAAA,EAAM2F,IAAI3F,IAAI;AAClB,SAAA,CAAA;QAEA,IAAI6E,aAAAA,CAASc,GAAIof,CAAAA,MAAM,CAAG,EAAA;YACtB+C,aAAgB,GAAA;AACZ,gBAAA,GAAGA,aAAa;AAChB,gBAAA,GAAGniB,IAAIof,MAAM;AACjB,aAAA,CAAA;AACJ,SAAA;AAEA+C,QAAAA,aAAAA,CAAcrD,SAAS,GAAGhd,OAAAA,CAAAA;AAC1BqgB,QAAAA,aAAAA,CAAcnD,SAAS,GAAG/c,OAAAA,CAAAA;AAC1BkgB,QAAAA,aAAAA,CAAc7D,MAAM,GAAGA,MAAAA,CAAAA;AACvB6D,QAAAA,aAAAA,CAAc/nB,OAAO,GAAGA,OAAAA,CAAAA;AACxB+nB,QAAAA,aAAAA,CAActM,MAAM,GAAG,IAAA,CAAA;AACvBsM,QAAAA,aAAAA,CAAc9D,QAAQ,GAAGqF,QAAAA,CAAAA;AAEzBtE,QAAAA,MAAAA,GAAStB,kBAAmBqE,CAAAA,aAAAA,CAAAA,CAAAA;AAChC,KAAA;AAEA,IAAA,MAAM9T,QAAQ3S,OAAuBpD,CAAAA,SAAAA,CAAAA,CAAAA;AAErC,IAAA,MAAM2rB,cAAiB,GAAA,IAAA;QACnB,IAAI,CAACjkB,GAAI7F,CAAAA,KAAK,EAAE;YACZ,OAAO,KAAA,CAAA;AACX,SAAA;AAEA,QAAA,IAAI6F,GAAI7F,CAAAA,KAAK,CAACioB,MAAM,EAAE;AAClBA,YAAAA,MAAAA,CAAOpnB,KAAK,GAAGgF,GAAI7F,CAAAA,KAAK,CAACioB,MAAM,CAAA;AAE/B,YAAA,IAAIhD,MAAQ,EAAA;AACRA,gBAAAA,MAAAA,CAAOxC,KAAK,EAAA,CAAA;AAChB,aAAA;AAEA4G,YAAAA,QAAAA,CAASpB,OAAOpnB,KAAK,CAAA,CAAA;YAErB,OAAO,IAAA,CAAA;AACX,SAAA;QAEA,OAAO,KAAA,CAAA;AACX,KAAA,CAAA;IAEA,IAAIgF,GAAAA,CAAI7F,KAAK,EAAE;AACX,QAAA,MAAM+pB,aAAgBxpB,GAAAA,SAAAA,CAAMsF,GAAI7F,CAAAA,KAAK,EAAE,QAAA,CAAA,CAAA;QACvC,MAAMgqB,aAAAA,GAAgBlG,YAAS,CAAA,IAAOiG,aAAclpB,CAAAA,KAAK,GAAGkpB,aAAclpB,CAAAA,KAAK,CAAC0D,EAAE,GAAGpG,SAAAA,CAAAA,CAAAA;AACrF2C,QAAAA,SAAAA,CAAMkpB,eAAe,CAACjpB,GAAAA,GAAAA;YAClBknB,MAAOpnB,CAAAA,KAAK,GAAGkpB,aAAAA,CAAclpB,KAAK,CAAA;AAElC,YAAA,IAAIE,GAAK,EAAA;AACL,gBAAA,IAAIkkB,MAAQ,EAAA;AACRA,oBAAAA,MAAAA,CAAOxC,KAAK,EAAA,CAAA;AAChB,iBAAA;AACJ,aAAA,MAAO,IAAIwC,MAAQ,EAAA;AACfA,gBAAAA,MAAAA,CAAOvC,OAAO,EAAA,CAAA;AAClB,aAAA;AACJ,SAAA,CAAA,CAAA;AACJ,KAAA;AAEAoH,IAAAA,cAAAA,EAAAA,CAAAA;AAEA,IAAA,MAAMxP,OAAU,GAAA,OAAO2P,UAA6C,GAAA,EAAE,GAAA;AAClE,QAAA,IAAIhC,OAAOpnB,KAAK,IAAI,CAACopB,UAAAA,CAAWC,KAAK,EAAE;AACnC,YAAA,OAAA;AACJ,SAAA;QAEA,IAAIliB,KAAAA,CAAAA;QACJ,IAAIiiB,UAAAA,CAAWjiB,KAAK,EAAE;AAClBA,YAAAA,KAAAA,GAAQiiB,WAAWjiB,KAAK,CAAA;AAC5B,SAAA;QAEA,IAAI,EAAEzD,EAAE,EAAE,GAAG0lB,UAAAA,CAAAA;QAEb,IAAIpkB,GAAAA,CAAI7F,KAAK,EAAE;AACX,YAAA,IAAI8pB,cAAkB,EAAA,EAAA;AAClB,gBAAA,OAAA;AACJ,aAAA;AAEA,YAAA,IAAIjkB,GAAI7F,CAAAA,KAAK,CAACioB,MAAM,EAAE;AAClBA,gBAAAA,MAAAA,CAAOpnB,KAAK,GAAGgF,GAAI7F,CAAAA,KAAK,CAACioB,MAAM,CAAA;AAE/B,gBAAA,IAAIhD,MAAQ,EAAA;AACRA,oBAAAA,MAAAA,CAAOxC,KAAK,EAAA,CAAA;AAChB,iBAAA;AAEA4G,gBAAAA,QAAAA,CAASpB,OAAOpnB,KAAK,CAAA,CAAA;AAErB,gBAAA,OAAA;AACJ,aAAA;AAEA,YAAA,IACIgF,GAAI7F,CAAAA,KAAK,CAACgI,KAAK,IACfnC,GAAI7F,CAAAA,KAAK,CAACwpB,WAAW,IACrB3jB,GAAAA,CAAI7F,KAAK,CAACknB,YAAY,EACxB;gBACElf,KAAQ,GAAA;oBACJ,GAAInC,GAAAA,CAAI7F,KAAK,CAACgI,KAAK,GAAGnC,GAAI7F,CAAAA,KAAK,CAACgI,KAAK,GAAG,EAAE;AAC1C,oBAAA,GAAInC,GAAI7F,CAAAA,KAAK,CAACwpB,WAAW,GAAG;wBAAEW,MAAQtkB,EAAAA,GAAAA,CAAI7F,KAAK,CAACwpB,WAAW;AAAC,qBAAA,GAAI,EAAE;AAClE,oBAAA,GAAI3jB,GAAI7F,CAAAA,KAAK,CAACknB,YAAY,GAAG;wBAAED,OAASphB,EAAAA,GAAAA,CAAI7F,KAAK,CAACknB,YAAY;AAAC,qBAAA,GAAI,EAAE;AACzE,iBAAA,CAAA;AACJ,aAAA;AAEA,YAAA,IAAIrhB,GAAI7F,CAAAA,KAAK,CAACupB,QAAQ,EAAE;gBACpBhlB,EAAKsB,GAAAA,GAAAA,CAAI7F,KAAK,CAACupB,QAAQ,CAAA;AAC3B,aAAA;AACJ,SAAA;AAEA,QAAA,IAAI,CAACxC,SAAW,EAAA;AACZsC,YAAAA,QAAAA,EAAAA,CAAAA;AAEA,YAAA,OAAA;AACJ,SAAA;AAEA,QAAA,IAAI9kB,EAAI,EAAA;YACJ,IAAI;AACA0jB,gBAAAA,MAAAA,CAAOpnB,KAAK,GAAG,MAAMkmB,SAAU1L,CAAAA,MAAM,CAAC9W,EAAIyD,EAAAA,KAAAA,CAAAA,CAAAA;AAE1C,gBAAA,IAAIid,MAAQ,EAAA;AACRA,oBAAAA,MAAAA,CAAOxC,KAAK,EAAA,CAAA;AAChB,iBAAA;AAEA4G,gBAAAA,QAAAA,CAASpB,OAAOpnB,KAAK,CAAA,CAAA;AAErB,gBAAA,OAAA;AACJ,aAAA,CAAE,OAAOa,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBuS,oBAAAA,KAAAA,CAAMrT,KAAK,GAAGa,CAAAA,CAAAA;AAClB,iBAAA;AACJ,aAAA;AACJ,SAAA;AAEA,QAAA,IAAIsG,KAAO,EAAA;YACP,IAAI;AACA,gBAAA,MAAMwL,QAAW,GAAA,MAAMuT,SAAU7L,CAAAA,OAAO,CAAC;AACrC,oBAAA,GAAGlT,KAAK;oBACR6e,UAAY,EAAA;wBACRC,KAAO,EAAA,CAAA;AACX,qBAAA;AACJ,iBAAA,CAAA,CAAA;AAEA,gBAAA,IAAItT,QAAS5V,CAAAA,IAAI,CAACJ,MAAM,KAAK,CAAG,EAAA;AAC5B,oBAAA,CAACyqB,MAAOpnB,CAAAA,KAAK,CAAC,GAAG2S,SAAS5V,IAAI,CAAA;AAE9B,oBAAA,IAAIqnB,MAAQ,EAAA;AACRA,wBAAAA,MAAAA,CAAOxC,KAAK,EAAA,CAAA;AAChB,qBAAA;AACJ,iBAAA;AAEA4G,gBAAAA,QAAAA,CAASpB,OAAOpnB,KAAK,CAAA,CAAA;AACzB,aAAA,CAAE,OAAOa,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBuS,oBAAAA,KAAAA,CAAMrT,KAAK,GAAGa,CAAAA,CAAAA;AAClB,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA,CAAA;AAEA,IAAA,MAAMhD,OAA6B,GAAA;AAC/B4b,QAAAA,OAAAA;AACA6J,QAAAA,MAAAA;AACA7iB,QAAAA,IAAAA;QACA1D,IAAMqqB,EAAAA,MAAAA;AACN/T,QAAAA,KAAAA;AAEAyI,QAAAA,MAAAA;AACAkN,QAAAA,cAAAA;AACAliB,QAAAA,OAAAA;AAEAiV,QAAAA,MAAAA;AACA9U,QAAAA,OAAAA;QAEAqN,MAAQyU,EAAAA,MAAAA;AACR/hB,QAAAA,OAAAA;AAEAuhB,QAAAA,MAAAA;AAEA5B,QAAAA,MAAAA,EAAQ,IAAMrpB,SAAAA;AAClB,KAAA,CAAA;AAEA,IAAA,IACI0H,IAAIxF,KAAK,IACTwF,IAAIxF,KAAK,CAAC6P,MAAM,EAClB;QACErK,GAAIxF,CAAAA,KAAK,CAAC6P,MAAM,CAACxR,OAAAA,CAAAA,CAAAA;AACrB,KAAA;IAEAA,OAAQ8oB,CAAAA,MAAM,GAAG,CAAC4C,OAAAA,GAAAA;QACd,IAAI,CAACvkB,IAAIxF,KAAK,IAAI,CAACwF,GAAIxF,CAAAA,KAAK,CAACgH,KAAK,EAAE;YAChC,IAAI4gB,MAAAA,CAAOpnB,KAAK,EAAE;gBACd,OAAO,OAAOupB,OAAY,KAAA,UAAA,GACtBA,OACAA,EAAAA,GAAAA,OAAAA,CAAAA;AACR,aAAA;YAEA,OAAOjsB,SAAAA,CAAAA;AACX,SAAA;QAEA,IAAI8pB,MAAAA,CAAOpnB,KAAK,EAAE;AACd,YAAA,IAAI2E,kBAAkB,SAAWK,EAAAA,GAAAA,CAAIxF,KAAK,CAACgH,KAAK,CAAG,EAAA;AAC/C,gBAAA,OAAO3B,cACH,SACAwjB,EAAAA,2BAAAA,CAA4BxqB,UAC5BmH,GAAIxF,CAAAA,KAAK,CAACgH,KAAK,CAAA,CAAA;AAEvB,aAAA;SACG,MAAA,IACHtC,cAASmP,KACT1O,CAAAA,IAAAA,iBAAAA,CAAkB,SAASK,GAAIxF,CAAAA,KAAK,CAACgH,KAAK,CAC5C,EAAA;AACE,YAAA,OAAO3B,cAAc,OAASwO,EAAAA,KAAAA,EAAOrO,GAAIxF,CAAAA,KAAK,CAACgH,KAAK,CAAA,CAAA;AACxD,SAAA;QAEA,IAAI4gB,MAAAA,CAAOpnB,KAAK,EAAE;YACd,OAAO,OAAOupB,OAAY,KAAA,UAAA,GACtBA,OACAA,EAAAA,GAAAA,OAAAA,CAAAA;AACR,SAAA;QAEA,OAAOjsB,SAAAA,CAAAA;AACX,KAAA,CAAA;IAEA,OAAOO,OAAAA,CAAAA;AACX;;ACncA;;;;;AAKC,IAEM,SAAS2rB,4BACZ7pB,CAAAA,IAAyB,EACzBmb,MAA4B,EAAA;AAE5B,IAAA,IAAI,CAACA,MAAQ,EAAA;AACT,QAAA,OAAA;AACJ,KAAA;IAEA,MAAMte,IAAAA,GAAOC,MAAOD,CAAAA,IAAI,CAACmD,IAAAA,CAAAA,CAAAA;AACzB,IAAA,IAAK,IAAIjD,CAAI,GAAA,CAAA,EAAGA,IAAIF,IAAKG,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;QAClC,IAAID,MAAAA,CAAOuH,SAAS,CAACH,cAAc,CAACI,IAAI,CAAC6W,MAAQte,EAAAA,IAAI,CAACE,CAAAA,CAAE,CAAG,EAAA;AACvDiD,YAAAA,IAAI,CAACnD,IAAI,CAACE,CAAAA,CAAE,CAAC,GAAGoe,MAAM,CAACte,IAAI,CAACE,CAAE,CAAA,CAAC,IAAI,EAAA,CAAA;AACvC,SAAA;AACJ,KAAA;AACJ;;ACrBA;;;;;AAKC,IAMM,SAAS+sB,mBACZhpB,CAAAA,IAAkB,EAClBqO,EAAM,EAAA;IAEN,OAAO,UAAA;QACH,IAAIrO,IAAAA,CAAKT,KAAK,EAAE;AACZ,YAAA,OAAOqS,QAAQoH,OAAO,EAAA,CAAA;AAC1B,SAAA;AAEAhZ,QAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;QAEb,OAAO8O,EAAAA,EAAAA,CACF4a,OAAO,CAAC,IAAA;AACLjpB,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACjB,SAAA,CAAA,CAAA;AACR,KAAA,CAAA;AACJ;;AC0XA,SAAS2pB,qBAAsB/N,CAAAA,MAAM,EAAEje,GAAG,EAAEqC,KAAK,EAAA;IAC7C,MAAM4pB,KAAAA,GAAQjsB,GAAI6M,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAA;IACxB,IAAIof,KAAAA,CAAMjtB,MAAM,KAAK,CAAG,EAAA;QACpBif,MAAM,CAACje,IAAI,GAAGqC,KAAAA,CAAAA;AACd,QAAA,OAAA;AACJ,KAAA;IACA,MAAM6pB,MAAAA,GAASD,MAAM/T,KAAK,EAAA,CAAA;AAC1B,IAAA,IAAIgU,MAAQ,EAAA;AACR,QAAA,IAAI,CAACptB,MAAAA,CAAOuH,SAAS,CAACH,cAAc,CAACI,IAAI,CAAC2X,MAAAA,EAAQiO,WAAW,CAAC3lB,aAAAA,CAAS0X,MAAM,CAACiO,OAAO,CAAG,EAAA;YACpFjO,MAAM,CAACiO,MAAO,CAAA,GAAG,EAAC,CAAA;AACtB,SAAA;AACAF,QAAAA,qBAAAA,CAAsB/N,MAAM,CAACiO,MAAAA,CAAO,EAAED,KAAM9e,CAAAA,IAAI,CAAC,GAAM9K,CAAAA,EAAAA,KAAAA,CAAAA,CAAAA;AAC3D,KAAA;AACJ,CAAA;AACA,SAAS8pB,qBAAAA,CAAsB/sB,IAAI,EAAEY,GAAG,EAAA;IACpC,MAAMosB,QAAAA,GAAWpsB,GAAIiX,CAAAA,OAAO,CAAC,GAAA,CAAA,CAAA;IAC7B,MAAMoV,UAAAA,GAAaD,aAAa,CAAC,CAAA,GAAIpsB,MAAMA,GAAIssB,CAAAA,SAAS,CAAC,CAAGF,EAAAA,QAAAA,CAAAA,CAAAA;IAC5D,IAAIA,QAAAA,KAAa,CAAC,CAAG,EAAA;QACjB,OAAOhtB,IAAI,CAACitB,UAAW,CAAA,CAAA;AAC3B,KAAA;AACA,IAAA,IAAI,CAAC9lB,aAAAA,CAASnH,IAAI,CAACitB,WAAW,CAAG,EAAA;QAC7B,OAAO1sB,SAAAA,CAAAA;AACX,KAAA;AACA,IAAA,MAAM4sB,UAAUvsB,GAAIssB,CAAAA,SAAS,CAACD,UAAAA,CAAWrtB,MAAM,GAAG,CAAA,CAAA,CAAA;AAClD,IAAA,OAAOmtB,qBAAsB/sB,CAAAA,IAAI,CAACitB,UAAAA,CAAW,EAAEE,OAAAA,CAAAA,CAAAA;AACnD,CAAA;AAiGA,MAAMC,WAAAA,CAAAA;IACF,MAAMzV,GAAAA,CAAItB,OAAO,EAAE;QACf,IAAI,CAAC,IAAI,CAACrW,IAAI,CAACqW,OAAQgX,CAAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAACrtB,IAAI,CAACqW,OAAQgX,CAAAA,MAAM,CAAC,CAAChX,OAAAA,CAAQvW,KAAK,CAAC,EAAE;YACzE,OAAOS,SAAAA,CAAAA;AACX,SAAA;AACA,QAAA,MAAM6K,MAAS2hB,GAAAA,qBAAAA,CAAsB,IAAI,CAAC/sB,IAAI,CAACqW,OAAAA,CAAQgX,MAAM,CAAC,CAAChX,OAAQvW,CAAAA,KAAK,CAAC,EAAEuW,QAAQzV,GAAG,CAAA,CAAA;QAC1F,IAAI,OAAOwK,WAAW,QAAU,EAAA;YAC5B,OAAOA,MAAAA,CAAAA;AACX,SAAA;QACA,OAAO7K,SAAAA,CAAAA;AACX,KAAA;IACA,MAAMkX,GAAAA,CAAIpB,OAAO,EAAE;AACf,QAAA,IAAI,CAACiX,SAAS,CAACjX,QAAQvW,KAAK,EAAEuW,QAAQgX,MAAM,CAAA,CAAA;AAC5CT,QAAAA,qBAAAA,CAAsB,IAAI,CAAC5sB,IAAI,CAACqW,OAAAA,CAAQgX,MAAM,CAAC,CAAChX,OAAQvW,CAAAA,KAAK,CAAC,EAAEuW,OAAAA,CAAQzV,GAAG,EAAEyV,QAAQpT,KAAK,CAAA,CAAA;AAC9F,KAAA;IACAqqB,SAAUxtB,CAAAA,KAAK,EAAEutB,MAAM,EAAE;AACrB,QAAA,IAAI,OAAO,IAAI,CAACrtB,IAAI,CAACqtB,MAAAA,CAAO,KAAK,WAAa,EAAA;AAC1C,YAAA,IAAI,CAACrtB,IAAI,CAACqtB,MAAAA,CAAO,GAAG,EAAC,CAAA;AACzB,SAAA;QACA,IAAI,OAAO,IAAI,CAACrtB,IAAI,CAACqtB,MAAO,CAAA,CAACvtB,KAAM,CAAA,KAAK,WAAa,EAAA;AACjD,YAAA,IAAI,CAACE,IAAI,CAACqtB,OAAO,CAACvtB,KAAAA,CAAM,GAAG,EAAC,CAAA;AAChC,SAAA;AACJ,KAAA;AACA,IAAA,MAAMytB,UAAa,GAAA;AACf,QAAA,OAAO7tB,MAAOD,CAAAA,IAAI,CAAC,IAAI,CAACO,IAAI,CAAA,CAAA;AAChC,KAAA;AACAQ,IAAAA,WAAAA,CAAYT,OAAO,CAAC;AAChB,QAAA,IAAI,CAACC,IAAI,GAAGD,OAAAA,CAAQC,IAAI,CAAA;AAC5B,KAAA;AACJ;;AChiBO,SAASwtB,iBAAkBlK,CAAAA,GAAQ,EAAEvjB,OAAAA,GAAoC,EAAE,EAAA;IAC9E,MAAMkB,KAAAA,GAAQ,IAAImsB,WAAY,CAAA;AAC1BptB,QAAAA,IAAAA,EAAM,EAAC;AACX,KAAA,CAAA,CAAA;AAEAytB,IAAAA,iBAAAA,CAAQnK,GAAK,EAAA;AACTriB,QAAAA,KAAAA;AACAosB,QAAAA,MAAAA,EAAQttB,QAAQstB,MAAM;AAC1B,KAAA,CAAA,CAAA;AACJ;;ACTaK,MAAAA,0BAAAA,GAA2BC,kBAAQC,CAAAA,KAAK,CAAC,eAAiB,EAAA;AAC1DC,MAAAA,iCAAAA,GAAoCF,kBAAQC,CAAAA,KAAK,CAAC,kBAAoB,EAAA;AAE5E,SAASE,gCAAiC1qB,CAAAA,SAA0B,EAAE2qB,KAAa,EAAEtuB,IAAe,EAAA;AACvG,IAAA,MAAMuuB,YAAe5qB,GAAAA,SAAAA,CAAUH,KAAK,CAACgrB,mBAAmB,CAACF,KAAAA,CAAAA,CAAAA;AACzD,IAAA,IAAI,CAACC,YAAc,EAAA;AACf,QAAA,OAAO,EAAC,CAAA;AACZ,KAAA;AAEA,IAAA,MAAME,SAAYzuB,GAAAA,IAAAA,IAAQC,MAAOD,CAAAA,IAAI,CAACuuB,YAAAA,CAAAA,CACjC/f,MAAM,CAAC,CAACrN,GAAAA,GAAQ,CAACA,GAAAA,CAAI0O,UAAU,CAAC,GAAA,CAAA,CAAA,CAAA;AAErC,IAAA,MAAM6e,SAA+B,EAAC,CAAA;AACtC,IAAA,IAAK,IAAIxuB,CAAI,GAAA,CAAA,EAAGA,IAAIuuB,SAAUtuB,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;AACvC,QAAA,IAAImH,cAAeknB,CAAAA,YAAAA,EAAcE,SAAS,CAACvuB,EAAE,CAAG,EAAA;AAC5CwuB,YAAAA,MAAM,CAACD,SAAS,CAACvuB,CAAAA,CAAE,CAAC,GAAIquB,YAAY,CAACE,SAAS,CAACvuB,CAAE,CAAA,CAAC,CAAqCmF,MAAM,CAAA;AACjG,SAAA;AACJ,KAAA;IAEA,OAAOqpB,MAAAA,CAAAA;AACX;;ACdA,sBAAepsB,mBAAgB,CAAA;IAC3BK,KAAO+H,EAAAA,eAAAA,EAAAA;IACPV,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACPrH,KAAML,CAAAA,CAAAA,KAAK,EAAE6F,GAAG,EAAA;AACZ,QAAA,MAAM,EAAE2hB,MAAM,EAAED,WAAW,EAAE,GAAGZ,UAAW,CAAA;AACvCzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWC,CAAAA,YAAY,CAAC,CAAC;AAClCjsB,YAAAA,KAAAA;YACAK,KAAOwF,EAAAA,GAAAA;YACPqhB,YAAc,EAAA,CAACgF,KAAO;oBAClBrd,IAAMqd,EAAAA,CAAAA,CAAE1uB,MAAM,GAAG,CAAA,GAAI,CAAC,CAAC,EAAE0uB,CAAE,CAAA,CAAC,GAAGA,CAAAA;iBACnC,CAAA;YACAlkB,KAAO,EAAA;gBACHmgB,IAAM,EAAA;oBACFtZ,IAAM,EAAA,KAAA;AACV,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA0Y,WAAY,CAAA;YACRviB,IAAM,EAAA;gBACFmnB,YAAc,EAAA,cAAA;AAClB,aAAA;YAEA9jB,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,oCAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;AC/BH,2BAAe7nB,mBAAgB,CAAA;IAC3BK,KAAO+H,EAAAA,eAAAA,EAAAA;IACPV,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACPrH,KAAML,CAAAA,CAAAA,KAAK,EAAE6F,GAAG,EAAA;AACZ,QAAA,MAAM,EAAE2hB,MAAM,EAAED,WAAW,EAAE,GAAGZ,UAAW,CAAA;AACvCzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWI,CAAAA,kBAAkB,CAAC,CAAC;AACxCpsB,YAAAA,KAAAA;YACAK,KAAOwF,EAAAA,GAAAA;AACX,SAAA,CAAA,CAAA;QAEA0hB,WAAY,CAAA;YACRlf,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,0CAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;ACbH,yBAAe7nB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AAAEysB,QAAAA,eAAAA;AAAgB,KAAA;IAC9BrsB,KAAO,EAAA;QACHupB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAiC,KAAO,EAAA;AAAC,QAAA,UAAA;AAAW,KAAA;AACnB,IAAA,MAAMC,KAAML,CAAAA,CAAAA,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;AACvB,QAAA,MAAMgsB,OAAOC,UAAOvsB,CAAAA,KAAAA,CAAAA,CAAAA;AACpB,QAAA,MAAMwsB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAElB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClBgsB,kBAAoB,EAAA,EAAA;YACpBC,eAAiB,EAAA,EAAA;AACrB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMC,KAAK1rB,YAAa,CAAA;YACpBwrB,kBAAoB,EAAA;AAChBvrB,0BAAAA,mBAAAA;AACJ,aAAA;YACAwrB,eAAiB,EAAA;AACbxrB,0BAAAA,mBAAAA;AACJ,aAAA;SACDV,EAAAA,IAAAA,CAAAA,CAAAA;AAEH,QAAA,MAAMosB,oBAAoBrrB,OAAwB,CAAA,IAAA,CAAA,CAAA;AAClD,QAAA,MAAMsrB,yBAAyBtrB,OAA6B,CAAA,IAAA,CAAA,CAAA;AAE5D,QAAA,MAAMurB,yBAA4BhJ,GAAAA,YAAAA,CAAS,IAAM,CAAC,CAACtjB,IAAAA,CAAKisB,kBAAkB,IAClEjsB,IAAKisB,CAAAA,kBAAkB,CAACjvB,MAAM,GAAG,CAAA,CAAA,CAAA;QAEzC,MAAMuvB,UAAAA,GAAajJ,YAAS,CAAA,KAAO;gBAC/BmD,OAAS,EAAA;oBACL,GAAIzmB,IAAAA,CAAKisB,kBAAkB,KAAK,EAAK,GAAA;AACjCA,wBAAAA,kBAAAA,EAAoBjsB,KAAKisB,kBAAkB;AAC/C,qBAAA,GAAI,EAAE;AACV,iBAAA;aACJ,CAAA,CAAA,CAAA;QAEA,MAAMO,SAAAA,GAAY1C,oBAAoBhpB,IAAM,EAAA,UAAA;YACxC,IAAI,CAACd,IAAKksB,CAAAA,eAAe,EAAE,OAAA;YAE3B,IACIE,iBAAAA,CAAkB/rB,KAAK,IACvB+rB,iBAAkB/rB,CAAAA,KAAK,CAAC0D,EAAE,KAAK/D,IAAKksB,CAAAA,eAAe,EACrD;AACElsB,gBAAAA,IAAAA,CAAKisB,kBAAkB,GAAGG,iBAAkB/rB,CAAAA,KAAK,CAAC4rB,kBAAkB,CAAA;AACpE,gBAAA,OAAA;AACJ,aAAA;YAEA,IAAI;gBACAG,iBAAkB/rB,CAAAA,KAAK,GAAG,MAAM2rB,SAAAA,CAAUrM,WAAW,CAAC9E,MAAM,CAAC7a,IAAAA,CAAKksB,eAAe,CAAA,CAAA;AACjFlsB,gBAAAA,IAAAA,CAAKisB,kBAAkB,GAAGG,iBAAkB/rB,CAAAA,KAAK,CAAC4rB,kBAAkB,CAAA;gBAEpE,IAAI,CAACI,sBAAuBhsB,CAAAA,KAAK,IAAIL,IAAAA,CAAKisB,kBAAkB,KAAKI,sBAAuBhsB,CAAAA,KAAK,CAACosB,YAAY,EAAE;oBACxG,MAAM,EAAErvB,IAAI,EAAE,GAAG,MAAM4uB,SAAUpM,CAAAA,gBAAgB,CAAClF,OAAO,CAAC;wBACtD+L,OAAS,EAAA;AACLgG,4BAAAA,YAAAA,EAAczsB,KAAKisB,kBAAkB;AACzC,yBAAA;AACJ,qBAAA,CAAA,CAAA;oBAEA,MAAMxE,MAAAA,GAASrqB,KAAK6L,GAAG,EAAA,CAAA;AAEvB,oBAAA,IAAIwe,MAAQ,EAAA;AACR4E,wBAAAA,sBAAAA,CAAuBhsB,KAAK,GAAGonB,MAAAA,CAAAA;AACnC,qBAAA;AACJ,iBAAA;AACJ,aAAA,CAAE,OAAOvmB,CAAG,EAAA;;AAEZ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMwrB,IAAO,GAAA,IAAA;AACT,YAAA,IAAI,CAACZ,IAAAA,CAAK/C,QAAQ,CAAC1oB,KAAK,EAAE,OAAA;AAE1BL,YAAAA,IAAAA,CAAKksB,eAAe,GAAGJ,IAAK/C,CAAAA,QAAQ,CAAC1oB,KAAK,CAAA;AAC9C,SAAA,CAAA;AAEAC,QAAAA,SAAAA,CAAMwrB,IAAK/C,CAAAA,QAAQ,EAAE,CAACxoB,GAAK0iB,EAAAA,QAAAA,GAAAA;YACvB,IAAI1iB,GAAAA,IAAOA,QAAQ0iB,QAAU,EAAA;AACzByJ,gBAAAA,IAAAA,EAAAA,CAAAA;AACAF,gBAAAA,SAAAA,EAAAA,CAAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEAE,QAAAA,IAAAA,EAAAA,CAAAA;QAEA,MAAMC,sBAAAA,GAAyBC,6CAAoCT,CAAAA,EAAAA,CAAG9rB,KAAK,CAAA,CAAA;AAE3EqS,QAAAA,OAAAA,CAAQoH,OAAO,EAAA,CACVnH,IAAI,CAAC,IAAM6Z,SAAAA,EAAAA,CAAAA,CAAAA;AAEhB,QAAA,MAAMK,eAAe9rB,OAAgC,CAAA,IAAA,CAAA,CAAA;AAErD,QAAA,MAAM+rB,cAAc,CAAC3jB,KAAAA,GAAAA;AACjB,YAAA,IAAI,CAACA,KAAO,EAAA;AACRnJ,gBAAAA,IAAAA,CAAKisB,kBAAkB,GAAG,EAAA,CAAA;AAC1BI,gBAAAA,sBAAAA,CAAuBhsB,KAAK,GAAG,IAAA,CAAA;gBAC/BP,IAAK,CAAA,UAAA,EAAY;AACjB,gBAAA,OAAA;AACJ,aAAA;AAEA,YAAA,MAAMitB,OAAU5jB,GAAAA,KAAAA,CAAMsjB,YAAY,KAAKzsB,KAAKisB,kBAAkB,CAAA;YAE9DjsB,IAAKisB,CAAAA,kBAAkB,GAAG9iB,KAAAA,CAAMsjB,YAAY,CAAA;AAC5CJ,YAAAA,sBAAAA,CAAuBhsB,KAAK,GAAG8I,KAAAA,CAAAA;AAE/B,YAAA,IAAI4jB,OAAS,EAAA;AACT/sB,gBAAAA,IAAAA,CAAKksB,eAAe,GAAG,EAAA,CAAA;gBAEvBc,YAAS,CAAA,UAAA;oBACL,IAAIH,YAAAA,CAAaxsB,KAAK,EAAE;wBACpB,MAAMwsB,YAAAA,CAAaxsB,KAAK,CAACmmB,IAAI,EAAA,CAAA;AACjC,qBAAA;AACJ,iBAAA,CAAA,CAAA;AACJ,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMyG,cAAc,CAACxF,MAAAA,GAAAA;AACjB,YAAA,IAAIA,MAAQ,EAAA;gBACRznB,IAAKksB,CAAAA,eAAe,GAAGzE,MAAAA,CAAO1jB,EAAE,CAAA;gBAEhC,IAAIsoB,sBAAAA,CAAuBhsB,KAAK,EAAE;oBAC9BonB,MAAO9L,CAAAA,OAAO,GAAG8L,MAAO9L,CAAAA,OAAO,IAAI0Q,sBAAuBhsB,CAAAA,KAAK,CAACsb,OAAO,CAAA;oBACvE8L,MAAOyF,CAAAA,iBAAiB,GAAGzF,MAAOyF,CAAAA,iBAAiB,IAAIb,sBAAuBhsB,CAAAA,KAAK,CAAC6sB,iBAAiB,CAAA;AACzG,iBAAA;AAEAptB,gBAAAA,IAAAA,CAAK,UAAY2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACjB,gBAAA,OAAA;AACJ,aAAA;AAEA3nB,YAAAA,IAAAA,CAAK,UAAY,EAAA,IAAA,CAAA,CAAA;AACrB,SAAA,CAAA;AAEA,QAAA,MAAMqtB,qBAAwB,GAAA,IAAA;YAC1B,IAAI,CAACb,yBAA0BjsB,CAAAA,KAAK,EAAE;AAClC,gBAAA,OAAO,EAAE,CAAA;AACb,aAAA;YAEA,OAAO;AACHkF,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBACLgB,KAAO,EAAA,KAAA;iBACR,EAAA;AACChB,oBAAAA,KAAAA,CAAEsmB,eAAiB,EAAA;wBACf9qB,GAAK8rB,EAAAA,YAAAA;AACLrlB,wBAAAA,KAAAA,EAAO+kB,WAAWlsB,KAAK;qBACxB,EAAA;AACC,wBAAA,CAACunB,0BAAmBE,CAAAA,IAAI,GAAG,CAACtoB,KAAAA,GAAAA;4BACxB,MAAMrC,OAAAA,GAA8BqC,MAAMpC,IAAI,CAAC6N,GAAG,CAAC,CAACwc,UAAY;AAC5D1jB,oCAAAA,EAAAA,EAAI0jB,OAAO1jB,EAAE;AACb1D,oCAAAA,KAAAA,EAAOonB,OAAOvnB,IAAI;iCACtB,CAAA,CAAA,CAAA;AAEA,4BAAA,OAAOktB,2BAAe,CAAA;gCAClB5tB,KAAO,EAAA;AACHxB,oCAAAA,GAAAA,EAAKgC,KAAKisB,kBAAkB;AAChC,iCAAA;gCACAoB,kBAAoBV,EAAAA,sBAAAA,CAAuBT,eAAe,CAAC7rB,KAAK;AAChEitB,gCAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAAC6rB,eAAe,CAAA;gCACxDsB,KAAO,EAAA,IAAA;gCACPC,YAAc,EAAA;AACV,oCAAA,OAAA;oCACAztB,IAAKksB,CAAAA,eAAe,GAChB3mB,KAAAA,CAAE,GAAK,EAAA;wCAAEgB,KAAO,EAAA,+BAAA;AAAgC,qCAAA,CAAA,GAChDhB,KAAE,CAAA,EAAA,CAAA;AACT,iCAAA;AACDqkB,gCAAAA,OAAAA,EAAS8D,4BAAgB,CAAA;AACrBrtB,oCAAAA,KAAAA,EAAOL,KAAKksB,eAAe;AAC3ByB,oCAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;wCACV,MAAMR,KAAAA,GAAQnJ,KAAMpC,CAAAA,IAAI,CAACwL,SAAS,CAAC,CAACC,EAAAA,GAAOA,EAAG9E,CAAAA,EAAE,KAAKoF,KAAAA,CAAAA,CAAAA;wCACrD,IAAIR,KAAAA,KAAU,CAAC,CAAG,EAAA;4CACdskB,WAAYztB,CAAAA,KAAAA,CAAMpC,IAAI,CAACuL,KAAM,CAAA,CAAA,CAAA;AAC7B,4CAAA,OAAA;AACJ,yCAAA;wCAEAskB,WAAY,CAAA,IAAA,CAAA,CAAA;AAChB,qCAAA;AACA9vB,oCAAAA,OAAAA;AACJ,iCAAA,CAAA;AACJ,6BAAA,CAAA,CAAA;AACJ,yBAAA;AACJ,qBAAA,CAAA;AACH,iBAAA,CAAA;AACJ,aAAA,CAAA;AACL,SAAA,CAAA;QAEA,OAAO,IAAMoI,MACT,KACA,EAAA;gBAAEgB,KAAO,EAAA,KAAA;aACT,EAAA;AACIhB,gBAAAA,KAAAA,CACI,KACA,EAAA;oBAAEgB,KAAO,EAAA,KAAA;iBACT,EAAA;oBACIhB,KAAEqoB,CAAAA,oBAAAA,EAAsB,EAAK,EAAA;AACzB,wBAAA,CAAChG,0BAAmBE,CAAAA,IAAI,GAAG,CAACtoB,KAAAA,GAAAA;4BACxB,MAAMrC,OAAAA,GAA+BqC,MAAMpC,IAAI,CAAC6N,GAAG,CAAC,CAACwc,UAAY;AAC7D1jB,oCAAAA,EAAAA,EAAI0jB,OAAOgF,YAAY;AACvBpsB,oCAAAA,KAAAA,EAAOonB,OAAOgF,YAAY;iCAC9B,CAAA,CAAA,CAAA;AAEA,4BAAA,OAAOW,2BAAe,CAAA;gCAClBC,kBAAoBV,EAAAA,sBAAAA,CAAuBV,kBAAkB,CAAC5rB,KAAK;AACnEitB,gCAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAAC4rB,kBAAkB,CAAA;gCAC3DuB,KAAO,EAAA,IAAA;gCACPC,YAAc,EAAA;AACV,oCAAA,OAAA;oCACAnB,yBAA0BjsB,CAAAA,KAAK,GAC3BkF,KAAAA,CAAE,GAAK,EAAA;wCAAEgB,KAAO,EAAA,+BAAA;AAAgC,qCAAA,CAAA,GAChDhB,KAAE,CAAA,EAAA,CAAA;AACT,iCAAA;AACDqkB,gCAAAA,OAAAA,EAAS8D,4BAAgB,CAAA;AACrBrtB,oCAAAA,KAAAA,EAAOL,KAAKisB,kBAAkB;AAC9B0B,oCAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;wCACV,MAAMR,KAAAA,GAAQnJ,KAAMpC,CAAAA,IAAI,CAACwL,SAAS,CAAC,CAACC,EAAAA,GAAOA,EAAG4jB,CAAAA,YAAY,KAAKtjB,KAAAA,CAAAA,CAAAA;wCAC/D,IAAIR,KAAAA,GAAQ,CAAC,CAAG,EAAA;4CACZmkB,WAAYttB,CAAAA,KAAAA,CAAMpC,IAAI,CAACuL,KAAM,CAAA,CAAA,CAAA;AAC7B,4CAAA,OAAA;AACJ,yCAAA;wCAEAmkB,WAAY,CAAA,IAAA,CAAA,CAAA;AAChB,qCAAA;AACA3vB,oCAAAA,OAAAA;AACJ,iCAAA,CAAA;AACJ,6BAAA,CAAA,CAAA;AACJ,yBAAA;AACJ,qBAAA,CAAA;AACH,iBAAA,CAAA;AAELgwB,gBAAAA,qBAAAA,EAAAA;AACH,aAAA,CAAA,CAAA;AAET,KAAA;AACJ,CAAG,CAAA;;;AC9OEU,CAAAA,SAAAA,WAAAA,EAAAA;;;;GAAAA,WAAAA,KAAAA,WAAAA,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AAML,oBAAe1uB,mBAAgB,CAAA;IAC3Be,IAAM,EAAA,eAAA;IACNV,KAAO,EAAA;QACHsuB,WAAa,EAAA;YACTpuB,IAAMC,EAAAA,MAAAA;YACN8H,OAAS,EAAA,mBAAA;AACb,SAAA;QACAf,QAAU,EAAA;YACNhH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;QACAvB,WAAa,EAAA;YACTxG,IAAMC,EAAAA,MAAAA;YACN8H,OAAO,EAAA,QAAA;AACX,SAAA;QAEAshB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAqtB,UAAY,EAAA;YACRruB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QAEAstB,IAAM,EAAA;YACFtuB,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA8sB,MAAQ,EAAA;YACJ/qB,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAkC,KAAML,CAAAA,CAAAA,KAAK,EAAE6F,GAAG,EAAA;AACZ,QAAA,MAAM2mB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMzjB,QAAWqvB,GAAAA,sBAAAA,EAAAA,CAAAA;AACjB,QAAA,MAAMntB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AAEjB,QAAA,MAAMC,MAAS,GAAA,UAAA;YACX,IAAIF,IAAAA,CAAKT,KAAK,EAAE,OAAA;AAEhB,YAAA,MAAMkmB,YAAY,SAAkC,CAAC/mB,KAAAA,CAAMuuB,UAAU,CAAC,CAAA;YACtE,IAAI,CAACxpB,WAASgiB,SAAY,CAAA,EAAA;AACtB,gBAAA,OAAA;AACJ,aAAA;AAEA,YAAA,IAAI,OAAOA,SAAAA,CAAU5R,MAAM,KAAK,UAAY,EAAA;AACxC,gBAAA,OAAA;AACJ,aAAA;AAEA7T,YAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;YAEb,IAAI;AACA,gBAAA,MAAM2S,WAAW,MAAMuT,SAAAA,CAAU5R,MAAM,CAACnV,MAAMupB,QAAQ,CAAA,CAAA;gBACtD/V,QAASjP,CAAAA,EAAE,GAAGvE,KAAAA,CAAMupB,QAAQ,CAAA;gBAC5B1jB,GAAIvF,CAAAA,IAAI,CAAC,SAAWkT,EAAAA,QAAAA,CAAAA,CAAAA;AACxB,aAAA,CAAE,OAAO9R,CAAG,EAAA;gBACRmE,GAAIvF,CAAAA,IAAI,CAAC,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACvB,aAAA;AAEAJ,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACjB,SAAA,CAAA;AAEA,QAAA,MAAM6tB,cAAcC,2BAAe,CAAA;AAC/BjxB,YAAAA,KAAAA,EAAOkxB,wCAA2B7vB,OAAO;AACzCP,YAAAA,GAAAA,EAAKqwB,6CAAgCvV,MAAM;AAC/C,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMkO,MAAS,GAAA,IAAA;AACX,YAAA,IAAI/gB,GAA2B,GAAA,QAAA,CAAA;AAC/B,YAAA,MAAM7I,OAAoB,EAAC,CAAA;AAE3B,YAAA,OAAQoC,MAAM0G,WAAW;AACrB,gBAAA,KAAA,MAAA;oBACID,GAAM,GAAA,GAAA,CAAA;AACN,oBAAA,MAAA;AACJ,gBAAA,KAAA,cAAA;oBACI,IACIrH,QAAAA,IACA,OAAOA,QAAAA,CAAS0vB,UAAU,CAAC5N,GAAG,CAACva,SAAS,CAAC,eAAA,CAAA,KAAqB,WAChE,EAAA;AACEF,wBAAAA,GAAAA,GAAMG,2BAAwB,CAAA,eAAA,CAAA,CAAA;AAClC,qBAAA;AACA,oBAAA,MAAA;AACR,aAAA;AAEA,YAAA,IAAImoB,OAA4B,EAAE,CAAA;YAClC,IAAI/uB,KAAAA,CAAMsuB,WAAW,EAAE;gBACnBS,IAAO,GAAA;AACHhpB,oBAAAA,KAAAA,CAAE,GAAK,EAAA;wBACHgB,KAAO,EAAA;AAAC/G,4BAAAA,KAAAA,CAAMsuB,WAAW;AAAE,4BAAA;AACvB,gCAAA,MAAA,EAAQtuB,MAAMkH,QAAQ;AAC1B,6BAAA;AAAE,yBAAA;AACN,qBAAA,CAAA;AACH,iBAAA,CAAA;AACL,aAAA;AAEA,YAAA,IAAIF,OAA4B,EAAE,CAAA;YAClC,IAAIhH,KAAAA,CAAMkH,QAAQ,EAAE;gBAChBF,IAAO,GAAA;AACH0nB,oBAAAA,WAAAA,CAAY7tB,KAAK;AACpB,iBAAA,CAAA;AACL,aAAA;YAEA,OAAOkF,KAAAA,CACHU,KACAuoB,cAAW,CAAA;AACP3oB,gBAAAA,QAAAA,EAAU/E,KAAKT,KAAK;AACpBoF,gBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,oBAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;oBAErB,OAAO3E,MAAAA,CAAOuZ,KAAK,CAAC,IAAA,CAAA,CAAA;AACxB,iBAAA;AACJ,aAAA,EAAGnd,IACH,CAAA,EAAA;AACImxB,gBAAAA,IAAAA;AACA/nB,gBAAAA,IAAAA;AACH,aAAA,CAAA,CAAA;AAET,SAAA,CAAA;AAEA,QAAA,OAAO,IAAMwgB,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;ACnIH,wBAAe7nB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AAAEqvB,sBAAAA,aAAAA;AAAc5C,QAAAA,eAAAA;AAAgB,KAAA;IAC5CjsB,KAAO,EAAA;AAAC,QAAA,UAAA;AAAY,QAAA,QAAA;AAAS,KAAA;AAC7BC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;AACjB,QAAA,MAAMksB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAM2tB,WAAW3tB,OAAgC,CAAA,IAAA,CAAA,CAAA;QAEjD,MAAM4tB,gBAAAA,GAAmB7E,oBAAoBhpB,IAAM,EAAA,UAAA;YAC/C,IAAI;AACA,gBAAA,MAAMkrB,UAAUrM,WAAW,CACtBjE,UAAU,CAACkT,2BAAmBC,IAAI,CAAA,CAAA;gBAEvC/uB,IAAK,CAAA,UAAA,CAAA,CAAA;AACT,aAAA,CAAE,OAAOoB,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMojB,gBAAgB,OAAOlnB,IAAAA,GAAAA;YACzB,IAAIsxB,QAAAA,CAASruB,KAAK,EAAE;AAChBquB,gBAAAA,QAAAA,CAASruB,KAAK,CAACikB,aAAa,CAAClnB,KAAK2G,EAAE,CAAA,CAAA;AACxC,aAAA;AACJ,SAAA,CAAA;QAEA,OAAO,IAAMwB,MACT,KACA,EAAA;AACIA,gBAAAA,KAAAA,CAAE,GAAK,EAAA;AACH,oBAAA,kJAAA,GACA,GACA,GAAA,gGAAA;AACH,iBAAA,CAAA;AACDA,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,MAAA;iBAAU,EAAA;AACxBhB,oBAAAA,KAAAA,CAAE,QAAU,EAAA;wBACR7F,IAAM,EAAA,QAAA;AACNmG,wBAAAA,QAAAA,EAAU/E,KAAKT,KAAK;wBACpBkG,KAAO,EAAA,wBAAA;AACPd,wBAAAA,OAAAA,CAAAA,CAAQC,KAAU,EAAA;AACdA,4BAAAA,KAAAA,CAAMC,cAAc,EAAA,CAAA;4BAEpB,OAAOgpB,gBAAAA,EAAAA,CAAAA;AACX,yBAAA;qBACD,EAAA;AACCppB,wBAAAA,KAAAA,CAAE,GAAK,EAAA;4BAAEgB,KAAO,EAAA,iBAAA;AAAkB,yBAAA,CAAA;AAClC,wBAAA,MAAA;AACH,qBAAA,CAAA;AACJ,iBAAA,CAAA;AAEDhB,gBAAAA,KAAAA,CAAEsmB,eAAiB,EAAA;oBACf9qB,GAAK2tB,EAAAA,QAAAA;oBACLI,WAAa,EAAA;AACT,wBAAA,CAAClH,0BAAmBM,CAAAA,MAAM,GAAG,CAAC1oB,KAA4C,GAAA;AACtE+F,gCAAAA,KAAAA,CAAEwpB,oBAAS,EAAA;AACPvI,oCAAAA,IAAAA,EAAMhnB,MAAMgnB,IAAI;AAChBxC,oCAAAA,IAAAA,EAAMxkB,MAAMwkB,IAAI;AAChBljB,oCAAAA,IAAAA,EAAMtB,MAAMsB,IAAI;AACpB,iCAAA,CAAA;AACAyE,gCAAAA,KAAAA,CAAE,QAAU,EAAA;AAAC,oCAAA,UAAA;AAAW,iCAAA,CAAA;AAC3B,6BAAA;AACD,wBAAA,CAACqiB,2BAAmBI,YAAY,GAAG,CAACxoB,KAAAA,GAAkC+F,MAAEkpB,aAAc,EAAA;gCAClFloB,KAAO,EAAA,uBAAA;gCACPL,WAAa,EAAA,QAAA;gCACb6iB,QAAUvpB,EAAAA,KAAAA,CAAMpC,IAAI,CAAC2G,EAAE;AACvBgqB,gCAAAA,UAAAA,EAAYvC,mBAAWC,YAAY;gCACnC/kB,QAAU,EAAA,KAAA;AACV6d,gCAAAA,SAAAA,CAAAA,CAAU/f,IAAiB,EAAA;AACvB,oCAAA,OAAO8f,aAAc9f,CAAAA,IAAAA,CAAAA,CAAAA;AACzB,iCAAA;AACJ,6BAAA,CAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;AACH,aAAA,CAAA,CAAA;AAET,KAAA;AACJ,CAAG,CAAA;;ACxEH,MAAMwqB,WAAW7vB,mBAAgB,CAAA;IAC7BK,KAAOspB,EAAAA,wBAAAA,EAAAA;IACPlpB,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9hB,KAAO/J,EAAAA,MAAAA;IACP,MAAM+C,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAM3B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWyD,CAAAA,OAAO,CAAC,CAAC;AAC7BpvB,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMtB,QAAQ4b,OAAO,EAAA,CAAA;QAErB,OAAO,IAAM5b,QAAQ8oB,MAAM,EAAA,CAAA;AAC/B,KAAA;AACJ,CAAA;;AC5BO,SAASkI,aAAsC/lB,KAA+B,EAAA;AACjF,IAAA,OAAOma,YAAS,CAAA,IAAA;AACZ,QAAA,IAAIG,UAAMta,KAAQ,CAAA,EAAA;AACd,YAAA,OAAOA,MAAM9I,KAAK,GAAG8I,MAAM9I,KAAK,CAACwlB,UAAU,GAAGloB,SAAAA,CAAAA;AAClD,SAAA;QAEA,OAAOwL,KAAAA,GAAQA,KAAM0c,CAAAA,UAAU,GAAGloB,SAAAA,CAAAA;AACtC,KAAA,CAAA,CAAA;AACJ;;ACRA,aAAewB,mBAAgB,CAAA;IAC3BK,KAAO+H,EAAAA,eAAAA,EAAAA;IACPV,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACPrH,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAM,EAAEmnB,MAAM,EAAED,WAAW,EAAE,GAAGZ,UAAW,CAAA;AACvCzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW2D,CAAAA,IAAI,CAAC,CAAC;AAC1B3vB,YAAAA,KAAAA;AACAK,YAAAA,KAAAA;YACA2H,KAAO,EAAA;gBACHmgB,IAAM,EAAA;oBACFznB,IAAM,EAAA,KAAA;AACV,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA6mB,WAAY,CAAA;YACRlf,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,4BAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;ACdH,MAAMoI,8BAA8BjwB,mBAAgB,CAAA;IAChDK,KAAO,EAAA;QACHupB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACA2uB,cAAgB1vB,EAAAA,MAAAA;QAChBgc,OAAS,EAAA;YACLjc,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAwF,WAAa,EAAA;YACTxG,IAAMC,EAAAA,MAAAA;YACN8H,OAAS,EAAA,QAAA;AACb,SAAA;QACAd,QAAU,EAAA;YACNjH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;QACAf,QAAU,EAAA;YACNhH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,QAAA;AAAU,QAAA,SAAA;AAAU,KAAA;AAC5BC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE+G,KAAK,EAAE,EAAA;AACxB,QAAA,MAAM/F,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMirB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAElB,QAAA,MAAM5b,cAAc6c,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAK2T,mCAA2BC,OAAO;oBACnC,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKD,mCAA2BE,MAAM;oBAClC,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,EAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMxpB,YAAYsd,YAAS,CAAA,IAAA;AACvB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAK2T,mCAA2BC,OAAO;oBACnC,OAAO,aAAA,CAAA;AACX,gBAAA,KAAKD,mCAA2BE,MAAM;oBAClC,OAAO,WAAA,CAAA;AACX,gBAAA;oBACI,OAAO,gBAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMlpB,cAAcgd,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAK2T,mCAA2BC,OAAO;oBACnC,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKD,mCAA2BE,MAAM;oBAClC,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM1pB,aAAawd,YAAS,CAAA,IAAA;YACxB,IAAI9jB,KAAAA,CAAM6vB,cAAc,EAAE;gBACtB,IACI7vB,KAAAA,CAAM6vB,cAAc,KAAKI,iCAA0BC,CAAAA,QAAQ,IAC3DlwB,KAAAA,CAAMmc,OAAO,KAAK2T,kCAA2BC,CAAAA,OAAO,EACtD;oBACE,OAAO,IAAA,CAAA;AACX,iBAAA;gBAEA,OAAO/vB,KAAAA,CAAM6vB,cAAc,KAAKI,iCAA0BE,CAAAA,QAAQ,IAC9DnwB,KAAMmc,CAAAA,OAAO,KAAK2T,kCAAAA,CAA2BE,MAAM,CAAA;AAC3D,aAAA;AAEA,YAAA,OAAOhwB,KAAMmc,CAAAA,OAAO,KAAK2T,kCAAAA,CAA2BE,MAAM,CAAA;AAC9D,SAAA,CAAA,CAAA;QAEA,MAAM5pB,OAAAA,GAAUkkB,oBAAoBhpB,IAAM,EAAA,UAAA;YACtC,IAAImS,MAAAA,CAAAA;AAEJ,YAAA,OAAQzT,MAAMmc,OAAO;AACjB,gBAAA,KAAK2T,mCAA2BC,OAAO;AACnCtc,oBAAAA,MAAAA,GAASwc,kCAA0BC,QAAQ,CAAA;AAC3C,oBAAA,MAAA;AACJ,gBAAA,KAAKJ,mCAA2BE,MAAM;AAClCvc,oBAAAA,MAAAA,GAASwc,kCAA0BE,QAAQ,CAAA;AAC3C,oBAAA,MAAA;AACJ,gBAAA;oBACI1c,MAAS,GAAA,IAAA,CAAA;AACT,oBAAA,MAAA;AACR,aAAA;YAEA,IAAI;gBACA,MAAMzO,IAAAA,GAAO,MAAMwnB,SAAUlM,CAAAA,WAAW,CAAC1D,MAAM,CAAC5c,KAAMupB,CAAAA,QAAQ,EAAE;oBAC5D6G,eAAiB3c,EAAAA,MAAAA;AACrB,iBAAA,CAAA,CAAA;AAEAnT,gBAAAA,IAAAA,CAAK,SAAW0E,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,aAAA,CAAE,OAAOtD,CAAG,EAAA;AACRpB,gBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMoE,SAAAA,GAAYuqB,4BAAgB5rB,CAAAA,cAAAA,CAAe6rB,eAAe,CAAA,CAAA;AAEhE,QAAA,OAAO,IAAM1qB,mBAAoB,CAAA;AAC7BQ,gBAAAA,OAAAA;AACAM,gBAAAA,WAAAA,EAAa1G,MAAM0G,WAAW;AAC9BS,gBAAAA,QAAAA,EAAUnH,MAAMmH,QAAQ;AACxBD,gBAAAA,QAAAA,EAAUlH,MAAMkH,QAAQ;AACxBZ,gBAAAA,UAAAA,EAAYA,WAAWzF,KAAK;AAC5B2F,gBAAAA,SAAAA,EAAWA,UAAU3F,KAAK;AAC1BiF,gBAAAA,SAAAA,EAAWA,UAAUjF,KAAK;AAC1BoG,gBAAAA,WAAAA,EAAaA,YAAYpG,KAAK;AAC9BiG,gBAAAA,WAAAA,EAAaA,YAAYjG,KAAK;AAC9BwG,gBAAAA,KAAAA;AACJ,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;ACnIA,MAAMkpB,6BAA6B5wB,mBAAgB,CAAA;IAC/CK,KAAO,EAAA;QACHyT,MAAQ,EAAA;YACJvT,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;AACAkC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEqH,KAAK,EAAE,EAAA;AAClB,QAAA,MAAMuM,aAAakQ,YAAS,CAAA,IAAA;AACxB,YAAA,OAAQ9jB,MAAMyT,MAAM;AAChB,gBAAA,KAAKwc,kCAA0BC,QAAQ;oBACnC,OAAO,UAAA,CAAA;AACX,gBAAA,KAAKD,kCAA0BE,QAAQ;oBACnC,OAAO,UAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMrpB,cAAcgd,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMyT,MAAM;gBAChB,KAAK,UAAA;oBACD,OAAO,SAAA,CAAA;gBACX,KAAK,UAAA;oBACD,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,IAAIjO,iBAAAA,CAAkB,WAAW6B,KAAQ,CAAA,EAAA;YACrC,OAAO,IAAM3B,cAAc,SAAW,EAAA;AAClCoB,oBAAAA,WAAAA,EAAaA,YAAYjG,KAAK;AAC9B+S,oBAAAA,UAAAA,EAAYA,WAAW/S,KAAK;iBAC7BwG,EAAAA,KAAAA,CAAAA,CAAAA;AACP,SAAA;QAEA,OAAO,IAAMtB,MAAE,MAAQ,EAAA;AAAEgB,gBAAAA,KAAAA,EAAO,CAAC,KAAK,EAAED,WAAYjG,CAAAA,KAAK,CAAC,CAAC;AAAC,aAAA,EAAG+S,WAAW/S,KAAK,CAAA,CAAA;AACnF,KAAA;AACJ,CAAA;;ACpCA,+BAAelB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHwwB,SAAW,EAAA;YACPtwB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAuvB,MAAQ,EAAA;YACJvwB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAjB,OAASE,EAAAA,MAAAA;AACb,KAAA;IACAC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP,MAAM9oB,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAM3B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW0E,CAAAA,YAAY,CAAC,CAAC;AAClCzwB,YAAAA,OAAAA,EAASD,MAAMC,OAAO;AACtBI,YAAAA,KAAAA;YACA4kB,MAAQ,EAAA;AACJb,gBAAAA,YAAAA,CAAAA,CAAale,KAAK,EAAA;AACd,oBAAA,OAAOA,KAAMtI,CAAAA,IAAI,CAAC+yB,UAAU,KAAK3wB,KAAMwwB,CAAAA,SAAS,IAC5CtqB,KAAAA,CAAMtI,IAAI,CAACgzB,OAAO,KAAK5wB,MAAMywB,MAAM,CAAA;AAC3C,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAM/xB,OAAAA,CAAQ4b,OAAO,CAAC;YAClBtS,KAAO,EAAA;gBACHif,OAAS,EAAA;AACL0J,oBAAAA,UAAAA,EAAY3wB,MAAMwwB,SAAS;AAC3BI,oBAAAA,OAAAA,EAAS5wB,MAAMywB,MAAM;AACzB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,OAAO,IAAM1qB,MAAE,QAAU,EAAA;gBACrBgB,KAAO,EAAA;AAAC,oBAAA,YAAA;AAAc,oBAAA;AAClB,wBAAA,aAAA,EAAe,CAACrI,OAAAA,CAAQd,IAAI,CAACiD,KAAK;wBAClC,YAAcnC,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK;AACpC,qBAAA;AAAE,iBAAA;AACFoF,gBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,oBAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;AAErB,oBAAA,IAAIzH,OAAQd,CAAAA,IAAI,CAACiD,KAAK,EAAE;AACpB,wBAAA,OAAOnC,QAAQyW,MAAM,EAAA,CAAA;AACzB,qBAAA;oBAEA,OAAOzW,OAAAA,CAAQie,MAAM,CAAC;AAClBgU,wBAAAA,UAAAA,EAAY3wB,MAAMwwB,SAAS;AAC3BI,wBAAAA,OAAAA,EAAS5wB,MAAMywB,MAAM;AACzB,qBAAA,CAAA,CAAA;AACJ,iBAAA;aACD,EAAA;AACC1qB,gBAAAA,KAAAA,CAAE,GAAK,EAAA;oBACHgB,KAAO,EAAA;AAAC,wBAAA,IAAA;AAAM,wBAAA;AACV,4BAAA,SAAA,EAAW,CAACrI,OAAAA,CAAQd,IAAI,CAACiD,KAAK;4BAC9B,UAAYnC,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK;AAClC,yBAAA;AAAE,qBAAA;AACN,iBAAA,CAAA;AACH,aAAA,CAAA,CAAA;AACL,KAAA;AACJ,CAAG,CAAA;;;AClDEgwB,CAAAA,SAAAA,SAAAA,EAAAA;;;GAAAA,WAAAA,KAAAA,WAAAA,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA;;AAKAC,CAAAA,SAAAA,MAAAA,EAAAA;;;GAAAA,QAAAA,KAAAA,QAAAA,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AAKL,mBAAenxB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAisB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACA+mB,YAAc,EAAA;YACVhnB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAyzB,SAAW,EAAA;YACP7wB,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAub,MAAQ,EAAA;YACJxb,IAAMC,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACAC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP,MAAM9oB,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAMmsB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMnkB,UAAU+qB,mBAAoB,CAAA;AAChCxpB,YAAAA,OAAAA,EAAS,CAACgoB,MAAAA,GAAAA;AACN,gBAAA,IAAI,CAACA,MAAQ,EAAA;oBACT,OAAO9pB,SAAAA,CAAAA;AACX,iBAAA;gBAEA,IAAI6B,KAAAA,CAAM0b,MAAM,KAAqB,SAAA,EAAA;AACjC,oBAAA,OAAOuM,OAAO+I,gBAAgB,CAAA;AAClC,iBAAA;gBAEA,IAAIhxB,KAAAA,CAAM0b,MAAM,KAAkB,MAAA,EAAA;AAC9B,oBAAA,OAAOuM,OAAOgJ,aAAa,CAAA;AAC/B,iBAAA;gBAEA,OAAO9yB,SAAAA,CAAAA;AACX,aAAA;AACA+B,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW0E,CAAAA,YAAY,CAAC,CAAC;AAClCrwB,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;YACAilB,MAAQ,EAAA;gBACJb,YAAale,CAAAA,CAAAA,KAAK,EAAEjG,OAAO,EAAA;AACvB,oBAAA,IAAI,CAACA,OAAS,EAAA;wBACV,OAAO,IAAA,CAAA;AACX,qBAAA;oBAEA,IAAID,KAAAA,CAAM0b,MAAM,KAAqB,SAAA,EAAA;AACjC,wBAAA,OAAOzb,OAAYiG,KAAAA,KAAAA,CAAMtI,IAAI,CAACqzB,aAAa,CAAA;AAC/C,qBAAA;oBAEA,IAAIjxB,KAAAA,CAAM0b,MAAM,KAAkB,MAAA,EAAA;AAC9B,wBAAA,OAAOzb,OAAYiG,KAAAA,KAAAA,CAAMtI,IAAI,CAACozB,gBAAgB,CAAA;AAClD,qBAAA;oBAEA,OAAO,KAAA,CAAA;AACX,iBAAA;AACA1M,gBAAAA,gBAAAA,CAAAA,CAAiB/f,EAAE,EAAA;oBACf,IAAIvE,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;wBAClC,OAAOxM,8BAAAA,CAAuB2M,qBAAcC,CAAAA,eAAe,EAAE5sB,EAAAA,CAAAA,CAAAA;AACjE,qBAAA;oBAEA,IAAIvE,KAAAA,CAAM+wB,SAAS,KAAoB,KAAA,EAAA;wBACnC,OAAOxM,8BAAAA,CAAuB2M,qBAAcE,CAAAA,gBAAgB,EAAE7sB,EAAAA,CAAAA,CAAAA;AAClE,qBAAA;oBAEA,OAAOggB,8BAAAA,CAAuByH,kBAAW0E,CAAAA,YAAY,EAAEnsB,EAAAA,CAAAA,CAAAA;AAC3D,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM7F,QAAQ4b,OAAO,EAAA,CAAA;AAErB,QAAA,IACI5b,QAAQd,IAAI,CAACiD,KAAK,IAClBb,MAAM0b,MAAM,IACZ,CAAChd,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,EACnC;YACE,IAAI1b,KAAAA,CAAM0b,MAAM,KAAqB,SAAA,EAAA;AACjChd,gBAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,GAAG,MAAM8Q,UACpCnM,OAAO,CAAChF,MAAM,CAAC3c,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAC8vB,UAAU,CAAA,CAAA;aAC9C,MAAA;AACHjyB,gBAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,GAAG,MAAM8Q,UACpC/L,IAAI,CAACpF,MAAM,CAAC3c,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAC+vB,OAAO,CAAA,CAAA;AAC/C,aAAA;AACJ,SAAA;QAEA,OAAO,IAAA;AACH,YAAA,MAAMS,QAAW,GAAA,IAAA;AACb,gBAAA,IACIrxB,MAAM0b,MAAM,IACZhd,OAAQd,CAAAA,IAAI,CAACiD,KAAK,IAClBnC,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,EAClC;oBACE,IAAI1b,KAAAA,CAAM0b,MAAM,KAAqB,SAAA,EAAA;AACjC,wBAAA,OAAO3V,MAAE,KAAO,EAAA;AACZrH,4BAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAEwf,OAAQ3f,CAAAA,IAAAA;AAC/B,yBAAA,CAAA,CAAA;AACL,qBAAA;oBACA,IAAIV,KAAAA,CAAM0b,MAAM,KAAkB,MAAA,EAAA;AAC9B,wBAAA,OAAO3V,MAAE,KAAO,EAAA;AACZrH,4BAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE4f,IAAK/f,CAAAA,IAAAA;AAC5B,yBAAA,CAAA,CAAA;AACL,qBAAA;AACJ,iBAAA;gBAEA,OAAO;oBACHhC,OAAQd,CAAAA,IAAI,EAAEiD,KAAO0D,EAAAA,EAAAA;AACxB,iBAAA,CAAA;AACL,aAAA,CAAA;YAEA,OAAO7F,OAAAA,CAAQ8oB,MAAM,CAAC6J,QAAAA,CAAAA,CAAAA;AAC1B,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;;ACvHER,CAAAA,SAAAA,SAAAA,EAAAA;;;GAAAA,WAAAA,KAAAA,WAAAA,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AAKL,oBAAelxB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;AACH,QAAA,GAAG+H,eAA8B,EAAA;QACjC9H,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAmxB,QAAU,EAAA;YACNpxB,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACAud,MAAQ,EAAA;YACJxb,IAAMC,EAAAA,MAAAA;AACN8H,YAAAA,OAAAA,EAAS+jB,mBAAW2D,IAAI;AAC5B,SAAA;QACAoB,SAAW,EAAA;YACP7wB,IAAMC,EAAAA,MAAAA;YACN8H,OAAO,EAAA,KAAA;AACX,SAAA;QACAspB,WAAa,EAAA;YACTrxB,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;QACAupB,cAAgB,EAAA;YACZtxB,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;IACAZ,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACP,MAAMrH,KAAAA,CAAAA,CAAML,KAAK,EAAE6F,GAAG,EAAA;AAClB,QAAA,MAAM8V,MAASmI,GAAAA,YAAAA,CAAS,IAAO9jB,KAAAA,CAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,GAC3D3D,kBAAAA,CAAWyD,OAAO,GAClBzD,mBAAW2D,IAAI,CAAA,CAAA;AAEnB,QAAA,MAAM8B,mBAAmB,CAACC,IAAAA,GAAAA;YACtB,IAAI1xB,KAAAA,CAAMC,OAAO,EAAE;AACf,gBAAA,OAAQD,MAAM+wB,SAAS;AACnB,oBAAA,KAAA,IAAA;wBACI,OAAOW,IAAAA,KAASnN,8BAAuB2M,CAAAA,qBAAAA,CAAcC,eAAe,CAAA,CAAA;AACxE,oBAAA,KAAA,KAAA;wBACI,OAAOO,IAAAA,KAASnN,8BAAuB2M,CAAAA,qBAAAA,CAAcE,gBAAgB,CAAA,CAAA;AAC7E,iBAAA;aACG,MAAA;gBACH,OAAOM,IAAAA,KAASnN,8BAAuByH,CAAAA,kBAAAA,CAAW0E,YAAY,CAAA,CAAA;AAClE,aAAA;YAEA,OAAO,KAAA,CAAA;AACX,SAAA,CAAA;AAEA,QAAA,MAAMiB,yBAAyB,CAAC3sB,IAAAA,GAAAA;AAC5B,YAAA,OAAQ2W,OAAO9a,KAAK;AAChB,gBAAA,KAAKmrB,mBAAW2D,IAAI;AAChB,oBAAA,IAAI,OAAO3vB,KAAAA,CAAMsxB,QAAQ,KAAK,WAAa,EAAA;AACvC,wBAAA,OAAOtxB,KAAMC,CAAAA,OAAO,KAAK+E,IAAAA,CAAKisB,aAAa,CAAA;AAC/C,qBAAA;AAEA,oBAAA,OAAOjxB,KAAMsxB,CAAAA,QAAQ,KAAKtsB,IAAAA,CAAK4rB,OAAO,CAAA;AAC1C,gBAAA,KAAK5E,mBAAWyD,OAAO;AACnB,oBAAA,IAAI,OAAOzvB,KAAAA,CAAMsxB,QAAQ,KAAK,WAAa,EAAA;AACvC,wBAAA,OAAOtxB,KAAMC,CAAAA,OAAO,KAAK+E,IAAAA,CAAKgsB,gBAAgB,CAAA;AAClD,qBAAA;AAEA,oBAAA,OAAOhxB,KAAMsxB,CAAAA,QAAQ,KAAKtsB,IAAAA,CAAK2rB,UAAU,CAAA;AACjD,aAAA;YAEA,OAAO,KAAA,CAAA;AACX,SAAA,CAAA;AAEA,QAAA,MAAM,EACFnJ,MAAM,EACND,WAAW,EACd,GAAGZ,UAAW,CAAA;AACXzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW0E,CAAAA,YAAY,CAAC,CAAC;AAClC1wB,YAAAA,KAAAA;YACAK,KAAOwF,EAAAA,GAAAA;YACPof,MAAQ,EAAA;AACJb,gBAAAA,YAAAA,CAAAA,CAAale,KAAK,EAAA;oBACd,OAAOurB,gBAAAA,CAAiBvrB,MAAMse,IAAI,CAACC,QAAQ,CACvCkN,IAAAA,sBAAAA,CAAuBzrB,MAAMtI,IAAI,CAAA,CAAA;AACzC,iBAAA;AACAwnB,gBAAAA,uBAAAA,CAAAA,GAAAA;oBACI,IAAIplB,KAAAA,CAAMC,OAAO,EAAE;wBACf,IAAID,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;AAClC,4BAAA,OAAO1L,4CACH6L,CAAAA,qBAAAA,CAAcC,eAAe,EAC7B7L,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,yBAAA;AAEA,wBAAA,OAAOF,4CACH6L,CAAAA,qBAAAA,CAAcE,gBAAgB,EAC9B9L,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,qBAAA;AAEA,oBAAA,OAAOF,4CACH2G,CAAAA,kBAAAA,CAAW0E,YAAY,EACvBpL,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,iBAAA;AACAM,gBAAAA,yBAAAA,CAAAA,GAAAA;oBACI,IAAI7lB,KAAAA,CAAMC,OAAO,EAAE;wBACf,IAAID,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;AAClC,4BAAA,OAAO1L,4CACH6L,CAAAA,qBAAAA,CAAcC,eAAe,EAC7B7L,oCAA4BsM,WAAW,CAAA,CAAA;AAE/C,yBAAA;AAEA,wBAAA,OAAOvM,4CACH6L,CAAAA,qBAAAA,CAAcE,gBAAgB,EAC9B9L,oCAA4BsM,WAAW,CAAA,CAAA;AAE/C,qBAAA;AAEA,oBAAA,OAAOvM,4CACH2G,CAAAA,kBAAAA,CAAW0E,YAAY,EACvBpL,oCAA4BsM,WAAW,CAAA,CAAA;AAE/C,iBAAA;AACJ,aAAA;AACA1K,YAAAA,YAAAA,EAAc,CAACgF,CAAAA,GAAAA;gBACX,IAAIrgB,MAAAA,CAAAA;AAEJ,gBAAA,IAAI7L,KAAM0b,CAAAA,MAAM,KAAKsQ,kBAAAA,CAAW2D,IAAI,EAAE;oBAClC9jB,MAAS,GAAA;wBACL,WAAaqgB,EAAAA,CAAAA,CAAE1uB,MAAM,GAAG,CAAA,GAAI,CAAC,CAAC,EAAE0uB,CAAE,CAAA,CAAC,GAAGA,CAAAA;AAC1C,qBAAA,CAAA;iBACG,MAAA;oBACHrgB,MAAS,GAAA;wBACL,cAAgBqgB,EAAAA,CAAAA,CAAE1uB,MAAM,GAAG,CAAA,GAAI,CAAC,CAAC,EAAE0uB,CAAE,CAAA,CAAC,GAAGA,CAAAA;AAC7C,qBAAA,CAAA;AACJ,iBAAA;gBAEA,IAAIlsB,KAAAA,CAAMC,OAAO,EAAE;oBACf,IAAID,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;wBAClCllB,MAAOolB,CAAAA,aAAa,GAAGjxB,KAAAA,CAAMC,OAAO,CAAA;qBACjC,MAAA;wBACH4L,MAAOmlB,CAAAA,gBAAgB,GAAGhxB,KAAAA,CAAMC,OAAO,CAAA;AAC3C,qBAAA;AACJ,iBAAA;gBAEA,OAAO4L,MAAAA,CAAAA;AACX,aAAA;YACA7D,KAAO,EAAA,IAAA;AACH,gBAAA,MAAM6pB,UAAqB,EAAE,CAAA;gBAC7B,IAAI7xB,KAAAA,CAAM0b,MAAM,KAAKsQ,kBAAAA,CAAW2D,IAAI,IAAI3vB,KAAAA,CAAMuxB,WAAW,EAAE;AACvDM,oBAAAA,OAAAA,CAAQhrB,IAAI,CAAC,MAAA,CAAA,CAAA;AACjB,iBAAA;gBAEA,IAAI7G,KAAAA,CAAM0b,MAAM,KAAKsQ,kBAAAA,CAAWyD,OAAO,IAAIzvB,KAAAA,CAAMwxB,cAAc,EAAE;AAC7DK,oBAAAA,OAAAA,CAAQhrB,IAAI,CAAC,SAAA,CAAA,CAAA;AACjB,iBAAA;gBAEA,OAAO;oBACHgrB,OAASA,EAAAA,OAAAA;AACb,iBAAA,CAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEAtK,WAAY,CAAA;YACRhf,MAAQ,EAAA;gBACJ6hB,OAAS,EAAA,IAAMrkB,MAAE+rB,mBAAQ,EAAA;AACrB9qB,wBAAAA,IAAAA,EAAMhH,MAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,GAClC,OACA,GAAA,UAAA;wBACJZ,IAAM,EAAA,IAAA;AACNvoB,wBAAAA,SAAAA,EAAWxG,MAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,GACvC,gBACA,GAAA,kBAAA;AACR,qBAAA,CAAA;AACJ,aAAA;YAEA3qB,IAAM,EAAA;AACFolB,gBAAAA,OAAAA,CAAAA,CACIplB,IAAI,EACJ+sB,SAAS,EACTC,WAAW,EAAA;AAEX,oBAAA,OAAOjsB,MAAEksB,YAAc,EAAA;wBACnBhK,MAAQjjB,EAAAA,IAAAA;AACR+rB,wBAAAA,SAAAA,EAAW/wB,MAAM+wB,SAAS;AAC1BrV,wBAAAA,MAAAA,EAAQ1b,MAAM0b,MAAM;AACpBmJ,wBAAAA,SAAAA,EAAWkN,UAAUjqB,OAAO;AAC5Bid,wBAAAA,SAAAA,EAAWgN,UAAUlqB,OAAO;AAC5B8hB,wBAAAA,QAAAA,EAAUoI,UAAU3I,MAAM;qBAC3B,EAAA;AACCnhB,wBAAAA,OAAAA,EAAS,CAACiqB,SAAAA,GAAAA;4BACN,IAAIF,WAAAA,CAAYG,IAAI,EAAE;AAClB,gCAAA,OAAOH,YAAYG,IAAI,CAAA;AAC3B,6BAAA;4BAEA,IAAInrB,IAAAA,CAAAA;4BAEJ,IACIhH,KAAAA,CAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,IAChCuC,SAAUt0B,CAAAA,IAAI,CAAC6iB,IAAI,EACrB;AACEzZ,gCAAAA,IAAAA,GAAOjB,MAAE,KAAO,EAAA;AAACmsB,oCAAAA,SAAAA,CAAUt0B,IAAI,CAAC6iB,IAAI,CAAC/f,IAAI;AAAC,iCAAA,CAAA,CAAA;6BACvC,MAAA,IACHV,KAAM0b,CAAAA,MAAM,KAAKsQ,kBAAAA,CAAWyD,OAAO,IACnCyC,SAAUt0B,CAAAA,IAAI,CAACyiB,OAAO,EACxB;AACErZ,gCAAAA,IAAAA,GAAOjB,MAAE,KAAO,EAAA;AAACmsB,oCAAAA,SAAAA,CAAUt0B,IAAI,CAACyiB,OAAO,CAAC3f,IAAI;AAAC,iCAAA,CAAA,CAAA;6BAC1C,MAAA;AACHsG,gCAAAA,IAAAA,GAAOjB,MAAE,KAAO,EAAA;oCAACmsB,SAAUt0B,CAAAA,IAAI,CAAC2G,EAAE;AAAC,iCAAA,CAAA,CAAA;AACvC,6BAAA;4BAEA,OAAO;AACHytB,gCAAAA,WAAAA,CAAYjD,IAAI;AAChB/nB,gCAAAA,IAAAA;AACAgrB,gCAAAA,WAAAA,CAAYI,OAAO;AACtB,6BAAA,CAAA;AACL,yBAAA;AACJ,qBAAA,CAAA,CAAA;AACJ,iBAAA;AACJ,aAAA;YAEA/pB,MAAQ,EAAA;AACJ+hB,gBAAAA,OAAAA,EAAS,CAAC,QAAQ,EAAEpqB,MAAM0b,MAAM,CAAC,aAAa,CAAC;AACnD,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM8L,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;AC1OH,MAAM6K,iBAAiB1yB,mBAAgB,CAAA;IACnCK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAb,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMiB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClB6xB,OAAS,EAAA,EAAA;YACTlC,eAAiB,EAAA,EAAA;AACrB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMzyB,OAAU,GAAA;AACZsyB,YAAAA,iCAAAA,CAA0BC,QAAQ;AAClCD,YAAAA,iCAAAA,CAA0BE,QAAQ;AACrC,SAAA,CAAA;AAED,QAAA,MAAMxD,KAAK1rB,YAAa,CAAA;YACpBqxB,OAAS,EAAA;AACLnxB,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,IAAA,CAAA;AACzB,aAAA;YACAgvB,eAAiB,EAAA;AACblvB,0BAAAA,mBAAAA;AACJ,aAAA;SACDV,EAAAA,IAAAA,CAAAA,CAAAA;QAEH,MAAM+xB,SAAAA,GAAY7C,YAAa1vB,CAAAA,KAAAA,CAAMioB,MAAM,CAAA,CAAA;AAE3C,QAAA,MAAMvpB,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW0E,CAAAA,YAAY,CAAC,CAAC;AAClCrwB,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;QAEA,SAASwyB,QAAAA,GAAAA;AACLnI,YAAAA,4BAAAA,CAA6B7pB,IAAM9B,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAA,CAAA;AACzD,SAAA;QAEAC,SAAMyxB,CAAAA,SAAAA,EAAW,CAACxxB,GAAK0xB,EAAAA,MAAAA,GAAAA;YACnB,IAAI1xB,GAAAA,IAAOA,QAAQ0xB,MAAQ,EAAA;AACvB/zB,gBAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,GAAGb,MAAMioB,MAAM,CAAA;AAEjCuK,gBAAAA,QAAAA,EAAAA,CAAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMhxB,MAAAA,GAAS8oB,oBAAoBhpB,IAAM,EAAA,UAAA;AACrC,YAAA,IAAIqrB,EAAG9rB,CAAAA,KAAK,CAACkC,QAAQ,EAAE,OAAA;YAEvB,MAAMrE,OAAAA,CAAQmrB,cAAc,CAACrpB,IAAAA,CAAAA,CAAAA;AACjC,SAAA,CAAA,CAAA;QAEA,MAAM2sB,sBAAAA,GAAyBC,6CAAoCT,CAAAA,EAAAA,CAAG9rB,KAAK,CAAA,CAAA;AAC3E,QAAA,MAAM6xB,kBAAqBC,GAAAA,yCAAAA,EAAAA,CAAAA;QAE3B,OAAO,IAAA;AACH,YAAA,MAAML,UAAU1E,2BAAe,CAAA;gBAC3BC,kBAAoBV,EAAAA,sBAAAA,CAAuBmF,OAAO,CAACzxB,KAAK;AACxDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACyxB,OAAO,CAAA;gBAChDtE,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,SAAA;AACd7D,gBAAAA,OAAAA,EAASwI,8BAAkB,CAAA;AACvB/xB,oBAAAA,KAAAA,EAAOL,KAAK8xB,OAAO;AACnBnE,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAK8xB,OAAO,GAAG3oB,KAAAA,CAAAA;AACnB,qBAAA;oBACA3J,KAAO,EAAA;wBACH6yB,IAAM,EAAA,CAAA;wBACNC,WAAa,EAAA,yEAAA;AACjB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAMrf,SAASma,2BAAe,CAAA;gBAC1BC,kBAAoBV,EAAAA,sBAAAA,CAAuBiD,eAAe,CAACvvB,KAAK;AAChEitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACuvB,eAAe,CAAA;gBACxDpC,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,QAAA;AACd7D,gBAAAA,OAAAA,EAAS8D,4BAAgB,CAAA;AACrBrtB,oBAAAA,KAAAA,EAAOL,KAAK4vB,eAAe;AAC3BjC,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAK4vB,eAAe,GAAGzmB,KAAAA,CAAAA;AAC3B,qBAAA;AACAhM,oBAAAA,OAAAA,EAASA,OAAQ8N,CAAAA,GAAG,CAAC,CAACxN,UAAY;4BAC9BsG,EAAItG,EAAAA,MAAAA;4BACJ4C,KAAO5C,EAAAA,MAAAA;yBACX,CAAA,CAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAM80B,aAAaC,4CAAgC,CAAA;AAC/CxxB,gBAAAA,MAAAA;AACAF,gBAAAA,IAAAA,EAAMA,KAAKT,KAAK;AAChBoyB,gBAAAA,SAAAA,EAAW,CAAC,CAACv0B,OAAQd,CAAAA,IAAI,CAACiD,KAAK;gBAC/BiC,OAAS6pB,EAAAA,EAAAA,CAAG9rB,KAAK,CAACkC,QAAQ;aAC3B2vB,EAAAA,kBAAAA,CAAAA,CAAAA;AAEH,YAAA,OAAO3sB,MACH,KACA,EAAA;AACIA,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,2BAAA;iBAA+B,EAAA;AAC7C,oBAAA,kGAAA;AACH,iBAAA,CAAA;AACDurB,gBAAAA,OAAAA;AACA7e,gBAAAA,MAAAA;gBACA1N,KAAE,CAAA,IAAA,CAAA;AACFgtB,gBAAAA,UAAAA;AACH,aAAA,CAAA,CAAA;AAET,SAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;AC3HA,kBAAepzB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRszB,gBAAAA,uBAAAA;AACAb,QAAAA,cAAAA;AACAzC,QAAAA,2BAAAA;AACAW,QAAAA,0BAAAA;AACA4C,gBAAAA,WAAAA;AACJ,KAAA;IACAnzB,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAI,IAAM,EAAA;YACFpB,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,QAAA;AAAU,QAAA,SAAA;AAAU,KAAA;AACvCC,IAAAA,KAAAA,CAAAA,CAAM+yB,MAAM,EAAE,EAAE9yB,IAAG,EAAG,EAAA;AAClB,QAAA,MAAM+yB,QAAQ9xB,OAAa,CAAA,KAAA,CAAA,CAAA;AAC3B,QAAA,MAAM+xB,WAAc,GAAA,IAAA;AAChBD,YAAAA,KAAAA,CAAMxyB,KAAM,GAAE,CAACwyB,KAAAA,CAAMxyB,KAAK,CAAA;AAC9B,SAAA,CAAA;AAEA,QAAA,MAAMikB,gBAAgB,CAAClnB,IAAAA,GAAAA;AACnB0C,YAAAA,IAAAA,CAAK,SAAW1C,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;AAEA,QAAA,MAAM21B,eAAe,CAAC31B,IAAAA,GAAAA;AAClB0C,YAAAA,IAAAA,CAAK,QAAU1C,EAAAA,IAAAA,CAAAA,CAAAA;AACnB,SAAA,CAAA;AAEA,QAAA,MAAMgnB,gBAAgB,CAAChnB,IAAAA,GAAAA;AACnB0C,YAAAA,IAAAA,CAAK,SAAW1C,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;QAEA,OAAO;AACHy1B,YAAAA,KAAAA;AACAC,YAAAA,WAAAA;AAEAxO,YAAAA,aAAAA;AACAyO,YAAAA,YAAAA;AACA3O,YAAAA,aAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;;IAKe7d,KAAM,EAAA,gCAAA;AAAA,CAAA,CAAA;AAMC,MAAAysB,YAAA,GAAA;IAAAzsB,KAAA,EAAA,OAAA;AAAA,CAAA,CAAA;AASH,MAAA0sB,YAAA,GAAA;IAAA1sB,KAAM,EAAA,oCAAA;AAA+B,CAAA,CAAA;kBAU9B,mBAAwB2sB,sBAAAA,CAAA,GAAA,EAAA;IAArB3sB,KAAM,EAAA,6BAAA;AAAY,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAOlB,MAAA4sB,YAAA,GAAA;IAAA5sB,KAAA,EAAA,+BAAA;AAAA,CAAA,CAAA;;;;MAAH6sB,YAA+B,mBAAAF,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,mBAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;;;AA8BvC,MAAA8sB,YAAA,GAAA;IAAA9sB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;mBACI,GAAA;IAAsDA,KAAA,EAAA,uDAAA;AAAA,CAAA,CAAA;mBAA9C,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAAuB,CAAA,QAAA,EAAK,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,oBAAA;AAAA,SAAA,CAAA;;;;mBAQ7C,GAAA;IAA2DA,KAAA,EAAA,uDAAA;AAAA,CAAA,CAAA;mBAAnD,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAA0B,CAAA,QAAA,EAAO,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,uBAAA;AAAA,SAAA,CAAA;;;;mBAkBlD,GAAA;IAAuDA,KAAA,EAAA,uDAAA;AAAA,CAAA,CAAA;mBAA/C,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAAqB,CAAA,QAAA,EAAQ,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,kBAAA;AAAA,SAAA,CAAA;;;;AAmC9C,MAAA+sB,aAAA,GAAA;IAAA/sB,KAAA,EAAA,iBAAA;AAAA,CAAA,CAAA;;IAMHA,KAAM,EAAA,EAAA;AAAA,CAAA,CAAA;AAEH,MAAAgtB,aAAA,mBAAAL,sBAAAA,CAEO,MAFD,EAAA;IAAA3sB,KAAM,EAAA,YAAA;AAAY,CAAA,EAAC,aAEzB,CAAA,CAAA,CAAA,CAAA;AAgBR,MAAAitB,aAAA,GAAA;IAAAjtB,KAAA,EAAA,SAAA;AAAA,CAAA,CAAA;;;;;;;;;;;;;AAxJZ,IAAA,MAAAktB,oBAAAryB,oBAqKM,CAAA,QAAA,CAAA,CAAA;WAnKEsyB,aAAAA,EAAAA,EAsDMC,sBAAA,CAAA,KAAA,EAAAC,YAAA,EAAA;AAAAV,QAAAA,sBAAAA,CArDF,OAaMF,YAAA,EAAA;AADKE,YAAAA,sBAAAA,CAAA,OAAAD,YAAA,EAAA;AAPsCC,gBAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAW,cACzCpyB,CAAAA,IAAAA,CAKSwD,MAAA,EAAA,OAAA,EAAA;AAAA7H,wBAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,qBAAA,EAAA,IAAA;AAAAqM,4BAAAA,YAAAA;4CAHCC,iBAAM,EAAA;AAAAC,gCAAAA,EAAAA,EAAA,eAAAvyB,IAAAgmB,CAAAA,MAAA,CAAA5H,OAAA,CAAA9b,EAAA;gCA5ExCwC,KAAA,EAAA,MAAA;6BAAA,EAAA;;AAAAxE,wCAAAA,mBAAAA,CAAAkyB,oBAAAxyB,IAAAgmB,CAAAA,MAAA,CAAA5H,OAAA,CAAA3f,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qCAAA,CAAA;;;;;AAkFgB,yBAAA,CAAA;AAAA,iBAAA,CAAA;AAWiBgzB,gBAAAA,sBAAAA,CAAA,OAAAC,YAAA,EAAA;oBALFU,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EAAiBwiB,aAAO,EAAA;AAAOrqB,wBAAAA,IAAAA,EAAGqE,KAAAgmB,MAAA;AAAA,qBAAA,EAAA,IAAA;AAAA7lB,4BAAAA,eAAAA,CAC1Bd,iBAAI,EAAA;AACfkzB,gCAAAA,EAAAA,iBAAMvyB,IAAqBgmB,CAAAA,MAAA,CAAA5H,OAAA,CAAA9b,EAAA;AAAA8B,gCAAAA,QAAAA,EAAApE,KAAAX,IAAA;gCA1FvDyF,KAAA,EAAA,qBAAA;6BAAA,EAAA;;AAAA2tB,wCAAAA,YAAAA;AAAA,qCAAA,CAAA;gCA8FwB/xB,CAAA,EAAA,CAAA;AACI,6BAAA,EAAA,CAAI,EAAA;;AAAC,gCAAA,UAAA;AAAQ,6BAAA,CAAA;AACP+wB,4BAAAA,sBAAAA,CAAA,QAAA,EAAA;gCACLxzB,IAAA,EAAA,QAAA;gCAjG7B6G,KAAA,EAAA,wBAAA;AAqGwBd,gCAAAA,OAAAA,EAQEnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAqxB,CAAAA,WAAA,IAAArxB,IAAAqxB,CAAAA,WAAA,IAAAtxB,IAAA,CAAA,EAAA;AAAA,oCAAA,SAAA;iCAAA,CAAA,CAAA;6BAPG2yB,EAAAA,YAAAA,CAAAA;AAASvyB,4BAAAA,eAAAA,CACTwyB,sCAAuC,EAAA;gCACvC,WAAW3yB,EAAAA,IAAAA,CAAIgmB,MAAA,CAAA1jB,EAAA;gCACf,iBAActC,EAAAA,IAAAA,CAAQgmB,MAAA,CAAAmI,eAAA;gCACtB,WAAS,EAAA,IAAA;gCACT,cAAW,EAAA,QAAA;gCACXjU,OAAO,EAAA,SAAA;gCAAA,WAAA,EAAA,KAAA;AAEZ0I,gCAAAA,SAAAA,EAQE5iB,KAAA2iB,aAAA;AAPG,6BAAA,EAAA,MAAA,CAAA,EAAA;AAAS,gCAAA,WAAA;AAAQ,gCAAA,iBAAA;AAAG,gCAAA,WAAA;AAAA,6BAAA,CAAA;AAAAxiB,4BAAAA,eAAAA,CACpBwyB,sCAAuC,EAAA;gCACvC,WAAW3yB,EAAAA,IAAAA,CAAIgmB,MAAA,CAAA1jB,EAAA;gCACf,iBAActC,EAAAA,IAAAA,CAAQgmB,MAAA,CAAAmI,eAAA;gCACtB,WAAS,EAAA,IAAA;gCACT,cAAW,EAAA,QAAA;gCACXjU,OAAO,EAAA,QAAA;gCAAA,WAAA,EAAA,KAAA;;;;;;;;;AAM5B,aAAA,CAAA;AAAA,SAAA,CAAA;QAKQkY,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EAOM,MAPN,EAAA;AAOM7H,YAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,SAAA,EAAA,IAAA;AAJIyL,gBAAAA,sBAAAA,CAAA,OAAAG,YAAA,EAAA;AAAAH,oBAAAA,sBAAAA,CACN,OAEMmB,aAAA,EAAA;AAAAC,wBAAAA,aAAAA;wBAEVpB,sBAiBM,CAAA,KAAA,EAjBN,MAiBMe,mBAAAxyB,CAAAA,IAAAA,CAAAgmB,MAAA,CAAAxH,IAAA,CAAA/f,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qBAAA,CAAA;2CAbF,OAYMq0B,aAAA,EAAA;AAAAC,wBAAAA,aAAAA;+CAVW/M,OAAO,IAAA,EAAA;AAAA7lB,4BAAAA,eAAAA,CAAA6yB,qCAAA,EAAA;gCAELxhB,MAAOxR,EAAAA,IAAAA,CAAEgmB,MAAA,CAAAmI,eAAA;6BAAA,EAAA;uCAENjuB,EAAAA,WAAAA,CAlJ1C,CAAA+vB,SAAA,GAAA;AAoJuCwB,wCAAAA,sBAAAA,CAAA,MAAA,EAAA;4CAAA3sB,KAAAmuB,EAAAA,kBAAAA,CAAA,OAAAhD,GAAAA,SAAAA,CAAAprB,WAAA,CAAA;yCApJvC2tB,EAAAA,mBAAAA,CAAAvC,SAAAte,CAAAA,UAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qCAAA,CAAA;;;;;AA0JgB,yBAAA,CAAA;AAAA,qBAAA,CAAA;2CAII,OAOMuhB,aAAA,EAAA;AAAAC,wBAAAA,aAAAA;AANF1B,wBAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;4BA/JxBzxB,IAAAgmB,CAAAA,MAAA,CAAA5H,OAAA,CAAAgV,OAAA,IAAAnB,aAAAC,EAAAA,EAAAA,sBAAAA,CAAAmB,YAAA,EAAA;gCAAA92B,GAAA,EAAA,CAAA;6BAAA,EAAA;AAkK6CypB,gCAAAA,mBAAAA,CAAOwM,oBAAgBxyB,IAAAgmB,CAAAA,MAAA,CAAA5H,OAAA,CAAAgV,OAAA,CAAA,EAAA,CAAA,CAAA;AAlKpE,6BAAA,EAAA,EAAA,CAAA,IAAApzB,IAAAgmB,CAAAA,MAAA,CAAA5H,OAAA,CAAAkV,QAAA,IAAArB,aAAAC,EAAAA,EAAAA,sBAAAA,CAAAmB,YAAA,EAAA;gCAAA92B,GAAA,EAAA,CAAA;6BAAA,EAAA;gCAAA+D,mBAAAkyB,CAAAA,mBAAAA,CAAAxyB,KAAAgmB,MAAA,CAAA5H,OAAA,CAAAA,OAAA,CAAAkV,QAAA,CAAA,EAAA,CAAA,CAAA;6BAAA,EAAA,EAAA,CAAA,IAAAC,sBAAAA,CAAA,EAAA,EAAA,IAAA,CAAA;;;AAwLQ,iBAAA,CAAA;AAAA,aAAA,CAAA;QAKQnB,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EAOM,QAPN,EAAA;AAOM7H,YAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,SAAA,EAAA,IAAA;AAAAyL,gBAAAA,sBAAAA,CANF,OAKQI,aAAA,EAAA;AAFGJ,oBAAAA,sBAAAA,CAAA,OAAA+B,aAAA,EAAA;AACoC/B,wBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAK,4BAAAA,aAAAA;;;;;;AAGnD,yBAAA,CAAA;AAAA,qBAAA,CAAA;AAIeL,oBAAAA,sBAAAA,CAAA,OAAAM,aAAA,EAAA;AACoCN,wBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAgC,4BAAAA,aAAAA;;;;;;;;AAM3D,iBAAA,CAAA;AAAA,aAAA,CAAA;AAhNRtzB,QAAAA,eAAAA,CAAA6xB,iBAAA,EAAA;AAkNYxxB,YAAAA,UAAAA,EAASR,KAAAoxB,KAAA;AACT,YAAA,qBAAA,EAAgBvxB,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAc,MAAAA,GAAAX,IAAAoxB,CAAAA,KAAA,GAAAzwB,MAAA,CAAA;YACf0B,IAAA,EAAA,IAAA;YACA,aAAA,EAAA,IAAA;YACA,sBAAiB,EAAA,IAAA;YAAA,iBAAA,EAAA,IAAA;YAEP,aAAK,EAAA,IAAA;SAAA,EAAA;mBAxN5BnC,YAyNgD,IAAA;AAAAwzB,oBAAAA,aAAAA;oBAzNhDpzB,mBAiOuB,CAAA,WAAA,GAAAkyB,oBAAAxyB,IAAAgmB,CAAAA,MAAA,CAAA5H,OAAA,CAAA3f,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,iBAAA,CAAA;AALPuH,YAAAA,OAAAA,EAAA9F,YAAA,IAAA;AAAAF,oBAAAA,IAAAA,CA5NhBgmB,2BA6NmC2N,gBAAAC,yBAAA,EAAA;wBACdr3B,GAAA,EAAA,CAAA;AACAypB,wBAAAA,MAAAA,EAAMhmB,KAAEsxB,MAAAA;AAAAA,wBAAAA,SAAAA,EAAAA,KAAAA,aAAAA;AAGjB5J,wBAAAA,QAAAA,EAAA1nB,KAAAsxB,YAAA;AAAA,qBAAA,EAlOZ;;AAkO6B,wBAAA,WAAA;AAEjB,wBAAA,UAAA;AAAA,qBAAA,CAAA,KAAAW,aAAAC,EAAAA,EAAAA,sBAAAA,CAAAmB,YAAA,EAAA;wBAAA92B,GAAA,EAAA,CAAA;qBAAA,EAAA;;AApOZ,qBAAA,EAAA,EAAA,CAAA,CAAA;AAAA,iBAAA,CAAA;;;;;;;;;;;;;;ACWO,MAAMs3B,SAASn2B,mBAAgB,CAAA;IAClCK,KAAO,EAAA;QACH+uB,IAAM,EAAA;YACF7uB,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;QACA8tB,YAAc,EAAA;YACV71B,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAqG,SAAW,EAAA;YACPtG,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACA6G,IAAM,EAAA;YACF9G,IAAMC,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACAkH,KAAO/J,EAAAA,MAAAA;AAGP+C,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEqH,KAAK,EAAE,EAAA;QAClB,OAAO,IAAMtB,MAAE+rB,mBAAQ,EAAA;AACnBzqB,gBAAAA,KAAAA;AACA0nB,gBAAAA,IAAAA,EAAM/uB,MAAM+uB,IAAI;AAChBvoB,gBAAAA,SAAAA,EAAWxG,MAAMwG,SAAS;AAC1BuvB,gBAAAA,YAAAA,EAAc/1B,MAAM+1B,YAAY;AAChC/uB,gBAAAA,IAAAA,EAAMhH,MAAMgH,IAAI;AACpB,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAG;;AC1BI,MAAMgvB,UAAUr2B,mBAAgB,CAAA;IACnCK,KAAO,EAAA;;QAEH+uB,IAAM,EAAA;YACF7uB,IAAMiI,EAAAA,OAAAA;AACV,SAAA;QACA4tB,YAAc,EAAA;YACV71B,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAqG,SAAW,EAAA;YACPtG,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAmB,IAAM,EAAA;YACFpB,IAAMiI,EAAAA,OAAAA;AACV,SAAA;QACA6e,IAAM,EAAA;YACF9mB,IAAM+1B,EAAAA,QAAAA;AACV,SAAA;QACAzR,IAAM,EAAA;YACFtkB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACA+J,KAAO/J,EAAAA,MAAAA;AAGP+C,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEqH,KAAK,EAAE,EAAA;QAClB,OAAO,IAAMtB,MAAEwpB,oBAAS,EAAA;AACpBloB,gBAAAA,KAAAA;AACA0nB,gBAAAA,IAAAA,EAAM/uB,MAAM+uB,IAAI;AAChBgH,gBAAAA,YAAAA,EAAc/1B,MAAM+1B,YAAY;AAChCz0B,gBAAAA,IAAAA,EAAMtB,MAAMsB,IAAI;AAChB0lB,gBAAAA,IAAAA,EAAMhnB,MAAMgnB,IAAI;AAChBxC,gBAAAA,IAAAA,EAAMxkB,MAAMwkB,IAAI;AACpB,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAG;;ACnCI,MAAM0R,cAAcv2B,mBAAgB,CAAA;IACvCK,KAAO,EAAA;QACH4mB,KAAO,EAAA;YACH1mB,IAAMi2B,EAAAA,MAAAA;AACV,SAAA;QACA3R,IAAM,EAAA;YACFtkB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAgE,IAAM,EAAA;YACFpB,IAAMiI,EAAAA,OAAAA;AACV,SAAA;QACA6e,IAAM,EAAA;YACF9mB,IAAM+1B,EAAAA,QAAAA;YACN/0B,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;AACAb,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAA;QACP,OAAO,IAAM+F,MAAEqwB,wBAAa,EAAA;AACxB90B,gBAAAA,IAAAA,EAAMtB,MAAMsB,IAAI;AAChB0lB,gBAAAA,IAAAA,EAAMhnB,MAAMgnB,IAAI;AAChBxC,gBAAAA,IAAAA,EAAMxkB,MAAMwkB,IAAI;AAChBoC,gBAAAA,KAAAA,EAAO5mB,MAAM4mB,KAAK;AACtB,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAG;;ACKH,MAAMyP,eAAe12B,mBAAgB,CAAA;IACjCK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN2K,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAiC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9oB,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMmsB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClBC,IAAM,EAAA,EAAA;YACN41B,WAAa,EAAA,EAAA;YACb5J,eAAiB,EAAA,EAAA;AACrB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMC,KAAK1rB,YAAa,CAAA;YACpBP,IAAM,EAAA;AACFQ,0BAAAA,mBAAAA;AACAC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;YACAk1B,WAAa,EAAA;AACTn1B,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,IAAA,CAAA;AACzB,aAAA;YACAsrB,eAAiB,EAAA;AACbxrB,0BAAAA,mBAAAA;AACJ,aAAA;SACDV,EAAAA,IAAAA,CAAAA,CAAAA;QAEH,MAAM+1B,OAAAA,GAAUh1B,QAAc,EAAE,CAAA,CAAA;AAEhC,QAAA,MAAM7C,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWyD,CAAAA,OAAO,CAAC,CAAC;AAC7BpvB,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMw2B,kBAAqB,GAAA,IAAA;AACvB,YAAA,IAAI,CAAC93B,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE,OAAA;AAEzBwpB,YAAAA,4BAAAA,CAA6B7pB,IAAM9B,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAA,CAAA;AACzD,SAAA,CAAA;AAEA21B,QAAAA,kBAAAA,EAAAA,CAAAA;QAEA,MAAMjE,SAAAA,GAAY7C,YAAa1vB,CAAAA,KAAAA,CAAMioB,MAAM,CAAA,CAAA;QAE3CnnB,SAAMyxB,CAAAA,SAAAA,EAAW,CAACxxB,GAAK0xB,EAAAA,MAAAA,GAAAA;YACnB,IAAI1xB,GAAAA,IAAOA,QAAQ0xB,MAAQ,EAAA;AACvB/zB,gBAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,GAAGb,MAAMioB,MAAM,CAAA;AAEjCuO,gBAAAA,kBAAAA,EAAAA,CAAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMC,0BAA0B,CAACzxB,IAAAA,GAAAA;AAC7B,YAAA,IAAIA,IAAM,EAAA;gBACNxE,IAAKksB,CAAAA,eAAe,GAAG1nB,IAAAA,CAAKT,EAAE,CAAA;aAC3B,MAAA;AACH/D,gBAAAA,IAAAA,CAAKksB,eAAe,GAAG,EAAA,CAAA;AAC3B,aAAA;AACJ,SAAA,CAAA;QAEA,MAAMlrB,MAAAA,GAAS8oB,oBAAoBhpB,IAAM,EAAA,UAAA;AACrC,YAAA,IAAIqrB,EAAG9rB,CAAAA,KAAK,CAACkC,QAAQ,EAAE,OAAA;AAEvB,YAAA,MAAM2zB,UAAU,CAAC,CAACh4B,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAA;YACpC,MAAMnC,OAAAA,CAAQmrB,cAAc,CAACrpB,IAAAA,CAAAA,CAAAA;AAE7B,YAAA,IAAI,CAACk2B,OAAWh4B,IAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE;gBAChC,IAAK,IAAItD,IAAI,CAAGA,EAAAA,CAAAA,GAAIg5B,QAAQ11B,KAAK,CAACrD,MAAM,EAAED,CAAK,EAAA,CAAA;AAC3C,oBAAA,MAAMivB,SAAUlM,CAAAA,WAAW,CAAC3D,MAAM,CAAC;AAC/BgU,wBAAAA,UAAAA,EAAYjyB,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAC0D,EAAE;wBACjCqsB,OAAS2F,EAAAA,OAAAA,CAAQ11B,KAAK,CAACtD,CAAE,CAAA;AAC7B,qBAAA,CAAA,CAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMo5B,gBAAgB,CAACpyB,EAAAA,GAAAA;AACnB,YAAA,MAAM4E,KAAQotB,GAAAA,OAAAA,CAAQ11B,KAAK,CAAC4U,OAAO,CAAClR,EAAAA,CAAAA,CAAAA;YACpC,IAAI4E,KAAAA,KAAU,CAAC,CAAG,EAAA;gBACdotB,OAAQ11B,CAAAA,KAAK,CAACgG,IAAI,CAACtC,EAAAA,CAAAA,CAAAA;aAChB,MAAA;AACHgyB,gBAAAA,OAAAA,CAAQ11B,KAAK,CAAC2I,MAAM,CAACL,KAAO,EAAA,CAAA,CAAA,CAAA;AAChC,aAAA;AACJ,SAAA,CAAA;QAEA,MAAMgkB,sBAAAA,GAAyBC,6CAAoCT,CAAAA,EAAAA,CAAG9rB,KAAK,CAAA,CAAA;AAC3E,QAAA,MAAM6xB,kBAAqBC,GAAAA,yCAAAA,EAAAA,CAAAA;QAE3B,OAAO,IAAA;AACH,YAAA,MAAMjyB,OAAOktB,2BAAe,CAAA;gBACxBC,kBAAoBV,EAAAA,sBAAAA,CAAuBzsB,IAAI,CAACG,KAAK;AACrDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACH,IAAI,CAAA;gBAC7CstB,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,MAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAKE,IAAI;AAChBytB,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKE,IAAI,GAAGiJ,KAAAA,CAAAA;AAChB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAM2sB,cAAc1I,2BAAe,CAAA;gBAC/BC,kBAAoBV,EAAAA,sBAAAA,CAAuBmJ,WAAW,CAACz1B,KAAK;AAC5DitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACy1B,WAAW,CAAA;gBACpDtI,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,aAAA;AACd7D,gBAAAA,OAAAA,EAASwI,8BAAkB,CAAA;AACvB/xB,oBAAAA,KAAAA,EAAO8rB,EAAG9rB,CAAAA,KAAK,CAACy1B,WAAW,CAAC5zB,MAAM;AAClCyrB,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVgjB,wBAAAA,EAAAA,CAAG9rB,KAAK,CAACy1B,WAAW,CAAC5zB,MAAM,GAAGiH,KAAAA,CAAAA;AAClC,qBAAA;oBACA3J,KAAO,EAAA;wBACH6yB,IAAM,EAAA,CAAA;AACV,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;YAEA,MAAMgE,iBAAAA,GAAoB9wB,MAAE+wB,kBAAmB,EAAA;AAC3CvN,gBAAAA,QAAAA,EAAU/oB,KAAKksB,eAAe;AAC9BqK,gBAAAA,UAAAA,CAAAA,CAAWl2B,KAAkB,EAAA;oBACzB41B,uBAAwB51B,CAAAA,KAAAA,CAAAA,CAAAA;AAC5B,iBAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAMkyB,aAAaC,4CAAgC,CAAA;AAC/CxxB,gBAAAA,MAAAA;AACAF,gBAAAA,IAAAA,EAAMA,KAAKT,KAAK;AAChBoyB,gBAAAA,SAAAA,EAAW,CAAC,CAACv0B,OAAQd,CAAAA,IAAI,CAACiD,KAAK;gBAC/BiC,OAAS6pB,EAAAA,EAAAA,CAAG9rB,KAAK,CAACkC,QAAQ;aAC3B2vB,EAAAA,kBAAAA,CAAAA,CAAAA;YAEH,MAAMsE,SAAAA,GAAYjxB,MAAE,KAAO,EAAA;AACvBA,gBAAAA,KAAAA,CAAEkxB,MAAQ,EAAA;oBACNjvB,KAAO,EAAA;wBACHif,OAAS,EAAA;4BACLiQ,MAAQ,EAAA,KAAA;AACZ,yBAAA;AACJ,qBAAA;iBACyB,EAAA;AACzB,oBAAA,CAAC9O,0BAAmBM,CAAAA,MAAM,GAAG,CAAC1oB,KAAqC,GAAA;AAC/D+F,4BAAAA,KAAAA,CAAE,OAAS,EAAA,OAAA,CAAA;AACXA,4BAAAA,KAAAA,CAAEiwB,OAAS,EAAA;AACPhP,gCAAAA,IAAAA,EAAMhnB,MAAMgnB,IAAI;AAChBxC,gCAAAA,IAAAA,EAAMxkB,MAAMwkB,IAAI;AACpB,6BAAA,CAAA;AACH,yBAAA;AACD,oBAAA,CAAC4D,0BAAmBI,CAAAA,YAAY,GAAG,CAACxoB,KAAAA,GAAAA;AAChC,wBAAA,IAAItB,OAAQd,CAAAA,IAAI,CAACiD,KAAK,EAAE;AACpB,4BAAA,OAAOkF,MAAEoxB,wBAA0B,EAAA;gCAC/B34B,GAAKwB,EAAAA,KAAAA,CAAMpC,IAAI,CAAC2G,EAAE;gCAClBksB,MAAQzwB,EAAAA,KAAAA,CAAMpC,IAAI,CAAC2G,EAAE;AACrBisB,gCAAAA,SAAAA,EAAW9xB,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAC0D,EAAE;AAChCtE,gCAAAA,OAAAA,EAASvB,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAC0D,EAAE;AAClC,6BAAA,CAAA,CAAA;AACJ,yBAAA;wBAEA,MAAM6yB,SAAAA,GAAYb,QAAQ11B,KAAK,CAAC4U,OAAO,CAACzV,KAAAA,CAAMpC,IAAI,CAAC2G,EAAE,CAAA,CAAA;AAErD,wBAAA,OAAO+C,wBAAyB,CAAA;AAC5BtC,4BAAAA,IAAAA,EAAMoyB,cAAc,CAAC,CAAA,GAAIj5B,YAAYo4B,OAAQ11B,CAAAA,KAAK,CAACu2B,SAAU,CAAA;AAC7D3vB,4BAAAA,GAAAA,EAAK,IAAMkvB,aAAAA,CAAc32B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE,CAAA;AACtCiD,4BAAAA,IAAAA,EAAM,IAAMmvB,aAAAA,CAAc32B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE,CAAA;AAC3C,yBAAA,CAAA,CAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;AACAwB,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,2BAAA;iBAA+B,EAAA;AAC7C,oBAAA,2CAAA;AACH,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAED,YAAA,OAAOhB,MACH,KACA,EAAA;gBAAEgB,KAAO,EAAA,KAAA;aACT,EAAA;AACIhB,gBAAAA,KAAAA,CACI,KACA,EAAA;oBAAEgB,KAAO,EAAA,KAAA;iBACT,EAAA;AACIrG,oBAAAA,IAAAA;oBACAqF,KAAE,CAAA,IAAA,CAAA;AACFuwB,oBAAAA,WAAAA;oBACAvwB,KAAE,CAAA,IAAA,CAAA;AACF8wB,oBAAAA,iBAAAA;AACH,iBAAA,CAAA;AAEL9wB,gBAAAA,KAAAA,CACI,KACA,EAAA;oBAAEgB,KAAO,EAAA,KAAA;iBACT,EAAA;AACIiwB,oBAAAA,SAAAA;oBACAjxB,KAAE,CAAA,IAAA,CAAA;AACFgtB,oBAAAA,UAAAA;AACH,iBAAA,CAAA;AAER,aAAA,CAAA,CAAA;AAET,SAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;ACrOA,kBAAepzB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRy3B,QAAAA,aAAAA;AACAlE,gBAAAA,WAAAA;AACAmE,mBAAAA,iBAAAA;AACJ,KAAA;IACAt3B,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAI,IAAM,EAAA;YACFpB,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,SAAA;AAAU,KAAA;IAClBiH,KAAO/J,EAAAA,MAAAA;AAcP+C,IAAAA,KAAAA,CAAAA,CAAM+yB,MAAM,EAAE,EAAE9yB,IAAG,EAAG,EAAA;QAClB,MAAMi3B,SAAAA,GAAYlH,4BAAgB5rB,CAAAA,cAAAA,CAAe+yB,cAAc,CAAA,CAAA;AAE/D,QAAA,MAAM1S,gBAAgB,CAAClnB,IAAAA,GAAAA;AACnB0C,YAAAA,IAAAA,CAAK,SAAW1C,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;QAEA,OAAO;AACH25B,YAAAA,SAAAA;AACAzS,YAAAA,aAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;;IAKe/d,KAAM,EAAA,0BAAA;AAAA,CAAA,CAAA;AAMC,MAAAysB,YAAA,GAAA;IAAAzsB,KAAA,EAAA,OAAA;AAAA,CAAA,CAAA;AASH,MAAA0sB,YAAA,GAAA;IAAA1sB,KAAM,EAAA,oCAAA;AAAS,CAAA,CAAA;kBAUR,mBAAwB2sB,sBAAAA,CAAA,GAAA,EAAA;IAArB3sB,KAAM,EAAA,6BAAA;AAAY,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;IAoBhCA,KAAM,EAAA,SAAA;AAAA,CAAA,CAAA;kBACI,mBAAmD2sB,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,YAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAGpD,MAAA6sB,YAAA,GAAA;IAAA7sB,KAAA,EAAA,yCAAA;AAAA,CAAA,CAAA;kBADF,GAAA;IAAwDA,KAAA,EAAA,mDAAA;AAAA,CAAA,CAAA;kBAAhD,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAAqB,CAAA,QAAA,EAAS,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,kBAAA;AAAA,SAAA,CAAA;;;;mBAU/C,GAAA;IAAuDA,KAAA,EAAA,mDAAA;AAAA,CAAA,CAAA;mBAA/C,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAAuB,CAAA,QAAA,EAAM,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,oBAAA;AAAA,SAAA,CAAA;;;;mBAU9C,GAAA;IAAuDA,KAAA,EAAA,mDAAA;AAAA,CAAA,CAAA;mBAA/C,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAAqB,CAAA,QAAA,EAAQ,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,kBAAA;AAAA,SAAA,CAAA;;;;AAmC9C,MAAAouB,aAAA,GAAA;IAAApuB,KAAA,EAAA,iBAAA;AAAA,CAAA,CAAA;;IAMHA,KAAM,EAAA,EAAA;AAAA,CAAA,CAAA;AAEH,MAAA+sB,aAAA,mBAAAJ,sBAAAA,CAEO,MAFD,EAAA;IAAA3sB,KAAM,EAAA,YAAA;AAAY,CAAA,EAAC,aAEzB,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;AAnHpB,IAAA,MAAA0wB,uBAAA71B,oBAyHM,CAAA,WAAA,CAAA,CAAA;WAvHEsyB,aAAAA,EAAAA,EAuCMC,sBAAA,CAAA,KAAA,EAAAC,YAAA,EAAA;AAAAV,QAAAA,sBAAAA,CAtCF,OAaMF,YAAA,EAAA;AADKE,YAAAA,sBAAAA,CAAA,OAAAD,YAAA,EAAA;AAPsCC,gBAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAW,cACzCpyB,CAAAA,IAAAA,CAKSwD,MAAA,EAAA,OAAA,EAAA;AAAA7H,wBAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,qBAAA,EAAA,IAAA;AAAAqM,4BAAAA,YAAAA;4CAHCC,iBAAM,EAAA;AAAAC,gCAAAA,EAAAA,EAAA,YAAAvyB,GAAAA,IAAAA,CAAAgmB,MAAA,CAAA1jB,EAAA;gCA3ExCwC,KAAA,EAAA,MAAA;6BAAA,EAAA;;AAAAxE,wCAAAA,mBAAAA,CAAAkyB,mBAAAxyB,CAAAA,IAAAA,CAAAgmB,MAAA,CAAAvnB,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qCAAA,CAAA;;;;;AAiFgB,yBAAA,CAAA;AAAA,iBAAA,CAAA;AAWiBgzB,gBAAAA,sBAAAA,CAAA,OAAAC,YAAA,EAAA;oBAAAU,cALFpyB,CAAAA,IAAAA,SAAiBgmB,aAAS,EAAA;AAAArqB,wBAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,qBAAA,EAAA,IAAA;AAAA7lB,4BAAAA,eAAAA,CAClBd,iBAAI,EAAA;AACfkzB,gCAAAA,EAAAA,cAAMvyB,GAAAA,IAAAA,CAAqBgmB,MAAA,CAAA1jB,EAAA;AAAA8B,gCAAAA,QAAAA,EAAApE,KAAAX,IAAA;gCAzFvDyF,KAAA,EAAA,qBAAA;6BAAA,EAAA;;AAAA2tB,wCAAAA,YAAAA;AAAA,qCAAA,CAAA;gCA6FwC6C,CAAAA,EAAAA,CAAAA;AACZ,6BAAA,EAAA,CAAA,EAAA;AAAA,gCAAA,IAAA;AAAA,gCAAA,UAAA;AAAA,6BAAA,CAAA;AA9F5Bt1B,4BAAAA,IAAAA,CAAAs1B,SAAA,IAAArD,aAAAA,EAAAA,EA+F4C0B,gBAAK8B,wBAAA,EAAA;gCAChBl5B,GAAA,EAAA,CAAA;gCACA,WAAW,EAAA,KAAA;gCACX,WAAU8C,EAAAA,IAAAA,CAAQ2mB,MAAAA,CAAAA,EAAAA;gCACnB,aAAM,EAAA,SAAA;AACL5hB,gCAAAA,QAAAA,EAAOpE,KAAE6iB,IAAa,IAAA7iB,KAAAgmB,MAAA,CAAA0P,QAAA,GAAA,CAAA;gCAAA5wB,KAAA,EAAA,4BAAA;AApGvDge,gCAAAA,SAAAA,EAAA9iB,KAAA6iB,aAAA;AAAA,6BAAA,EAAA,MAAA,CAAA,EAAA;AAAA,gCAAA,WAAA;AAAA,gCAAA,UAAA;AAAA,gCAAA,WAAA;6BAAA,CAAA,IAAA0Q,uBAAA,EAAA,EAAA,IAAA,CAAA;;;AA2GQ,aAAA,CAAA;AAAA,SAAA,CAAA;QAKQnB,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EASM,MATN,EAAA;AASM7H,YAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,SAAA,EAAA,IAAA;AANIyL,gBAAAA,sBAAAA,CAAA,OAAAE,YAAA,EAAA;AAAAF,oBAAAA,sBAAAA,CACN,OAIMiB,YAAA,EAAA;AAAAd,wBAAAA,YAAAA;AADC5L,wBAAAA,sBAAAA,CAAAA,KAAAA,EAAAA;AAAAA,4BAAAA,KAAAA,EAAAA,kBAAAA,CAAAA;AAAAA,gCAAAA,cAAAA,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,QAAAA,GAAAA,CAAAA;AAAAA,gCAAAA,YAAAA,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,QAAAA,KAAAA,CAAAA;AAAAA,6BAAAA,CAAAA;AAGX,yBAAA,EAAAwM,mBASMxyB,CAAAA,IAAAA,CATNgmB,MASM,CAAA0P,QAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qBAAA,CAAA;2CALF,OAIM9C,aAAA,EAAA;AAAAC,wBAAAA,aAAAA;AADC7M,wBAAAA,sBAAAA,CAAAA,KAAAA,EAAAA;AAAAA,4BAAAA,KAAAA,EAAAA,kBAAAA,CAAAA;AAAAA,gCAAAA,cAAAA,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,KAAAA,GAAAA,CAAAA;AAAAA,gCAAAA,YAAAA,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,KAAAA,KAAAA,CAAAA;AAAAA,6BAAAA,CAAAA;AAGX,yBAAA,EAAAwM,mBAYMxyB,CAAAA,IAAAA,CAZNgmB,MAYM,CAAA2P,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qBAAA,CAAA;2CARF,OAOM7C,aAAA,EAAA;AAAAC,wBAAAA,aAAAA;AANFtB,wBAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;AAzIxBzxB,4BAAAA,IAAAA,CAAAgmB,MAAA,CAAAoN,OAAA,IAAAnB,aAAAA,EAAAA,EAAAC,uBAAAmB,YAAA,EAAA;gCAAA92B,GAAA,EAAA,CAAA;6BAAA,EAAA;AA4I6CypB,gCAAAA,mBAAAA,CAAOwM,mBAAQxyB,CAAAA,IAAAA,CAAAgmB,MAAA,CAAAoN,OAAA,CAAA,EAAA,CAAA,CAAA;6BA5I5D,EAAA,EAAA,CAAA,IAAApzB,IAAAA,CAAAgmB,MAAA,CAAAsN,QAAA,IAAArB,aAAAC,EAAAA,EAAAA,sBAAAA,CAAAmB,YAAA,EAAA;gCAAA92B,GAAA,EAAA,CAAA;6BAAA,EAAA;AAAA+D,gCAAAA,mBAAAA,CAAAkyB,mBAAAxyB,CAAAA,IAAAA,CAAAgmB,MAAA,CAAAsN,QAAA,CAAA,EAAA,CAAA,CAAA;6BAAA,EAAA,EAAA,CAAA,IAAAC,sBAAAA,CAAA,EAAA,EAAA,IAAA,CAAA;;;AAkKQ,iBAAA,CAAA;AAAA,aAAA,CAAA;QAKQnB,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EAOM,QAPN,EAAA;AAOM7H,YAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,SAAA,EAAA,IAAA;AAAAyL,gBAAAA,sBAAAA,CANF,OAKQyB,aAAA,EAAA;AAFGzB,oBAAAA,sBAAAA,CAAA,OAAA0B,aAAA,EAAA;AACoC1B,wBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAI,4BAAAA,aAAAA;;;;;;AAGnD,yBAAA,CAAA;AAAA,qBAAA,CAAA;AAIeJ,oBAAAA,sBAAAA,CAAA,OAAA+B,aAAA,EAAA;AACoC/B,wBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAK,4BAAAA,aAAAA;;;;;;;;;;;;;;;;;;;ACjKnE,MAAM8D,eAAel4B,mBAAgB,CAAA;IACjCK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,QAAA;AAAU,QAAA,SAAA;AAAU,KAAA;AACvCC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;QACjB,OAAO,IAAMyF,MAAEypB,QAAU,EAAA;AACrBvH,gBAAAA,MAAAA,EAAQjoB,MAAMioB,MAAM;AACpBlD,gBAAAA,SAAAA,CAAAA,CAAUkD,MAAM,EAAA;AACZ3nB,oBAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,iBAAA;AACApD,gBAAAA,SAAAA,EAAW,CAACoD,MAAAA,GAAAA;AACR3nB,oBAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,iBAAA;AACA0B,gBAAAA,QAAAA,CAAAA,CAASjoB,CAAC,EAAA;AACNpB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;aACD,EAAA;AACCuG,gBAAAA,OAAAA,EAAS,CAACiqB,SAAAA,GAAAA;oBACN,IAAI,CAACA,SAAUt0B,CAAAA,IAAI,EAAE;AACjB,wBAAA,OAAO,EAAE,CAAA;AACb,qBAAA;AAEA,oBAAA,OAAOmI,MAAE+xB,gBAAkB,EAAA;AACvB7P,wBAAAA,MAAAA,EAAQiK,UAAUt0B,IAAI;AACtB0D,wBAAAA,IAAAA,EAAM4wB,UAAU5wB,IAAI;AACpByjB,wBAAAA,SAAAA,EAAWmN,UAAUrqB,OAAO;AAChC,qBAAA,CAAA,CAAA;AACJ,iBAAA;AACJ,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;ACpCA,MAAMkwB,YAAYp4B,mBAAgB,CAAA;IAC9BK,KAAO,EAAA;AACH,QAAA,GAAG+H,eAA0B,EAAA;QAC7B9H,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAkJ,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACPrH,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAM,EAAEmnB,MAAM,EAAED,WAAW,EAAE,GAAGZ,UAAW,CAAA;AACvCzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWyD,CAAAA,OAAO,CAAC,CAAC;AAC7BzvB,YAAAA,KAAAA;AACAK,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;QAEAknB,WAAY,CAAA;YACRlf,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,+BAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAA;;AC3BA,uBAAe7nB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AAAEqvB,sBAAAA,aAAAA;AAAc5C,QAAAA,eAAAA;AAAgB,KAAA;IAC5CrsB,KAAO,EAAA;QACHupB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,UAAA;AAAY,QAAA,QAAA;AAAS,KAAA;AAC7BC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;AACjB,QAAA,MAAMgB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMirB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAElB,QAAA,MAAMzc,OAAU,GAAA,UAAA;YACZ,IAAI9E,IAAAA,CAAKT,KAAK,EAAE,OAAA;AAEhBS,YAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;YAEb,IAAI;AACA,gBAAA,MAAM2rB,UAAUxL,OAAO,CAACrB,kBAAkB,CAACqY,0BAAAA,CAAmBC,OAAO,EAAE;AACnE1zB,oBAAAA,EAAAA,EAAIvE,MAAMupB,QAAQ;AACtB,iBAAA,CAAA,CAAA;gBAEAjpB,IAAK,CAAA,UAAA,CAAA,CAAA;AACT,aAAA,CAAE,OAAOoB,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AAEAJ,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACjB,SAAA,CAAA;QAEA,OAAO,IAAMkF,MAAE,KAAO,EAAA;AAClBA,gBAAAA,KAAAA,CAAE,GAAK,EAAA;oBAAEgB,KAAO,EAAA,MAAA;iBAAU,EAAA;AACtB,oBAAA,6FAAA;AACH,iBAAA,CAAA;AAEDhB,gBAAAA,KAAAA,CAAE,QAAU,EAAA;oBACR7F,IAAM,EAAA,QAAA;AACNmG,oBAAAA,QAAAA,EAAU/E,KAAKT,KAAK;oBACpBkG,KAAO,EAAA,qBAAA;AACPd,oBAAAA,OAAAA,CAAAA,CAAQC,KAAU,EAAA;AACdA,wBAAAA,KAAAA,CAAMC,cAAc,EAAA,CAAA;wBAEpB,OAAOC,OAAAA,EAAAA,CAAAA;AACX,qBAAA;iBACD,EAAA;AACC,oBAAA,SAAA;AACH,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AACL,KAAA;AACJ,CAAG,CAAA;;ACrCH,oBAAezG,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN2K,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAiC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9oB,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMiB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClBC,IAAM,EAAA,EAAA;YACN+N,IAAM,EAAA,EAAA;YACNypB,YAAc,EAAA,EAAA;YACdC,cAAgB,EAAA,EAAA;AACpB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMxL,KAAK1rB,YAAa,CAAA;YACpBP,IAAM,EAAA;AACFQ,0BAAAA,mBAAAA;AACAC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;YACAqN,IAAM,EAAA;AACFvN,0BAAAA,mBAAAA;AACAE,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;YACA82B,YAAc,EAAA;AACVE,gBAAAA,QAAAA,EAAUj3B,oBAAU,CAAA,CAAA,CAAA;AACpBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;YACA+2B,cAAgB,EAAA;AACZh3B,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;SACDZ,EAAAA,IAAAA,CAAAA,CAAAA;QAEH,MAAM+xB,SAAAA,GAAY7C,YAAa1vB,CAAAA,KAAAA,CAAMioB,MAAM,CAAA,CAAA;AAE3C,QAAA,MAAMvpB,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWnM,CAAAA,QAAQ,CAAC,CAAC;AAC9Bxf,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMwyB,QAAW,GAAA,IAAA;AACb,YAAA,IAAI,CAAC9zB,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE;AACrB,gBAAA,OAAA;AACJ,aAAA;AAEAwpB,YAAAA,4BAAAA,CAA6B7pB,IAAM9B,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAA,CAAA;AACzD,SAAA,CAAA;QAEAC,SAAMyxB,CAAAA,SAAAA,EAAW,CAACxxB,GAAK0xB,EAAAA,MAAAA,GAAAA;YACnB,IAAI1xB,GAAAA,IAAOA,QAAQ0xB,MAAQ,EAAA;AACvBD,gBAAAA,QAAAA,EAAAA,CAAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEAA,QAAAA,QAAAA,EAAAA,CAAAA;QAEA,MAAMhxB,MAAAA,GAAS8oB,oBAAoBhpB,IAAM,EAAA,UAAA;AACrC,YAAA,IAAIqrB,EAAG9rB,CAAAA,KAAK,CAACkC,QAAQ,EAAE;AACnB,gBAAA,OAAA;AACJ,aAAA;YAEA,MAAMrE,OAAAA,CAAQmrB,cAAc,CAACrpB,IAAAA,CAAAA,CAAAA;AACjC,SAAA,CAAA,CAAA;QAEA,MAAM2sB,sBAAAA,GAAyBC,6CAAoCT,CAAAA,EAAAA,CAAG9rB,KAAK,CAAA,CAAA;AAC3E,QAAA,MAAM6xB,kBAAqBC,GAAAA,yCAAAA,EAAAA,CAAAA;QAE3B,OAAO,IAAA;AACH,YAAA,MAAMjyB,OAAOktB,2BAAe,CAAA;gBACxBC,kBAAoBV,EAAAA,sBAAAA,CAAuBzsB,IAAI,CAACG,KAAK;AACrDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACH,IAAI,CAAA;gBAC7CstB,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,MAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAKE,IAAI;oBAChBV,KAAO,EAAA;wBACH8yB,WAAa,EAAA,KAAA;AACjB,qBAAA;AACA3E,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKE,IAAI,GAAGiJ,KAAAA,CAAAA;AAChB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAM8E,OAAOmf,2BAAe,CAAA;gBACxBC,kBAAoBV,EAAAA,sBAAAA,CAAuB1e,IAAI,CAAC5N,KAAK;AACrDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAAC4N,IAAI,CAAA;gBAC7Cuf,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,MAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAKiO,IAAI;AAChB0f,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKiO,IAAI,GAAG9E,KAAAA,CAAAA;AAChB,qBAAA;oBACA3J,KAAO,EAAA;wBACH8yB,WAAa,EAAA,cAAA;AACjB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAMuF,cAAczK,2BAAe,CAAA;gBAC/BC,kBAAoBV,EAAAA,sBAAAA,CAAuB+K,YAAY,CAACr3B,KAAK;AAC7DitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACq3B,YAAY,CAAA;gBACrDlK,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,cAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAK03B,YAAY;oBACxBl4B,KAAO,EAAA;wBACH8yB,WAAa,EAAA,KAAA;AACjB,qBAAA;AACA3E,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAK03B,YAAY,GAAGvuB,KAAAA,CAAAA;AACxB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAM2uB,gBAAgB1K,2BAAe,CAAA;gBACjCC,kBAAoBV,EAAAA,sBAAAA,CAAuBgL,cAAc,CAACt3B,KAAK;AAC/DitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACs3B,cAAc,CAAA;gBACvDnK,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,gBAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAK23B,cAAc;oBAC1Bn4B,KAAO,EAAA;wBACH8yB,WAAa,EAAA,KAAA;AACjB,qBAAA;AACA3E,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAK23B,cAAc,GAAGxuB,KAAAA,CAAAA;AAC1B,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAMopB,aAAaC,4CAAgC,CAAA;AAC/CxxB,gBAAAA,MAAAA;AACAF,gBAAAA,IAAAA,EAAMA,KAAKT,KAAK;AAChBoyB,gBAAAA,SAAAA,EAAW,CAAC,CAACv0B,OAAQd,CAAAA,IAAI,CAACiD,KAAK;gBAC/BiC,OAAS6pB,EAAAA,EAAAA,CAAG9rB,KAAK,CAACkC,QAAQ;aAC3B2vB,EAAAA,kBAAAA,CAAAA,CAAAA;AAEH,YAAA,OAAO3sB,MAAE,MAAQ,EAAA;AACbA,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,KAAA;iBAAS,EAAA;AACvBhB,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBAAEgB,KAAO,EAAA,KAAA;qBAAS,EAAA;AACvBhB,wBAAAA,KAAAA,CAAE,IAAM,EAAA;AACJA,4BAAAA,KAAAA,CAAE,GAAK,EAAA;gCAAEgB,KAAO,EAAA,sBAAA;AAAuB,6BAAA,CAAA;AACvC,4BAAA,SAAA;AACH,yBAAA,CAAA;AACDrG,wBAAAA,IAAAA;AACA+N,wBAAAA,IAAAA;AACH,qBAAA,CAAA;AACD1I,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBAAEgB,KAAO,EAAA,KAAA;qBAAS,EAAA;AACvBhB,wBAAAA,KAAAA,CAAE,IAAM,EAAA;AACJA,4BAAAA,KAAAA,CAAE,GAAK,EAAA;gCAAEgB,KAAO,EAAA,mBAAA;AAAoB,6BAAA,CAAA;AACpC,4BAAA,OAAA;AACH,yBAAA,CAAA;AACDsxB,wBAAAA,WAAAA;AACAC,wBAAAA,aAAAA;AACH,qBAAA,CAAA;AACJ,iBAAA,CAAA;AACDvyB,gBAAAA,KAAAA,CACI,KACA,EAAA;oBAAEgB,KAAO,EAAA,2CAAA;iBACT,EAAA;AACI,oBAAA,4DAAA;AACH,iBAAA,CAAA;gBAELhB,KAAE,CAAA,IAAA,CAAA;AACFgtB,gBAAAA,UAAAA;AACH,aAAA,CAAA,CAAA;AACL,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;AChMH,mBAAepzB,mBAAgB,CAAA;IAC3BK,KAAO+H,EAAAA,eAAAA,EAAAA;IACPV,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACPrH,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAM,EAAEmnB,MAAM,EAAED,WAAW,EAAE,GAAGZ,UAAW,CAAA;AACvCzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWnM,CAAAA,QAAQ,CAAC,CAAC;AAC9B7f,YAAAA,KAAAA;AACAK,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;QAEAknB,WAAY,CAAA;YACRlf,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,iCAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;ACjBH,qBAAe7nB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AAAEqvB,sBAAAA,aAAAA;AAAc5C,QAAAA,eAAAA;AAAgB,KAAA;IAC5CrsB,KAAO,EAAA;QACHupB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,UAAA;AAAY,QAAA,QAAA;AAAS,KAAA;AAC7BC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;AACjB,QAAA,MAAMksB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AAEjB,QAAA,MAAMlB,KAAQ,GAAA,UAAA;YACV,IAAIiB,IAAAA,CAAKT,KAAK,EAAE,OAAA;AAEhBS,YAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;YAEb,IAAI;AACA,gBAAA,MAAM2rB,UAAUxL,OAAO,CAACrB,kBAAkB,CAACqY,0BAAAA,CAAmBO,KAAK,EAAE;AACjEh0B,oBAAAA,EAAAA,EAAIvE,MAAMupB,QAAQ;AACtB,iBAAA,CAAA,CAAA;gBAEAjpB,IAAK,CAAA,UAAA,CAAA,CAAA;AACT,aAAA,CAAE,OAAOoB,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AAEAJ,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACjB,SAAA,CAAA;QAEA,OAAO,IAAMkF,MAAE,KAAO,EAAA;AAClBA,gBAAAA,KAAAA,CAAE,IAAM,EAAA;AACJA,oBAAAA,KAAAA,CAAE,GAAK,EAAA;wBAAEgB,KAAO,EAAA,iBAAA;AAAkB,qBAAA,CAAA;AAClC,oBAAA,MAAA;AACH,iBAAA,CAAA;AACDhB,gBAAAA,KAAAA,CAAE,GAAK,EAAA;AACH,oBAAA,uDAAA;AACA,oBAAA,mDAAA;AACH,iBAAA,CAAA;AAEDA,gBAAAA,KAAAA,CAAE,QAAU,EAAA;oBACR7F,IAAM,EAAA,QAAA;AACNmG,oBAAAA,QAAAA,EAAU/E,KAAKT,KAAK;oBACpBkG,KAAO,EAAA,qBAAA;AACPd,oBAAAA,OAAAA,CAAAA,CAAQC,KAAU,EAAA;AACdA,wBAAAA,KAAAA,CAAMC,cAAc,EAAA,CAAA;wBAEpB,OAAO9F,KAAAA,EAAAA,CAAAA;AACX,qBAAA;iBACD,EAAA;AACC,oBAAA,SAAA;AACH,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AACL,KAAA;AACJ,CAAG,CAAA;;ACtCH,6BAAeV,mBAAgB,CAAA;IAC3BK,KAAOspB,EAAAA,wBAAAA,EAAAA;IACPlpB,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9hB,KAAO/J,EAAAA,MAAAA;IACP,MAAM+C,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAMmsB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AAEjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClB+3B,MAAQ,EAAA,EAAA;AACZ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMx3B,cAAYC,YAAa,CAAA;YAC3Bu3B,MAAQ,EAAA;gBACJC,mBAAqBlN,EAAAA,kBAAAA,CAAQC,KAAK,CAACkN,gCAAAA,CAAAA;AACvC,aAAA;SACDl4B,EAAAA,IAAAA,CAAAA,CAAAA;QAEH,MAAM2sB,sBAAAA,GAAyBC,6CAAoCpsB,CAAAA,WAAAA,CAAUH,KAAK,CAAA,CAAA;AAElF,QAAA,MAAMnC,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW2M,CAAAA,gBAAgB,CAAC,CAAC;AACtCt4B,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACA0pB,YAAAA,UAAAA,CAAAA,CAAWzB,MAAM,EAAA;AACb,gBAAA,IAAIA,MAAQ,EAAA;AACRznB,oBAAAA,IAAAA,CAAKg4B,MAAM,GAAGvQ,MAAOkQ,CAAAA,cAAc,IAAI,EAAA,CAAA;AAC3C,iBAAA;AACJ,aAAA;AACAtT,YAAAA,SAAAA,EAAW,CAACoD,MAAAA,GAAAA;AACR,gBAAA,IAAIA,MAAQ,EAAA;AACRznB,oBAAAA,IAAAA,CAAKg4B,MAAM,GAAGvQ,MAAOkQ,CAAAA,cAAc,IAAI,EAAA,CAAA;AAC3C,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMz5B,OAAAA,CAAQ4b,OAAO,CAAC;YAClBtS,KAAO,EAAA;gBACHmiB,MAAQ,EAAA;AACJ,oBAAA,aAAA;AACA,oBAAA,eAAA;AACA,oBAAA,iBAAA;AACH,iBAAA;AACL,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM/jB,OAAU,GAAA,OAAO+V,OAAgCmO,GAAAA,mBAAAA,CAAoBhpB,IAAM,EAAA,UAAA;AAC7E,gBAAA,IAAI,CAAC5C,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE,OAAA;gBAEzB,IAAI;oBACA,MAAM2rB,SAAAA,CAAUxL,OAAO,CAAC9E,UAAU,CAAC0D,iBAAUC,CAAAA,QAAQ,EAAE1D,OAAS,EAAA;AAC5D5X,wBAAAA,EAAAA,EAAI7F,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAC0D,EAAE;AACzBi0B,wBAAAA,MAAAA,EAAQh4B,KAAKg4B,MAAM;AACvB,qBAAA,CAAA,CAAA;AAEAn4B,oBAAAA,KAAAA,CAAMC,IAAI,CAAC,SAAA,EAAW5B,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAA,CAAA;AAC5C,iBAAA,CAAE,OAAOa,CAAG,EAAA;AACR,oBAAA,IAAIA,aAAaC,KAAO,EAAA;wBACpBtB,KAAMC,CAAAA,IAAI,CAAC,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACzB,qBAAA;AACJ,iBAAA;AACJ,aAAA,CAAA,EAAA,CAAA;AAEA,QAAA,IAAI,CAAChD,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE;YACrB,OAAO,IAAMkF,MACT,KACA,EAAA;oBAAEgB,KAAO,EAAA,8BAAA;iBACT,EAAA;AACI,oBAAA,oDAAA;AACH,iBAAA,CAAA,CAAA;AAET,SAAA;QAEA,OAAO,IAAA;YACH,MAAMsqB,QAAAA,GAAW,IAAmBtrB,KAAAA,CAAE,KAAO,EAAA;AACzCA,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBACLgB,KAAO,EAAA,yBAAA;qBACR,EAAA;AACChB,wBAAAA,KAAAA,CAAE,KAAO,EAAA;4BAAEgB,KAAO,EAAA,YAAA;yBAAgB,EAAA;AAC9BhB,4BAAAA,KAAAA,CAAE,OAAS,EAAA;gCAAEgB,KAAO,EAAA,MAAA;6BAAU,EAAA,WAAA,CAAA;AAC9BhB,4BAAAA,KAAAA,CAAE,OAAS,EAAA;gCACPgB,KAAO,EAAA,cAAA;gCACP7G,IAAM,EAAA,MAAA;AACNW,gCAAAA,KAAAA,EAAOnC,OAAQd,CAAAA,IAAI,CAACiD,KAAK,EAAE+3B,aAAiB,IAAA,EAAA;gCAC5CvyB,QAAU,EAAA,IAAA;AACd,6BAAA,CAAA;AACH,yBAAA,CAAA;AAEDN,wBAAAA,KAAAA,CAAE,KAAO,EAAA;AACLA,4BAAAA,KAAAA,CAAE,KAAO,EAAA;gCAAEgB,KAAO,EAAA,YAAA;6BAAgB,EAAA;AAC9BhB,gCAAAA,KAAAA,CAAE,OAAS,EAAA;oCAAEgB,KAAO,EAAA,MAAA;iCAAU,EAAA,IAAA,CAAA;AAC9BhB,gCAAAA,KAAAA,CAAE,OAAS,EAAA;oCACPgB,KAAO,EAAA,cAAA;oCACP7G,IAAM,EAAA,MAAA;AACNW,oCAAAA,KAAAA,EAAOnC,OAAQd,CAAAA,IAAI,CAACiD,KAAK,EAAEq3B,YAAgB,IAAA,EAAA;oCAC3CpF,WAAa,EAAA,KAAA;oCACbzsB,QAAU,EAAA,IAAA;AACd,iCAAA,CAAA;AACH,6BAAA,CAAA;4BACDunB,2BAAe,CAAA;gCACXI,KAAO,EAAA,IAAA;gCACPC,YAAc,EAAA,QAAA;gCACdJ,kBAAoBV,EAAAA,sBAAAA,CAAuBqL,MAAM,CAAC33B,KAAK;AACvDitB,gCAAAA,kBAAAA,EAAoBC,qBAAY/sB,CAAAA,WAAAA,CAAUH,KAAK,CAAC23B,MAAM,CAAA;AACtDpO,gCAAAA,OAAAA,EAASwM,2BAAe,CAAA;oCACpB52B,KAAO,EAAA;wCACH8yB,WAAa,EAAA,KAAA;AACjB,qCAAA;AACAjyB,oCAAAA,KAAAA,EAAOL,KAAKg4B,MAAM;AAClBrK,oCAAAA,QAAAA,CAAAA,CAASttB,KAAK,EAAA;AACVL,wCAAAA,IAAAA,CAAKg4B,MAAM,GAAG33B,KAAAA,CAAAA;AAClB,qCAAA;AACJ,iCAAA,CAAA;AACJ,6BAAA,CAAA;AACH,yBAAA,CAAA;AAEDkF,wBAAAA,KAAAA,CAAE,KAAO,EAAA;AACLA,4BAAAA,KAAAA,CAAE,QAAU,EAAA;gCAAEgB,KAAO,EAAA,MAAA;6BAAU,EAAA,UAAA,CAAA;AAC/BhB,4BAAAA,KAAAA,CAAE,GAAK,EAAA;gCACHgB,KAAO,EAAA;AACH,oCAAA,0BAAA,EAA4BrI,OAAQd,CAAAA,IAAI,CAACiD,KAAK,EAAEg4B,cAAAA;AAChD,oCAAA,yBAAA,EAA2B,CAACn6B,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAEg4B,cAAAA;AACpD,iCAAA;AACJ,6BAAA,CAAA;AACH,yBAAA,CAAA;AACJ,qBAAA,CAAA;oBACD9yB,KAAE,CAAA,IAAA,CAAA;AACFA,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBAAEgB,KAAO,EAAA,KAAA;qBAAS,EAAA;AACvBhB,wBAAAA,KAAAA,CAAE,KAAO,EAAA;4BAAEgB,KAAO,EAAA,KAAA;yBAAS,EAAA;AACvBhB,4BAAAA,KAAAA,CAAE,KAAO,EAAA;gCACLgB,KAAO,EAAA,2BAAA;6BACR,EAAA;AACC,gCAAA,8CAAA;AACH,6BAAA,CAAA;AACDhB,4BAAAA,KAAAA,CAAE,KAAO,EAAA;gCAAEgB,KAAO,EAAA,aAAA;6BAAiB,EAAA;AAC/BhB,gCAAAA,KAAAA,CAAE,QAAU,EAAA;oCACRgB,KAAO,EAAA,wBAAA;AACPV,oCAAAA,QAAAA,EAAU/E,KAAKT,KAAK;oCACpBX,IAAM,EAAA,QAAA;AACN+F,oCAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,wCAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;wCAErB,OAAOC,OAAAA,CAAQ4xB,2BAAmBc,YAAY,CAAA,CAAA;AAClD,qCAAA;iCACD,EAAA;AACC/yB,oCAAAA,KAAAA,CAAE,GAAK,EAAA;wCAAEgB,KAAO,EAAA,uBAAA;AAAwB,qCAAA,CAAA;AACxC,oCAAA,SAAA;AACH,iCAAA,CAAA;AACJ,6BAAA,CAAA;AACJ,yBAAA,CAAA;AACDhB,wBAAAA,KAAAA,CAAE,KAAO,EAAA;4BAAEgB,KAAO,EAAA,KAAA;yBAAS,EAAA;AACvBhB,4BAAAA,KAAAA,CAAE,KAAO,EAAA;gCACLgB,KAAO,EAAA,8BAAA;6BACR,EAAA;AACC,gCAAA,iDAAA;AACH,6BAAA,CAAA;AACDhB,4BAAAA,KAAAA,CAAE,KAAO,EAAA;gCAAEgB,KAAO,EAAA,aAAA;6BAAiB,EAAA;AAC/BhB,gCAAAA,KAAAA,CAAE,QAAU,EAAA;oCACRgB,KAAO,EAAA,uBAAA;AACPV,oCAAAA,QAAAA,EAAU/E,KAAKT,KAAK;oCACpBX,IAAM,EAAA,QAAA;AACN+F,oCAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,wCAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;wCACrB,OAAOC,OAAAA,CAAQ4xB,2BAAmBe,cAAc,CAAA,CAAA;AACpD,qCAAA;iCACD,EAAA;AACChzB,oCAAAA,KAAAA,CAAE,GAAK,EAAA;wCAAEgB,KAAO,EAAA,4BAAA;AAA6B,qCAAA,CAAA;AAC7C,oCAAA,YAAA;AACH,iCAAA,CAAA;AACJ,6BAAA,CAAA;AACJ,yBAAA,CAAA;AACJ,qBAAA,CAAA;AACJ,iBAAA,CAAA,CAAA;YAED,OAAOrI,OAAAA,CAAQ8oB,MAAM,CAAC6J,QAAAA,CAAAA,CAAAA;AAC1B,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;ACrLH;AACA,MAAM/F,wBAAAA,GAA2BC,kBAAQC,CAAAA,KAAK,CAC1C,eAAA,CAAA,CAAA;AAGJ,2BAAe7rB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN2K,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA66B,UAAY,EAAA;YACR94B,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAmC,IAAM,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,QAAA;AAAS,KAAA;IACtCD,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMiB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClBm4B,aAAe,EAAA,EAAA;YACfl4B,IAAM,EAAA,EAAA;AACNR,YAAAA,IAAAA,EAAM+4B,4BAAoBl6B,OAAO;YACjCm6B,WAAa,EAAA,EAAA;AACjB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMvM,KAAK1rB,YAAa,CAAA;YACpBP,IAAM,EAAA;AACFQ,0BAAAA,mBAAAA;AACAC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;YACAw3B,aAAe,EAAA;AACX13B,0BAAAA,mBAAAA;AACAoqB,gBAAAA,wBAAAA;AACAnqB,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,EAAA,CAAA;AACzB,aAAA;YACAlB,IAAM,EAAA;AACFgB,0BAAAA,mBAAAA;AACJ,aAAA;YACAg4B,WAAa,EAAA;AACTh4B,0BAAAA,mBAAAA;AACJ,aAAA;SACDV,EAAAA,IAAAA,CAAAA,CAAAA;AAEH,QAAA,MAAM9B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW2M,CAAAA,gBAAgB,CAAC,CAAC;AACtCt4B,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMm5B,KAAQ,GAAA;AACV,YAAA;AAAE50B,gBAAAA,EAAAA,EAAI00B,4BAAoBl6B,OAAO;gBAAE8B,KAAO,EAAA,SAAA;AAAU,aAAA;AACpD,YAAA;AAAE0D,gBAAAA,EAAAA,EAAI00B,4BAAoBtJ,IAAI;gBAAE9uB,KAAO,EAAA,MAAA;AAAO,aAAA;AAC9C,YAAA;AAAE0D,gBAAAA,EAAAA,EAAI00B,4BAAoBG,UAAU;gBAAEv4B,KAAO,EAAA,YAAA;AAAa,aAAA;AAC1D,YAAA;AAAE0D,gBAAAA,EAAAA,EAAI00B,4BAAoBI,QAAQ;gBAAEx4B,KAAO,EAAA,UAAA;AAAW,aAAA;AACtD,YAAA;AAAE0D,gBAAAA,EAAAA,EAAI00B,4BAAoBK,QAAQ;gBAAEz4B,KAAO,EAAA,UAAA;AAAW,aAAA;AACtD,YAAA;AAAE0D,gBAAAA,EAAAA,EAAI00B,4BAAoBM,aAAa;gBAAE14B,KAAO,EAAA,eAAA;AAAgB,aAAA;AACnE,SAAA,CAAA;AAED,QAAA,MAAM24B,mBAAmB1V,YACrB,CAAA,IAAM,CAAC,CAAC9jB,MAAMg5B,UAAU,CAAA,CAAA;AAG5B,QAAA,MAAMS,0BAA0B3V,YAAS,CAAA,IAAA;AACrC,YAAA,IAAI,CAACplB,OAAAA,CAAQd,IAAI,CAACiD,KAAK,IAAI,CAACnC,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAC+3B,aAAa,EAAE;gBAC1D,OAAO,IAAA,CAAA;AACX,aAAA;YAEA,OAAOl6B,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAC+3B,aAAa,KAAKp4B,KAAKo4B,aAAa,CAAA;AAClE,SAAA,CAAA,CAAA;QAEA,MAAMc,UAAAA,GAAa,CAACl7B,GAAwB+F,EAAAA,EAAAA,GAAAA;AACxC,YAAA,IAAI/D,IAAI,CAAChC,GAAI,CAAA,KAAK+F,EAAI,EAAA;gBAClB/D,IAAI,CAAChC,IAAI,GAAG,IAAA,CAAA;aACT,MAAA;gBACHgC,IAAI,CAAChC,IAAI,GAAG+F,EAAAA,CAAAA;AAChB,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMo1B,aAAgB,GAAA,IAAA;AAClBn5B,YAAAA,IAAAA,CAAKo4B,aAAa,GAAGzzB,YAAAA,EAAAA,CAAAA;AACzB,SAAA,CAAA;AAEA,QAAA,MAAMy0B,UAAa,GAAA,IAAA;AACf,YAAA,IAAI,CAACl7B,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE,OAAA;AAEzBL,YAAAA,IAAAA,CAAKo4B,aAAa,GAAGl6B,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAC+3B,aAAa,CAAA;AACzD,SAAA,CAAA;AAEA,QAAA,MAAMpC,kBAAqB,GAAA,IAAA;YACvB,IAAIx2B,KAAAA,CAAMg5B,UAAU,EAAE;gBAClBx4B,IAAK04B,CAAAA,WAAW,GAAGl5B,KAAAA,CAAMg5B,UAAU,CAAA;AACvC,aAAA;AAEA,YAAA,IAAI,OAAOt6B,OAAQd,CAAAA,IAAI,CAACiD,KAAK,KAAK,WAAa,EAAA;AAC3C84B,gBAAAA,aAAAA,EAAAA,CAAAA;AACJ,aAAA;AAEAtP,YAAAA,4BAAAA,CAA6B7pB,IAAM9B,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAA,CAAA;AACzD,SAAA,CAAA;QAEA,MAAM0xB,SAAAA,GAAY7C,YAAa1vB,CAAAA,KAAAA,CAAMioB,MAAM,CAAA,CAAA;AAE3CuO,QAAAA,kBAAAA,EAAAA,CAAAA;QAEA11B,SAAMyxB,CAAAA,SAAAA,EAAW,CAACxxB,GAAK0iB,EAAAA,QAAAA,GAAAA;YACnB,IAAI1iB,GAAAA,IAAOA,QAAQ0iB,QAAU,EAAA;AACzB+S,gBAAAA,kBAAAA,EAAAA,CAAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMh1B,MAAAA,GAAS8oB,oBAAoBhpB,IAAM,EAAA,UAAA;AACrC,YAAA,IAAIqrB,EAAG9rB,CAAAA,KAAK,CAACkC,QAAQ,EAAE;AACnB,gBAAA,OAAA;AACJ,aAAA;YAEA,MAAMrE,OAAAA,CAAQmrB,cAAc,CAACrpB,IAAAA,CAAAA,CAAAA;AACjC,SAAA,CAAA,CAAA;QAEA,MAAM2sB,sBAAAA,GAAyBC,6CAAoCT,CAAAA,EAAAA,CAAG9rB,KAAK,CAAA,CAAA;AAC3E,QAAA,MAAM6xB,kBAAqBC,GAAAA,yCAAAA,EAAAA,CAAAA;QAE3B,OAAO,IAAA;AACH,YAAA,MAAMjyB,OAAOktB,2BAAe,CAAA;gBACxBC,kBAAoBV,EAAAA,sBAAAA,CAAuBzsB,IAAI,CAACG,KAAK;AACrDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACH,IAAI,CAAA;gBAC7CstB,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,MAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAKE,IAAI;AAChBytB,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKE,IAAI,GAAGiJ,KAAAA,CAAAA;AAChB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AACA,YAAA,MAAMkwB,eAAejM,2BAAe,CAAA;gBAChCC,kBAAoBV,EAAAA,sBAAAA,CAAuByL,aAAa,CAAC/3B,KAAK;AAC9DitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAAC+3B,aAAa,CAAA;gBACtD5K,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,eAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAKo4B,aAAa;AACzBzK,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKo4B,aAAa,GAAGjvB,KAAAA,CAAAA;AACzB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;YAEA,MAAMmwB,gBAAAA,GAAmB/zB,MAAE,KAAO,EAAA;gBAC9BgB,KAAO,EAAA;AAAC,oBAAA,gBAAA;AAAkB,oBAAA;wBACtB,cAAgB,EAAA,CAAC0yB,wBAAwB54B,KAAK;AAC9C,wBAAA,YAAA,EAAc44B,wBAAwB54B,KAAK;AAC/C,qBAAA;AAAE,iBAAA;aACH,EAAA;AACCkF,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,MAAA;iBAAU,EAAA;oBACvB,CAAC0yB,uBAAAA,CAAwB54B,KAAK,GAC3B,wFACA,GAAA,gFAAA;AAEP,iBAAA,CAAA;AACDkF,gBAAAA,KAAAA,CAAE,QAAU,EAAA;oBACRgB,KAAO,EAAA,qBAAA;oBACP7G,IAAM,EAAA,QAAA;AACN+F,oBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,wBAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;AAErBwzB,wBAAAA,aAAAA,EAAAA,CAAAA;AACJ,qBAAA;iBACD,EAAA;AACC5zB,oBAAAA,KAAAA,CAAE,GAAK,EAAA;wBAAEgB,KAAO,EAAA,mBAAA;AAAoB,qBAAA,CAAA;AACpC,oBAAA,UAAA;AACH,iBAAA,CAAA;AACDhB,gBAAAA,KAAAA,CAAE,QAAU,EAAA;oBACRgB,KAAO,EAAA,0BAAA;oBACP7G,IAAM,EAAA,QAAA;AACNmG,oBAAAA,QAAAA,EAAUozB,wBAAwB54B,KAAK;AACvCoF,oBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,wBAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;AAErByzB,wBAAAA,UAAAA,EAAAA,CAAAA;AACJ,qBAAA;iBACD,EAAA;AACC7zB,oBAAAA,KAAAA,CAAE,GAAK,EAAA;wBAAEgB,KAAO,EAAA,iBAAA;AAAkB,qBAAA,CAAA;AAClC,oBAAA,OAAA;AACH,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAED,YAAA,MAAM7G,OAAO0tB,2BAAe,CAAA;gBACxBC,kBAAoBV,EAAAA,sBAAAA,CAAuBjtB,IAAI,CAACW,KAAK;AACrDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACX,IAAI,CAAA;gBAC7C8tB,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,MAAA;AACd7D,gBAAAA,OAAAA,EAAS8D,4BAAgB,CAAA;AACrBrtB,oBAAAA,KAAAA,EAAOL,KAAKN,IAAI;oBAChBvC,OAASw7B,EAAAA,KAAAA;AACThL,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKN,IAAI,GAAGyJ,KAAAA,CAAAA;AAChB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,IAAI4W,WAAgC,EAAE,CAAA;YAEtC,IAAI,CAACiZ,gBAAiB34B,CAAAA,KAAK,EAAE;gBACzB0f,QAAW,GAAA;oBACPxa,KAAE,CAAA,IAAA,CAAA;AACFA,oBAAAA,KAAAA,CAAEg0B,YAAc,EAAA;AACZ,wBAAA,CAAC3R,2BAAmBI,YAAY,GAAG,CAACxoB,KAAAA,GAAuC+F,MAAE,QAAU,EAAA;gCACnFi0B,KAAO,EAAA;AACH3zB,oCAAAA,QAAAA,EAAUrG,MAAMsB,IAAI;AACxB,iCAAA;gCACAyF,KAAO,EAAA;AAAC,oCAAA,YAAA;AAAc,oCAAA;AAClB,wCAAA,UAAA,EAAYvG,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AAC9C,wCAAA,aAAA,EAAe/D,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AACrD,qCAAA;AAAE,iCAAA;AACF0B,gCAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,oCAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;AAErBuzB,oCAAAA,UAAAA,CAAW,aAAe15B,EAAAA,KAAAA,CAAMpC,IAAI,CAAC2G,EAAE,CAAA,CAAA;AAC3C,iCAAA;6BACD,EAAA;AACCwB,gCAAAA,KAAAA,CAAE,GAAK,EAAA;oCACHgB,KAAO,EAAA;AACH,wCAAA,YAAA,EAAcvG,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AAChD,wCAAA,aAAA,EAAe/D,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AACrD,qCAAA;AACJ,iCAAA,CAAA;AACH,6BAAA,CAAA;AACL,qBAAA,CAAA;AACH,iBAAA,CAAA;AACL,aAAA;AAEA,YAAA,MAAMwuB,aAAaC,4CAAgC,CAAA;AAC/CxxB,gBAAAA,MAAAA;AACAF,gBAAAA,IAAAA,EAAMA,KAAKT,KAAK;AAChBoyB,gBAAAA,SAAAA,EAAW,CAAC,CAACv0B,OAAQd,CAAAA,IAAI,CAACiD,KAAK;gBAC/BiC,OAAS6pB,EAAAA,EAAAA,CAAG9rB,KAAK,CAACkC,QAAQ;aAC3B2vB,EAAAA,kBAAAA,CAAAA,CAAAA;AAEH,YAAA,OAAO3sB,MAAE,MAAQ,EAAA;AACblE,gBAAAA,QAAAA,CAAAA,CAASe,MAAW,EAAA;AAChBA,oBAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;oBAErB,OAAO3E,MAAAA,EAAAA,CAAAA;AACX,iBAAA;aACD,EAAA;AACCtB,gBAAAA,IAAAA;gBACA6F,KAAE,CAAA,IAAA,CAAA;AACFrF,gBAAAA,IAAAA;gBACAqF,KAAE,CAAA,IAAA,CAAA;AACF8zB,gBAAAA,YAAAA;AACAC,gBAAAA,gBAAAA;AACAvZ,gBAAAA,QAAAA;gBACAxa,KAAE,CAAA,IAAA,CAAA;AACFgtB,gBAAAA,UAAAA;AACH,aAAA,CAAA,CAAA;AACL,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;ACrRH,wBAAepzB,mBAAgB,CAAA;IAC3BK,KAAO+H,EAAAA,eAAAA,EAAAA;IACPV,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACPrH,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAM,EAAEmnB,MAAM,EAAED,WAAW,EAAE,GAAGZ,UAAW,CAAA;AACvCzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW2M,CAAAA,gBAAgB,CAAC,CAAC;AACtC34B,YAAAA,KAAAA;AACAK,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;QAEAknB,WAAY,CAAA;YACRlf,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,wCAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;ACOH,gBAAe7nB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN2K,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA8B,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA4lB,SAAW,EAAA;YACP7jB,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAiC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9oB,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMiB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClBC,IAAM,EAAA,EAAA;YACNk4B,aAAe,EAAA,EAAA;YACfh4B,QAAU,EAAA,EAAA;YACVs4B,WAAa,EAAA,EAAA;YACbhC,MAAQ,EAAA,KAAA;AACRh3B,YAAAA,IAAAA,EAAM+5B,iBAASl7B,OAAO;AAC1B,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM4tB,KAAK1rB,YAAa,CAAA;YACpBP,IAAM,EAAA;AACFQ,0BAAAA,mBAAAA;AACAC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;AACA81B,YAAAA,MAAAA,EAAQ,EAER;YACAt2B,QAAU,EAAA;AACNM,0BAAAA,mBAAAA;AACJ,aAAA;YACAg4B,WAAa,EAAA;AACTh4B,0BAAAA,mBAAAA;AACJ,aAAA;YACA03B,aAAe,EAAA;gBACXtN,wBAA0BC,EAAAA,kBAAAA,CAAQC,KAAK,CAAClmB,6BAAAA,CAAAA;AACxCnE,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,EAAA,CAAA;AACzB,aAAA;YACAlB,IAAM,EAAA;AACFgB,0BAAAA,mBAAAA;AACJ,aAAA;SACDV,EAAAA,IAAAA,CAAAA,CAAAA;AAEH,QAAA,MAAM9B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW2D,CAAAA,IAAI,CAAC,CAAC;AAC1BtvB,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMk6B,gBAAgBpW,YAAS,CAAA,IAAM9jB,KAAMC,CAAAA,OAAO,IACzCvB,OAAQd,CAAAA,IAAI,CAACiD,KAAK,IAAInC,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAACD,QAAQ,CAAA,CAAA;QAE1D,MAAM2xB,SAAAA,GAAY7C,YAAa1vB,CAAAA,KAAAA,CAAMioB,MAAM,CAAA,CAAA;AAE3C,QAAA,MAAMuK,QAAW,GAAA,IAAA;AACbnI,YAAAA,4BAAAA,CAA6B7pB,IAAM9B,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAA,CAAA;AAErD,YAAA,IAAI,CAACL,IAAKI,CAAAA,QAAQ,IAAIZ,KAAAA,CAAMC,OAAO,EAAE;gBACjCO,IAAKI,CAAAA,QAAQ,GAAGZ,KAAAA,CAAMC,OAAO,CAAA;AACjC,aAAA;YAEA,IACI,CAACO,IAAKE,CAAAA,IAAI,KACTV,KAAMC,CAAAA,OAAO,IAAID,KAAAA,CAAM+jB,SAAQ,CAClC,EAAA;AACEvjB,gBAAAA,IAAAA,CAAKE,IAAI,GAAIV,KAAAA,CAAM+jB,SAAS,IAAI/jB,MAAMC,OAAO,CAAA;AACjD,aAAA;AACJ,SAAA,CAAA;AAEAuyB,QAAAA,QAAAA,EAAAA,CAAAA;QAEA1xB,SAAMyxB,CAAAA,SAAAA,EAAW,CAACxxB,GAAK0xB,EAAAA,MAAAA,GAAAA;YACnB,IAAI1xB,GAAAA,IAAOA,QAAQ0xB,MAAQ,EAAA;AACvBD,gBAAAA,QAAAA,EAAAA,CAAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMhxB,MAAAA,GAAS8oB,oBAAoBhpB,IAAM,EAAA,UAAA;AACrC,YAAA,IAAIqrB,EAAG9rB,CAAAA,KAAK,CAACkC,QAAQ,EAAE,OAAA;YAEvB,MAAMrE,OAAAA,CAAQmrB,cAAc,CAACrpB,IAAAA,CAAAA,CAAAA;AACjC,SAAA,CAAA,CAAA;QAEA,MAAM25B,cAAAA,GAAiB,CAA8B37B,GAAQ+F,EAAAA,EAAAA,GAAAA;AACzD,YAAA,IAAI/D,IAAI,CAAChC,GAAI,CAAA,KAAK+F,EAAI,EAAA;gBAClB/D,IAAI,CAAChC,IAAI,GAAG,IAAA,CAAA;aACT,MAAA;gBACHgC,IAAI,CAAChC,IAAI,GAAG+F,EAAAA,CAAAA;AAChB,aAAA;AACJ,SAAA,CAAA;QAEA,MAAM4oB,sBAAAA,GAAyBC,6CAAoCT,CAAAA,EAAAA,CAAG9rB,KAAK,CAAA,CAAA;AAC3E,QAAA,MAAM6xB,kBAAqBC,GAAAA,yCAAAA,EAAAA,CAAAA;QAE3B,OAAO,IAAA;AACH,YAAA,IAAIyH,QAA6B,EAAE,CAAA;YACnC,IAAI,CAACF,aAAcr5B,CAAAA,KAAK,EAAE;gBACtBu5B,KAAQ,GAAA;oBACJr0B,KACIs0B,CAAAA,oBAAAA,EACA,EACA,EAAA;AACI,wBAAA,CAACjS,2BAAmBE,IAAI,GAAG,CAACtoB,QAAmC4tB,2BAAe,CAAA;gCAC1EC,kBAAoBV,EAAAA,sBAAAA,CAAuBvsB,QAAQ,CAACC,KAAK;AACzDitB,gCAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACD,QAAQ,CAAA;gCACjDotB,KAAO,EAAA,IAAA;gCACPC,YAAc,EAAA,QAAA;AACd7D,gCAAAA,OAAAA,EAAS8D,4BAAgB,CAAA;AACrBrtB,oCAAAA,KAAAA,EAAOL,KAAKI,QAAQ;AACpButB,oCAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wCAAAA,IAAAA,CAAKI,QAAQ,GAAG+I,KAAAA,CAAAA;AACpB,qCAAA;AACAhM,oCAAAA,OAAAA,EAASqC,MAAMpC,IAAI,CAAC6N,GAAG,CAAC,CAACzG,QAAU;AAC/BT,4CAAAA,EAAAA,EAAIS,KAAKT,EAAE;AACX1D,4CAAAA,KAAAA,EAAOmE,KAAKtE,IAAI;yCACpB,CAAA,CAAA;AACJ,iCAAA,CAAA;AACJ,6BAAA,CAAA;AACJ,qBAAA,CAAA;oBAEJqF,KAAE,CAAA,IAAA,CAAA;AACL,iBAAA,CAAA;AACL,aAAA;AAEA,YAAA,MAAMrF,OAAOktB,2BAAe,CAAA;gBACxBC,kBAAoBV,EAAAA,sBAAAA,CAAuBzsB,IAAI,CAACG,KAAK;AACrDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACH,IAAI,CAAA;gBAC7CstB,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,MAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAO8rB,EAAG9rB,CAAAA,KAAK,CAACH,IAAI,CAACgC,MAAM;AAC3ByrB,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVgjB,wBAAAA,EAAAA,CAAG9rB,KAAK,CAACH,IAAI,CAACgC,MAAM,GAAGiH,KAAAA,CAAAA;AAC3B,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAMzJ,OAAO0tB,2BAAe,CAAA;gBACxBC,kBAAoBV,EAAAA,sBAAAA,CAAuBjtB,IAAI,CAACW,KAAK;AACrDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACX,IAAI,CAAA;gBAC7C8tB,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,MAAA;AACd7D,gBAAAA,OAAAA,EAAS8D,4BAAgB,CAAA;AACrBrtB,oBAAAA,KAAAA,EAAOL,KAAKN,IAAI;oBAChBvC,OAASL,EAAAA,MAAAA,CAAOg9B,MAAM,CAACL,gBAAAA,CAAAA,CAAUxuB,GAAG,CAAC,CAACvL,QAAU;4BAC5CqE,EAAIrE,EAAAA,IAAAA;4BACJW,KAAOX,EAAAA,IAAAA;yBACX,CAAA,CAAA;AACAiuB,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKN,IAAI,GAAGyJ,KAAAA,CAAAA;AAChB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAMkwB,eAAejM,2BAAe,CAAA;gBAChCC,kBAAoBV,EAAAA,sBAAAA,CAAuByL,aAAa,CAAC/3B,KAAK;AAC9DitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAAC+3B,aAAa,CAAA;gBACtD5K,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,eAAA;AACd7D,gBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,oBAAAA,KAAAA,EAAOL,KAAKo4B,aAAa;AACzBzK,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAKo4B,aAAa,GAAGjvB,KAAAA,CAAAA;AACzB,qBAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAMutB,SAAStJ,2BAAe,CAAA;gBAC1BC,kBAAoBV,EAAAA,sBAAAA,CAAuB+J,MAAM,CAACr2B,KAAK;AACvDitB,gBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAACq2B,MAAM,CAAA;gBAC/ClJ,KAAO,EAAA,IAAA;gBACPC,YAAc,EAAA,YAAA;AACd7D,gBAAAA,OAAAA,EAASmQ,mCAAuB,CAAA;oBAC5BC,UAAY,EAAA,aAAA;AACZ35B,oBAAAA,KAAAA,EAAOL,KAAK02B,MAAM;AAClB/I,oBAAAA,QAAAA,CAAAA,CAASxkB,KAAK,EAAA;AACVnJ,wBAAAA,IAAAA,CAAK02B,MAAM,GAAGvtB,KAAAA,CAAAA;AAClB,qBAAA;oBACAskB,YAAc,EAAA,sCAAA;AAClB,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AAEA,YAAA,MAAM1N,QAAgC,GAAA;gBAClCqN,2BAAe,CAAA;oBACXI,KAAO,EAAA,IAAA;oBACPC,YAAc,EAAA,UAAA;oBACd7D,OACIrkB,EAAAA,KAAAA,CAAEg0B,YAAc,EAAA,EAAI,EAAA;AAChB,wBAAA,CAAC3R,2BAAmBI,YAAY,GAAG,CAACxoB,KAAAA,GAAuC+F,MAAE,QAAU,EAAA;AACnFM,gCAAAA,QAAAA,EAAUrG,MAAMsB,IAAI;gCACpByF,KAAO,EAAA;AAAC,oCAAA,YAAA;AAAc,oCAAA;AAClB,wCAAA,UAAA,EAAYvG,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AAC9C,wCAAA,aAAA,EAAe/D,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AACrD,qCAAA;AAAE,iCAAA;AACF0B,gCAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,oCAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;AAErBg0B,oCAAAA,cAAAA,CAAe,aAAen6B,EAAAA,KAAAA,CAAMpC,IAAI,CAAC2G,EAAE,CAAA,CAAA;AAC/C,iCAAA;6BACD,EAAA;AACCwB,gCAAAA,KAAAA,CAAE,GAAK,EAAA;oCACHgB,KAAO,EAAA;AACH,wCAAA,YAAA,EAAcvG,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AAChD,wCAAA,aAAA,EAAe/D,KAAK04B,WAAW,KAAKl5B,KAAMpC,CAAAA,IAAI,CAAC2G,EAAE;AACrD,qCAAA;AACJ,iCAAA,CAAA;AACH,6BAAA,CAAA;AACL,qBAAA,CAAA;AACR,iBAAA,CAAA;AACH,aAAA,CAAA;AAED,YAAA,MAAMwuB,aAAaC,4CAAgC,CAAA;AAC/CxxB,gBAAAA,MAAAA;AACAF,gBAAAA,IAAAA,EAAMA,KAAKT,KAAK;AAChBoyB,gBAAAA,SAAAA,EAAW,CAAC,CAACv0B,OAAQd,CAAAA,IAAI,CAACiD,KAAK;gBAC/BiC,OAAS6pB,EAAAA,EAAAA,CAAG9rB,KAAK,CAACkC,QAAQ;aAC3B2vB,EAAAA,kBAAAA,CAAAA,CAAAA;AAEH,YAAA,OAAO3sB,MAAE,KAAO,EAAA;AACZA,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,KAAA;iBAAS,EAAA;AACvBhB,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBACLgB,KAAO,EAAA,KAAA;qBACR,EAAA;AACCqzB,wBAAAA,KAAAA;AACA15B,wBAAAA,IAAAA;wBACAqF,KAAE,CAAA,IAAA,CAAA;AACF8zB,wBAAAA,YAAAA;wBACA9zB,KAAE,CAAA,IAAA,CAAA;AACFwa,wBAAAA,QAAAA;AAEH,qBAAA,CAAA;AACDxa,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBACLgB,KAAO,EAAA,KAAA;qBACR,EAAA;AACC7G,wBAAAA,IAAAA;wBACA6F,KAAE,CAAA,IAAA,CAAA;AACFmxB,wBAAAA,MAAAA;wBACAnxB,KAAE,CAAA,IAAA,CAAA;AACFgtB,wBAAAA,UAAAA;AACH,qBAAA,CAAA;AACJ,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AACL,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;ACxRH,2BAAepzB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,UAAA;AAAY,QAAA,QAAA;AAAU,QAAA,SAAA;AAAU,KAAA;AACxCC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;AACjB,QAAA,IAAI,CAACN,KAAAA,CAAMioB,MAAM,CAACiR,WAAW,EAAE;YAC3B,OAAO,IAAMnzB,MACT,KACA,EAAA;oBAAEgB,KAAO,EAAA,8BAAA;iBACT,EAAA;AACI,oBAAA,mDAAA;AACH,iBAAA,CAAA,CAAA;AAET,SAAA;AAEA,QAAA,IAAI,CAAC/G,KAAAA,CAAMioB,MAAM,CAACwS,mBAAmB,EAAE;YACnC,OAAO,IAAM10B,MACT,KACA,EAAA;oBAAEgB,KAAO,EAAA,8BAAA;iBACT,EAAA;AACI,oBAAA,oDAAA;AACA,oBAAA,GAAA;AACA,oBAAA,2EAAA;AACH,iBAAA,CAAA,CAAA;AAET,SAAA;QAEA,OAAO,IAAMhB,MACT20B,sBACA,EAAA;gBACInR,QAAUvpB,EAAAA,KAAAA,CAAMioB,MAAM,CAACwS,mBAAmB;AAC1C5V,gBAAAA,SAAAA,EAAW,CAACoD,MAAAA,GAAAA;AACR3nB,oBAAAA,IAAAA,CAAK,SAAW,EAAA;AACZm6B,wBAAAA,mBAAAA,EAAqBxS,OAAO1jB,EAAE;wBAC9Bo2B,gBAAkB1S,EAAAA,MAAAA;AACtB,qBAAA,CAAA,CAAA;AACJ,iBAAA;AACA0B,gBAAAA,QAAAA,EAAU,CAACjoB,CAAAA,GAAAA;AACPpB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACAgoB,gBAAAA,UAAAA,EAAY,CAACzB,MAAAA,GAAAA;AACT,oBAAA,IAAI,CAACA,MAAQ,EAAA;AAAE,wBAAA,OAAA;AAAQ,qBAAA;AAEvB,oBAAA,IAAIjoB,MAAMioB,MAAM,CAACwS,mBAAmB,KAAKxS,MAAAA,CAAO1jB,EAAE,EAAE;AAChDjE,wBAAAA,IAAAA,CAAK,SAAW,EAAA;AACZm6B,4BAAAA,mBAAAA,EAAqBxS,OAAO1jB,EAAE;4BAC9Bo2B,gBAAkB1S,EAAAA,MAAAA;AACtB,yBAAA,CAAA,CAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA,CAAA,CAAA;AAER,KAAA;AACJ,CAAG,CAAA;;AClDH,iBAAetoB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,QAAA;AAAS,KAAA;AACjBC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;AACjB,QAAA,MAAME,OAAOC,YAAS,CAAA;YAClB8D,EAAI,EAAA,EAAA;YACJi0B,MAAQ,EAAA,EAAA;AACZ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM7L,KAAK1rB,YAAa,CAAA;AACpBsD,YAAAA,EAAAA,EAAI,EAEJ;YACAi0B,MAAQ,EAAA;AACJr3B,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;SACDZ,EAAAA,IAAAA,CAAAA,CAAAA;QAEH,MAAM2sB,sBAAAA,GAAyBC,6CAAoCT,CAAAA,EAAAA,CAAG9rB,KAAK,CAAA,CAAA;AAC3E,QAAA,MAAM6xB,kBAAqBC,GAAAA,yCAAAA,EAAAA,CAAAA;QAE3B,OAAO,IAAM5sB,MAAE60B,mBAAQ,EAAA;AACnBlR,gBAAAA,UAAAA,CAAAA,CAAWzB,MAAM,EAAA;AACb,oBAAA,IAAIA,MAAQ,EAAA;AACRoC,wBAAAA,4BAAAA,CAA6B7pB,IAAMynB,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,qBAAA;AACJ,iBAAA;AACA0B,gBAAAA,QAAAA,EAAU,CAACjoB,CAAAA,GAAAA;AACPpB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;gBACAwlB,YAAc,EAAA;oBACV3iB,EAAIvE,EAAAA,KAAAA,CAAMioB,MAAM,CAACsN,QAAQ;AAC7B,iBAAA;aACD,EAAA;AACCttB,gBAAAA,OAAAA,EAAS,CAACiqB,SAAAA,GAAAA;oBACN,IAAI,CAACA,SAAUt0B,CAAAA,IAAI,EAAE;AACjB,wBAAA,OAAOmI,MACH,KACA,EAAA;4BAAEgB,KAAO,EAAA,8BAAA;yBACT,EAAA;AACI,4BAAA,yCAAA;AACH,yBAAA,CAAA,CAAA;AAET,qBAAA;AAEA,oBAAA,MAAMxC,KAAKqpB,2BAAe,CAAA;wBACtBC,kBAAoBV,EAAAA,sBAAAA,CAAuB5oB,EAAE,CAAC1D,KAAK;AACnDitB,wBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAAC0D,EAAE,CAAA;wBAC3CypB,KAAO,EAAA,IAAA;wBACPC,YAAc,EAAA,IAAA;AACd7D,wBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,4BAAAA,KAAAA,EAAOL,KAAK+D,EAAE;4BACdvE,KAAO,EAAA;gCACHqG,QAAU,EAAA,IAAA;AACd,6BAAA;AACJ,yBAAA,CAAA;AACJ,qBAAA,CAAA,CAAA;AAEA,oBAAA,MAAMmyB,SAAS5K,2BAAe,CAAA;wBAC1BC,kBAAoBV,EAAAA,sBAAAA,CAAuBqL,MAAM,CAAC33B,KAAK;AACvDitB,wBAAAA,kBAAAA,EAAoBC,qBAAYpB,CAAAA,EAAAA,CAAG9rB,KAAK,CAAC23B,MAAM,CAAA;wBAC/CxK,KAAO,EAAA,IAAA;wBACPC,YAAc,EAAA,QAAA;AACd7D,wBAAAA,OAAAA,EAASwM,2BAAe,CAAA;AACpB/1B,4BAAAA,KAAAA,EAAOL,KAAKg4B,MAAM;4BAClBx4B,KAAO,EAAA;gCACH8yB,WAAa,EAAA,KAAA;AACjB,6BAAA;AACA3E,4BAAAA,QAAAA,CAAAA,CAASttB,KAAK,EAAA;AACVL,gCAAAA,IAAAA,CAAKg4B,MAAM,GAAG33B,KAAAA,CAAAA;AAClB,6BAAA;AACJ,yBAAA,CAAA;AACJ,qBAAA,CAAA,CAAA;AAEA,oBAAA,MAAMkyB,aAAaC,4CAAgC,CAAA;wBAC/CxxB,MAAQ,EAAA,IAAM0wB,SAAUtV,CAAAA,MAAM,CAACpc,IAAAA,CAAAA;AAC/Bc,wBAAAA,IAAAA,EAAM4wB,UAAU5wB,IAAI;wBACpB2xB,SAAW,EAAA,CAAC,CAACf,SAAAA,CAAUt0B,IAAI;wBAC3BkF,OAAS6pB,EAAAA,EAAAA,CAAG9rB,KAAK,CAACkC,QAAQ;qBAC3B2vB,EAAAA,kBAAAA,CAAAA,CAAAA;AAEH,oBAAA,OAAO3sB,MAAE,KAAO,EAAA;AACZxB,wBAAAA,EAAAA;AACAi0B,wBAAAA,MAAAA;AACAzF,wBAAAA,UAAAA;AACH,qBAAA,CAAA,CAAA;AACL,iBAAA;AACJ,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;ACpGH,MAAM8H,+BAA+Bl7B,mBAAgB,CAAA;IACjDK,KAAO,EAAA;QACHupB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACA2uB,cAAgB1vB,EAAAA,MAAAA;QAEhBgc,OAAS,EAAA;YACLjc,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAwF,WAAa,EAAA;YACTxG,IAAMC,EAAAA,MAAAA;YACN8H,OAAS,EAAA,QAAA;AACb,SAAA;QACAd,QAAU,EAAA;YACNjH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;QACAf,QAAU,EAAA;YACNhH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,QAAA;AAAU,QAAA,SAAA;AAAU,KAAA;IAC5BC,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMmsB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AAEjB,QAAA,MAAM0F,cAAc6c,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAK2e,oCAA4B/K,OAAO;oBACpC,OAAO,SAAA,CAAA;AACX,gBAAA,KAAK+K,oCAA4B9K,MAAM;oBACnC,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,EAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMxpB,YAAYsd,YAAS,CAAA,IAAA;AACvB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAK2e,oCAA4B/K,OAAO;oBACpC,OAAO,aAAA,CAAA;AACX,gBAAA,KAAK+K,oCAA4B9K,MAAM;oBACnC,OAAO,WAAA,CAAA;AACX,gBAAA;oBACI,OAAO,gBAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMlpB,cAAcgd,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAK2e,oCAA4B/K,OAAO;oBACpC,OAAO,SAAA,CAAA;AACX,gBAAA,KAAK+K,oCAA4B9K,MAAM;oBACnC,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM1pB,aAAawd,YAAS,CAAA,IAAA;YACxB,IAAI9jB,KAAAA,CAAM6vB,cAAc,EAAE;gBACtB,IACI7vB,KAAAA,CAAM6vB,cAAc,KAAKkL,kCAA2B7K,CAAAA,QAAQ,IAC5DlwB,KAAAA,CAAMmc,OAAO,KAAK2e,mCAA4B/K,CAAAA,OAAO,EACvD;oBACE,OAAO,IAAA,CAAA;AACX,iBAAA;gBAEA,OAAO/vB,KAAAA,CAAM6vB,cAAc,KAAKkL,kCAA2B5K,CAAAA,QAAQ,IAC/DnwB,KAAMmc,CAAAA,OAAO,KAAK2e,mCAAAA,CAA4B9K,MAAM,CAAA;AAC5D,aAAA;AAEA,YAAA,OAAOhwB,KAAMmc,CAAAA,OAAO,KAAK2e,mCAAAA,CAA4B9K,MAAM,CAAA;AAC/D,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM5pB,OAAU,GAAA,UAAA;YACZ,IAAI9E,IAAAA,CAAKT,KAAK,EAAE,OAAA;AAEhBS,YAAAA,IAAAA,CAAKT,KAAK,GAAG,IAAA,CAAA;YAEb,IAAI4S,MAAAA,CAAAA;AAEJ,YAAA,OAAQzT,MAAMmc,OAAO;AACjB,gBAAA,KAAK2e,oCAA4B/K,OAAO;AACpCtc,oBAAAA,MAAAA,GAASsnB,mCAA2B7K,QAAQ,CAAA;AAC5C,oBAAA,MAAA;AACJ,gBAAA,KAAK4K,oCAA4B9K,MAAM;AACnCvc,oBAAAA,MAAAA,GAASsnB,mCAA2B5K,QAAQ,CAAA;AAC5C,oBAAA,MAAA;AACJ,gBAAA;oBACI1c,MAAS,GAAA,IAAA,CAAA;AACT,oBAAA,MAAA;AACR,aAAA;YAEA,IAAI;gBACA,MAAMzO,IAAAA,GAAO,MAAMwnB,SAAU1L,CAAAA,YAAY,CAAClE,MAAM,CAAC5c,KAAMupB,CAAAA,QAAQ,EAAE;oBAC7D6G,eAAiB3c,EAAAA,MAAAA;AACrB,iBAAA,CAAA,CAAA;gBAEApT,KAAMC,CAAAA,IAAI,CAAC,SAAW0E,EAAAA,IAAAA,CAAAA,CAAAA;AAC1B,aAAA,CAAE,OAAOtD,CAAG,EAAA;gBACRrB,KAAMC,CAAAA,IAAI,CAAC,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACzB,aAAA;AAEAJ,YAAAA,IAAAA,CAAKT,KAAK,GAAG,KAAA,CAAA;AACjB,SAAA,CAAA;QAEA,MAAMiF,SAAAA,GAAYuqB,4BAAgB5rB,CAAAA,cAAAA,CAAeu2B,gBAAgB,CAAA,CAAA;AAEjE,QAAA,OAAO,IAAMp1B,mBAAoB,CAAA;AAC7BQ,gBAAAA,OAAAA;AACAM,gBAAAA,WAAAA,EAAa1G,MAAM0G,WAAW;AAC9BS,gBAAAA,QAAAA,EAAUnH,MAAMmH,QAAQ;AACxBD,gBAAAA,QAAAA,EAAUlH,MAAMkH,QAAQ;AACxBZ,gBAAAA,UAAAA,EAAYA,WAAWzF,KAAK;AAC5B2F,gBAAAA,SAAAA,EAAWA,UAAU3F,KAAK;AAC1BiF,gBAAAA,SAAAA,EAAWA,UAAUjF,KAAK;AAC1BoG,gBAAAA,WAAAA,EAAaA,YAAYpG,KAAK;AAC9BiG,gBAAAA,WAAAA,EAAaA,YAAYjG,KAAK;AAC9BwG,gBAAAA,KAAAA,EAAOhH,MAAMgH,KAAK;AACtB,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;ACjIA,MAAM4zB,8BAA8Bt7B,mBAAgB,CAAA;IAChDK,KAAO,EAAA;QACHyT,MAAQ,EAAA;YACJvT,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;AACAkC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEqH,KAAK,EAAE,EAAA;AAClB,QAAA,MAAMuM,aAAakQ,YAAS,CAAA,IAAA;AACxB,YAAA,OAAQ9jB,MAAMyT,MAAM;AAChB,gBAAA,KAAKsnB,mCAA2B7K,QAAQ;oBACpC,OAAO,UAAA,CAAA;AACX,gBAAA,KAAK6K,mCAA2B5K,QAAQ;oBACpC,OAAO,UAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMrpB,cAAcgd,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMyT,MAAM;gBAChB,KAAK,UAAA;oBACD,OAAO,SAAA,CAAA;gBACX,KAAK,UAAA;oBACD,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,IAAIjO,iBAAAA,CAAkB,WAAW6B,KAAQ,CAAA,EAAA;YACrC,OAAO,IAAM3B,cAAc,SAAW,EAAA;AAClCoB,oBAAAA,WAAAA,EAAaA,YAAYjG,KAAK;AAC9B+S,oBAAAA,UAAAA,EAAYA,WAAW/S,KAAK;iBAC7BwG,EAAAA,KAAAA,CAAAA,CAAAA;AACP,SAAA;QAEA,OAAO,IAAMtB,MAAE,MAAQ,EAAA;AAAEgB,gBAAAA,KAAAA,EAAO,CAAC,KAAK,EAAED,WAAYjG,CAAAA,KAAK,CAAC,CAAC;AAAC,aAAA,EAAG+S,WAAW/S,KAAK,CAAA,CAAA;AACnF,KAAA;AACJ,CAAA;;ACpCA,gCAAelB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHk7B,UAAY,EAAA;YACRh7B,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAuvB,MAAQ,EAAA;YACJvwB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAjB,OAASE,EAAAA,MAAAA;AACb,KAAA;IACAC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP,MAAM9oB,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAM3B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWmP,CAAAA,aAAa,CAAC,CAAC;AACnC96B,YAAAA,KAAAA;YACA4kB,MAAQ,EAAA;AACJb,gBAAAA,YAAAA,CAAAA,CAAale,KAAK,EAAA;AACd,oBAAA,OAAOA,KAAMtI,CAAAA,IAAI,CAACw9B,WAAW,KAAKp7B,KAAMk7B,CAAAA,UAAU,IAC9Ch1B,KAAAA,CAAMtI,IAAI,CAACgzB,OAAO,KAAK5wB,MAAMywB,MAAM,CAAA;AAC3C,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAM/xB,OAAAA,CAAQ4b,OAAO,CAAC;YAClBtS,KAAO,EAAA;gBACHif,OAAS,EAAA;AACLmU,oBAAAA,WAAAA,EAAap7B,MAAMk7B,UAAU;AAC7BtK,oBAAAA,OAAAA,EAAS5wB,MAAMywB,MAAM;AACzB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,OAAO,IAAM1qB,MAAE,QAAU,EAAA;gBACrBgB,KAAO,EAAA;AAAC,oBAAA,YAAA;AAAc,oBAAA;AAClB,wBAAA,aAAA,EAAe,CAACrI,OAAAA,CAAQd,IAAI,CAACiD,KAAK;wBAClC,YAAcnC,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK;AACpC,qBAAA;AAAE,iBAAA;AACFoF,gBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,oBAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;AAErB,oBAAA,IAAIzH,OAAQd,CAAAA,IAAI,CAACiD,KAAK,EAAE;AACpB,wBAAA,OAAOnC,QAAQyW,MAAM,EAAA,CAAA;AACzB,qBAAA;oBAEA,OAAOzW,OAAAA,CAAQie,MAAM,CAAC;AAClBye,wBAAAA,WAAAA,EAAap7B,MAAMk7B,UAAU;AAC7BtK,wBAAAA,OAAAA,EAAS5wB,MAAMywB,MAAM;AACzB,qBAAA,CAAA,CAAA;AACJ,iBAAA;aACD,EAAA;AACC1qB,gBAAAA,KAAAA,CAAE,GAAK,EAAA;oBACHgB,KAAO,EAAA;AAAC,wBAAA,IAAA;AAAM,wBAAA;AACV,4BAAA,SAAA,EAAW,CAACrI,OAAAA,CAAQd,IAAI,CAACiD,KAAK;4BAC9B,UAAYnC,EAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK;AAClC,yBAAA;AAAE,qBAAA;AACN,iBAAA,CAAA;AACH,aAAA,CAAA,CAAA;AACL,KAAA;AACJ,CAAG,CAAA;;;ACjDEgwB,CAAAA,SAAAA,SAAAA,EAAAA;;;GAAAA,WAAAA,KAAAA,WAAAA,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA;;AAKAC,CAAAA,SAAAA,MAAAA,EAAAA;;;GAAAA,MAAAA,KAAAA,MAAAA,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AAKL,oBAAenxB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAisB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACA+mB,YAAc,EAAA;YACVhnB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAyzB,SAAW,EAAA;YACP7wB,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAub,MAAQ,EAAA;YACJxb,IAAMC,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACAC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP,MAAM9oB,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAMmsB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMnkB,UAAU+qB,mBAAoB,CAAA;AAChCxpB,YAAAA,OAAAA,EAAS,CAACgoB,MAAAA,GAAAA;AACN,gBAAA,IAAI,CAACA,MAAQ,EAAA;oBACT,OAAO9pB,SAAAA,CAAAA;AACX,iBAAA;gBAEA,IAAI6B,KAAAA,CAAM0b,MAAM,KAAsB,UAAA,EAAA;AAClC,oBAAA,OAAOuM,OAAOoT,iBAAiB,CAAA;AACnC,iBAAA;gBAEA,IAAIr7B,KAAAA,CAAM0b,MAAM,KAAkB,MAAA,EAAA;AAC9B,oBAAA,OAAOuM,OAAOgJ,aAAa,CAAA;AAC/B,iBAAA;gBAEA,OAAO9yB,SAAAA,CAAAA;AACX,aAAA;AACA+B,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWmP,CAAAA,aAAa,CAAC,CAAC;AACnC96B,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;YACAilB,MAAQ,EAAA;gBACJb,YAAale,CAAAA,CAAAA,KAAK,EAAEjG,OAAO,EAAA;AACvB,oBAAA,IAAI,CAACA,OAAS,EAAA;wBACV,OAAO,IAAA,CAAA;AACX,qBAAA;oBAEA,IAAID,KAAAA,CAAM0b,MAAM,KAAsB,UAAA,EAAA;AAClC,wBAAA,OAAOzb,OAAYiG,KAAAA,KAAAA,CAAMtI,IAAI,CAACy9B,iBAAiB,CAAA;AACnD,qBAAA;oBAEA,IAAIr7B,KAAAA,CAAM0b,MAAM,KAAkB,MAAA,EAAA;AAC9B,wBAAA,OAAOzb,OAAYiG,KAAAA,KAAAA,CAAMtI,IAAI,CAACqzB,aAAa,CAAA;AAC/C,qBAAA;oBAEA,OAAO,KAAA,CAAA;AACX,iBAAA;AACA3M,gBAAAA,gBAAAA,CAAAA,CAAiB/f,EAAE,EAAA;oBACf,IAAIvE,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;wBAClC,OAAOxM,8BAAAA,CAAuB2M,qBAAcoK,CAAAA,gBAAgB,EAAE/2B,EAAAA,CAAAA,CAAAA;AAClE,qBAAA;oBAEA,IAAIvE,KAAAA,CAAM+wB,SAAS,KAAoB,KAAA,EAAA;wBACnC,OAAOxM,8BAAAA,CAAuB2M,qBAAcqK,CAAAA,iBAAiB,EAAEh3B,EAAAA,CAAAA,CAAAA;AACnE,qBAAA;oBAEA,OAAOggB,8BAAAA,CAAuByH,kBAAWmP,CAAAA,aAAa,EAAE52B,EAAAA,CAAAA,CAAAA;AAC5D,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM7F,QAAQ4b,OAAO,EAAA,CAAA;AAErB,QAAA,IACI5b,QAAQd,IAAI,CAACiD,KAAK,IAClBb,MAAM0b,MAAM,IACZ,CAAChd,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,EACnC;YACE,IAAI1b,KAAAA,CAAM0b,MAAM,KAAsB,UAAA,EAAA;AAClChd,gBAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,GAAG,MAAM8Q,UACpC9L,QAAQ,CAACrF,MAAM,CAAC3c,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAACu6B,WAAW,CAAA,CAAA;aAChD,MAAA;AACH18B,gBAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,GAAG,MAAM8Q,UACpC/L,IAAI,CAACpF,MAAM,CAAC3c,OAAAA,CAAQd,IAAI,CAACiD,KAAK,CAAC+vB,OAAO,CAAA,CAAA;AAC/C,aAAA;AACJ,SAAA;QAEA,OAAO,IAAA;AACH,YAAA,MAAMS,QAAW,GAAA,IAAA;AACb,gBAAA,IACIrxB,MAAM0b,MAAM,IACZhd,OAAQd,CAAAA,IAAI,CAACiD,KAAK,IAClBnC,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAACb,KAAM0b,CAAAA,MAAM,CAAC,EAClC;oBACE,IAAI1b,KAAAA,CAAM0b,MAAM,KAAsB,UAAA,EAAA;AAClC,wBAAA,OAAO3V,MAAE,KAAO,EAAA;AACZrH,4BAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE6f,QAAShgB,CAAAA,IAAAA;AAChC,yBAAA,CAAA,CAAA;AACL,qBAAA;oBACA,IAAIV,KAAAA,CAAM0b,MAAM,KAAkB,MAAA,EAAA;AAC9B,wBAAA,OAAO3V,MAAE,KAAO,EAAA;AACZrH,4BAAAA,OAAAA,CAAQd,IAAI,CAACiD,KAAK,EAAE4f,IAAK/f,CAAAA,IAAAA;AAC5B,yBAAA,CAAA,CAAA;AACL,qBAAA;AACJ,iBAAA;gBAEA,OAAO;oBACHhC,OAAQd,CAAAA,IAAI,EAAEiD,KAAO0D,EAAAA,EAAAA;AACxB,iBAAA,CAAA;AACL,aAAA,CAAA;YAEA,OAAO7F,OAAAA,CAAQ8oB,MAAM,CAAC6J,QAAAA,CAAAA,CAAAA;AAC1B,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;;ACvHER,CAAAA,SAAAA,SAAAA,EAAAA;;;GAAAA,SAAAA,KAAAA,SAAAA,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AAKL,qBAAelxB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;AACH,QAAA,GAAG+H,eAA+B,EAAA;QAClC9H,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAmxB,QAAU,EAAA;YACNpxB,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACAud,MAAQ,EAAA;YACJxb,IAAMC,EAAAA,MAAAA;AACN8H,YAAAA,OAAAA,EAAS+jB,mBAAW2D,IAAI;AAC5B,SAAA;QACAoB,SAAW,EAAA;YACP7wB,IAAMC,EAAAA,MAAAA;YACN8H,OAAO,EAAA,KAAA;AACX,SAAA;AACJ,KAAA;IACAZ,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACP,MAAMrH,KAAAA,CAAAA,CAAML,KAAK,EAAE6F,GAAG,EAAA;AAClB,QAAA,MAAM8V,MAASmI,GAAAA,YAAAA,CAAS,IAAO9jB,KAAAA,CAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,GAC3D3D,kBAAAA,CAAWwP,QAAQ,GACnBxP,mBAAW2D,IAAI,CAAA,CAAA;AAEnB,QAAA,MAAM8B,mBAAmB,CAACC,IAAAA,GAAAA;YACtB,IAAI1xB,KAAAA,CAAMC,OAAO,EAAE;AACf,gBAAA,OAAQD,MAAM+wB,SAAS;AACnB,oBAAA,KAAA,IAAA;wBACI,OAAOW,IAAAA,KAASnN,8BAAuB2M,CAAAA,qBAAAA,CAAcoK,gBAAgB,CAAA,CAAA;AACzE,oBAAA,KAAA,KAAA;wBACI,OAAO5J,IAAAA,KAASnN,8BAAuB2M,CAAAA,qBAAAA,CAAcqK,iBAAiB,CAAA,CAAA;AAC9E,iBAAA;aACG,MAAA;gBACH,OAAO7J,IAAAA,KAASnN,8BAAuByH,CAAAA,kBAAAA,CAAWmP,aAAa,CAAA,CAAA;AACnE,aAAA;YAEA,OAAO,KAAA,CAAA;AACX,SAAA,CAAA;AAEA,QAAA,MAAMxJ,yBAAyB,CAAC3sB,IAAAA,GAAAA;AAC5B,YAAA,OAAQ2W,OAAO9a,KAAK;AAChB,gBAAA,KAAKmrB,mBAAW2D,IAAI;AAChB,oBAAA,IAAI,OAAO3vB,KAAAA,CAAMsxB,QAAQ,KAAK,WAAa,EAAA;AACvC,wBAAA,OAAOtxB,KAAMC,CAAAA,OAAO,KAAK+E,IAAAA,CAAKisB,aAAa,CAAA;AAC/C,qBAAA;AAEA,oBAAA,OAAOjxB,KAAMsxB,CAAAA,QAAQ,KAAKtsB,IAAAA,CAAK4rB,OAAO,CAAA;AAC1C,gBAAA,KAAK5E,mBAAWwP,QAAQ;AACpB,oBAAA,IAAI,OAAOx7B,KAAAA,CAAMsxB,QAAQ,KAAK,WAAa,EAAA;AACvC,wBAAA,OAAOtxB,KAAMC,CAAAA,OAAO,KAAK+E,IAAAA,CAAKq2B,iBAAiB,CAAA;AACnD,qBAAA;AAEA,oBAAA,OAAOr7B,KAAMsxB,CAAAA,QAAQ,KAAKtsB,IAAAA,CAAKo2B,WAAW,CAAA;AAClD,aAAA;YAEA,OAAO,KAAA,CAAA;AACX,SAAA,CAAA;AAEA,QAAA,MAAM,EACF5T,MAAM,EACND,WAAW,EACd,GAAGZ,UAAW,CAAA;AACXzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWmP,CAAAA,aAAa,CAAC,CAAC;AACnCn7B,YAAAA,KAAAA;YACAK,KAAOwF,EAAAA,GAAAA;YACPof,MAAQ,EAAA;AACJb,gBAAAA,YAAAA,CAAAA,CAAale,KAAK,EAAA;oBACd,OAAOurB,gBAAAA,CAAiBvrB,MAAMse,IAAI,CAACC,QAAQ,CACvCkN,IAAAA,sBAAAA,CAAuBzrB,MAAMtI,IAAI,CAAA,CAAA;AACzC,iBAAA;AACAwnB,gBAAAA,uBAAAA,CAAAA,GAAAA;oBACI,IAAIplB,KAAAA,CAAMC,OAAO,EAAE;wBACf,IAAID,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;AAClC,4BAAA,OAAO1L,4CACH6L,CAAAA,qBAAAA,CAAcoK,gBAAgB,EAC9BhW,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,yBAAA;AAEA,wBAAA,OAAOF,4CACH6L,CAAAA,qBAAAA,CAAcqK,iBAAiB,EAC/BjW,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,qBAAA;AAEA,oBAAA,OAAOF,4CACH2G,CAAAA,kBAAAA,CAAWmP,aAAa,EACxB7V,oCAA4BC,SAAS,CAAA,CAAA;AAE7C,iBAAA;AACAM,gBAAAA,yBAAAA,CAAAA,GAAAA;oBACI,IAAI7lB,KAAAA,CAAMC,OAAO,EAAE;wBACf,IAAID,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;AAClC,4BAAA,OAAO1L,4CACH6L,CAAAA,qBAAAA,CAAcoK,gBAAgB,EAC9BhW,oCAA4BsM,WAAW,CAAA,CAAA;AAE/C,yBAAA;AAEA,wBAAA,OAAOvM,4CACH6L,CAAAA,qBAAAA,CAAcqK,iBAAiB,EAC/BjW,oCAA4BsM,WAAW,CAAA,CAAA;AAE/C,qBAAA;AAEA,oBAAA,OAAOvM,4CACH2G,CAAAA,kBAAAA,CAAWmP,aAAa,EACxB7V,oCAA4BsM,WAAW,CAAA,CAAA;AAE/C,iBAAA;AACJ,aAAA;AACA1K,YAAAA,YAAAA,EAAc,CAACgF,CAAAA,GAAAA;gBACX,IAAIrgB,MAAAA,CAAAA;AAEJ,gBAAA,IAAI7L,KAAM0b,CAAAA,MAAM,KAAKsQ,kBAAAA,CAAW2D,IAAI,EAAE;oBAClC9jB,MAAS,GAAA;wBACL,WAAaqgB,EAAAA,CAAAA,CAAE1uB,MAAM,GAAG,CAAA,GAAI,CAAC,CAAC,EAAE0uB,CAAE,CAAA,CAAC,GAAGA,CAAAA;AAC1C,qBAAA,CAAA;iBACG,MAAA;oBACHrgB,MAAS,GAAA;wBACL,eAAiBqgB,EAAAA,CAAAA,CAAE1uB,MAAM,GAAG,CAAA,GAAI,CAAC,CAAC,EAAE0uB,CAAE,CAAA,CAAC,GAAGA,CAAAA;AAC9C,qBAAA,CAAA;AACJ,iBAAA;gBAEA,IAAIlsB,KAAAA,CAAMC,OAAO,EAAE;oBACf,IAAID,KAAAA,CAAM+wB,SAAS,KAAmB,IAAA,EAAA;wBAClCllB,MAAOolB,CAAAA,aAAa,GAAGjxB,KAAAA,CAAMC,OAAO,CAAA;qBACjC,MAAA;wBACH4L,MAAOwvB,CAAAA,iBAAiB,GAAGr7B,KAAAA,CAAMC,OAAO,CAAA;AAC5C,qBAAA;AACJ,iBAAA;gBAEA,OAAO4L,MAAAA,CAAAA;AACX,aAAA;YACA7D,KAAO,EAAA,IAAA;AACH,gBAAA,IAAIhI,KAAM0b,CAAAA,MAAM,KAAKsQ,kBAAAA,CAAW2D,IAAI,EAAE;oBAClC,OAAO;wBACHkC,OAAS,EAAA;AAAC,4BAAA,MAAA;AAAO,yBAAA;AACrB,qBAAA,CAAA;AACJ,iBAAA;gBAEA,OAAO;oBACHA,OAAS,EAAA;AAAC,wBAAA,UAAA;AAAW,qBAAA;AACzB,iBAAA,CAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEAtK,WAAY,CAAA;YACRhf,MAAQ,EAAA;gBACJ6hB,OAAS,EAAA,IAAMrkB,MAAE+rB,mBAAQ,EAAA;AACrB9qB,wBAAAA,IAAAA,EAAMhH,MAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,GAClC,OACA,GAAA,UAAA;wBACJZ,IAAM,EAAA,IAAA;AACNvoB,wBAAAA,SAAAA,EAAWxG,MAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,GACvC,gBACA,GAAA,wBAAA;AACR,qBAAA,CAAA;AACJ,aAAA;YACA3qB,IAAM,EAAA;AACFolB,gBAAAA,OAAAA,CAAAA,CACIplB,IAAI,EACJ+sB,SAAS,EACT0J,QAAQ,EAAA;AAER,oBAAA,OAAO11B,MAAE21B,aAAe,EAAA;wBACpBzT,MAAQjjB,EAAAA,IAAAA;AACR+rB,wBAAAA,SAAAA,EAAW/wB,MAAM+wB,SAAS;AAC1BrV,wBAAAA,MAAAA,EAAQ1b,MAAM0b,MAAM;AACpBmJ,wBAAAA,SAAAA,EAAWkN,UAAUjqB,OAAO;AAC5Bid,wBAAAA,SAAAA,EAAWgN,UAAUlqB,OAAO;AAC5B8hB,wBAAAA,QAAAA,EAAUoI,UAAU3I,MAAM;qBAC3B,EAAA;AACCnhB,wBAAAA,OAAAA,EAAS,CAACiqB,SAAAA,GAAAA;4BACN,IAAIuJ,QAAAA,CAAStJ,IAAI,EAAE;AACf,gCAAA,OAAOsJ,SAAStJ,IAAI,CAAA;AACxB,6BAAA;4BAEA,IAAInrB,IAAAA,CAAAA;4BAEJ,IACIhH,KAAAA,CAAM0b,MAAM,KAAKsQ,kBAAW2D,CAAAA,IAAI,IAChCuC,SAAUt0B,CAAAA,IAAI,CAAC6iB,IAAI,EACrB;AACEzZ,gCAAAA,IAAAA,GAAOjB,MAAE,KAAO,EAAA;AAACmsB,oCAAAA,SAAAA,CAAUt0B,IAAI,CAAC6iB,IAAI,CAAC/f,IAAI;AAAC,iCAAA,CAAA,CAAA;6BACvC,MAAA,IACHV,KAAM0b,CAAAA,MAAM,KAAKsQ,kBAAAA,CAAWwP,QAAQ,IACpCtJ,SAAUt0B,CAAAA,IAAI,CAAC8iB,QAAQ,EACzB;AACE1Z,gCAAAA,IAAAA,GAAOjB,MAAE,KAAO,EAAA;AAACmsB,oCAAAA,SAAAA,CAAUt0B,IAAI,CAAC8iB,QAAQ,CAAChgB,IAAI;AAAC,iCAAA,CAAA,CAAA;6BAC3C,MAAA;AACHsG,gCAAAA,IAAAA,GAAOjB,MAAE,KAAO,EAAA;oCAACmsB,SAAUt0B,CAAAA,IAAI,CAAC2G,EAAE;AAAC,iCAAA,CAAA,CAAA;AACvC,6BAAA;4BAEA,OAAO;AACHk3B,gCAAAA,QAAAA,CAAS1M,IAAI;AACb/nB,gCAAAA,IAAAA;AACAy0B,gCAAAA,QAAAA,CAASrJ,OAAO;AACnB,6BAAA,CAAA;AACL,yBAAA;AACJ,qBAAA,CAAA,CAAA;AACJ,iBAAA;AACJ,aAAA;YAEA/pB,MAAQ,EAAA;AACJ+hB,gBAAAA,OAAAA,EAAS,CAAC,QAAQ,EAAEpqB,MAAM0b,MAAM,CAAC,aAAa,CAAC;AACnD,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM8L,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;AC5OH,6BAAe7nB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHyT,MAAQ,EAAA;YACJvT,IAAMC,EAAAA,MAAAA;YACN8H,OAAS,EAAA,IAAA;AACb,SAAA;AACJ,KAAA;AACA5H,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEqH,KAAK,EAAE,EAAA;AAClB,QAAA,MAAMuM,aAAakQ,YAAS,CAAA,IAAA;AACxB,YAAA,OAAQ9jB,MAAMyT,MAAM;AAChB,gBAAA,KAAKkoB,8BAAsBC,OAAO;oBAC9B,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKD,8BAAsBE,QAAQ;oBAC/B,OAAO,UAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM/0B,cAAcgd,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMyT,MAAM;AAChB,gBAAA,KAAKkoB,8BAAsBC,OAAO;oBAC9B,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKD,8BAAsBE,QAAQ;oBAC/B,OAAO,SAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,IAAIr2B,iBAAAA,CAAkB,WAAW6B,KAAQ,CAAA,EAAA;YACrC,OAAO,IAAM3B,cACT,SACA,EAAA;AACIoB,oBAAAA,WAAAA,EAAaA,YAAYjG,KAAK;AAC9B+S,oBAAAA,UAAAA,EAAYA,WAAW/S,KAAK;iBAEhCwG,EAAAA,KAAAA,CAAAA,CAAAA;AAER,SAAA;QAEA,OAAO,IAAMtB,MAAE,MAAQ,EAAA;AACnBgB,gBAAAA,KAAAA,EAAO,CAAC,KAAK,EAAED,WAAYjG,CAAAA,KAAK,CAAC,CAAC;aACnC,EAAA;AAAC+S,gBAAAA,UAAAA,CAAW/S,KAAK;AAAC,aAAA,CAAA,CAAA;AACzB,KAAA;AACJ,CAAG,CAAA;;ACrCH,kBAAelB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AAAEk8B,QAAAA,cAAAA;AAAgBC,QAAAA,sBAAAA;AAAuB,KAAA;IACrD/7B,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACA86B,UAAY,EAAA;YACR97B,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;QACAvB,WAAa,EAAA;YACTxG,IAAMC,EAAAA,MAAAA;YACN8H,OAAS,EAAA,OAAA;AACb,SAAA;AACJ,KAAA;AACA5H,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAA;QACP,MAAMioB,MAAAA,GAAS1nB,UAAMP,KAAO,EAAA,QAAA,CAAA,CAAA;AAE5B,QAAA,MAAMgI,KAAmC,GAAA;YACrCif,OAAS,EAAA;gBACLmU,WAAanT,EAAAA,MAAAA,CAAOpnB,KAAK,CAAC0D,EAAE;AAChC,aAAA;YACA4jB,IAAM,EAAA;gBACFhf,KAAO,EAAA,KAAA;AACX,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAM8yB,qBAAqBnY,YAAS,CAAA,IAAA;AAChC,YAAA,IAAImE,OAAOpnB,KAAK,CAACq7B,YAAW,KAAMC,2BAAAA,CAAoBC,QAAQ,EAAE;gBAC5D,OAAO,CAAA,CAAA;AACX,aAAA;YAEA,OAAO,GAAA,CAAA;AACX,SAAA,CAAA,CAAA;QAEA,OAAO;AACHp0B,YAAAA,KAAAA;AACAi0B,YAAAA,kBAAAA;YACAI,iBAAmBC,EAAAA,yBAAAA;YACnBC,qBAAuBZ,EAAAA,6BAAAA;AAC3B,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;MAKevH,YAAM,GAAA;IAAA51B,GAAA,EAAA,CAAA;;;kBA2Ba,GAAA;IAAuBuI,KAAA,EAAA,MAAA;AAAA,CAAA,CAAA;;;;;AA9F3D,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MA0GiButB,YAAM,GAAA;IAAA91B,GAAA,EAAA,CAAA;;;;;;;;sCAzCnBoD,oBAuDM,CAAA,gBAAA,CAAA,CAAA;IArDE,OAAAsyB,aAAAA,EAAAA,EAAAC,sBAoCM,CAAA,KAAA,EApCN,IAAA,EAAA;AACIlyB,QAAAA,IAAAA,CAAAyE,WAAA,KAkCiB,OAAA,iBAjCCytB,EAAAA,EAAAA,sBAAAA,CAAA,OAAAC,YAAA,EAAA;AAAAhyB,YAAAA,eAAAA,CACN4F,yBAAK,EAAA;gBACZO,MAAA,EAAA,KAAA;AACAP,gBAAAA,KAAAA,EAAUigB,KAAAA,KAAAA;gBACV,SAAS,EAAA,KAAA;gBAAA,UAAAhmB,EAAAA,IAAAA,CAAAgmB,MAAA,CAAArnB,QAAA;gBAEC,WAAIqB,EAAAA,IAAAA,CAAEgmB,MAAK,CAAA1jB,EAAA;aAAA,EAAA;gBAKdiE,IAAArG,EAAAA,WAAAA,CAAA,CAAAnC,KAAA,GAAA;yBAAAk0B,aAAAA,CAFM,OAAOC,sBAAAmB,CAAAA,YAAAA,EAAA,MAAAkH,cAAAx8B,CAAAA,KAAAA,CAAApC,IAAA,EAAA,CAAAoH,IAAAA,GAAAA;4BAGJ,OAAAkvB,aAAAA,EAAAA,EAAmCC,uBAAA,KAAA,EAAA;AAAA31B,gCAAAA,GAAAA,EAAAwG,KAAAT,EAAA;gCAExCwC,KAAA,EAAA,kCAAA;6BAAA,EAAA;;AAEqLA,oCAAAA,KAAAA,EAAAmuB,kBAAA,CAAA;AAAA,wCAAA,0DAAA;AAAA,wCAAA;4CAAiE,cAAA,EAAA,CAAAlwB,KAAAy3B,UAAA;AAAA,4CAAA,SAAA,EAAAz3B,KAAAy3B,UAAA,KAAAx6B,IAAAs6B,CAAAA,qBAAA,CAAAV,QAAA;;AAMlP,yCAAA;AAAA,qCAAA,CAAA;iCAAA,EAAA;AAEJnI,oCAAAA,sBAAAA,CAEM,QAAAF,YAAAiB,EAAAA,mBAAAA,CAAAzvB,KAAAyb,IAAA,CAAA/f,IAAA,CAAA,EAAA,CAAA,CAAA;iCACN,EAAA,CAAA,CAAA;AAAA+yB,gCAAAA,YAAAA;uDAC0C,OAAU,IAAA,EAAA;AAAArxB,oCAAAA,eAAAA,CAAAs6B,iCAAA,EAAA;;;;;;;AAjGpF,yBAAA,CAAA,EAAA,GAAA,CAAA;AAAA,qBAAA,CAAA;;AA0GY,aAAA,EAAA,CAAA,EAAA;AAAA,gBAAA,OAAA;AAAA,gBAAA,UAAA;AAAA,gBAAA,WAAA;AAAA,aAAA,CAAA;AAAA,SAAA,CAAA,KAAAxI,wCAEc,OAAcI,YAAA,EAAA;AACyBrM,YAAAA,sBAAAA,CAAAA,KAAAA,EAAAA;AAA+FlhB,gBAAAA,KAAAA,EAAAmuB,kBAAA,CAAA;AAAA,oBAAA,cAAA;AAAA,oBAAA;wBAAA,SAAAjzB,EAAAA,IAAAA,CAAAgmB,MAAA,CAAAwU,UAAA,KAAAx6B,IAAAo6B,CAAAA,iBAAA,CAAAD,QAAA;wBA7GhK,YAAAn6B,EAAAA,IAAAA,CAiHoCg6B,MAAkB,CAAAQ,UAAA,KAAAx6B,IAAAo6B,CAAAA,iBAAA,CAAAD,QAAA;AACjC,qBAAA;AAAA,iBAAA,CAAA;AACDO,gBAAAA,KAAAA,EAAiBC,kBAAA,CAAA;oBAAAC,KAAA56B,EAAAA,IAAAA,CAAAg6B,kBAAA,GAAA,GAAA;AAAA,iBAAA,CAAA;AACjB,gBAAA,eAAA,EAAch6B,KAAKg6B,kBAAA;gBApHvC,eAAA,EAAA,GAAA;gBAAA,eAAA,EAAA,KAAA;;;;;;;;;;;;ACsBA,sBAAet8B,mBAAgB,CAAA;IAC3BK,KAAOspB,EAAAA,wBAAAA,EAAAA;IACPlpB,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9hB,KAAO/J,EAAAA,MAAAA;IACP,MAAM+C,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAM3B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW8Q,CAAAA,eAAe,CAAC,CAAC;AACrCz8B,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMtB,QAAQ4b,OAAO,EAAA,CAAA;QAErB,OAAO,IAAM5b,QAAQ8oB,MAAM,EAAA,CAAA;AAC/B,KAAA;AACJ,CAAG,CAAA;;ACzBH,MAAMuV,0BAA0Bp9B,mBAAgB,CAAA;IAC5CK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAwF,WAAa,EAAA;YACTxG,IAAMC,EAAAA,MAAAA;AACN8H,YAAAA,OAAAA,EAAShF,iCAAyB+5B,MAAM;AAC5C,SAAA;QACA71B,QAAU,EAAA;YACNjH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;QACAf,QAAU,EAAA;YACNhH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;AACJ,KAAA;AACA5H,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEqH,KAAK,EAAE,EAAA;AAClB,QAAA,MAAM41B,aAAgBha,GAAAA,uBAAAA,EAAAA,CAAAA;AAEtB,QAAA,MAAM7c,OAAU,GAAA,UAAA;AACZ,YAAA,IAAI,CAACpG,KAAAA,CAAMioB,MAAM,CAACiV,WAAW,EAAE;AAC3B,gBAAA,OAAA;AACJ,aAAA;YAEA,MAAMxvB,GAAAA,GAAMuvB,cAAcE,MAAM,CAACC,YAAY,CAACp9B,KAAAA,CAAMioB,MAAM,CAACiV,WAAW,CAAA,CAAA;YAEtE7rB,MAAOgsB,CAAAA,IAAI,CACP3vB,GACA,EAAA,QAAA,CAAA,CAAA;AAER,SAAA,CAAA;AAEA,QAAA,OAAO,IAAM9H,mBAAoB,CAAA;AAC7BQ,gBAAAA,OAAAA;AACAM,gBAAAA,WAAAA,EAAa1G,MAAM0G,WAAW;AAC9BS,gBAAAA,QAAAA,EAAUnH,MAAMmH,QAAQ;AACxBD,gBAAAA,QAAAA,EAAUlH,MAAMkH,QAAQ;gBACxBZ,UAAY,EAAA,KAAA;gBACZE,SAAW,EAAA,iBAAA;gBACXV,SAAW,EAAA,IAAA;gBACXmB,WAAa,EAAA,UAAA;gBACbH,WAAa,EAAA,MAAA;AACbO,gBAAAA,KAAAA;AACJ,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;AC7CA,gBAAe1H,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHupB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAo8B,UAAY,EAAA;YACRp9B,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACAo/B,QAAU,EAAA;YACNr9B,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,QAAA;AAAS,KAAA;AAC5BC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE+G,KAAK,EAAE,EAAA;AACxB,QAAA,MAAMmlB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMb,OAAOa,OAAI,CAAA,EAAA,CAAA,CAAA;QAEjB,IAAIvB,KAAAA,CAAMs9B,UAAU,EAAE;YAClB58B,IAAKG,CAAAA,KAAK,GAAGb,KAAAA,CAAMs9B,UAAU,CAAA;AACjC,SAAA;QAEA,MAAME,QAAAA,GAAWj9B,UAAMP,KAAO,EAAA,YAAA,CAAA,CAAA;AAC9Bc,QAAAA,SAAAA,CAAM08B,UAAU,CAACz8B,GAAAA,GAAAA;YACbL,IAAKG,CAAAA,KAAK,GAAGE,GAAO,IAAA,EAAA,CAAA;AACxB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM08B,UAAUl8B,OAAI,CAAA,KAAA,CAAA,CAAA;AAEpB,QAAA,MAAMm8B,cAAc5Z,YAAS,CAAA,IAAA;YACzB,IAAIpjB,IAAAA,CAAKG,KAAK,EAAE;AACZ,gBAAA,OAAOH,KAAKG,KAAK,CAAA;AACrB,aAAA;YAEA,IAAIb,KAAAA,CAAMs9B,UAAU,EAAE;AAClB,gBAAA,OAAOt9B,MAAMs9B,UAAU,CAAA;AAC3B,aAAA;AAEA,YAAA,OAAOt9B,MAAMupB,QAAQ,CAAA;AACzB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMoU,MAAS,GAAA,IAAA;AACXF,YAAAA,OAAAA,CAAQ58B,KAAK,GAAG,CAAC48B,OAAAA,CAAQ58B,KAAK,CAAA;AAClC,SAAA,CAAA;QAEA,MAAM+8B,IAAAA,GAAOtT,oBAAoBhpB,IAAM,EAAA,UAAA;YACnC,IAAI;gBACA,MAAMu8B,KAAAA,GAAQ,MAAMrR,SAAU9L,CAAAA,QAAQ,CAAC9D,MAAM,CAAC5c,KAAMupB,CAAAA,QAAQ,EAAE;AAC1D7oB,oBAAAA,IAAAA,EAAMA,KAAKG,KAAK;AACpB,iBAAA,CAAA,CAAA;AAEAP,gBAAAA,IAAAA,CAAK,SAAWu9B,EAAAA,KAAAA,CAAAA,CAAAA;AAEhBJ,gBAAAA,OAAAA,CAAQ58B,KAAK,GAAG,KAAA,CAAA;AACpB,aAAA,CAAE,OAAOa,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,OAAO,IAAA;YACH,IAAI+7B,OAAAA,CAAQ58B,KAAK,EAAE;AACf,gBAAA,OAAOkF,MAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,aAAA;iBAAiB,EAAA;AACtChB,oBAAAA,KAAAA,CAAE,OAAS,EAAA;AACPlF,wBAAAA,KAAAA,EAAOH,KAAKG,KAAK;AACjBi9B,wBAAAA,OAAAA,CAAAA,CAAQl7B,MAAW,EAAA;AACfA,4BAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;AACrBzF,4BAAAA,IAAAA,CAAKG,KAAK,GAAG+B,MAAO8Y,CAAAA,MAAM,CAAC7a,KAAK,CAAA;AACpC,yBAAA;AACAwF,wBAAAA,QAAAA,EAAU/E,KAAKT,KAAK;wBACpBkG,KAAO,EAAA,cAAA;wBACP+rB,WAAa,EAAA,KAAA;AACjB,qBAAA,CAAA;AACA/sB,oBAAAA,KAAAA,CAAE,QAAU,EAAA;wBACRgB,KAAO,EAAA,wBAAA;AACPd,wBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,4BAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;4BAErB,OAAOy3B,IAAAA,EAAAA,CAAAA;AACX,yBAAA;qBACD,EAAA;AACC73B,wBAAAA,KAAAA,CAAE,GAAK,EAAA;4BAAEgB,KAAO,EAAA,YAAA;AAAa,yBAAA,CAAA;AAChC,qBAAA,CAAA;AACJ,iBAAA,CAAA,CAAA;AACL,aAAA;YAEA,IAAIC,IAAAA,CAAAA;YAEJ,IAAIxB,iBAAAA,CAAkB,WAAW6B,KAAQ,CAAA,EAAA;AACrCL,gBAAAA,IAAAA,GAAOtB,cAAc,SAAW,EAAA;AAC5B6jB,oBAAAA,QAAAA,EAAUvpB,MAAMupB,QAAQ;AACxB+T,oBAAAA,UAAAA,EAAYt9B,MAAMs9B,UAAU;AAC5BI,oBAAAA,WAAAA,EAAaA,YAAY78B,KAAK;iBAC/BwG,EAAAA,KAAAA,CAAAA,CAAAA;aACA,MAAA;gBACHL,IAAO,GAAA;AACH02B,oBAAAA,WAAAA,CAAY78B,KAAK;AACbb,oBAAAA,GAAAA,KAAAA,CAAMs9B,UAAU,GAAG;AACnB,wBAAA,GAAA;AACAv3B,wBAAAA,KAAAA,CAAE,OAAS,EAAA;4BAAEgB,KAAO,EAAA,YAAA;yBAAgB,EAAA;AAAC,4BAAA,CAAC,EAAE/G,KAAAA,CAAMupB,QAAQ,CAAC,CAAC;AAAC,yBAAA,CAAA;AAC5D,qBAAA,GAAG,EAAE;AACT,iBAAA,CAAA;AACL,aAAA;AAEA,YAAA,OAAOxjB,MAAE,MAAQ,EAAA;AACbiB,gBAAAA,IAAAA;AACI,gBAAA,GAAA,CAACy2B,OAAQ58B,CAAAA,KAAK,IAAIb,KAAAA,CAAMu9B,QAAQ,GAAG;AACnCx3B,oBAAAA,KAAAA,CAAE,GAAK,EAAA;wBACHgB,KAAO,EAAA,MAAA;;wBAEPwH,IAAM,EAAA,oBAAA;AACNlI,wBAAAA,QAAAA,EAAU/E,KAAKT,KAAK;AACpBoF,wBAAAA,OAAAA,CAAAA,CAAQrD,MAAW,EAAA;AACfA,4BAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;4BACrB,OAAOw3B,MAAAA,EAAAA,CAAAA;AACX,yBAAA;qBACD,EAAA;AACC53B,wBAAAA,KAAAA,CAAE,GAAK,EAAA;4BAAEgB,KAAO,EAAA,kBAAA;AAAmB,yBAAA,CAAA;AACtC,qBAAA,CAAA;AACJ,iBAAA,GAAG,EAAE;AACT,aAAA,CAAA,CAAA;AACL,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;AC5HH,kBAAepH,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRm+B,QAAAA,eAAAA;AACAhB,QAAAA,uBAAAA;AACAiB,uBAAAA,SAAAA;AACAnD,QAAAA,4BAAAA;AACAI,QAAAA,2BAAAA;AACA9H,gBAAAA,WAAAA;AACJ,KAAA;IACAnzB,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAI,IAAM,EAAA;YACFpB,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,QAAA;AAAU,QAAA,SAAA;AAAU,KAAA;AACvCC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAG,EAAG,EAAA;QACjB,MAAM29B,WAAAA,GAAcna,YAAqC,CAAA,KAAO;gBAC5DjY,MAAQ,EAAA;AACJ3L,oBAAAA,IAAAA,EAAMg+B,2BAAmBC,IAAI;oBAC7B/C,WAAap7B,EAAAA,KAAAA,CAAMioB,MAAM,CAACmT,WAAW;AACzC,iBAAA;aACJ,CAAA,CAAA,CAAA;AAEA,QAAA,MAAMtW,gBAAgB,CAAClnB,IAAAA,GAAAA;AACnB0C,YAAAA,IAAAA,CAAK,SAAW1C,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;AAEA,QAAA,MAAM21B,eAAe,CAAC31B,IAAAA,GAAAA;AAClB0C,YAAAA,IAAAA,CAAK,QAAU1C,EAAAA,IAAAA,CAAAA,CAAAA;AACnB,SAAA,CAAA;AAEA,QAAA,MAAMgnB,gBAAgB,CAAChnB,IAAAA,GAAAA;AACnB0C,YAAAA,IAAAA,CAAK,SAAW1C,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;QAEA,OAAO;AACHqgC,YAAAA,WAAAA;AAEAnZ,YAAAA,aAAAA;AACAyO,YAAAA,YAAAA;AACA3O,YAAAA,aAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;;IAKe7d,KAAM,EAAA,gCAAA;AAAA,CAAA,CAAA;AAMC,MAAAysB,YAAA,GAAA;IAAAzsB,KAAA,EAAA,OAAA;AAAA,CAAA,CAAA;AAQH,MAAA0sB,YAAA,GAAA;IAAA1sB,KAAM,EAAA,oCAAA;AAA+B,CAAA,CAAA;kBAU9B,mBAAwB2sB,sBAAAA,CAAA,GAAA,EAAA;IAArB3sB,KAAM,EAAA,wBAAA;AAAY,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAqChC,MAAA4sB,YAAA,GAAA;IAAA5sB,KAAM,EAAA,+BAAA;AAAK,CAAA,CAAA;kBACD,mBAAuD2sB,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,YAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAC9D,MAAA6sB,YAAA,GAAA;IAAA7sB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;kBACI,GAAA;IAAsDA,KAAA,EAAA,uDAAA;AAAA,CAAA,CAAA;kBAA9C,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAAuB,CAAA,QAAA,EAAK,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,oBAAA;AAAA,SAAA,CAAA;;;;mBAQ7C,GAAA;IAA2DA,KAAA,EAAA,uDAAA;AAAA,CAAA,CAAA;mBAAnD,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAA0B,CAAA,QAAA,EAAO,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,uBAAA;AAAA,SAAA,CAAA;;;;mBAkBlD,GAAA;IAAuDA,KAAA,EAAA,uDAAA;AAAA,CAAA,CAAA;mBAA/C,mBAAS2sB,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAA,sBAAqB,CAAA,QAAA,EAAQ,IAAA,EAAA;wBAAAA,uBAAA,GAAA,EAAA;YAAA3sB,KAAA,EAAA,kBAAA;AAAA,SAAA,CAAA;;;;AAgC9C,MAAAouB,aAAA,GAAA;IAAApuB,KAAA,EAAA,iBAAA;AAAA,CAAA,CAAA;;IAMHA,KAAM,EAAA,EAAA;AAAA,CAAA,CAAA;AAEH,MAAA+sB,aAAA,mBAAAJ,sBAAAA,CAEO,MAFD,EAAA;IAAA3sB,KAAM,EAAA,YAAA;AAAY,CAAA,EAAC,aAEzB,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;AAtIpB,IAAA,MAAA0wB,uBAAA71B,oBA4IM,CAAA,WAAA,CAAA,CAAA;WA1IEsyB,aAAAA,EAAAA,EAuDMC,sBAAA,CAAA,KAAA,EAAAC,YAAA,EAAA;AAAAV,QAAAA,sBAAAA,CAtDF,OAYMF,YAAA,EAAA;AADKE,YAAAA,sBAAAA,CAAA,OAAAD,YAAA,EAAA;AANiCC,gBAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;oBAAAW,cAEpCpyB,CAAAA,IAAAA,CAGEwD,MAAA,EAAA,OAAA,EAAA;AAAA7H,wBAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,qBAAA,EAAA,IAAA;AAAAqM,4BAAAA,YAAAA;4CADG8J,wBAA6B,EAAA;AAAA,gCAAA,WAAA,EAAAn8B,IAAAgmB,CAAAA,MAAA,CAAAvH,QAAA,CAAAnc,EAAA;;;;;;AAI1C,yBAAA,CAAA;AAAA,iBAAA,CAAA;AAWiBmvB,gBAAAA,sBAAAA,CAAA,OAAAC,YAAA,EAAA;oBALFU,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EAAiBwiB,aAAO,EAAA;AAAWrqB,wBAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,qBAAA,EAAA,IAAA;AAAA7lB,4BAAAA,eAAAA,CAC3Bd,iBAAI,EAAA;AACfkzB,gCAAAA,EAAAA,iBAAMvyB,IAAqBgmB,CAAAA,MAAA,CAAAvH,QAAA,CAAAnc,EAAA;AAAA8B,gCAAAA,QAAAA,EAAApE,KAAAX,IAAA;gCA7FvDyF,KAAA,EAAA,qBAAA;6BAAA,EAAA;;AAAA2tB,wCAAAA,YAAAA;AAAA,qCAAA,CAAA;gCAiGwB/xB,CAAA,EAAA,CAAA;AAAA,6BAAA,EACe;;AAAO,gCAAA,UAAA;AAKZ,6BAAA,CAAA;AAAAP,4BAAAA,eAAAA,CAJFi8B,0BAIE,EAAA;AAAAr2B,gCAAAA,KAAAA,EAAA/F,KAAAg8B,WAAA;6BAAA,EAAA;AAAAh2B,gCAAAA,OAAAA,EAHG9F,YAAc,CAAA,EAAAvE,IAAAu/B,EAAAA,MAAA,EAAA,GAAA;AAAA/6B,wCAAAA,eAAAA,CACLk8B,kCAAM,EAAA;4CACfrW,MAAAkV,EAAAA,MAAAA;4CAAA,WAAA,EAAA,IAAA;;AAtGrC,yCAAA,EAAA,MAAA,CAAA,EAAA;AAAA,4CAAA,QAAA;AAAA,yCAAA,CAAA;AAAA,qCAAA,CAAA;gCA0GwBx6B,CAAA,EAAA,CAAA;AAAA,6BAAA,EACK;;AAAWslB,6BAAAA,CAAAA;AAAAA,4BAAAA,eAAAA,CACXsW,uCAAuC,EAAA;gCACvC,WAAWt8B,EAAAA,IAAAA,CAAIgmB,MAAA,CAAA1jB,EAAA;gCACf,iBAActC,EAAAA,IAAAA,CAAQgmB,MAAA,CAAAmI,eAAA;gCACtB,WAAS,EAAA,IAAA;gCACT,cAAW,EAAA,QAAA;gCACXjU,OAAO,EAAA,SAAA;gCAAA,WAAA,EAAA,KAAA;AAEZ0I,gCAAAA,SAAAA,EAQE5iB,KAAA2iB,aAAA;AAPG,6BAAA,EAAA,MAAA,CAAA,EAAA;AAAS,gCAAA,WAAA;AAAQ,gCAAA,iBAAA;AAAG,gCAAA,WAAA;AAAA,6BAAA,CAAA;AAAAxiB,4BAAAA,eAAAA,CACpBm8B,uCAAuC,EAAA;gCACvC,WAAWt8B,EAAAA,IAAAA,CAAIgmB,MAAA,CAAA1jB,EAAA;gCACf,iBAActC,EAAAA,IAAAA,CAAQgmB,MAAA,CAAAmI,eAAA;gCACtB,WAAS,EAAA,IAAA;gCACT,cAAW,EAAA,QAAA;gCACXjU,OAAO,EAAA,QAAA;gCAAA,WAAA,EAAA,KAAA;;;;;;;;;AAM5B,aAAA,CAAA;AAAA,SAAA,CAAA;QAKQkY,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EAOM,MAPN,EAAA;AAOM7H,YAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,SAAA,EAAA,IAAA;AAJIyL,gBAAAA,sBAAAA,CAAA,OAAAE,YAAA,EAAA;AAAAF,oBAAAA,sBAAAA,CACN,OAEMiB,YAAA,EAAA;AAAAd,wBAAAA,YAAAA;wBAEVH,sBAiBM,CAAA,KAAA,EAjBN,MAiBMe,mBAAAxyB,CAAAA,IAAAA,CAAAgmB,MAAA,CAAAxH,IAAA,CAAA/f,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qBAAA,CAAA;2CAbF,OAYMm0B,aAAA,EAAA;AAAAC,wBAAAA,aAAAA;+CAVW7M,OAAO,IAAA,EAAA;AAAA7lB,4BAAAA,eAAAA,CAAAo8B,sCAAA,EAAA;gCAEL/qB,MAAOxR,EAAAA,IAAAA,CAAEgmB,MAAA,CAAAmI,eAAA;6BAAA,EAAA;uCAENjuB,EAAAA,WAAAA,CAvJ1C,CAAA+vB,SAAA,GAAA;AAyJuCwB,wCAAAA,sBAAAA,CAAA,MAAA,EAAA;4CAAA3sB,KAAAmuB,EAAAA,kBAAAA,CAAA,OAAAhD,GAAAA,SAAAA,CAAAprB,WAAA,CAAA;yCAzJvC2tB,EAAAA,mBAAAA,CAAAvC,SAAAte,CAAAA,UAAA,CAAA,EAAA,CAAA,CAAA;AAAA,qCAAA,CAAA;;;;;AA+JgB,yBAAA,CAAA;AAAA,qBAAA,CAAA;2CAII,OAIMmhB,aAAA,EAAA;AAAAC,wBAAAA,aAAAA;AAHFtB,wBAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;4BApKxBzxB,IAAAgmB,CAAAA,MAAA,CAAAvH,QAAA,CAAA2U,OAAA,IAAAnB,aAAAC,EAAAA,EAAAA,sBAAAA,CAAAmB,YAAA,EAAA;gCAAA92B,GAAA,EAAA,CAAA;6BAAA,EAAA;AAAA+D,gCAAAA,mBAAAA,CAAAkyB,oBAAAxyB,IAAAgmB,CAAAA,MAAA,CAAAvH,QAAA,CAAA2U,OAAA,CAAA,EAAA,CAAA,CAAA;6BAAA,EAAA,EAAA,CAAA,IAAAG,sBAAAA,CAAA,EAAA,EAAA,IAAA,CAAA;;;AA0LQ,iBAAA,CAAA;AAAA,aAAA,CAAA;QAKQnB,cAAApyB,CAAAA,IAAAA,CAAAwD,MAAA,EAOM,QAPN,EAAA;AAOM7H,YAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,SAAA,EAAA,IAAA;AAAAyL,gBAAAA,sBAAAA,CANF,OAKQyB,aAAA,EAAA;AAFGzB,oBAAAA,sBAAAA,CAAA,OAAA0B,aAAA,EAAA;AACoC1B,wBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAI,4BAAAA,aAAAA;;;;;;AAGnD,yBAAA,CAAA;AAAA,qBAAA,CAAA;AAIeJ,oBAAAA,sBAAAA,CAAA,OAAA+B,aAAA,EAAA;AACoC/B,wBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAK,4BAAAA,aAAAA;;;;;;;;;;;;;;;;;;;AC1LnE,kBAAep0B,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;QACR6+B,cAAgBvI,EAAAA,WAAAA;QAChBwI,UAAY1I,EAAAA,OAAAA;AACZ2I,QAAAA,yBAAAA;AACA7C,QAAAA,cAAAA;AACA8C,QAAAA,kBAAAA;AACAC,QAAAA,aAAAA;AACJ,KAAA;IACA7+B,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,QAAA;AAAS,KAAA;AAC5BC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAG,EAAG,EAAA;AACjB,QAAA,MAAMksB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMic,4BAA4B,OAAO95B,IAAAA,GAAAA;YACrC,IAAI;gBACA,MAAMwO,QAAAA,GAAW,MAAMgZ,SAAAA,CAAU9L,QAAQ,CAAC9D,MAAM,CAAC5c,KAAMioB,CAAAA,MAAM,CAAC1jB,EAAE,EAAE;oBAC9DmoB,eAAiB1nB,EAAAA,IAAAA,GAAOA,IAAKT,CAAAA,EAAC,GAAI,IAAA;AACtC,iBAAA,CAAA,CAAA;AAEAjE,gBAAAA,IAAAA,CAAK,SAAWkT,EAAAA,QAAAA,CAAAA,CAAAA;AACpB,aAAA,CAAE,OAAO9R,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMo6B,iBAAiBv6B,OAAgC,CAAA,IAAA,CAAA,CAAA;AAEvD,QAAA,MAAMw9B,4BAA4B,CAAC/5B,IAAAA,GAAAA;YAC/B,IAAI82B,cAAAA,CAAej7B,KAAK,EAAE;gBACtBi7B,cAAej7B,CAAAA,KAAK,CAAC6jB,aAAa,CAAC1f,IAAAA,CAAAA,CAAAA;AACvC,aAAA;YAEA,IAAIA,IAAAA,CAAK0b,QAAQ,EAAE;gBACfpgB,IAAK,CAAA,SAAA,EAAW0E,KAAK0b,QAAQ,CAAA,CAAA;AACjC,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMse,4BAA4B,CAACh6B,IAAAA,GAAAA;YAC/B,IAAI82B,cAAAA,CAAej7B,KAAK,EAAE;gBACtBi7B,cAAej7B,CAAAA,KAAK,CAACikB,aAAa,CAAC9f,IAAAA,CAAAA,CAAAA;AACvC,aAAA;YAEA,IAAIA,IAAAA,CAAK0b,QAAQ,EAAE;gBACfpgB,IAAK,CAAA,SAAA,EAAW0E,KAAK0b,QAAQ,CAAA,CAAA;AACjC,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAM6S,eAAe,CAAC7xB,CAAAA,GAAAA;AAClBpB,YAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,SAAA,CAAA;QAEA,OAAO;AACH6xB,YAAAA,YAAAA;AACAuL,YAAAA,yBAAAA;AACAC,YAAAA,yBAAAA;AACAC,YAAAA,yBAAAA;AACAlD,YAAAA,cAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;kBAKc,GAAA;IAAgC/0B,KAAA,EAAA,MAAA;AAAA,CAAA,CAAA;kBAAA,mBAAY2sB,sBAAAA,CAAA,MAAA,IAAA,EAAA;oBAAAA,uBAAA,GAAA,EAAA;QAAA3sB,KAAA,EAAA,oBAAA;AAAA,KAAA,CAAA;uCACrC,CAAA,cAAA,CAAA;;AAWX,MAAA0sB,YAAA,GAAA;IAAA1sB,KAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAAI,MAAAutB,+BAAAZ,uBAAS,IAAY,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;kBAAG,mBAAMA,sBAAAA,CAAA,MAAA,IAAA,EAAA;oBAAAA,uBAAA,GAAA,EAAA;QAAA3sB,KAAA,EAAA,YAAA;AAAA,KAAA,CAAA;uCAEvB,CAAA,QAAA,CAAA;;AASK,MAAA2tB,YAAA,GAAA;IAAA3tB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;kBAhH5B,GAAA;IAgHwCA,KAAA,EAAA,iBAAA;AAAA,CAAA,CAAA;AAAA,MAAA4tB,YAAA,mBAAAjB,sBAAAA,CAAY,QAAW,IAAA,EAAA;AAAA,oBAAAnxB,mBAAA,CAAA,QAAA,CAAA;2CA2BpC,MAAiB,EAAA;QAAAwE,KAAA,EAAA,WAAA;KAAA,EAAA,WAAA,CAAA;;kBA3I5C,GAAA;IAmJwCA,KAAA,EAAA,iBAAA;AAAA,CAAA,CAAA;AAAA,MAAA8tB,aAAA,mBAAAnB,sBAAAA,CAAY,QAAc,IAAA,EAAA;AAAA,oBAAAnxB,mBAAA,CAAA,QAAA,CAAA;;;;;;;;;;;sCA5D9DX,oBAkEM,CAAA,gBAAA,CAAA,CAAA;WAhEEsyB,aAAAA,EAAAA,EAAqDC,sBAAA,CAAA,KAAA,EAAA,IAAA,EAAA;AAAAT,QAAAA,sBAAAA,CACrD,OAKMU,YAAA,EAAA;AAAAZ,YAAAA,YAAAA;mCAHcvL,OAAOwL,YAAA,EAAA;AAAArxB,gBAAAA,eAAAA,CACV68B,6BAA2B,EAAA;oBAAA,WAAAh9B,EAAAA,IAAAA,CAAAgmB,MAAA,CAAAyE,eAAA;;;;;;AAKhD,aAAA,CAAA;AAEA,SAAA,CAAA;AAAA4H,QAAAA,YAAAA;AAGIZ,QAAAA,sBAAAA,CAAA,OAgDM,IAhDN,EAAA;AAAAC,YAAAA,YAAAA;AAkCwBD,YAAAA,sBAAAA,CAAA,OAAAgB,YAAA,EAAA;AAAAhB,gBAAAA,sBAAAA,CA/BR,OAAeE,YAAA,EAAA;AAAAxxB,oBAAAA,eAAAA,CACV88B,wBAAiB,EAAA;wBACzB39B,GAAA,EAAA,eAAA;wBACA,UAAKU,EAAAA,IAAAA,CAAAgmB,MAAA,CAAArnB,QAAA;wBAAAmwB,SAAA,EAAA,KAAA;wBAEK/oB,KAAM,EAAA;4BAAAif,OACb,EAAA;gCAA2D0J,UADvC1uB,EAAAA,IAAAA,CAAAgmB,MAAA,CAAA0I,UAAA;AAAA,6BAAA;AAAA,yBAAA;qBAAA,EAAA;8BAGpBxuB,EAAAA,WAAAA,CAGE,CAAAnC,KAAA,GAAA;AAAA20B,gCAAAA,YAAAA;gDADcwK,qBAAK,EAAA;AAAAnY,oCAAAA,IAAAA,EAAAhnB,MAAAgnB,IAAA;;AAGd,iCAAA,EAAA,MAAM,CAAO,EAAA;AAAA,oCAAA,MAAA;AAAA,oCAAA,MAAA;AAAA,iCAAA,CAAA;AAAA,6BAAA,CAAA;wBAEX1e,MAAAnG,EAAAA,WAAAA,CAAQ,CAAInC,KAAA,GAAA;AAAAoC,gCAAAA,eAAAA,CACLg9B,yBAAK,EAAA;AAAApY,oCAAAA,IAAAA,EAAAhnB,MAAAgnB,IAAA;;AAId,iCAAA,EAAA,MAAW;;AAShB,oCAAA,MAAA;AATuB,iCAAA,CAAA;AAAA,6BAAA,CAAA;wBAEfqY,WAAAl9B,EAAAA,WAAAA,CAAW,CAAOnC,KAAA,GAAA;iCAChBk0B,aAAAA,EAAAA,EAAE0B,gBAAW0J,oCAAO,EAAA;oCAC3B9gC,GAAaypB,EAAAA,KAAAA,CAAAA,IAAAA,CAAAA,OAAAA;oCACb,SAAQjoB,EAAAA,KAAAA,CAAEioB,IAAAA,CAAAA,OAAAA;oCACV,aAAS8W,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,EAAAA;oCACT,UAASC,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,QAAAA;AACTra,oCAAAA,SAAAA,EAAQ4O,KAAAA,yBAAAA;AAAAA,oCAAAA,SAAAA,EAAAA,KAAAA,yBAAAA;;AAtIzC,iCAAA,EAAA,MAAA,CAAA,EAAA;AAAA,oCAAA,SAAA;AAAA,oCAAA,aAAA;AAAA,oCAAA,UAAA;AAAA,oCAAA,WAAA;AAAA,oCAAA,WAAA;AAAA,oCAAA,UAAA;iCAAA,CAAA;AAAA,6BAAA,CAAA;;AA2IgB,qBAAA,EAAA,CAAA,EAAA;AAAA,wBAAA,UAAA;AAWM,wBAAA,OAAA;AAXN,qBAAA,CAAA;AAAA,iBAAA,CAAA;uCAEY,OAAgBM,YAAA,EAAA;AAAAzxB,oBAAAA,eAAAA,CACXm9B,yBAAiB,EAAA;wBACzBh+B,GAAA,EAAA,gBAAA;wBACA,UAAKU,EAAAA,IAAAA,CAAAgmB,MAAA,CAAArnB,QAAA;wBAAAmwB,SAAA,EAAA,KAAA;wBAEK/oB,KAAM,EAAA;mCACb,EAAA;gCAA6DozB,WAAAn5B,EAAAA,IAAAA,CAAAgmB,MAAA,CAAA1jB,EAAA;AAAA,6BAAA;AAAA,yBAAA;qBAAA,EAAA;;AAnJzFswB,gCAAAA,aAAAA;AAAA,6BAAA,CAAA;;;;;;;;;;;;;;;;;;ACmBA,kBAAel1B,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAs+B,aAAe,EAAA;YACXt/B,IAAM+E,EAAAA,KAAAA;YACN/D,QAAU,EAAA,IAAA;AACd,SAAA;QACAu+B,cAAgB,EAAA;YACZv/B,IAAMC,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACAC,KAAO,EAAA;AACH,QAAA,GAAG+oB,yBAA+C,EAAA;;AAElDwU,QAAAA,MAAAA,EAAQ,CAAC+B,OAAiC,GAAA,IAAA;;AAE1CrvB,QAAAA,KAAAA,EAAO,CAACqvB,OAAiC,GAAA,IAAA;AAC7C,KAAA;IACAr/B,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAM3B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW2T,CAAAA,oBAAoB,CAAC,CAAC;AAC1C3/B,YAAAA,KAAAA;AACAK,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMiB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AAEjB,QAAA,MAAMq+B,SAAS9b,YAAS,CAAA,IAAA;YACpB,IAAI,CAAC9jB,KAAMw/B,CAAAA,aAAa,EAAE;gBACtB,OAAO,KAAA,CAAA;AACX,aAAA;YAEA,OAAOx/B,KAAAA,CAAMw/B,aAAa,CAACp2B,SAAS,CAAC,CAACy2B,IAAAA,GAASnhC,QAAQd,IAAI,CAACiD,SAASg/B,IAAAA,KAASnhC,QAAQd,IAAI,CAACiD,KAAK,CAAC0D,EAAE,MAAM,CAAC,CAAA,CAAA;AAC9G,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMu7B,UAAUhc,YAAS,CAAA,IAAMplB,OAAQd,CAAAA,IAAI,CAACiD,KAAM,IAAGb,KAAMy/B,CAAAA,mBAAmB/gC,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAC0D,EAAE,CAAA,CAAA;AAEnG,QAAA,MAAMo5B,MAAS,GAAA,IAAA;AACXt9B,YAAAA,KAAAA,CAAMC,IAAI,CAAC,QAAA,EAAU5B,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAA,CAAA;AAC3C,SAAA,CAAA;AAEA,QAAA,MAAMk/B,UAAa,GAAA,IAAA;AACf1/B,YAAAA,KAAAA,CAAMC,IAAI,CAAC,OAAA,EAAS5B,OAAQd,CAAAA,IAAI,CAACiD,KAAK,CAAA,CAAA;AAC1C,SAAA,CAAA;QAEA,OAAO;AACH2G,YAAAA,IAAAA,EAAM9I,QAAQyW,MAAM;AACpByqB,YAAAA,MAAAA;AACAG,YAAAA,UAAAA;AACAD,YAAAA,OAAAA;AACAnC,YAAAA,MAAAA;AACAr8B,YAAAA,IAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;AAmCe,MAAA8yB,YAAA,GAAA;IAAArtB,KAAM,EAAA,OAAA;AAAM,CAAA,CAAA;AA/G7B,MAAAysB,YAAA,GAAA;IAAAzsB,KAAA,EAAA,8BAAA;AAAA,CAAA,CAAA;AAsHoB,MAAA0sB,YAAA,GAAA;IAAA1sB,KAAA,EAAA,MAAA;AAAA,CAAA,CAAA;;;;MAAA4sB,YAAyB,mBAAAD,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,aAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;;;AAtChC,SAAAi5B,aAAAA,CAhFb/9B,IAgFc,EAAAH,MAAA,EAAAm+B,MAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,QAAA,EAAA;;AAGNr5B,QAAAA,KAAAA,EAOMmuB,kBAAA,CAAA;AAAA,YAAA,uDAAA;AAAA,YAAA;AAAA,gBAAA,SAAA,EAAAjzB,KAAA29B,MAAA;AAAA,aAAA;AAAA,SAAA,CAAA;KAAA,EAAA;AALIlM,QAAAA,sBAAAA,CAAA,KAAA,EAAA;YAAA3sB,KAAA,EAAA,iDAAA;AAENd,YAAAA,OAAAA,EAAAnE,MAAA,CAAA,CAAA,CAAA,KAEOA,MAFP,CAAA,CAAA,CAAA,GAAAC,kBAEO,CADAkmB,GAAAA,OAAAA,IAAO8X,CAAAA,UAAI,IAAA99B,IAAA89B,CAAAA,UAAA,IAAA/9B,IAAA,CAAA,EAAA;AAAA,gBAAA,SAAA;aAAA,CAAA,CAAA;SAAA,EAAA;AAGtB0xB,YAAAA,sBAAAA,CA8BM,QA9BNU,YA8BMK,EAAAA,mBAAAA,CAAAxyB,KAAAgmB,MAAA,CAAAvnB,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AA3Ba++B,QAAAA,sBAAAA,CAAAA,OAAcjM,YAAIsM,EAAAA;AAD7BpM,YAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;gBAAA,CAAAzxB,IAAAA,CA7FhBw9B,+CA+FiCtL,EAAAA,EAAAA,sBAAAA,CAAA,QAAA,EAAA;oBACb31B,GAAK,EAAA,CAAA;oBAAA0B,IAAA,EAAA,QAAA;AACoG6G,oBAAAA,KAAAA,EAAAmuB,kBAAA,CAAA;AAAA,wBAAA,YAAA;AAAA,wBAAA;4BAAA,aAAA,EAAA,CAAAjzB,KAAA69B,OAAA;AAInG,4BAAA,aAAA,EAAA79B,KAAA69B,OAAA;AAAA,yBAAA;AAAA,qBAAA,CAAA;AAEN75B,oBAAAA,OAAAA,EAKEnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAA07B,CAAAA,MAAA,IAAA17B,IAAA07B,CAAAA,MAAA,IAAA37B,IAAA,CAAA,EAAA;AAAA,wBAAA,SAAA;qBAAA,CAAA,CAAA;iBAAA,EAAA;;;;;;AA5GtB,qBAAA,EAAA,IAAA,EAAA,CAAA,CAAA;iBAAA,EAAA,CAAA,CAAA,IA+GYwzB,sBAAAA,CASM,EATN,EAAA,IAAA,CAAA;AAAA,aAAA,CAAA;AAEqB9B,YAAAA,sBAAAA,CAAA,OAAAD,YAAA,EAAA;AACPC,gBAAAA,sBAAAA,CAAA,QAAA,EAAA;oBACLxzB,IAAA,EAAA,QAAA;oBACA6G,KAAK,EAAA,uBAAA;AApH1BV,oBAAAA,QAAAA,EAAApE,KAAAX,IAAA;AAAA2E,oBAAAA,OAAAA,EAAAnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAuF,CAAAA,IAAA,IAAAvF,IAAAuF,CAAAA,IAAA,IAAAxF,IAAA,CAAA,EAAA;AAAA,wBAAA,SAAA;qBAAA,CAAA,CAAA;;;;;;;;;;;;;ACeA,MAAMq+B,uBAAuB1gC,mBAAgB,CAAA;IACzCK,KAAO,EAAA;AACH,QAAA,GAAG+H,eAAqC,EAAA;QACxC9H,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAkJ,KAAO/J,EAAAA,MAAAA;IACP8C,KAAOsH,EAAAA,gBAAAA,EAAAA;IACPrH,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;;AAGd,QAAA,MAAM,EACFmnB,MAAM,EACND,WAAW,EACd,GAAGZ,UAAW,CAAA;AACXzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW2T,CAAAA,oBAAoB,CAAC,CAAC;AAC1C3/B,YAAAA,KAAAA;AACAK,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;QAEAknB,WAAY,CAAA;YACRlf,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,4CAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAA;;AClCA,kBAAe7nB,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACH6/B,IAAM,EAAA;YACF3/B,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAo/B,YAAc,EAAA;YACVpgC,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,MAAA;AAAO,KAAA;AACfC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAG,EAAG,EAAA;AACjB,QAAA,MAAMuO,OAAOiV,YAAS,CAAA,IAAA;AAClB,YAAA,IAAIyc,QAAWvgC,GAAAA,KAAAA,CAAM6/B,IAAI,CAACn/B,IAAI,CAAA;AAC9B,YAAA,IAAIV,KAAM6/B,CAAAA,IAAI,CAACW,kBAAkB,EAAE;gBAC/BD,QAAWvgC,GAAAA,KAAAA,CAAM6/B,IAAI,CAACW,kBAAkB,CAAA;AAC5C,aAAA;YACA,OAAOD,QAAAA,CAAAA;AACX,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM/4B,IAAO,GAAA,IAAA;YACTlH,IAAK,CAAA,MAAA,EAAQN,MAAM6/B,IAAI,CAAA,CAAA;AAC3B,SAAA,CAAA;QAEA,OAAO;AACHhxB,YAAAA,IAAAA;AACArH,YAAAA,IAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;AAKgB,MAAA4sB,YAAA,GAAA;IAAArtB,KAAM,EAAA,uDAAA;AAAO,CAAA,CAAA;AAIlB,MAAAysB,YAAA,GAAA;IAAAzsB,KAAM,EAAA,cAAA;AAAS,CAAA,CAAA;AAMZ,MAAA0sB,YAAA,GAAA;IAAA1sB,KAAA,EAAA,OAAA;AAAA,CAAA,CAAA;;;;MAAA4sB,YAA4B,mBAAAD,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,gBAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;;;AAXpC,SAAAi5B,aAAAA,CAAA/9B,IAAA,EAIMH,QAJNm+B,MAIM,EAAAC,MAAA,EAAAC,KAAA,EAAAC,QAAA,EAAA;IAHF,OAAAlM,aAAAA,EAAAA,EAAAC,sBAEO,CAAA,KAAA,EADAtlB,YAAAA,EAAAA;AAAAA,QAAAA,sBAAAA,CAAAA,OAAAA,YAAAA,EAAAA;AAGX6kB,YAAAA,sBAAAA,CAQM,MARND,EAAAA,YAAAA,EAQMgB,mBAAAxyB,CAAAA,IAAAA,CAAA4M,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AANe6kB,QAAAA,sBAAAA,CAAA,OAAAY,YAAA,EAAA;AAAAZ,YAAAA,sBAAAA,CACP,QAAqB,EAAA;gBAC1BxzB,IAAA,EAAA,QAAA;gBAtDjB6G,KAAA,EAAA,qBAAA;AAAAd,gBAAAA,OAAAA,EAAAnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAuF,CAAAA,IAAA,IAAAvF,IAAAuF,CAAAA,IAAA,IAAAxF,IAAA,CAAA,EAAA;AAAA,oBAAA,SAAA;iBAAA,CAAA,CAAA;;;;;;;;;;;;ACyBA,kBAAerC,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRygC,QAAAA,oBAAAA;AACAI,QAAAA,iBAAAA;AACAC,QAAAA,aAAAA;AACJ,KAAA;IACA1gC,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAy/B,UAAY,EAAA;YACRzgC,IAAM5C,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACA8C,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,QAAA;AAAU,QAAA,mBAAA;AAAoB,KAAA;AACnFC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAG,EAAG,EAAA;AACjB,QAAA,MAAMsgC,UAAa/d,GAAAA,oBAAAA,EAAAA,CAAAA;AACnB,QAAA,MAAMoa,aAAgBha,GAAAA,uBAAAA,EAAAA,CAAAA;AAEtB,QAAA,MAAM4d,iBAAiBt/B,OAAI,CAAA,IAAA,CAAA,CAAA;QAC3B,IAAIvB,KAAAA,CAAM2gC,UAAU,EAAE;YAClBE,cAAehgC,CAAAA,KAAI,GAAIb,KAAAA,CAAM2gC,UAAU,CAAA;AAC3C,SAAA;AACA,QAAA,MAAMG,mBAAmBhd,YAAS,CAAA,IAAA;YAC9B,IAAI+c,cAAAA,CAAehgC,KAAK,EAAE;gBACtB,OAAOggC,cAAAA,CAAehgC,KAAK,CAAC0D,EAAE,CAAA;AAClC,aAAA;YAEA,OAAOpG,SAAAA,CAAAA;AACX,SAAA,CAAA,CAAA;QAEA,MAAM4iC,SAAAA,GAAYx/B,QAAY,EAAE,CAAA,CAAA;QAEhC,MAAMy/B,QAAAA,GAAWz/B,QAAc,EAAE,CAAA,CAAA;AACjC,QAAA,MAAM0/B,YAAY1/B,OAAa,CAAA,KAAA,CAAA,CAAA;AAC/B,QAAA,MAAM2/B,gBAAgB3/B,OAAa,CAAA,IAAA,CAAA,CAAA;AACnC,QAAA,MAAMD,OAAOC,OAAa,CAAA,KAAA,CAAA,CAAA;AAE1B,QAAA,MAAM4/B,eAAe5/B,OAAwC,CAAA,IAAA,CAAA,CAAA;QAC7D,MAAM6/B,aAAAA,GAAgBtd,YAAyC,CAAA,KAAO;gBAClEmD,OAAS,EAAA;oBACLmU,WAAap7B,EAAAA,KAAAA,CAAMioB,MAAM,CAACmT,WAAW;oBACrCiG,SAAWrhC,EAAAA,KAAAA,CAAMioB,MAAM,CAAC1jB,EAAE;AAC9B,iBAAA;aACJ,CAAA,CAAA,CAAA;AAEA,QAAA,MAAMmgB,gBAAgB,CAACuD,MAAAA,GAAAA;YACnB,IAAIkZ,YAAAA,CAAatgC,KAAK,EAAE;gBACpBsgC,YAAatgC,CAAAA,KAAK,CAAC6jB,aAAa,CAACuD,MAAAA,CAAAA,CAAAA;AACrC,aAAA;AAEA3nB,YAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;AACA,QAAA,MAAMnD,gBAAgB,CAACmD,MAAAA,GAAAA;YACnB,IAAIkZ,YAAAA,CAAatgC,KAAK,EAAE;gBACpBsgC,YAAatgC,CAAAA,KAAK,CAACikB,aAAa,CAACmD,MAAAA,CAAAA,CAAAA;AACrC,aAAA;AAEA,YAAA,MAAMqZ,gBAAgBN,QAASngC,CAAAA,KAAK,CAAC4U,OAAO,CAACwS,OAAO1jB,EAAE,CAAA,CAAA;YACtD,IAAI+8B,aAAAA,KAAkB,CAAC,CAAG,EAAA;AACtBN,gBAAAA,QAAAA,CAASngC,KAAK,CAAC2I,MAAM,CAAC83B,aAAe,EAAA,CAAA,CAAA,CAAA;AACzC,aAAA;AAEAhhC,YAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;AAEA,QAAA,MAAMrD,gBAAgB,CAACqD,MAAAA,GAAAA;YACnB,IAAIkZ,YAAAA,CAAatgC,KAAK,EAAE;gBACpBsgC,YAAatgC,CAAAA,KAAK,CAAC+jB,aAAa,CAACqD,MAAAA,CAAAA,CAAAA;AACrC,aAAA;AAEA3nB,YAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;QAEA,MAAMsZ,MAAAA,GAASjX,oBAAoBhpB,IAAM,EAAA,UAAA;AACrC,YAAA,IAAIy/B,SAAUlgC,CAAAA,KAAK,CAACrD,WAAW,CAAG,EAAA,OAAA;AAElC,YAAA,IAAI,CAACwC,KAAAA,CAAMioB,MAAM,CAACiV,WAAW,EAAE;gBAC3B58B,IAAK,CAAA,QAAA,EAAU,IAAIqB,KAAM,CAAA,0CAAA,CAAA,CAAA,CAAA;AAC7B,aAAA;YAEA,IAAI;AACA,gBAAA,MAAM6/B,WAAW,IAAInyB,QAAAA,EAAAA,CAAAA;gBACrB,IAAK,IAAI9R,IAAI,CAAGA,EAAAA,CAAAA,GAAIwjC,UAAUlgC,KAAK,CAACrD,MAAM,EAAED,CAAK,EAAA,CAAA;AAC7CikC,oBAAAA,QAAAA,CAASC,MAAM,CAAC,CAAC,MAAM,EAAElkC,CAAAA,CAAE,CAAC,CAAC,EAAEwjC,SAAAA,CAAUlgC,KAAK,CAACtD,CAAE,CAAA,CAAA,CAAA;AACrD,iBAAA;AAEA,gBAAA,MAAM,EACFK,IAAAA,EAAM8jC,WAAW,EACrB,GAAI,MAAMzE,aAAAA,CAAcE,MAAM,CAACoE,MAAM,CACjCvhC,KAAAA,CAAMioB,MAAM,CAACiV,WAAW,EACxBsE,QAAAA,CAAAA,CAAAA;AAGJ,gBAAA,IAAK,IAAIjkC,CAAI,GAAA,CAAA,EAAGA,IAAImkC,WAAYlkC,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;AACzC,oBAAA,MAAMsiC,OAAO,MAAMe,UAAAA,CAAWhgB,kBAAkB,CAACjE,MAAM,CAAC;AACpDugB,wBAAAA,WAAAA,EAAawE,WAAW,CAACnkC,CAAE,CAAA,CAACgH,EAAE;wBAC9B88B,SAAWrhC,EAAAA,KAAAA,CAAMioB,MAAM,CAAC1jB,EAAE;wBAC1B62B,WAAap7B,EAAAA,KAAAA,CAAMioB,MAAM,CAACmT,WAAW;AACrC16B,wBAAAA,IAAAA,EAAMghC,WAAW,CAACnkC,CAAE,CAAA,CAACsR,IAAI;AAC7B,qBAAA,CAAA,CAAA;oBAEA6V,aAAcmb,CAAAA,IAAAA,CAAAA,CAAAA;AAClB,iBAAA;gBAEAkB,SAAUlgC,CAAAA,KAAM,GAAE,EAAE,CAAA;gBAEpBP,IAAK,CAAA,UAAA,CAAA,CAAA;AACT,aAAA,CAAE,OAAOoB,CAAG,EAAA;AACRpB,gBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMigC,YAAAA,GAAerX,oBAAoBhpB,IAAM,EAAA,UAAA;AAC3C,YAAA,IAAI0/B,QAASngC,CAAAA,KAAK,CAACrD,WAAW,CAAG,EAAA,OAAA;YAEjC,IAAI;gBACA,IAAK,IAAID,IAAI,CAAGA,EAAAA,CAAAA,GAAIyjC,SAASngC,KAAK,CAACrD,MAAM,EAAED,CAAK,EAAA,CAAA;oBAC5C,MAAMsiC,IAAAA,GAAO,MAAMe,UAAAA,CAAWhgB,kBAAkB,CAACzL,MAAM,CAAC6rB,QAAAA,CAASngC,KAAK,CAACtD,CAAE,CAAA,CAAA,CAAA;oBACzEunB,aAAc+a,CAAAA,IAAAA,CAAAA,CAAAA;AAClB,iBAAA;AACJ,aAAA,CAAE,OAAOn+B,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMkgC,cAAiB,GAAA,IAAA;YACnB,IAAIX,SAAAA,CAAUpgC,KAAK,EAAE;gBACjB,IAAIsgC,YAAAA,CAAatgC,KAAK,EAAE;AACpBmgC,oBAAAA,QAAAA,CAASngC,KAAI,GAAI,YAACsgC,CAAatgC,KAAK,CAACjD,IAAG,CACnC6N,GAAG,CAAC,CAACo0B,IAAAA,GAASA,KAAKt7B,EAAE,CAAA,CAAA;AAC9B,iBAAA;aACG,MAAA;gBACHy8B,QAASngC,CAAAA,KAAM,GAAE,EAAE,CAAA;AACvB,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMghC,aAAa,CAAChC,IAAAA,GAAAA;YAChB,MAAM12B,KAAAA,GAAQ63B,QAASngC,CAAAA,KAAK,CAACuI,SAAS,CAAC,CAACC,EAAAA,GAAOA,EAAOw2B,KAAAA,IAAAA,CAAKt7B,EAAE,CAAA,CAAA;YAC7D,IAAI4E,KAAAA,KAAU,CAAC,CAAG,EAAA;AACd63B,gBAAAA,QAAAA,CAASngC,KAAK,CAACgG,IAAI,CAACg5B,KAAKt7B,EAAE,CAAA,CAAA;aACxB,MAAA;AACHy8B,gBAAAA,QAAAA,CAASngC,KAAK,CAAC2I,MAAM,CAACL,KAAO,EAAA,CAAA,CAAA,CAAA;AACjC,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAM24B,YAAYvgC,OAAmB,CAAA,IAAA,CAAA,CAAA;AAErC,QAAA,MAAMwgC,iBAAiB,CAACn/B,MAAAA,GAAAA;AACpBA,YAAAA,MAAAA,CAAOuD,cAAc,EAAA,CAAA;YAErB,IAAK,IAAI5I,CAAI,GAAA,CAAA,EAAGA,CAAIqF,GAAAA,MAAAA,CAAO8Y,MAAM,CAACsmB,KAAK,CAACxkC,MAAM,EAAED,CAAK,EAAA,CAAA;gBACjDwjC,SAAUlgC,CAAAA,KAAK,CAACgG,IAAI,CAACjE,OAAO8Y,MAAM,CAACsmB,KAAK,CAACzkC,CAAE,CAAA,CAAA,CAAA;AAC/C,aAAA;YAEA,IAAIukC,SAAAA,CAAUjhC,KAAK,EAAE;AACjBihC,gBAAAA,SAAAA,CAAUjhC,KAAM,GAAE,EAAA,CAAA;AACtB,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMohC,eAAe,CAACr/B,MAAAA,GAAAA;AAClB,YAAA,MAAMuG,QAAQ43B,SAAUlgC,CAAAA,KAAK,CAACuI,SAAS,CAAC,CAACy2B,IAAAA,GAAAA;AACrC,gBAAA,IACIn7B,cAAem7B,CAAAA,IAAAA,EAAM,oBACrBn7B,CAAAA,IAAAA,cAAAA,CAAe9B,QAAQ,oBACzB,CAAA,EAAA;AACE,oBAAA,OAAOi9B,IAAKW,CAAAA,uBAAuB59B,MAAAA,CAAO49B,kBAAkB,CAAA;AAChE,iBAAA;AACA,gBAAA,OAAOX,IAAKn/B,CAAAA,IAAK,KAAIkC,MAAAA,CAAOlC,IAAI,CAAA;AACpC,aAAA,CAAA,CAAA;YAEA,IAAIyI,KAAAA,KAAU,CAAC,CAAG,EAAA;AACd43B,gBAAAA,SAAAA,CAAUlgC,KAAK,CAAC2I,MAAM,CAACL,KAAO,EAAA,CAAA,CAAA,CAAA;AAClC,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAM+4B,uBAAuB,OAAOrC,IAAAA,GAAAA;YAChC,IAAIgB,cAAAA,CAAehgC,KAAK,EAAE;AACtB,gBAAA,IAAIggC,eAAehgC,KAAK,CAAC0D,OAAOs7B,IAAAA,CAAKt7B,EAAE,EAAE;AACrC,oBAAA,MAAMq8B,WAAWhgB,kBAAkB,CAAChE,MAAM,CAACijB,IAAAA,CAAKt7B,EAAE,EAAE;wBAChD49B,IAAM,EAAA,KAAA;AACV,qBAAA,CAAA,CAAA;AAEAtB,oBAAAA,cAAAA,CAAehgC,QAAQ,IAAA,CAAA;AAEvBP,oBAAAA,IAAAA,CAAK,mBAAqB,EAAA,IAAA,CAAA,CAAA;iBACvB,MAAA;oBACH,MAAMsgC,UAAAA,CAAWhgB,kBAAkB,CAAChE,MAAM,CAACikB,cAAehgC,CAAAA,KAAK,CAAC0D,EAAE,EAAE;wBAChE49B,IAAM,EAAA,KAAA;AACV,qBAAA,CAAA,CAAA;AAEA,oBAAA,MAAMvB,WAAWhgB,kBAAkB,CAAChE,MAAM,CAACijB,IAAAA,CAAKt7B,EAAE,EAAE;wBAChD49B,IAAM,EAAA,IAAA;AACV,qBAAA,CAAA,CAAA;AAEAtB,oBAAAA,cAAAA,CAAehgC,QAAQg/B,IAAAA,CAAAA;AAEvBv/B,oBAAAA,IAAAA,CAAK,mBAAqBu/B,EAAAA,IAAAA,CAAAA,CAAAA;AAC9B,iBAAA;aACG,MAAA;AACH,gBAAA,MAAMe,WAAWhgB,kBAAkB,CAAChE,MAAM,CAACijB,IAAAA,CAAKt7B,EAAE,EAAE;oBAChD49B,IAAM,EAAA,IAAA;AACV,iBAAA,CAAA,CAAA;AAEAtB,gBAAAA,cAAAA,CAAehgC,QAAQg/B,IAAAA,CAAAA;AAEvBv/B,gBAAAA,IAAAA,CAAK,mBAAqBu/B,EAAAA,IAAAA,CAAAA,CAAAA;AAC9B,aAAA;AACJ,SAAA,CAAA;QAEA,OAAO;AACHqB,YAAAA,aAAAA;AACA5/B,YAAAA,IAAAA;AACAygC,YAAAA,cAAAA;AACAhB,YAAAA,SAAAA;AAEAC,YAAAA,QAAAA;AACAC,YAAAA,SAAAA;AACAU,YAAAA,YAAAA;AACAC,YAAAA,cAAAA;AAEAK,YAAAA,YAAAA;AAEAV,YAAAA,MAAAA;AAEA7c,YAAAA,aAAAA;AACAI,YAAAA,aAAAA;AACAF,YAAAA,aAAAA;AAEAid,YAAAA,UAAAA;AAEAhB,YAAAA,cAAAA;AACAC,YAAAA,gBAAAA;AACAoB,YAAAA,oBAAAA;AAEAJ,YAAAA,SAAAA;AACAX,YAAAA,YAAAA;AACAC,YAAAA,aAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;AAMc,MAAAhN,YAAA,GAAA;IAAArtB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;AAAI,MAAAysB,YAAA,GAAA;IAAAzsB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;kBAA0B,mBAAO2sB,sBAAAA,CAAA,MAAA,IAAA,EAAA;oBAAAA,uBAAA,GAAA,EAAA;QAAA3sB,KAAA,EAAA,cAAA;AAAA,KAAA,CAAA;uCAC1B,CAAA,SAAA,CAAA;;AAnR3B,MAAAutB,YAAA,GAAA;IAAAvtB,KAAA,EAAA,YAAA;AAAA,CAAA,CAAA;AAgSqB,MAAA4sB,YAAA,GAAA;IAAA5sB,KAAM,EAAA,YAAA;AAAY,CAAA,CAAA;AACR,MAAA2tB,YAAA,GAAA;AAAA,IAAA,iBAAA;AAAA,IAAA,UAAA;AAAA,CAAA,CAAA;AAOP,MAAAd,YAAA,GAAA;IAAA7sB,KAAA,EAAA,YAAA;AAAA,CAAA,CAAA;AACI,MAAA4tB,YAAM,GAAA;IAAkB5tB,KAAA,EAAA,wBAAA;AAAA,CAAA,CAAA;AACrB,MAAA8sB,YAAC,mBAA2BH,sBAAAA,CAAA,OAAA,EAAA;IAClC3sB,KAAA,EAAA,kBAAA;IAAA7H,GAAA,EAAA,2BAAA;AAMR,CAAA,EAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;AAjTjB,MAAA21B,aAAA,GAAA;IAAA9tB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;;;;AAAA,MAAAguB,aAAA,mBAAAqN,qBAAAA,CAAA,kTAAA,EAAA,CAAA,CAAA,CAAA;MAyUoBpN,WAAM,GAAA;IAAAx2B,GAAA,EAAA,CAAA;;;AAzU1B,MAAA22B,WAAA,GAAA;IAAApuB,KAAA,EAAA,oBAAA;AAAA,CAAA,CAAA;AAsWiB,MAAAquB,WAAA,GAAA;IAAAruB,KAAM,EAAA,YAAA;AAAK,CAAA,CAAA;;;;iBAtW5B,GAAA;IAuW6CA,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;AAEzB,MAAAgtB,WAAA,mBAAAL,sBAAAA,CAAM,IAA0B,EAAA;IAAA3sB,KAAA,EAAA,kBAAA;AAAA,CAAA,EAAA;AAAA,oBAAAxE,mBAC5B,CAAA,SAAA,CAAA;oBACImxB,uBAAA,MAAwB,EAAA;QAAhBiJ,KAAA,EAAA;YAAC,WAAY,EAAA,SAAA;AAAA,SAAA;KAAA,EAAA;wBAAAjJ,uBAAG,MAC5B,EAAA;YAAA3sB,KAAA,EAAA,cAAA;SAAA,EAAA;4BAAA2sB,uBAAA,GAAA,EAAA;gBAAA3sB,KAAA,EAAA,YAAA;AAAA,aAAA,CAAA;;;;;;IA4BKA,KAAM,EAAA,YAAA;AAAA,CAAA,CAAA;iBAoBR,mBAAY2sB,sBAAAA,CAAA,OAAA,EAAA;IAAAx0B,GAAA,EAAA,gBAAA;AAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA,CAAA;AA5ZvC,MAAAy2B,WAAA,GAAA;IAAA5uB,KAAA,EAAA,oBAAA;AAAA,CAAA,CAAA;AAmawB,MAAAs7B,WAAA,GAAA;IAAAt7B,KAAA,EAAA,YAAA;AAAA,CAAA,CAAA;;;;;;;;;;4CApJpBnF,oBAyJM,CAAA,sBAAA,CAAA,CAAA;WAvJEsyB,aAAAA,EAAAA,EA6BMC,sBAAA,CAAA,KAAA,EAAA,IAAA,EAAA;AA5BwCT,QAAAA,sBAAAA,CAAA,OAAAU,YAAA,EAAA;AAAAV,YAAAA,sBAAAA,CAC1C,OAYMF,YAAA,EAAA;AAAAC,gBAAAA,YAAAA;uCAVF,OASCa,YAAA,EAAA;AARaZ,oBAAAA,sBAAAA,CAAA,SAAAC,YAAAc,EAAAA,mBAAAA,CAAAxyB,KAAAi/B,aAAA,GAAA,gBAAA,OAAA,CAAA,EAAA,CAAA,CAAA;AACKxN,oBAAAA,sBAAAA,CAAA,OAAA,EAAA;wBACfnvB,EAAI,EAAA,OAAA;wBACHhD,GAAA,EAAA,WAAA;wBACDrB,IAAK,EAAA,MAAA;AACLoiC,wBAAAA,eAAAA,EAAQrgC,KAAAi/B,aAAA;wBACPn6B,KAAA,EAAA,cAAA;wBACAw7B,QAAM,EAAA,EAAA;AA7R/BC,wBAAAA,QAAAA,EAAAvgC,KAAAX,IAAA;AAAA6sB,wBAAAA,QAAAA,EAAArsB,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAAE,OAAAC,IAAA8/B,CAAAA,cAAA,IAAA9/B,IAAA8/B,CAAAA,cAAA,IAAA//B,IAAA,CAAA,CAAA;AAgSgB,qBAAA,EAaM,MAAA,EAAA0yB,EAAAA,YAAAA,CAAAA;AAAA,iBAAA,CAAA;AAXEhB,gBAAAA,sBAAAA,CAAA,OAAAE,YAAA,EAAA;AAAAF,oBAAAA,sBAAAA,CACO,OAA2BiB,YAAA,EAAA;AAnS1D8N,wBAAAA,kBAAAA,CAAA/O,uBAAA,OAAA,EAAA;4BAqS4BnvB,EAAA,EAAA,2BAAA;AACA,4BAAA,qBAAA,EAAezC,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAc,MAAAA,GAAAX,IAAAi/B,CAAAA,aAAA,GAAAt+B,MAAA,CAAA;4BAAAmE,KAAA,EAAA,kBAAA;;;AAEnB,4BAAA;AAGuB27B,gCAAAA,kBAAAA;AAAAzgC,gCAAAA,IAAAA,CAAAi/B,aAAA;AAAA,6BAAA;AAAA,yBAAA,CAAA;;;;AAKvC,aAAA,CAAA;AAAA,SAAA,CAAA;AAqBcxN,QAAAA,sBAAAA,CAAA,OAAAmB,aAAA,EAAA;AAAAnB,YAAAA,sBAAAA,CAGc,OAAMoB,aAAA,EAAA;AAAAC,gBAAAA,aAAAA;AAxU1C9yB,gBAAAA,IAAAA,CAAA8+B,SAAA,CAAAvjC,MAAA,KAAA,CA8UgB02B,IAAAA,wCAWM,KAVFc,EAAAA,WAAAA,EAAA,gDAAA,CAAA,IAAAQ,uBAAA,EAAA,EAAA,IAAA,CAAA;AAAA9B,gBAAAA,sBAAAA,CAAA,OAIIyB,WAIE,EAAA;qBANOjB,aAAAA,CAAA,IAAAC,CAAAA,EAAAA,sBAAAA,CAAAmB,YAAA,EAAA,IAAA,EAAAkH,eAAAv6B,IAAA8+B,CAAAA,SAAA,EAAA,CAAAlB,IAAArhC,EAAAA,GAAAA,GAAAA;+BAGA01B,aAAAA,EAAAA,EAAO0B,gBAAA+M,4BAAA,EAAA;AACXnkC,4BAAAA,GAAAA;4BACAuI,KAAI,EAAA,MAAA;AAAA84B,4BAAAA,IAAAA;;;;;;AAKjB,qBAAA,CAAA,EAAA,GAAA,CAAA;AAAA,iBAAA,CAAA;AAEqBnM,gBAAAA,sBAAAA,CAAA,OAAA0B,WAAA,EAAA;AAAA1B,oBAAAA,sBAAAA,CACP,QAAqB,EAAA;wBAC1BxzB,IAAA,EAAA,QAAA;wBACA6G,KAAK,EAAA,qBAAA;AAAAV,wBAAAA,QAAAA,EACTpE,KAEDX,IAnWpB,IAAAW,KAAA8+B,SAAA,CAAAvjC,MAAA,KAAA,CAAA;AAAAyI,wBAAAA,OAAAA,EAAAnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAs/B,CAAAA,MAAA,IAAAt/B,IAAAs/B,CAAAA,MAAA,IAAAv/B,IAAA,CAAA,EAAA;AAAA,4BAAA,SAAA;yBAAA,CAAA,CAAA;;AAsWY,iBAAA,CAAA;AAAA,aAAA,CAAA;mCAUI,OAWMyzB,WAAA,EAAA;AAAA1B,gBAAAA,WAAAA;uCAPK,OAAgBC,WAAA,EAAA;AApX3CyO,oBAAAA,kBAAAA,CAAA/O,uBAAA,OAAA,EAAA;wBAsXwBnvB,EAAI,EAAA,gBAAA;AACJ,wBAAA,qBAAA,EAAMzC,MAAkB,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAc,MAAAA,GAAAX,IAAAg/B,CAAAA,SAAA,GAAAr+B,MAAA,CAAA;wBACvB1C,IAAA,EAAA,UAAA;wBAAA6G,KAAA,EAAA,kBAAA;2CAHiB,KAAAjF,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAAE,OAAAC,IAAA2/B,CAAAA,cAAA,IAAA3/B,IAAA2/B,CAAAA,cAAA,IAAA5/B,IAAA,CAAA,CAAA;AAAA,qBAAA,EAAA,MAAA,GAAA,CAAA,EAAA;AAKtB,wBAAA;AAA8C0gC,4BAAAA,kBAAAA;AAAAzgC,4BAAAA,IAAAA,CAAAg/B,SAAA;AAAA,yBAAA;AAAA,qBAAA,CAAA;AAGlDvL,oBAAAA,WAAAA;AAAA,iBAAA,CAAA;gCAEY0L,+BAAa,EAAA;oBACpB7/B,GAAA,EAAA,cAAA;AACAyG,oBAAAA,KAAAA,EAAA/F,KAAAm/B,aAAA;oBACA,eAAA,EAAA,KAAA;oBACA,cAAS1c,EAAAA,KAAAA;oBACT,mBAASE,EAAAA,KAAAA;AACTD,oBAAAA,SAAAA,EAASG,KAAAA,aAAAA;AAAAA,oBAAAA,SAAAA,EAAAA,KAAAA,aAAAA;AAECC,oBAAAA,SAAAA,EAAI9iB,KAiBL6iB,aAAA;iBAAA,EAAA;oBAfFtc,IAAArG,EAAAA,WAAAA,CAAA,CAAAnC,KAAA,GAAA;AAAA0zB,4BAAAA,sBAAAA,CAAA,OAIIiC,WASE,EAAA;iCAAAzB,aAAAA,CAXI,OAAOC,sBAAAmB,CAAAA,YAAAA,EAAA,MAAAkH,cAAAx8B,CAAAA,KAAAA,CAAApC,IAAA,EAAA,CAAAiiC,IAAAA,GAAAA;2CAGJ3L,aAAAA,EAAAA,EAAO0B,gBAAAgN,wBAAA,EAAA;AACXpkC,wCAAAA,GAAAA,EAAQqhC,KAAAt7B,EAAA;wCACRwC,KAAA,EAAA,MAAA;wCACAkhB,MAAA4X,EAAAA,IAAAA;AACA,wCAAA,gBAAA,EAAOgC,KAAAA,QAAAA;AACP,wCAAA,kBAAA,EAAe5/B,KAAO6+B,gBAAA;AACtB+B,wCAAAA,OAAAA,EAAO5gC,KAAE4/B,UAAA;AACThd,wCAAAA,SAAAA,EAAQqd,MAAAA,OAAAA;AAAAA,wCAAAA,SAAAA,EAAAA,MAAAA,OAAAA;;;;;;;;;;;;AArZ7C,6BAAA,CAAA;AAAA,yBAAA,CAAA;oBA4ZgBv/B,CAAA,EAAA,CAAA;AAAA,iBAAA,EACI,CAOS,EAAA;AAAA,oBAAA,OAAA;AAAA,oBAAA,WAAA;AAAA,oBAAA,WAAA;AAAA,oBAAA,WAAA;AAAA,iBAAA,CAAA;AANQ+wB,gBAAAA,sBAAAA,CAAA,OAAA2O,WAAA,EAAA;AACP3O,oBAAAA,sBAAAA,CAAA,QAAA,EAAA;wBACLxzB,IAAA,EAAA,QAAA;wBACA6G,KAAK,EAAA,wBAAA;AAAAV,wBAAAA,QAAAA,EAAApE,KAAAX,IAAA,IAAAW,KAAA++B,QAAA,CAAAxjC,MAAA,KAAA,CAAA;AAENyI,wBAAAA,OAAAA,EAAyBnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAA0/B,CAAAA,YAAA,IAAA1/B,IAAA0/B,CAAAA,YAAA,IAAA3/B,IAAA,CAAA,EAAA;AAAA,4BAAA,SAAA;yBAAA,CAAA,CAAA;qBAnajD,EAAA;AAAA8gC,wBAAAA,WAAAA;;;;;;;;;;;;;;;ACcA,4BAAenjC,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHk7B,UAAY,EAAA;YACRh7B,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA4kC,aAAe,EAAA;YACX7iC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA6kC,cAAgB,EAAA;YACZ9iC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;QACA8kC,YAAc,EAAA;YACV/iC,IAAM5C,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACA8C,KAAO,EAAA;AAAC,QAAA,QAAA;AAAS,KAAA;AACjB,IAAA,MAAMC,KAAML,CAAAA,CAAAA,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;AACvB,QAAA,MAAMksB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;QAElB,MAAMmgB,cAAAA,GAAiBziC,UAAMP,KAAO,EAAA,gBAAA,CAAA,CAAA;QACpC,MAAMijC,YAAAA,GAAe1iC,UAAMP,KAAO,EAAA,cAAA,CAAA,CAAA;QAClC,MAAM+iC,aAAAA,GAAgBxiC,UAAMP,KAAO,EAAA,eAAA,CAAA,CAAA;AAEnC,QAAA,MAAM4sB,oBAAoBrrB,OAAwB,CAAA,IAAA,CAAA,CAAA;AAClD,QAAA,MAAM2hC,kBAAkB3hC,OAAI,CAAA,KAAA,CAAA,CAAA;AAE5B,QAAA,MAAM4hC,qBAAqB5hC,OAA+B,CAAA,IAAA,CAAA,CAAA;AAC1D,QAAA,MAAM6hC,mBAAmB7hC,OAAI,CAAA,KAAA,CAAA,CAAA;AAE7B,QAAA,MAAM4a,UAAU2H,YAAS,CAAA,IAAA;AACrB,YAAA,IAAI3H,OAAU,GAAA,WAAA,CAAA;AAEd,YAAA,IACIyQ,kBAAkB/rB,KAAK,IACvB+rB,iBAAkB/rB,CAAAA,KAAK,CAACsb,OAAO,IAC/B,CAACyQ,iBAAAA,CAAkB/rB,KAAK,CAACsb,OAAO,CAAC5Q,KAAK,CAAC,KACzC,CAAA,EAAA;gBACE4Q,OAAU,GAAA,CAAC,SAAS,EAAEyQ,iBAAAA,CAAkB/rB,KAAK,CAACsb,OAAO,CAAC,CAAC,CAAA;AAC3D,aAAA;YAEA,OAAOA,OAAAA,CAAAA;AACX,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM0jB,OAAO/b,YAAS,CAAA,IAAA;YAClB,IAAI,CAACqf,kBAAmBtiC,CAAAA,KAAK,EAAE;gBAC3B,OAAO,QAAA,CAAA;AACX,aAAA;YAEA,OAAOsiC,kBAAAA,CAAmBtiC,KAAK,CAACH,IAAI,CAAA;AACxC,SAAA,CAAA,CAAA;QAEA,MAAM2iC,eAAAA,GAAkB/Y,oBAAoB4Y,eAAiB,EAAA,UAAA;YACzD,IAAI,CAACH,aAAcliC,CAAAA,KAAK,EAAE,OAAA;YAE1B,IAAI;gBACA,MAAMmE,IAAAA,GAAO,MAAMwnB,SAAUrM,CAAAA,WAAW,CAAC9E,MAAM,CAAC0nB,cAAcliC,KAAK,CAAA,CAAA;gBACnE,MAAM,EAAEjD,IAAI,EAAE,GAAG,MAAM4uB,SAAUpM,CAAAA,gBAAgB,CAAClF,OAAO,CAAC;oBACtD+L,OAAS,EAAA;AACLgG,wBAAAA,YAAAA,EAAcjoB,KAAKynB,kBAAkB;AACzC,qBAAA;AACJ,iBAAA,CAAA,CAAA;gBAEA,IAAI7uB,IAAAA,CAAKJ,MAAM,KAAK,CAAG,EAAA;oBACnBwH,IAAKmX,CAAAA,OAAO,GAAGnX,IAAKmX,CAAAA,OAAO,IAAIve,IAAI,CAAC,CAAE,CAAA,CAACue,OAAO,CAAA;oBAC9CnX,IAAK0oB,CAAAA,iBAAiB,GAAG1oB,IAAK0oB,CAAAA,iBAAiB,IAAI9vB,IAAI,CAAC,CAAE,CAAA,CAAC8vB,iBAAiB,CAAA;AAChF,iBAAA;AAEAd,gBAAAA,iBAAAA,CAAkB/rB,KAAK,GAAGmE,IAAAA,CAAAA;AAC9B,aAAA,CAAE,OAAOtD,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAM2hC,eAAAA,EAAAA,CAAAA;QAENviC,SAAMiiC,CAAAA,aAAAA,EAAe,OAAOliC,KAAO4iB,EAAAA,QAAAA,GAAAA;YAC/B,IAAI5iB,KAAAA,IAASA,UAAU4iB,QAAU,EAAA;gBAC7B,MAAM4f,eAAAA,EAAAA,CAAAA;AACV,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMC,mBAAAA,GAAsBhZ,oBAAoB8Y,gBAAkB,EAAA,UAAA;YAC9D,IAAIpjC,KAAAA,CAAMijC,YAAY,EAAE;gBACpBE,kBAAmBtiC,CAAAA,KAAK,GAAGb,KAAAA,CAAMijC,YAAY,CAAA;AAC7C,gBAAA,OAAA;AACJ,aAAA;YAEA,IAAIjjC,KAAAA,CAAMgjC,cAAc,EAAE;gBACtB,IACIG,kBAAAA,CAAmBtiC,KAAK,IACxBsiC,kBAAmBtiC,CAAAA,KAAK,CAAC0D,EAAE,KAAKvE,KAAMgjC,CAAAA,cAAc,EACtD;AACE,oBAAA,OAAA;AACJ,iBAAA;gBAEA,IAAI;oBACAG,kBAAmBtiC,CAAAA,KAAK,GAAG,MAAM2rB,SAAAA,CAAU5L,kBAAkB,CAACvF,MAAM,CAACrb,KAAAA,CAAMgjC,cAAc,CAAA,CAAA;AAC7F,iBAAA,CAAE,OAAOthC,CAAG,EAAA;AACR,oBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,wBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,qBAAA;AACJ,iBAAA;AACJ,aAAA;AAEAyhC,YAAAA,kBAAAA,CAAmBtiC,KAAK,GAAG,IAAA,CAAA;AAC/B,SAAA,CAAA,CAAA;QAEA,MAAMyiC,mBAAAA,EAAAA,CAAAA;AAENxiC,QAAAA,SAAAA,CAAMkiC,cAAgB,EAAA,UAAA;YAClB,MAAMM,mBAAAA,EAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMC,sBAAsBzf,YAAS,CAAA,IAAA;YACjC,IAAImf,YAAAA,CAAapiC,KAAK,EAAE;gBACpB,OAAOoiC,YAAAA,CAAapiC,KAAK,CAACwlB,UAAU,CAAA;AACxC,aAAA;YAEA,OAAOloB,SAAAA,CAAAA;AACX,SAAA,CAAA,CAAA;AAEA2C,QAAAA,SAAAA,CAAMyiC,mBAAqB,EAAA,UAAA;YACvB,MAAMD,mBAAAA,EAAAA,CAAAA;AACV,SAAA,CAAA,CAAA;QAEA,MAAMpwB,OAAAA,CAAQswB,GAAG,CAAC;AAACH,YAAAA,eAAAA;AAAiBC,YAAAA,mBAAAA;AAAoB,SAAA,CAAA,CAAA;QAExD,OAAO,IAAMv9B,MAAE,KAAO,EAAA;gBAClBgB,KAAO,EAAA,aAAA;aACR,EAAA;AACChB,gBAAAA,KAAAA,CAAE,QAAU,EAAA;oBAAEgB,KAAO,EAAA,iBAAA;iBAAqB,EAAA;AACtC,oBAAA,GAAA;AACH,iBAAA,CAAA;AACDoV,gBAAAA,OAAAA,CAAQtb,KAAK;AACb,gBAAA,GAAA;AACAg/B,gBAAAA,IAAAA,CAAKh/B,KAAK;AACb,aAAA,CAAA,CAAA;AACL,KAAA;AACJ,CAAG,CAAA;;AC5IH,kBAAelB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACR6jC,QAAAA,0BAAAA;AACAC,QAAAA,qBAAAA;AACA3F,QAAAA,eAAAA;AACJ,KAAA;IACA/9B,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAyiC,gBAAkB,EAAA;YACdzjC,IAAM5C,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACA8C,KAAO,EAAA;AAAC,QAAA,QAAA;AAAU,QAAA,mBAAA;AAAoB,KAAA;AACtCC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAG,EAAG,EAAA;AACjB,QAAA,MAAMsjC,qBAAqBriC,OAAmC,CAAA,IAAA,CAAA,CAAA;QAC9D,MAAM2lB,YAAAA,GAAepD,YAAS,CAAA,KAAO;gBACjCsX,WAAap7B,EAAAA,KAAAA,CAAMioB,MAAM,CAAC1jB,EAAE;AAC5BrE,gBAAAA,IAAAA,EAAMg+B,2BAAmBC,IAAI;aACjC,CAAA,CAAA,CAAA;AAEA,QAAA,MAAM5K,eAAe,CAAC7xB,CAAAA,GAAAA;AAClBpB,YAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,SAAA,CAAA;AAEA,QAAA,MAAMmiC,0BAA0B,CAACniC,CAAAA,GAAAA;AAC7BpB,YAAAA,IAAAA,CAAK,mBAAqBoB,EAAAA,CAAAA,CAAAA,CAAAA;AAC9B,SAAA,CAAA;AAEA,QAAA,MAAMoiC,KAAQ,GAAA,IAAA;YACV,IAAIF,kBAAAA,CAAmB/iC,KAAK,EAAE;gBAC1B+iC,kBAAmB/iC,CAAAA,KAAK,CAACyZ,OAAO,CAAC;oBAAE4P,KAAO,EAAA,IAAA;AAAK,iBAAA,CAAA,CAAA;AACnD,aAAA;AACJ,SAAA,CAAA;QAEA,OAAO;AACHqJ,YAAAA,YAAAA;AACAsQ,YAAAA,uBAAAA;AACA3c,YAAAA,YAAAA;AAEA0c,YAAAA,kBAAAA;AACAE,YAAAA,KAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;qCA0BuDpQ,uBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,CAAA,CAAA,CAAA,CAAA;AACrC,MAAAF,+BAAAE,uBAEI,IAFD,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AASI,MAAAD,YAAA,GAAA;IAAA1sB,KAAA,EAAA,8BAAA;AAAA,CAAA,CAAA;;;;;;;;uCAjCvBnF,oBAsCM,CAAA,iBAAA,CAAA,CAAA;IApCK,OAAAsyB,aAAAA,EAAAA,EAAqBC,sBAAA,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA/xB,QAAAA,eAAAA,CACvBi8B,0BAA2B,EAAA;YAAA98B,GAAA,EAAA,oBAAA;AAEjB,YAAA,eAAA,EAAOU,KACiBilB,YAAA;SAAA,EAAA;qBAC/B/kB,YAAI,CAAA,EAAAvE,IAAAu/B,EAAAA,MAAA,EAAA,GAAA;AACJ/I,oBAAAA,YAAAA;AAAAZ,oBAAAA,YAAAA;oCAEKuQ,gCAAwB,EAAA;wBACxBh9B,KAAA,EAAA,WAAA;wBACA,iBAAakhB,EAAAA,IAAAA,CAASA,MAAA,CAAAyE,eAAA;AAAA,wBAAA,eAAA,EAAAzqB,KAAA0hC,gBAAA;wBAG3B,aAKE1hC,EAAAA,IAAAA,CAAAgmB,MAAA,CAAA1jB,EAAA;AAJG,qBAAA,EAAA,MAAM,CAAE,EAAA;AAAM,wBAAA,iBAAA;AAAA,wBAAA,eAAA;AAAA,wBAAA,aAAA;AAAA,qBAAA,CAAA;AAAAnC,oBAAAA,eAAAA,CACd4hC,qCAA6B,EAAA;wBAC7B/b,MAAAkV,EAAAA,MAAAA;AACA,wBAAA,aAAA,EAAQ5J,KAAAA,gBAAAA;AAAAA,wBAAAA,mBAAAA,EAAAA,KAAAA,uBAAAA;;AAGN,qBAAA,EAAK,MAaN,CAAA,EAAA;AAAA,wBAAA,QAAA;AAAA,wBAAA,aAAA;AAAA,wBAAA,qBAAA;AAAA,wBAAA,UAAA;AAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;mBAXFpxB,YAEI,IAAA;AAAAuxB,oBAAAA,sBAAAA,CAEJ,OAMSD,YAAA,EAAA;AAAAa,wBAAAA,YAAAA;+CAJC,QAAqB,EAAA;4BAC1Bp0B,IAAA,EAAA,QAAA;4BAAA6G,KAAA,EAAA,qBAAA;AAEDd,4BAAAA,OAAAA,EAAiCnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAA6hC,CAAAA,KAAA,IAAA7hC,IAAA6hC,CAAAA,KAAA,IAAA9hC,IAAA,CAAA,EAAA;AAAA,gCAAA,SAAA;6BAAA,CAAA,CAAA;yBAnGzD,EAAA;AAAA2xB,4BAAAA,YAAAA;;;AAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;;;;;;;;;;;;;;;;;ACQgC,CAAA,CAAA;mCAA2DD,sBAAAA,CAAI,GAAA,EAAA;IAAA3sB,KAAA,EAAA,YAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAD3F,SAAAi5B,aAAAA,CAAA/9B,IAAA,EAAAH,MAAA,EAAA;WAC4BoyB,aAAAA,EAAAA,EAAAC,sBAAA,CAAA,KAAA,EAAAC,YAAA,EAAA;AARhCZ,QAAAA,YAAAA;QAQ2FjxB,mBAAI,CAAA,6DAAA,CAAA;AAR/FkxB,QAAAA,YAAAA;;;;;;;;;;;ACwBA,kBAAe9zB,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRqkC,QAAAA,wBAAAA;AACAC,oBAAAA,yBAAAA;AACAC,sBAAAA,2BAAAA;AACAC,oBAAAA,yBAAAA;AAEAC,QAAAA,wBAAAA;AACAC,QAAAA,uBAAAA;AACJ,KAAA;IACAtkC,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,UAAA;AAAY,QAAA,QAAA;AAAU,QAAA,SAAA;AAAU,KAAA;AACxC,IAAA,MAAMC,KAAML,CAAAA,CAAAA,KAAK,EAAE,EAAEM,IAAK,EAAC,EAAA;AACvB,QAAA,MAAMksB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;QAClB,MAAMoF,MAAAA,GAAS1nB,UAAMP,KAAO,EAAA,QAAA,CAAA,CAAA;AAE5B,QAAA,MAAM6gC,iBAAiBt/B,OAAI,CAAA,IAAA,CAAA,CAAA;AAE3B,QAAA,MAAMgjC,qBAAwB,GAAA,UAAA;YAC1B,MAAM,EAAE3mC,IAAM4mC,EAAAA,OAAQ,EAAA,GAAI,MAAMhY,SAAU7L,CAAAA,cAAc,CAACzF,OAAO,CAAC;gBAC7D+L,OAAS,EAAA;AACL/mB,oBAAAA,IAAAA,EAAMg+B,2BAAmBC,IAAI;oBAC7B/C,WAAanT,EAAAA,MAAAA,CAAOpnB,KAAK,CAAC0D,EAAE;AAChC,iBAAA;AACJ,aAAA,CAAA,CAAA;YACA,MAAM,CAAC44B,OAAM,GAAIqH,OAAAA,CAAAA;AACjB,YAAA,IAAI,CAACrH,MAAQ,EAAA;AACT,gBAAA,OAAA;AACJ,aAAA;YAEA,MAAM,EAAEv/B,IAAK,EAAA,GAAI,MAAM4uB,SAAU5L,CAAAA,kBAAkB,CAAC1F,OAAO,CAAC;gBACxDrP,MAAQ,EAAA;oBACJs2B,IAAM,EAAA,IAAA;AACNd,oBAAAA,SAAAA,EAAWlE,OAAO54B,EAAE;AACxB,iBAAA;AACJ,aAAA,CAAA,CAAA;YAEA,IAAI3G,IAAAA,CAAKJ,MAAO,GAAE,CAAG,EAAA;gBACjB,CAACqjC,cAAAA,CAAehgC,KAAK,CAAA,GAAIjD,IAAAA,CAAAA;AAC7B,aAAA;AACJ,SAAA,CAAA;QAEA,MAAM2mC,qBAAAA,EAAAA,CAAAA;AAEN,QAAA,MAAM/jC,OAAOC,YAAS,CAAA;YAClBuH,KAAO,EAAA,IAAA;YACP0kB,eAAiB,EAAA,IAAA;AAEjBsV,YAAAA,KAAAA,EAAO,EAAE;YAETyC,WAAa,EAAA,EAAA;YACb/1B,IAAM,EAAA,IAAA;AACV,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMg2B,aAAa,CAACzc,MAAAA,GAAAA;AAChBoC,YAAAA,4BAAAA,CAA6B7pB,IAAMynB,EAAAA,MAAAA,CAAAA,CAAAA;AACvC,SAAA,CAAA;AAEAyc,QAAAA,UAAAA,CAAWzc,OAAOpnB,KAAK,CAAA,CAAA;AAEvB,QAAA,MAAM8jC,cAAcpjC,OAAI,CAAA,KAAA,CAAA,CAAA;AACxB,QAAA,MAAMqjC,QAAQrjC,OAAI,CAAA,KAAA,CAAA,CAAA;AAElB,QAAA,MAAMsjC,aAAatjC,OAAI,CAAA,CAAA,CAAA,CAAA;AACvB,QAAA,MAAM4H,QAAQ5H,OAAI,CAAA,CAAA,CAAA,CAAA;AAElB,QAAA,MAAMujC,KAAQ,GAAA;AACVC,YAAAA,mCAAAA,CAA4BC,eAAe;AAC3CD,YAAAA,mCAAAA,CAA4BE,mBAAmB;AAC/CF,YAAAA,mCAAAA,CAA4B3I,QAAQ;AACvC,SAAA,CAAA;QAED,MAAM7J,SAAAA,GAAYzO,YAAS,CAAA,IAAOmE,MAAOpnB,CAAAA,KAAM,GAC3ConB,MAAOpnB,CAAAA,KAAK,CAACwlB,UAAW,GACxBloB,SAAAA,CAAAA,CAAAA;QAEJ2C,SAAMyxB,CAAAA,SAAAA,EAAW,CAACxxB,GAAK0iB,EAAAA,QAAAA,GAAAA;YACnB,IAAI1iB,GAAAA,IAAOA,QAAQ0iB,QAAU,EAAA;AACzBihB,gBAAAA,UAAAA,CAAWzc,OAAOpnB,KAAK,CAAA,CAAA;AAC3B,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM+jB,gBAAgB,CAACqD,MAAAA,GAAAA;YACnByc,UAAWzc,CAAAA,MAAAA,CAAAA,CAAAA;AAEX3nB,YAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;AAEA,QAAA,MAAMsL,eAAe,CAAC7xB,CAAAA,GAAAA;AAClBpB,YAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,SAAA,CAAA;AAEA,QAAA,MAAMwjC,aAA6C3jC,OAAI,CAAA,IAAA,CAAA,CAAA;AAEvD,QAAA,MAAM4jC,qBAAwB,GAAA,UAAA;YAC1B,IAAI,CAAC3kC,IAAKksB,CAAAA,eAAe,EAAE;AACvB,gBAAA,MAAM,IAAI/qB,KAAM,CAAA,oCAAA,CAAA,CAAA;AACpB,aAAA;AAEA,YAAA,IAAIsmB,MAAOpnB,CAAAA,KAAK,CAAC+2B,KAAM,IAAG,CAAG,EAAA;AACzB,gBAAA,MAAM,IAAIj2B,KAAM,CAAA,0CAAA,CAAA,CAAA;AACpB,aAAA;YAEA,OAAO,IAAA,CAAA;AACX,SAAA,CAAA;AAEA,QAAA,MAAMyjC,sBAAyB,GAAA,UAAA;YAC3B,IAAI,CAACvE,cAAehgC,CAAAA,KAAK,EAAE;AACvB,gBAAA,MAAM,IAAIc,KAAM,CAAA,kDAAA,CAAA,CAAA;AACpB,aAAA;YAEA,OAAO,IAAA,CAAA;AACX,SAAA,CAAA;AAEA,QAAA,MAAM0jC,cAAiB,GAAA,IAAyB,IAAInyB,OAAAA,CAAQ,CAACoH,OAASC,EAAAA,MAAAA,GAAAA;AAClE,gBAAA,MAAMnW,IAAO0gC,GAAAA,KAAK,CAAC37B,KAAAA,CAAMtI,KAAK,CAAC,CAAA;gBAC/B,IAAIykC,OAAAA,CAAAA;gBAEJ,OAAQlhC,IAAAA;AACJ,oBAAA,KAAK2gC,oCAA4BC,eAAe;wBAC5CM,OAAUH,GAAAA,qBAAAA,EAAAA,CAAAA;AACV,wBAAA,MAAA;AACJ,oBAAA,KAAKJ,oCAA4BE,mBAAmB;wBAChDK,OAAUF,GAAAA,sBAAAA,EAAAA,CAAAA;AACV,wBAAA,MAAA;AACJ,oBAAA;wBACIE,OAAU,GAAA,IAAIpyB,OAAQ,CAAA,CAACoH,OAASC,EAAAA,MAAAA,GAAAA;AAC5BA,4BAAAA,MAAAA,CAAO,IAAI5Y,KAAM,CAAA,+FAAA,CAAA,CAAA,CAAA;AACrB,yBAAA,CAAA,CAAA;AACA,wBAAA,MAAA;AACR,iBAAA;gBAEA2jC,OACKnyB,CAAAA,IAAI,CAAC,IAAMmH,OAAAA,CAAQ,OACnBuN,KAAK,CAAC,CAACnmB,CAAAA,GAAM6Y,MAAO7Y,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAC7B,aAAA,CAAA,CAAA;AAEA,QAAA,MAAMwrB,IAAO,GAAA,UAAA;AACT,YAAA,IAAIqY,OAAU,GAAA,IAAA,CAAA;AACd,YAAA,IAAIhoC,CAAI,GAAA,CAAA,CAAA;AAER,YAAA,MAAOgoC,OAAS,CAAA;gBACZ,IAAI;oBACA,MAAMF,cAAAA,EAAAA,CAAAA;AAEN9nC,oBAAAA,CAAAA,EAAAA,CAAAA;AACA4L,oBAAAA,KAAAA,CAAMtI,KAAM,GAAEtD,CAAAA,CAAAA;AAClB,iBAAA,CAAE,OAAOmE,CAAG,EAAA;oBACR6jC,OAAU,GAAA,KAAA,CAAA;AACd,iBAAA;gBAEA,IAAIhoC,CAAAA,IAAKunC,KAAMtnC,CAAAA,MAAM,EAAE;oBACnB+nC,OAAU,GAAA,KAAA,CAAA;AACd,iBAAA;AACJ,aAAA;YAEA,IAAIL,UAAAA,CAAWrkC,KAAK,EAAE;AAClBqkC,gBAAAA,UAAAA,CAAWrkC,KAAK,CAAC2kC,SAAS,CAAC,CAAGjoC,EAAAA,CAAAA,CAAAA,CAAAA;aAC3B,MAAA;AACHsnC,gBAAAA,UAAAA,CAAWhkC,KAAI,GAAItD,CAAAA,CAAAA;AACvB,aAAA;AAEAonC,YAAAA,WAAAA,CAAY9jC,KAAI,GAAI,IAAA,CAAA;AACxB,SAAA,CAAA;QAEA,MAAMqsB,IAAAA,EAAAA,CAAAA;AAEN,QAAA,MAAMuY,cAAiB,GAAA,IAAA;YACnB,IAAIP,UAAAA,CAAWrkC,KAAK,EAAE;gBAClBqkC,UAAWrkC,CAAAA,KAAK,CAAC6kC,OAAO,EAAA,CAAA;AAC5B,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMC,cAAiB,GAAA,IAAA;YACnB,IAAIT,UAAAA,CAAWrkC,KAAK,EAAE;gBAClBqkC,UAAWrkC,CAAAA,KAAK,CAAC+kC,OAAO,EAAA,CAAA;AAC5B,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMC,oBAAoB,CAAC7gC,IAAAA,GAAAA;AACvB,YAAA,IAAIA,IAAM,EAAA;AACN67B,gBAAAA,cAAAA,CAAehgC,QAAQmE,IAAAA,CAAAA;aACpB,MAAA;AACH67B,gBAAAA,cAAAA,CAAehgC,QAAQ,IAAA,CAAA;AAC3B,aAAA;AACJ,SAAA,CAAA;QAEA,MAAMilC,wBAAAA,GAA2B,CAACC,SAAmBC,EAAAA,SAAAA,GAAAA;AACjD78B,YAAAA,KAAAA,CAAMtI,QAAQmlC,SAAAA,CAAAA;AACdpB,YAAAA,KAAAA,CAAM/jC,KAAM,GAAE,IAAA,CAAA;AAClB,SAAA,CAAA;AAEA,QAAA,MAAMolC,yBAAyB,CAACvkC,CAAAA,GAAAA;AAC5B,YAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,gBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAMwkC,yBAA4B,GAAA,IAAA;YAC9B5lC,IAAK,CAAA,UAAA,CAAA,CAAA;AACT,SAAA,CAAA;QAEA,OAAO;AACHukC,YAAAA,UAAAA;AAEAtR,YAAAA,YAAAA;AACA3O,YAAAA,aAAAA;AACAkhB,YAAAA,wBAAAA;AACAI,YAAAA,yBAAAA;AACAD,YAAAA,sBAAAA;AAEAR,YAAAA,cAAAA;AACAE,YAAAA,cAAAA;AACAN,YAAAA,cAAAA;AAEAxE,YAAAA,cAAAA;AACAgF,YAAAA,iBAAAA;AAEAX,YAAAA,UAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;kBAe4C,mBAClCxR,sBAAAA,CAAA,IAAA,EAAA;IAAA3sB,KAAA,EAAA,cAAA;AAAA,CAAA,EAAA;oBAAA2sB,uBAAA,GAAA,EAAA;QAAA3sB,KAAA,EAAA,kBAAA;AAAA,KAAA,CAAA;AACA,oBAAAxE,mBAAA,CAAA,UAAA,CAAA;;kBAcW,mBAAqBmxB,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,UAAA;AAAA,CAAA,EAAA,0CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;kCA5BxCnF,oBA0Ea,CAAA,YAAA,CAAA,CAAA;WAxEJsyB,aAAAA,EAAAA,EAAO0B,gBAAAuQ,qBAAA,EAAA;QACZ5kC,GAAK,EAAA,YAAA;QACJ6kC,KAAA,EAAA,MAAA;QACAC,KAAA,EAAA,QAAA;QACAC,QAAS,EAAA,sCAAA;AACT,QAAA,aAAA,EAAaJ,KAAAA,UAAAA;AACbK,QAAAA,UAAAA,EAAUN,KAAAA,wBAAAA;AAAAA,QAAAA,YAAAA,EAAAA,KAAAA,yBAAAA;AAEAO,QAAAA,SAAAA,EAAKvkC,KACZgkC,sBAAA;KAAA,EAAA;eAGA9jC,YAEI,IAAA;AAAAiyB,gBAAAA,YAAAA;AAEGZ,gBAAAA,YAAAA;AAAA,aAAA,CAAA;QAGOlrB,MAAAnG,EAAAA,WAAAA,CAAM,CAAcnC,KAAA,GAAA;AAAA0zB,gBAAAA,sBAAAA,CAAA,OAD9BD,YAMe,EAAA;oBAAAzzB,KAvR/BymC,CAAAA,4EAmR4BC,uBAAqB,EAAA;wBAC5BloC,GAAA,EAAA,CAAA;wBAAAm+B,KAAAC,EAAAA,kBAAAA,CAAA58B,MAAA2mC,eAAA,CAAA;AApRrB1gC,wBAAAA,OAAAA,EAAAhE,KAAAwjC,cAAA;qBAAA,EAAA;;gCAAAljC,mBAAA,CAAA,QAAA,CAAA;AAAA,6BAAA,CAAA;wBAAAI,CAAA,EAAA,CAAA;AAAA,qBAAA,EAAA,IAAA,EAAA;AAAA,wBAAA,OAAA;AAAA,wBAAA,SAAA;qBAAA,CAAA,IAyRY6yB,uBAkBM,EAlBN,EAAA,IAAA,CAAA;AAAA,iBAAA,CAAA;8CACIlB,YAOe,EAAA;AAAA,oBAAA,CAAAt0B,MAjS/B4mC,+BA4R+ChR,gBAAA8Q,uBAAA,EAAA;wBAC1BloC,GAAK,EAAA,CAAA;wBACLuI,KAAK,EAAA,qBAAA;wBAAA41B,KAAAC,EAAAA,kBAAAA,CAAA58B,MAAA2mC,eAAA,CAAA;AA9R1B1gC,wBAAAA,OAAAA,EAAAhE,KAAA0jC,cAAA;qBAAA,EAAA;;gCAAApjC,mBAAA,CAAA,QAAA,CAAA;AAAA,6BAAA,CAAA;;AAAA,qBAAA,EAAA,IAAA,EAAA;AAAA,wBAAA,OAAA;AAAA,wBAAA,SAAA;AAAA,qBAAA,CAAA,KAAA2xB,aAqS6D0B,EAAAA,EAAAA,eAAAA,CAAA8Q,uBAAA,EAAA;wBACxCloC,GAAK,EAAA,CAAA;wBACLuI,KAAK,EAAA,mCAAA;wBAAA41B,KAAAC,EAAAA,kBAAAA,CAAA58B,MAAA2mC,eAAA,CAAA;AAvS1B1gC,wBAAAA,OAAAA,EAAAhE,KAAAikC,yBAAA;qBAAA,EAAA;;gCAAA3jC,mBAAA,CAAA,UAAA,CAAA;AAAA,6BAAA,CAAA;;;;;;AAAA,iBAAA,CAAA;AAAA,aAAA,CAAA;iBA+SiBJ,YAAO,IAAA;AAAAC,gBAAAA,eAAAA,CACXykC,qBAAexB,EAAAA;oBAAAA,KAAAA,EAAAA,MAAAA;AAhT5B,oBAAA,eAAA,EAqTcpjC,KAAAojC,cAAA;iBAAA,EAAA;AAFGp9B,oBAAAA,OAAAA,EAAA9F,YAAQ8lB,IAAM;AAAA7lB,4BAAAA,eAAAA,CACLwiB,kCAAa,EAAA;AAAAqD,gCAAAA,MAAAA,EAAAhmB,KAAAgmB,MAAA;;AApTvC,6BAAA,EAAA,MAAA,CAAA,EAAA;AAAA,gCAAA,QAAA;AAAA,gCAAA,WAAA;AAAA,6BAAA,CAAA;AAAA,yBAAA,CAAA;oBAwTQtlB,CAAA,EAAA,CAAA;AAAA,iBAAA,EACI;AAAK,oBAAA,eAAA;AAAQ,iBAAA,CAAA;AAAAP,gBAAAA,eAAAA,CACZykC,qBAAexB,EAAAA;oBAAAA,KAAAA,EAAAA,OAAAA;AA1T5B,oBAAA,eAAA,EAiUcpjC,KAAAojC,cAAA;iBAAA,EAAA;AAJGp9B,oBAAAA,OAAAA,EAAA9F,YAAQ8lB,IAAM;AAAA7lB,4BAAAA,eAAAA,CACd0kC,mCAAiC,EAAA;AACjC7e,gCAAAA,MAAAA,EAAAhmB,KAAAgmB,MAAA;AACA,gCAAA,mBAAA,EAAQsL,KAAAA,cAAAA;AAAAA,gCAAAA,mBAAAA,EAAAA,KAAAA,iBAAAA;;AAhUzB,6BAAA,EAAA,MAAA,CAAA,EAAA;AAAA,gCAAA,QAAA;AAAA,gCAAA,mBAAA;AAAA,gCAAA,qBAAA;AAAA,gCAAA,UAAA;AAAA,6BAAA,CAAA;AAAA,yBAAA,CAAA;oBAoUQ5wB,CAAA,EAAA,CAAA;AAAA,iBAAA,EApUR,CAqUwC,EAAA;AAAA,oBAAA,eAAA;AAAA,iBAAA,CAAA;AAAAP,gBAAAA,eAAAA,CAA5BykC,qBAA4B,EAAA;oBAAAR,KAAA,EAAA,QAAA;iBAAA,EAAA;AAAAp+B,oBAAAA,OAAAA,EAAA9F,YAAA,IAAA;4BArUxCC,eAAA2kC,CAAAA,mCAAAA,CAAAA;AAAA,yBAAA,CAAA;;AAAA,iBAAA,CAAA;AAAA,aAAA,CAAA;;;;;;;;;;;;;;;;ACwBA,kBAAepnC,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRo2B,QAAAA,OAAAA;AACAn2B,oBAAAA,oBAAAA;AACAC,qBAAAA,wBAAAA;AACAi4B,QAAAA,SAAAA;AACJ,KAAA;IACA/3B,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;AACV,SAAA;QACAkzB,SAAW,EAAA;YACPtwB,IAAMC,EAAAA,MAAAA;AACV,SAAA;QACAF,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;AACV,SAAA;AACJ,KAAA;IACAC,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9oB,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMiB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;AACjB,QAAA,MAAMf,OAAOC,YAAS,CAAA;YAClBkwB,UAAY,EAAA,EAAA;YACZjwB,IAAM,EAAA,EAAA;YACN41B,WAAa,EAAA,EAAA;AACjB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM3J,KAAK1rB,YAAa,CAAA;YACpB0vB,UAAY,EAAA;AACRzvB,0BAAAA,mBAAAA;AACJ,aAAA;YACAR,IAAM,EAAA;AACFS,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,GAAA,CAAA;AACzB,aAAA;YACAk1B,WAAa,EAAA;AACTn1B,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,CAAA,CAAA;AACrBC,gBAAAA,SAAAA,EAAWA,oBAAU,CAAA,IAAA,CAAA;AACzB,aAAA;SACDZ,EAAAA,IAAAA,CAAAA,CAAAA;QAEH,MAAMwmC,aAAAA,GAAgBljB,YAA8B,CAAA,KAAO;gBACvDmD,OAAS,EAAA;oBACL,GAAIjnB,KAAAA,CAAMC,OAAM,GAAI;AAAEW,wBAAAA,QAAAA,EAAUZ,MAAMC,OAAM;AAAE,qBAAA,GAAI,EAAE;AACxD,iBAAA;aACJ,CAAA,CAAA,CAAA;QAEA,IAAID,KAAAA,CAAMwwB,SAAS,EAAE;YACjBhwB,IAAKmwB,CAAAA,UAAW,GAAE3wB,KAAAA,CAAMwwB,SAAQ,CAAA;AACpC,SAAA;AAEA,QAAA,MAAM9xB,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWwP,CAAAA,QAAQ,CAAC,CAAC;AAC9Bn7B,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMyH,GAAAA,GAAM6iB,oBAAoBhpB,IAAM,EAAA,UAAA;YAClC,MAAM5C,OAAAA,CAAQmrB,cAAc,CAACrpB,IAAAA,CAAAA,CAAAA;AACjC,SAAA,CAAA,CAAA;QAEA,MAAMm9B,MAAAA,GAAS,CAACn/B,GAAwB+F,EAAAA,EAAAA,GAAAA;AACpC,YAAA,IAAI/D,IAAI,CAAChC,SAAS+F,EAAI,EAAA;gBAClB/D,IAAI,CAAChC,IAAG,GAAI,IAAA,CAAA;aACT,MAAA;gBACHgC,IAAI,CAAChC,IAAG,GAAI+F,EAAAA,CAAAA;AAChB,aAAA;AACJ,SAAA,CAAA;QAEA,OAAO;YACH0iC,EAAIta,EAAAA,EAAAA;AACJnsB,YAAAA,IAAAA;AACAiH,YAAAA,GAAAA;AACAk2B,YAAAA,MAAAA;AACAqJ,YAAAA,aAAAA;AACA1lC,YAAAA,IAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;AAwBc,MAAA8yB,YAAA,GAAA;IAAArtB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;AA9HhB,MAAAysB,YAAA,GAAA;IAAAzsB,KAAA,EAAA,KAAA;AAAA,CAAA,CAAA;AA0JwB,MAAA0sB,+BAAAC,uBAAwB,YAAhB,MAAC,CAAA,CAAA,CAAA,CAAA;;;;AA1JjC,MAAAC,YAAA,mBAAAD,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,YAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;MAgKgB2tB,YAAW,GAAA;IAAAl2B,GAAA,EAAA,CAAA;;;;AAhK3B,MAAAm2B,YAAA,GAAA;AAAA,IAAA,UAAA;AAAA,IAAA,SAAA;AAAA,CAAA,CAAA;MAkMoBd,YAAM,GAAA;IAAAr1B,GAAA,EAAA,CAAA;;;;;;;;;iCAzFtBoD,oBA+FO,CAAA,WAAA,CAAA,CAAA;;AA9FHC,QAAAA,QAAAA,EAAAC,MAAA,CAAA,CAAA,CAAA,KA6FMA,OA7FN,CA6FM,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAwF,CAAAA,GAAA,IAAAxF,IAAAwF,CAAAA,GAAA,IAAAzF,IAAA,CAAA,EAAA;AAAA,YAAA,SAAA;SAAA,CAAA,CAAA;KAAA,EAAA;AA3Ee0xB,QAAAA,sBAAAA,CAAA,OAAAU,YAAA,EAAA;AAAAV,YAAAA,sBAAAA,CAhBYuT,OAAGzT,YAAI,EAAA;AAAApxB,gBAAAA,eAAAA,CAAA8kC,qBAAA,EAAA;oBACjBhlC,UAAOD,EAAAA,IAAAA,CAAEglC,EAAA,CAAAvmC,IAAA;iBAAA,EAAA;2BAEXyB,EAAAA,WAAAA,CAAqB,CAAAnC,KAAA,GAAA;AAAAoC,4BAAAA,eAAAA,CACrBC,sBAA2B,EAAA;AAAA,gCAAA,qBAAA,EAAArC,MAAApC,IAAA;AAEjB,gCAAA,qBAAA,EAEXoC,MAAAsC,QAAA;6BAAA,EAAA;;wCACWC,mBAGL,CAAA,QAAA,CAAA;AAAA,qCAAA,CAAA;AAxHlC0F,gCAAAA,OAAAA,EAAA9F,YAuH6C8kC,IAAG;AAvHhD7kC,wCAAAA,eAAAA,CAAAI,sBAAA,EAAA;AAAAC,4CAAAA,UAAAA,EAAAR,IAAAglC,CAAAA,EAAA,CAAAvmC,IAAA,CAAAgC,MAAA;;AAAA,yCAAA,EAAA,MAAA,CAAA,EAAA;AAAA,4CAAA,YAAA;AAAA,yCAAA,CAAA;AAAA,qCAAA,CAAA;;AAAA,6BAAA,EAAA,IAAA,EAAA;AAAA,gCAAA,qBAAA;AAAA,gCAAA,qBAAA;AAAA,6BAAA,CAAA;AAAA,yBAAA,CAAA;oBA8HgBC,CAAA,EAAA,CAAA;AAEA,iBAAA,EAiBa,CAAA,EAAA;AAAA,oBAAA,YAAA;AAAA,iBAAA,CAAA;AAAA8wB,gBAAAA,YAAAA;;oBAhBEvxB,UAAOD,EAAAA,IAAAA,CAAEglC,EAAA,CAAA3Q,WAAA;iBAAA,EAAA;2BAEXn0B,EAAAA,WAAAA,CAAqB,CAAAnC,KAAA,GAAA;AAAAoC,4BAAAA,eAAAA,CACrBC,sBAA2B,EAAA;AAAA,gCAAA,qBAAA,EAAArC,MAAApC,IAAA;AAEjB,gCAAA,qBAAA,EAEXoC,MAAAsC,QAAA;6BAAA,EAAA;;wCACWC,mBAIL,CAAA,eAAA,CAAA;AAAA,qCAAA,CAAA;AA7IlC0F,gCAAAA,OAAAA,EAAA9F,YA2I6C8kC,IAAG;AA3IhD7kC,wCAAAA,eAAAA,CAAA+kC,yBAAA,EAAA;AA4IoC1kC,4CAAAA,UAAAA,EAAQR,IAAAglC,CAAAA,EAAA,CAAA3Q,WAAA,CAAA5zB,MAAA;AAAA,4CAAA,qBAAA,EAAAZ,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAc,MAAAA,GAAAX,KAAAglC,EAAA,CAAA3Q,WAAA,CAAA5zB,MAAA,GAAAE,MAAA,CAAA;;AA5I5C,yCAAA,EAAA,MAAA,CAAA,EAAA;AAAA,4CAAA,YAAA;AAAA,yCAAA,CAAA;AAAA,qCAAA,CAAA;;AAAA,6BAAA,EAAA,IAAA,EAAA;AAAA,gCAAA,qBAAA;AAAA,gCAAA,qBAAA;AAAA,6BAAA,CAAA;AAAA,yBAAA,CAAA;oBAmJgBD,CAAA,EAAA,CAAA;AACI,iBAAA,EAAA,CAAA,EAAA;AAAA,oBAAA,YAAA;AAAA,iBAAA,CAAA;AACiB+wB,gBAAAA,sBAAAA,CAAA,OAAA,IAAA,EAAA;AACPA,oBAAAA,sBAAAA,CAAA,QAAA,EAAA;wBACLxzB,IAAA,EAAA,QAAA;wBACA6G,KAAK,EAAA,wBAAA;AAAAV,wBAAAA,QAAAA,EAAApE,KAAAglC,EAAA,CAAAlkC,QAAA,IAAAd,KAAAX,IAAA;AAEN2E,wBAAAA,OAAAA,EAAwBnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAwF,CAAAA,GAAA,IAAAxF,IAAAwF,CAAAA,GAAA,IAAAzF,IAAA,CAAA,EAAA;AAAA,4BAAA,SAAA;yBAAA,CAAA,CAAA;qBA1JhD,EAAA;AAAA2xB,wBAAAA,YAAAA;;;AA+JuBnD,iBAAAA,CAAAA;AAAAA,aAAAA,CAAAA;AAGP,YAAA,CAAAvuB,KAAAuuB,SAAA,IAAA0D,aAC4BC,EAAAA,EAAAA,sBAAAA,CAAA,OAAAO,YAAA,EAAA;AAAAtyB,gBAAAA,eAAAA,CACpBglC,oBAAuB,EAAA;AAAAp/B,oBAAAA,KAAAA,EAAA/F,KAAA+kC,aAAA;iBAAA,EAAA;oBAAAz+B,MAEvBpG,EAAAA,WAAAA,CAGE,CAAAnC,KAAA,GAAA;AAAA4zB,4BAAAA,YAAAA;4CADcyT,kBAAK,EAAA;AAAArgB,gCAAAA,IAAAA,EAAAhnB,MAAAgnB,IAAA;;AAGd,6BAAA,EAAA,MAAW;;AAiBT,gCAAA,MAAA;AAjBgB,6BAAA,CAAA;AAAA,yBAAA,CAAA;oBAEZqY,WAAAl9B,EAAAA,WAAAA,CAAQ,CAAInC,KAAA,GAAA;AACR0zB,4BAAAA,sBAAAA,CAAA,QAAA,EAAA;AACbrtB,gCAAAA,QAAAA,EA/K5BrG,MAAAsB,IAAA;gCAAApB,IAAA,EAAA,QAAA;AAgLwK6G,gCAAAA,KAAAA,EAAAmuB,kBAAA,CAAA;AAAA,oCAAA,YAAA;AAAA,oCAAA;wCAAA,UAAAjzB,EAAAA,IAAAA,CAAAzB,IAAA,CAAAmwB,UAAA,KAAA3wB,KAAApC,CAAAA,IAAA,CAAA2G,EAAA;wCAhLxK,aAAAtC,EAAAA,IAAAA,CAAAzB,IAAA,CAoL4Cm9B,eAAM39B,KAAepC,CAAAA,IAAA,CAAA2G,EAAA;AAAA,qCAAA;AAAA,iCAAA,CAAA;gCAErC0B,OAKElE,EAAAA,iBAAAA,CAAA,CAAAa,MAAAA,GAAAX,IAAA07B,CAAAA,MAAA,CAAA,YAAA,EAAA39B,KAAApC,CAAAA,IAAA,CAAA2G,EAAA,CAAA,EAAA;AAAA,oCAAA,SAAA;AAAA,iCAAA,CAAA;6BAAA,EAAA;;;;;AA3L9B,qCAAA,CAAA;AAAA,iCAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,6BAAA,EAAA,EAAAowB,EAAAA,YAAAA,CAAAA;AAAA,yBAAA,CAAA;oBAiM2BsS,CAAAA,EAAAA,CAAAA;AAAAA,iBAAAA,EAAAA,CAAAA,EAAAA;AAAAA,oBAAAA,OAAAA;AAAAA,iBAAAA,CAAAA;gBAjM3B,CAAAhlC,IAAAA,CAAAglC,EAAA,CAAAtW,UAAA,CAAAzvB,QAAA,IAAA,CAAAe,IAAAA,CAAAglC,EAAA,CAAAtW,UAAA,CAAAjuB,MAAA,IAAAwxB,aAAAC,EAAAA,EAAAA,sBAAAA,CAAA,OAAAN,YAAA,EAAA,6CAAA,CAAA,IAAA2B,sBAAAA,CAAA,EAAA,EAAA,IAAA,CAAA;aAAA,CAAA,IAAAA,uBAAA,EAAA,EAAA,IAAA,CAAA;;;;;;;;;;;ACwBA,kBAAe71B,mBAAgB,CAAA;IAC3BK,KAAOspB,EAAAA,wBAAAA,EAAAA;IACPlpB,KAAO+oB,EAAAA,yBAAAA,EAAAA;IACP9hB,KAAO/J,EAAAA,MAAAA;IACP,MAAM+C,KAAAA,CAAAA,CAAML,KAAK,EAAEK,KAAK,EAAA;AACpB,QAAA,MAAM3B,UAAU+qB,mBAAoB,CAAA;AAChCvpB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWwP,CAAAA,QAAQ,CAAC,CAAC;AAC9Bn7B,YAAAA,KAAAA;AACAL,YAAAA,KAAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMtB,QAAQ4b,OAAO,EAAA,CAAA;QAErB,OAAO,IAAM5b,QAAQ8oB,MAAM,EAAA,CAAA;AAC/B,KAAA;AACJ,CAAG,CAAA;;ACjBH,MAAM8f,mBAAmB3nC,mBAAgB,CAAA;IACrCK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAib,OAAS,EAAA;YACLjc,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QAEAwF,WAAa,EAAA;YACTxG,IAAMC,EAAAA,MAAAA;AACN8H,YAAAA,OAAAA,EAAShF,iCAAyB+5B,MAAM;AAC5C,SAAA;QACA71B,QAAU,EAAA;YACNjH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;QACAf,QAAU,EAAA;YACNhH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,QAAA;AAAS,KAAA;AACxCC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE+G,KAAK,EAAE,EAAA;AACxB,QAAA,MAAMmlB,SAAY3J,GAAAA,oBAAAA,EAAAA,CAAAA;AAClB,QAAA,MAAMvhB,OAAOC,OAAI,CAAA,KAAA,CAAA,CAAA;QAEjB,MAAM0mB,MAAAA,GAAS1nB,UAAMP,KAAO,EAAA,QAAA,CAAA,CAAA;QAE5B,MAAMoG,OAAAA,GAAUkkB,oBAAoBhpB,IAAM,EAAA,UAAA;YACtC,IAAI;AACA,gBAAA,MAAMkS,QAAW,GAAA,MAAMgZ,SAClB9L,CAAAA,QAAQ,CAACxE,UAAU,CAAC+L,MAAAA,CAAOpnB,KAAK,CAAC0D,EAAE,EAAEvE,MAAMmc,OAAO,CAAA,CAAA;gBAEvD7b,IAAK,CAAA,UAAA,EAAYN,MAAMmc,OAAO,CAAA,CAAA;AAC9B7b,gBAAAA,IAAAA,CAAK,SAAWkT,EAAAA,QAAAA,CAAAA,CAAAA;AACpB,aAAA,CAAE,OAAO9R,CAAG,EAAA;AACR,gBAAA,IAAIA,aAAaC,KAAO,EAAA;AACpBrB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,MAAMoE,SAAAA,GAAYuqB,4BAAgB5rB,CAAAA,cAAAA,CAAe8iC,eAAe,CAAA,CAAA;AAEhE,QAAA,MAAMC,WAAW1jB,YAAkB,CAAA,IAAA;AAC/B,YAAA,IAAI9jB,KAAMmc,CAAAA,OAAO,KAAKsrB,0BAAAA,CAAmBC,kBAAkB,EAAE;gBACzD,OAAOzf,MAAAA,CAAOpnB,KAAK,CAAC8mC,oBAAoB,CAAA;AAC5C,aAAA;AAEA,YAAA,IAAI3nC,KAAMmc,CAAAA,OAAO,KAAKsrB,0BAAAA,CAAmBG,oBAAoB,EAAE;AAC3D,gBAAA,OAAO,CAAC3f,MAAAA,CAAOpnB,KAAK,CAAC8mC,oBAAoB,CAAA;AAC7C,aAAA;AAEA,YAAA,IAAI,CAAC1f,MAAAA,CAAOpnB,KAAK,CAAC8mC,oBAAoB,EAAE;gBACpC,OAAO,IAAA,CAAA;AACX,aAAA;AAEA,YAAA,IAAI3nC,KAAMmc,CAAAA,OAAO,KAAKsrB,0BAAAA,CAAmBI,WAAW,EAAE;AAClD,gBAAA,IAAI,CAAC5f,MAAAA,CAAOpnB,KAAK,CAACq7B,YAAY,EAAE;oBAC5B,OAAO,KAAA,CAAA;AACX,iBAAA;AAEA,gBAAA,OAAOjU,MAAOpnB,CAAAA,KAAK,CAACq7B,YAAY,KAAKC,2BAAoB2L,CAAAA,QAAQ,IAC7D7f,MAAAA,CAAOpnB,KAAK,CAACq7B,YAAY,KAAKC,4BAAoB4L,MAAM,CAAA;AAChE,aAAA;AAEA,YAAA,IAAI/nC,KAAMmc,CAAAA,OAAO,KAAKsrB,0BAAAA,CAAmBO,UAAU,EAAE;AACjD,gBAAA,IAAI,CAAC/f,MAAAA,CAAOpnB,KAAK,CAACq7B,YAAY,EAAE;oBAC5B,OAAO,IAAA,CAAA;AACX,iBAAA;AAEA,gBAAA,OAAOjU,MAAOpnB,CAAAA,KAAK,CAACq7B,YAAY,KAAKC,2BAAoB2L,CAAAA,QAAQ,IAC7D7f,MAAAA,CAAOpnB,KAAK,CAACq7B,YAAY,KAAKC,4BAAoBC,QAAQ,CAAA;AAClE,aAAA;AAEA,YAAA,IAAIp8B,KAAMmc,CAAAA,OAAO,KAAKsrB,0BAAAA,CAAmBQ,YAAY,EAAE;AACnD,gBAAA,OAAOhgB,OAAOpnB,KAAK,CAACq7B,YAAY,KAAKC,4BAAoBC,QAAQ,CAAA;AACrE,aAAA;YAEA,OAAO,KAAA,CAAA;AACX,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMn1B,cAAc6c,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAKsrB,2BAAmBI,WAAW;oBAC/B,OAAO,OAAA,CAAA;AACX,gBAAA,KAAKJ,2BAAmBO,UAAU;oBAC9B,OAAO,MAAA,CAAA;AACX,gBAAA,KAAKP,2BAAmBQ,YAAY;oBAChC,OAAO,OAAA,CAAA;AACX,gBAAA,KAAKR,2BAAmBC,kBAAkB;oBACtC,OAAO,MAAA,CAAA;AACX,gBAAA,KAAKD,2BAAmBG,oBAAoB;oBACxC,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,EAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMphC,YAAYsd,YAAS,CAAA,IAAA;AACvB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAKsrB,2BAAmBI,WAAW;oBAC/B,OAAO,YAAA,CAAA;AACX,gBAAA,KAAKJ,2BAAmBO,UAAU;oBAC9B,OAAO,YAAA,CAAA;AACX,gBAAA,KAAKP,2BAAmBQ,YAAY;oBAChC,OAAO,mBAAA,CAAA;AACX,gBAAA,KAAKR,2BAAmBC,kBAAkB;oBACtC,OAAO,aAAA,CAAA;AACX,gBAAA,KAAKD,2BAAmBG,oBAAoB;oBACxC,OAAO,eAAA,CAAA;AACX,gBAAA;oBACI,OAAO,EAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM9gC,cAAcgd,YAAS,CAAA,IAAA;AACzB,YAAA,OAAQ9jB,MAAMmc,OAAO;AACjB,gBAAA,KAAKsrB,2BAAmBI,WAAW,CAAA;AACnC,gBAAA,KAAKJ,2BAAmBC,kBAAkB;oBACtC,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKD,2BAAmBO,UAAU,CAAA;AAClC,gBAAA,KAAKP,2BAAmBG,oBAAoB;oBACxC,OAAO,QAAA,CAAA;AACX,gBAAA,KAAKH,2BAAmBQ,YAAY;oBAChC,OAAO,SAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,OAAO,IAAA;YACH,IAAIT,QAAAA,CAAS3mC,KAAK,EAAE;AAChB,gBAAA,OAAO,EAAE,CAAA;AACb,aAAA;AAEA,YAAA,OAAO+E,mBAAoB,CAAA;AACvBQ,gBAAAA,OAAAA;AACAM,gBAAAA,WAAAA,EAAa1G,MAAM0G,WAAW;AAC9BS,gBAAAA,QAAAA,EAAUnH,MAAMmH,QAAQ;AACxBD,gBAAAA,QAAAA,EAAUlH,MAAMkH,QAAQ;AACxBZ,gBAAAA,UAAAA,EAAYkhC,SAAS3mC,KAAK;AAC1B2F,gBAAAA,SAAAA,EAAWA,UAAU3F,KAAK;AAC1BiF,gBAAAA,SAAAA,EAAWA,UAAUjF,KAAK;AAC1BoG,gBAAAA,WAAAA,EAAaA,YAAYpG,KAAK;AAC9BiG,gBAAAA,WAAAA,EAAaA,YAAYjG,KAAK;AAC9BwG,gBAAAA,KAAAA;AACJ,aAAA,CAAA,CAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAA,CAAA;;ACnKA,kBAAe1H,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHyT,MAAQ,EAAA;YACJvT,IAAMC,EAAAA,MAAAA;YACN8H,OAAS,EAAA,IAAA;AACb,SAAA;AACJ,KAAA;IACA6b,QAAU,EAAA;AACNlQ,QAAAA,UAAAA,CAAAA,GAAAA;YACI,OAAQ,IAAI,CAACH,MAAM;AACf,gBAAA,KAAK0oB,4BAAoB+L,QAAQ;oBAC7B,OAAO,aAAA,CAAA;AACX,gBAAA,KAAK/L,4BAAoB2L,QAAQ;oBAC7B,OAAO,aAAA,CAAA;AAEX,gBAAA,KAAK3L,4BAAoBgM,OAAO;oBAC5B,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKhM,4BAAoBiM,OAAO;oBAC5B,OAAO,SAAA,CAAA;AAEX,gBAAA,KAAKjM,4BAAoBC,QAAQ;oBAC7B,OAAO,UAAA,CAAA;AACX,gBAAA,KAAKD,4BAAoB4L,MAAM;oBAC3B,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA;AACAjhC,QAAAA,WAAAA,CAAAA,GAAAA;YACI,OAAQ,IAAI,CAAC2M,MAAM;AACf,gBAAA,KAAK0oB,4BAAoB+L,QAAQ,CAAA;AACjC,gBAAA,KAAK/L,4BAAoBgM,OAAO,CAAA;AAChC,gBAAA,KAAKhM,4BAAoBiM,OAAO;oBAC5B,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKjM,4BAAoBC,QAAQ;oBAC7B,OAAO,SAAA,CAAA;AACX,gBAAA,KAAKD,4BAAoB2L,QAAQ;oBAC7B,OAAO,SAAA,CAAA;AACX,gBAAA,KAAK3L,4BAAoB4L,MAAM;oBAC3B,OAAO,QAAA,CAAA;AACX,gBAAA;oBACI,OAAO,MAAA,CAAA;AACf,aAAA;AACJ,SAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;SAIM/H,aAAAA,CAKO/9B,IAAA,EAAAH,MAAA,EAAAm+B,MAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,QAAA,EAAA;IAJF,OAAAlM,aAAAA,EAAAA,EAAyBC,sBAAA,CAAA,MAAA,EAAA,IAAA,EAAA;QAAAE,cACdpyB,CAAAA,IAAAA,CAAE2R,MAAU,EAAA,SAAA,EAAA;AAGrB9M,YAAAA,WAAAA,EAAA7E,KAAA6E,WAAA;AADH8M,YAAAA,UAAAA,EAAA3R,KAAA2R,UAAA;AAAY,SAAA,EAAA,IAAA;AAA0BA,gBAAAA,sBAAAA,CAAAA,MAAAA,EAAAA;oBAAAA,KAAAA,EAAAA,kBAAAA,CAAAA,OAAAA,GAAAA,IAAAA,CAAAA,WAAAA,CAAAA;;;;;;;;;;;;ACvDlD,kBAAejU,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHqoC,MAAQ,EAAA;YACJnoC,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;AACA5H,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAA;QACP,MAAMqoC,MAAAA,GAAS9nC,UAAMP,KAAO,EAAA,QAAA,CAAA,CAAA;AAC5B,QAAA,MAAM4T,aAAakQ,YAAS,CAAA,IAAA;YACxB,IAAIukB,MAAAA,CAAOxnC,KAAK,EAAE;gBACd,OAAO,QAAA,CAAA;AACX,aAAA;YAEA,OAAO,YAAA,CAAA;AACX,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM2F,YAAYsd,YAAS,CAAA,IAAA;YACvB,IAAIukB,MAAAA,CAAOxnC,KAAK,EAAE;gBACd,OAAO,aAAA,CAAA;AACX,aAAA;YAEA,OAAO,eAAA,CAAA;AACX,SAAA,CAAA,CAAA;AAEA,QAAA,MAAMiG,cAAcgd,YAAS,CAAA,IAAA;YACzB,IAAIukB,MAAAA,CAAOxnC,KAAK,EAAE;gBACd,OAAO,SAAA,CAAA;AACX,aAAA;YAEA,OAAO,QAAA,CAAA;AACX,SAAA,CAAA,CAAA;QAEA,OAAO;AACH+S,YAAAA,UAAAA;AACApN,YAAAA,SAAAA;AACAM,YAAAA,WAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;SAIMk5B,aAAAA,CAKO/9B,IAAA,EAAAH,MAAA,EAAAm+B,MAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,QAAA,EAAA;IAJF,OAAAlM,aAAAA,EAAAA,EAAyBC,sBAAA,CAAA,MAAA,EAAA,IAAA,EAAA;QAAAE,cACdpyB,CAAAA,IAAAA,CAAE2R,MAAU,EAAA,SAAA,EAAA;AAGrB9M,YAAAA,WAAAA,EAAA7E,KAAA6E,WAAA;AADH8M,YAAAA,UAAAA,EAAA3R,KAAA2R,UAAA;AAAY,SAAA,EAAA,IAAA;AAA2BA,gBAAAA,sBAAAA,CAAAA,MAAAA,EAAAA;oBAAAA,KAAAA,EAAAA,kBAAAA,CAAAA,OAAAA,GAAAA,IAAAA,CAAAA,WAAAA,CAAAA;;;;;;;;;;;;ACpCnD,kBAAejU,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACR0oC,QAAAA,wBAAAA;AACAC,QAAAA,gCAAAA;AACAjB,QAAAA,gBAAAA;AACJ,KAAA;IACAtnC,KAAO,EAAA;QACHwoC,aAAe,EAAA;YACXtoC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS,EAAA,KAAA;AACb,SAAA;QACAwgC,WAAa,EAAA;YACTvoC,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;QACAggB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,QAAA;AAAS,KAAA;AACxCC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAG,EAAG,EAAA;QACjB,MAAMooC,cAAAA,GAAiB,CAACxoC,IAAcic,EAAAA,OAAAA,GAAAA;AAClC7b,YAAAA,IAAAA,CAAK,YAAYJ,IAAMic,EAAAA,OAAAA,CAAAA,CAAAA;AAC3B,SAAA,CAAA;AACA,QAAA,MAAMyI,gBAAgB,CAAC5f,IAAAA,GAAAA;AACnB1E,YAAAA,IAAAA,CAAK,SAAW0E,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;AACA,QAAA,MAAMuuB,eAAe,CAAC7xB,CAAAA,GAAAA;AAClBpB,YAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,SAAA,CAAA;QAEA,OAAO;YACHinC,gBAAkBxM,EAAAA,2BAAAA;YAClByM,wBAA0B7D,EAAAA,mCAAAA;YAC1B8D,cAAgBvM,EAAAA,yBAAAA;YAChBwM,iBAAmBC,EAAAA,4BAAAA;YACnBC,YAAcvB,EAAAA,0BAAAA;YAEdnmC,IAAM,EAAA,KAAA;AAENsjB,YAAAA,aAAAA;AACA2O,YAAAA,YAAAA;AACAmV,YAAAA,cAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;;;;;AAnEF,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MA6FgBlV,YAAe,GAAA;IAAAh1B,GAAA,EAAA,CAAA;;;;;;;AA7F/B,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAkIgB81B,YAAM,GAAA;IAAA91B,GAAA,EAAA,CAAA;;;;;;AAkCZ,IAAA,MAAAyqC,sCAAArnC,oBAAA,CAAA,0BAAA,CAAA,CAAA;mDA5FmC4mC,KAAa,EAAA;AAAAzhC,QAAAA,KAAAA,EAAAmuB,kBAAuCsT,CAAAA;AAAa,YAAA,0CAAA;AAAA,YAAA;gBAAA,aAAAvmC,EAAAA,IAAAA,CAAAumC,aAAA,KAAA,QAAA;;AAKtG,aAAA;AAAA,SAAA,CAAA;KAAA,EAAA;;AAGuHzhC,YAAAA,KAAAA,EAAAmuB,kBAAA,CAAA;AAAA,gBAAA,uCAAA;AAAA,gBAAA;oBAAA,eAAAjzB,EAAAA,IAAAA,CAAAumC,aAAA,KAAA,QAAA;oBADnH,aAAqBvmC,EAAAA,IAAAA,CAAAumC,aAAA,KAAA,KAAA;AAAA,iBAAA;AAAA,aAAA,CAAA;YAMrB7L,KAEM,EAAA;gBAAA,YAAA,EAAA,GAAA;AAAA,aAAA;SACN,EAAA;AAAAvI,YAAAA,YAAAA;mCAC+CnM,OAAO,IAAA,EAAA;AAAA7lB,gBAAAA,eAAAA,CAAA8mC,2CAAA,EAAA;;AAG5CT,iBAAAA,EAAW,MAAA,CAAA,EAAA;AAAA,oBAAA,QAAA;AAAA,iBAAA,CAAA;AAAA,aAAA,CAAA;iBAGjBA,WACY,IAAAvU,aAAE8U,EAAAA,EAAAA,sBAAAA,CAAa,OAAkBxV,YAAA,EAAA;AAAApxB,gBAAAA,eAAAA,CAC/B+mC,2BAAM,EAAA;oBACfhtB,OAAQ8L,EAAAA,IAAAA,CAAM+gB,YAAA,CAAAtB,kBAAA;oBACd,WAAQ,EAAA,IAAA;AACRzf,oBAAAA,MAAAA,EAASrD,KAAAA,MAAAA;AACTwkB,oBAAAA,UAAAA,EAAQ7V,MAAY,CAAA,CAAA,CAAA,KAAAzxB,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAqa,OAAAla,GAAAA,IAAAA,CAAAymC,cAAA,CAAA,iBAAAvsB,OAAA,CAAA,CAAA;AAAA0I,oBAAAA,SAAAA,EAAA5iB,KAAA2iB,aAAA;AAEzB+E,oBAAAA,QAAAA,EAOE1nB,KAAAsxB,YAAA;AANG,iBAAA,EAAA,MAAO,CAAEyV,EAAAA;AAAAA,oBAAAA,SAAAA;AAAAA,oBAAAA,QAAAA;AAAa,oBAAA,WAAA;AAAoB,oBAAA,UAAA;AAAA,iBAAA,CAAA;AAAA5mC,gBAAAA,eAAAA,CACjC+mC,2BAAM,EAAA;oBACfhtB,OAAQ8L,EAAAA,IAAAA,CAAM+gB,YAAA,CAAApB,oBAAA;oBACd,WAAQ,EAAA,IAAA;AACR3f,oBAAAA,MAAAA,EAASrD,KAAAA,MAAAA;AACTwkB,oBAAAA,UAAAA,EAAQ7V,MAAY,CAAA,CAAA,CAAA,KAAAzxB,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAqa,OAAAla,GAAAA,IAAAA,CAAAymC,cAAA,CAAA,iBAAAvsB,OAAA,CAAA,CAAA;AAAA0I,oBAAAA,SAAAA,EAAA5iB,KAAA2iB,aAAA;;AA7GzC,iBAAA,EAAA,MAAA,CAAA,EAAA;AAAA,oBAAA,SAAA;AAAA,oBAAA,QAAA;AAAA,oBAAA,WAAA;AAAA,oBAAA,UAAA;AAAA,iBAAA,CAAA;aAAA,CAAA,IAkHQ4Q,uBAiDM,EAAA,EAAA,IAAA,CAAA;SAhDF,EAAA,CAAA,CAAA;AAAA9B,QAAAA,sBAAAA,CAAA,KAAA,EAAA;AAEmH3sB,YAAAA,KAAAA,EAAAmuB,kBAAA,CAAA;AAAA,gBAAA,uCAAA;AAAA,gBAAA;oBAAA,eAAAjzB,EAAAA,IAAAA,CAAAumC,aAAA,KAAA,QAAA;oBADnH,aAAqBvmC,EAAAA,IAAAA,CAAAumC,aAAA,KAAA,KAAA;AAAA,iBAAA;AAAA,aAAA,CAAA;YAMrB7L,KAEM,EAAA;gBAAA,YAAA,EAAA,GAAA;AAAA,aAAA;SACN,EAAA;AAAAlJ,YAAAA,YAAAA;mCACuCxL,OAAO,IAAA,EAAA;AAAA7lB,gBAAAA,eAAAA,CAAA6mC,mCAAA,EAAA;;AAGpCR,iBAAAA,EAAW,MAAA,CAAA,EAAA;AAAA,oBAAA,QAAA;AAAA,iBAAA,CAAA;AAAA,aAAA,CAAA;AAGjBxmC,YAAAA,IAAAA,CAAAwmC,WAAA,IAAAvU,aAQMC,EAAAA,EAAAA,sBAAAA,CAAA,OAAAG,YAAA,EAAA;AAAAZ,gBAAAA,sBAAAA,CANYsV,OAAa,IAAA,EAAA;AAAA5mC,oBAAAA,eAAAA,CACb+mC,2BAAM,EAAA;wBACfhtB,OAAQ8L,EAAAA,IAAAA,CAAM+gB,YAAA,CAAAnB,WAAA;wBACd,WAAQ,EAAA,IAAA;AACR5f,wBAAAA,MAAAA,EAASrD,KAAAA,MAAAA;AACTwkB,wBAAAA,UAAAA,EAAQ7V,MAAY,CAAA,CAAA,CAAA,KAAAzxB,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAqa,OAAAla,GAAAA,IAAAA,CAAAymC,cAAA,CAAA,SAAAvsB,OAAA,CAAA,CAAA;AAAA0I,wBAAAA,SAAAA,EAAA5iB,KAAA2iB,aAAA;;AAG7B,qBAAA,EASM,MAAA,CAAA,EAAA;AAAA,wBAAA,SAAA;AAAA,wBAAA,QAAA;AAAA,wBAAA,WAAA;AAAA,wBAAA,UAAA;AAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;uCAPYokB,OAAa,IAAA,EAAA;AAAA5mC,oBAAAA,eAAAA,CACb+mC,2BAAM,EAAA;wBACfhtB,OAAQ8L,EAAAA,IAAAA,CAAM+gB,YAAA,CAAAf,YAAA;wBACd,WAAQ,EAAA,IAAA;AACRhgB,wBAAAA,MAAAA,EAASrD,KAAAA,MAAAA;AACTwkB,wBAAAA,UAAAA,EAAQ7V,MAAY,CAAA,CAAA,CAAA,KAAAzxB,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAqa,OAAAla,GAAAA,IAAAA,CAAAymC,cAAA,CAAA,SAAAvsB,OAAA,CAAA,CAAA;AAAA0I,wBAAAA,SAAAA,EAAA5iB,KAAA2iB,aAAA;;AAG7B,qBAAA,EASM,MAAA,CAAA,EAAA;AAAA,wBAAA,SAAA;AAAA,wBAAA,QAAA;AAAA,wBAAA,WAAA;AAAA,wBAAA,UAAA;AAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;uCAPYokB,OAAa,IAAA,EAAA;AAAA5mC,oBAAAA,eAAAA,CACb+mC,2BAAM,EAAA;wBACfhtB,OAAQ8L,EAAAA,IAAAA,CAAM+gB,YAAA,CAAAhB,UAAA;wBACd,WAAQ,EAAA,IAAA;AACR/f,wBAAAA,MAAAA,EAASrD,KAAAA,MAAAA;AACTwkB,wBAAAA,UAAAA,EAAQ7V,MAAY,CAAA,CAAA,CAAA,KAAAzxB,MAAA,CAAA,CAAA,CAAA,GAAA,CAAAqa,OAAAla,GAAAA,IAAAA,CAAAymC,cAAA,CAAA,SAAAvsB,OAAA,CAAA,CAAA;AAAA0I,wBAAAA,SAAAA,EAAA5iB,KAAA2iB,aAAA;;;;;;;;AA/J7C,iBAAA,CAAA;aAAA,CAAA,IAAA4Q,uBAAA,EAAA,EAAA,IAAA,CAAA;;;;;;;;;;;ACqBA,gBAAe71B,mBAAgB,CAAA;IAC3BC,UAAY,EAAA;AACRypC,QAAAA,sBAAAA;AACAC,2BAAAA,aAAAA;AACAtL,uBAAAA,SAAAA;AACA3G,QAAAA,aAAAA;AACAlE,gBAAAA,WAAAA;AACAmE,mBAAAA,iBAAAA;AACJ,KAAA;IACAt3B,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAI,IAAM,EAAA;YACFpB,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;AACJ,KAAA;IACA7H,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,QAAA;AAAS,KAAA;IACnDiH,KAAO/J,EAAAA,MAAAA;AAKP+C,IAAAA,KAAAA,CAAAA,CAAM+yB,MAAM,EAAE,EAAE9yB,IAAG,EAAG,EAAA;AAClB,QAAA,MAAMipC,eAAehoC,OAAI,CAAA,KAAA,CAAA,CAAA;AACzB,QAAA,MAAMioC,UAAa,GAAA,IAAA;AACfD,YAAAA,YAAAA,CAAa1oC,KAAM,GAAE,CAAC0oC,YAAAA,CAAa1oC,KAAK,CAAA;AAC5C,SAAA,CAAA;QAEA,MAAM02B,SAAAA,GAAYlH,4BAAgB5rB,CAAAA,cAAAA,CAAeglC,eAAe,CAAA,CAAA;AAEhE,QAAA,MAAM3kB,gBAAgB,CAAClnB,IAAAA,GAAAA;AACnB0C,YAAAA,IAAAA,CAAK,SAAW1C,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;QAEA,MAAM8qC,cAAAA,GAAiB,CAAC/hC,SAAmBwV,EAAAA,OAAAA,GAAAA;AACvC7b,YAAAA,IAAAA,CAAK,YAAYqG,SAAWwV,EAAAA,OAAAA,CAAAA,CAAAA;AAChC,SAAA,CAAA;AAEA,QAAA,MAAMoX,eAAe,CAACrf,KAAAA,GAAAA;AAClB5T,YAAAA,IAAAA,CAAK,QAAU4T,EAAAA,KAAAA,CAAAA,CAAAA;AACnB,SAAA,CAAA;AAEA,QAAA,MAAM0Q,gBAAgB,CAAChnB,IAAAA,GAAAA;AACnB0C,YAAAA,IAAAA,CAAK,SAAW1C,EAAAA,IAAAA,CAAAA,CAAAA;AACpB,SAAA,CAAA;QAEA,OAAO;AACH2rC,YAAAA,YAAAA;AACAC,YAAAA,UAAAA;AAEAjS,YAAAA,SAAAA;AACAzS,YAAAA,aAAAA;AACA4jB,YAAAA,cAAAA;AACAnV,YAAAA,YAAAA;AACA3O,YAAAA,aAAAA;AACJ,SAAA,CAAA;AACJ,KAAA;AACJ,CAAE,CAAA;;AAMmB,MAAAwP,UAAA,GAAA;IAAArtB,KAAM,EAAA,0BAAA;AAAM,CAAA,CAAA;AAQG,MAAAysB,UAAA,GAAA;IAAAzsB,KAAA,EAAA,oCAAA;AAAA,CAAA,CAAA;;;;AA/FpC,MAAAutB,UAAA,mBAAAZ,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,wBAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;MAoGsC4sB,UAAM,GAAA;IAAAn1B,GAAA,EAAA,CAAA;;;;IA0D/BuI,KAAM,EAAA,SAAA;AAAA,CAAA,CAAA;AACM,MAAA6sB,UAAA,mBAAAF,sBAAAA,CAAA,GAAA,EAAA;IAAA3sB,KAAA,EAAA,YAAA;AAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAEL,MAAA4tB,UAAA,GAAA;IAAA5tB,KAAA,EAAA,iBAAA;AAAA,CAAA,CAAA;;SAME,EAAA,EAAA;AAAC,CAAA,CAAA;AAEH,MAAA8tB,WAAA,mBAAAnB,sBAAAA,CAEO,MAFD,EAAA;IAAA3sB,KAAM,EAAA,YAAA;AAAY,CAAA,EAAC,aAEzB,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;AAvFhB,IAAA,MAAA0wB,uBAAA71B,oBA4FM,CAAA,WAAA,CAAA,CAAA;WA1FEsyB,aAAAA,EAAAA,EAwDMC,sBAAA,CAAA,KAAA,EAAAC,UAAA,EAAA;AAAAV,QAAAA,sBAAAA,CAvDF,OAmBM,IAnBN,EAAA;AAkBoBA,YAAAA,sBAAAA,CAAA,OAAAF,UAAA,EAAA;AAAAE,gBAAAA,sBAAAA,CAhBAzL,OAASwL,UAAA,EAAA;AAAArxB,oBAAAA,eAAAA,CACpBg8B,wBAAwB,EAAA;wBACxB,WAAUn8B,EAAAA,IAAAA,CAAIgmB,MAAA,CAAA1jB,EAAA;wBACd,aAASqgB,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,IAAAA;wBAAAA,QAAAA,EAAAA,IAAAA;AAECC,wBAAAA,SAAAA,EAAO5iB,KAAA2iB,aAAA;qBAAA,EAAA;+BAEdziB,EAAAA,WAAAA,CAES,CAAAnC,KAAA,GAAA;AAAAs0B,gCAAAA,UAAAA;;oCAlGrCE,EAiGuD,EAAA,YAAA,GAAAx0B,MAAAupB,QAAA;iCAAA,EAAA;;4CAjGvDhnB,mBAAAkyB,CAAAA,mBAAAA,CAAAz0B,KAAA09B,CAAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAAA,yCAAA,CAAA;oCAmG4C/6B,CAAA,EAAA,CAAA;AAAA,iCAAA,EAAA,IAAA,EAAA;AAAA,oCAAA,IAAA;AAAA,iCAAA,CAAA;AAnG5C3C,gCAAAA,KAAAA,CAAAs9B,UAAA,IAAApJ,aAAAA,EAAAA,EAAAC,uBAAA,MAAAR,EAAAA,UAAAA,EAAAc,mBAAAz0B,CAAAA,KAAAA,CAAAupB,QAAA,CAAA,EAAA,CAAA,CAAA,IAAAiM,uBAAA,EAAA,EAAA,IAAA,CAAA;AAAA,6BAAA,CAAA;;AA2GgB,qBAAA,EAkCM,CAAA,EAAA;AAAA,wBAAA,WAAA;AAAA,wBAAA,aAAA;AAAA,wBAAA,WAAA;AAAA,qBAAA,CAAA;AAAA,iBAAA,CAAA;uCA7BE,OAUSd,UAAA,EAAA;oBAAAL,cATCpyB,CAAAA,IAAAA,CAAqBwD,MAAA,EAAA,aAAA,EAAA;AAAA7H,wBAAAA,IAAAA,EAAAqE,KAAAgmB,MAAA;AAAA,qBAAA,EAAA,IAAA;AACrByL,4BAAAA,sBAAAA,CAAA,QAAA,EAAA;gCAAA3sB,KAAA,EAAA,qBAAA;AAENd,gCAAAA,OAAAA,EAKEnE,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAC,kBAAA,CAAA,GAAAC,OAAAC,IAAAunC,CAAAA,UAAA,IAAAvnC,IAAAunC,CAAAA,UAAA,IAAAxnC,IAAA,CAAA,EAAA;AAAA,oCAAA,SAAA;iCAAA,CAAA,CAAA;6BAAA,EAAA;;;;;;AAEN,iCAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,6BAAA,CAAA;4CAEeV,iBAAI,EAAA;AACfkzB,gCAAAA,EAAAA,EAAM,YAAAvyB,GAAAA,IAAAA,CAAAgmB,MAAA,CAAA1jB,EAAA;AAAA8B,gCAAAA,QAAAA,EAAApE,KAAAX,IAAA;gCA9HlCyF,KAAA,EAAA,0BAAA;6BAAA,EAAA;;AAAA6sB,wCAAAA,UAAAA;AAAA,qCAAA,CAAA;gCAkIwC2D,CAAAA,EAAAA,CAAAA;AACZ,6BAAA,EAAA,CAAA,EAAA;AAAA,gCAAA,IAAA;AAAA,gCAAA,UAAA;AAAA,6BAAA,CAAA;AAnI5Bt1B,4BAAAA,IAAAA,CAAAs1B,SAAA,IAAArD,aAAAA,EAAAA,EAoI4C0B,gBAAK8B,wBAAA,EAAA;gCAChBl5B,GAAA,EAAA,CAAA;gCACA,WAAW,EAAA,KAAA;gCACX,WAAU8C,EAAAA,IAAAA,CAAI2mB,MAAA,CAAA1jB,EAAA;gCACf,aAAM,EAAA,UAAA;AACL8B,gCAAAA,QAAAA,EAAOpE,KAAE6iB,IAAAA;gCAAAA,KAAAA,EAAAA,4BAAAA;AAzI1CC,gCAAAA,SAAAA,EAAA9iB,KAAA6iB,aAAA;AAAA,6BAAA,EAAA,MAAA,CAAA,EAAA;AAAA,gCAAA,WAAA;AAAA,gCAAA,UAAA;AAAA,gCAAA,WAAA;6BAAA,CAAA,IAAA0Q,uBAAA,EAAA,EAAA,IAAA,CAAA;;;AAgJQ,aAAA,CAAA;AAAA,SAAA,CAAA;wBAEKkU,4BAA0B,EAAA;AAC1BzhB,YAAAA,MAAAA,EAAAhmB,KAAAgmB,MAAA;AACA,YAAA,cAAA,EAASrD,KAAAA,YAAAA;YACT,gBAASE,EAAAA,IAAAA,CAAaykB,YAAA,GAAA,QAAA,GAAA,KAAA;AACtB1kB,YAAAA,SAAAA,EAAQ5iB,KAAEymC,aAAAA;AACV3jB,YAAAA,SAAAA,EAAQwO,KAAAA,aAAAA;AAAAA,YAAAA,UAAAA,EAAAA,KAAAA,cAAAA;AAEb5J,YAAAA,QAAAA,EAIE1nB,KAAAsxB,YAAA;AAAA,SAAA,EAHE,MAAM,CAAW,EAAA;AAAA,YAAA,QAAA;AAAA,YAAA,cAAA;AAAA,YAAA,gBAAA;AAAA,YAAA,WAAA;AAAA,YAAA,WAAA;AAAA,YAAA,YAAA;AAAA,YAAA,UAAA;AAAA,SAAA,CAAA;AAAAnxB,QAAAA,eAAAA,CACR6lB,iCAAM,EAAA;YACdlhB,KAAA,EAAA,WAAA;AAAAkhB,YAAAA,MAAAA,EAAAhmB,KAAAgmB,MAAA;YAEL,cAAA,EAAA,cAAA;AAAA,SAAA,EACI,MAOM,CAAA,EAAA;AAAA,YAAA,QAAA;AAAA,SAAA,CAAA;AAAAyL,QAAAA,sBAAAA,CANF,OAKQiB,UAAA,EAAA;AAFGjB,YAAAA,sBAAAA,CAAA,OAAAG,UAAA,EAAA;AACoCH,gBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAmB,oBAAAA,WAAAA;;;;;;AAGnD,iBAAA,CAAA;AAAA,aAAA,CAAA;AAIenB,YAAAA,sBAAAA,CAAA,OAAAoB,WAAA,EAAA;AACoCpB,gBAAAA,sBAAAA,CAAA,SAAA,IAAA,EAAA;AAAAqB,oBAAAA,WAAAA;;;;;;;;;;;;;;;;;;ACvJ/D,MAAM4U,gBAAgBhqC,mBAAgB,CAAA;IAClCC,UAAY,EAAA;AACRgqC,QAAAA,SAAAA;AACAP,QAAAA,sBAAAA;AACAQ,QAAAA,aAAAA;AACJ,KAAA;IACA7pC,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;IACAd,KAAO,EAAA;AAAC,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,QAAA;AAAU,QAAA,UAAA;AAAW,KAAA;AACnDC,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEM,IAAI,EAAE,EAAA;QACjB,MAAMooC,cAAAA,GAAiB,CAAC/hC,SAAmBwV,EAAAA,OAAAA,GAAAA;AACvC7b,YAAAA,IAAAA,CAAK,YAAYqG,SAAWwV,EAAAA,OAAAA,CAAAA,CAAAA;AAChC,SAAA,CAAA;QAEA,OAAO,IAAMpW,MAAE+jC,WAAa,EAAA;AACxB7hB,gBAAAA,MAAAA,EAAQjoB,MAAMioB,MAAM;AACpBlD,gBAAAA,SAAAA,CAAAA,CAAUkD,MAAM,EAAA;AACZ3nB,oBAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,iBAAA;AACApD,gBAAAA,SAAAA,EAAW,CAACoD,MAAAA,GAAAA;AACR3nB,oBAAAA,IAAAA,CAAK,SAAW2nB,EAAAA,MAAAA,CAAAA,CAAAA;AACpB,iBAAA;AACA0B,gBAAAA,QAAAA,CAAAA,CAASjoB,CAAC,EAAA;AACNpB,oBAAAA,IAAAA,CAAK,QAAUoB,EAAAA,CAAAA,CAAAA,CAAAA;AACnB,iBAAA;aACD,EAAA;AACCuG,gBAAAA,OAAAA,EAAS,CAACiqB,SAAAA,GAAAA;oBACN,IAAI,CAACA,SAAUt0B,CAAAA,IAAI,EAAE;AACjB,wBAAA,OAAO,EAAE,CAAA;AACb,qBAAA;AAEA,oBAAA,OAAOmI,MAAEgkC,iBAAmB,EAAA;AACxB9hB,wBAAAA,MAAAA,EAAQiK,UAAUt0B,IAAI;AACtB0D,wBAAAA,IAAAA,EAAM4wB,UAAU5wB,IAAI;AACpByjB,wBAAAA,SAAAA,EAAWmN,UAAUrqB,OAAO;wBAC5BuhC,UAAYV,EAAAA,cAAAA;AACZ/e,wBAAAA,QAAAA,EAAUuI,UAAU9I,MAAM;AAC1BvE,wBAAAA,SAAAA,EAAWqN,UAAUpqB,OAAO;AAChC,qBAAA,CAAA,CAAA;AACJ,iBAAA;AACJ,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;ACnDA,gBAAenI,mBAAgB,CAAA;IAC3BK,KAAO+H,EAAAA,eAAAA,EAAAA;IACPV,KAAO/J,EAAAA,MAAAA;IACP8C,KAAO,EAAA;AACH,QAAA,GAAGsH,gBAA4B,EAAA;;QAE/BsiC,QAAU,EAAA,CAACC,YAAoBC,QAAqB,GAAA,IAAA;AACxD,KAAA;IACA7pC,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;QACd,MAAM,EACFmnB,MAAM,EACND,WAAW,EACX3C,aAAa,EACbE,aAAa,EAChB,GAAG6B,UAAW,CAAA;AACXzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAWwP,CAAAA,QAAQ,CAAC,CAAC;AAC9Bx7B,YAAAA,KAAAA;YACAK,KAAOA,EAAAA,KAAAA;AACX,SAAA,CAAA,CAAA;QAEAknB,WAAY,CAAA;YACRviB,IAAM,EAAA;AACFolB,gBAAAA,OAAAA,CAAAA,CAAQplB,IAAI,EAAA;AACR,oBAAA,OAAOe,MAAE4jC,aAAe,EAAA;wBACpB1hB,MAAQjjB,EAAAA,IAAAA;wBACR+f,SAAWD,EAAAA,aAAAA;wBACXD,SAAWD,EAAAA,aAAAA;wBACXwkB,UAAWziC,CAAAA,CAAAA,SAAiB,EAAEwV,OAAe,EAAA;4BACzC9b,KAAMC,CAAAA,IAAI,CAAC,UAAA,EAAYqG,SAAWwV,EAAAA,OAAAA,CAAAA,CAAAA;AACtC,yBAAA;AACJ,qBAAA,CAAA,CAAA;AACJ,iBAAA;AACJ,aAAA;YAEA9T,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,+BAAA;AACb,aAAA;AACJ,SAAA,CAAA,CAAA;AAEA,QAAA,OAAO,IAAM5C,MAAAA,EAAAA,CAAAA;AACjB,KAAA;AACJ,CAAG,CAAA;;AC7CH,MAAM2iB,8BAA8BxqC,mBAAgB,CAAA;IAChDK,KAAO,EAAA;QACHioB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;QACAwF,WAAa,EAAA;YACTxG,IAAMC,EAAAA,MAAAA;AACN8H,YAAAA,OAAAA,EAAShF,iCAAyB+5B,MAAM;AAC5C,SAAA;QACA71B,QAAU,EAAA;YACNjH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,KAAA;AACb,SAAA;QACAf,QAAU,EAAA;YACNhH,IAAMiI,EAAAA,OAAAA;YACNF,OAAS,EAAA,IAAA;AACb,SAAA;AACJ,KAAA;AACA5H,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAE,EAAEqH,KAAK,EAAE,EAAA;AAClB,QAAA,MAAM41B,aAAgBha,GAAAA,uBAAAA,EAAAA,CAAAA;AAEtB,QAAA,MAAM7c,OAAU,GAAA,UAAA;YACZ,MAAMsH,GAAAA,GAAMuvB,cAAcmN,UAAU,CAAChN,YAAY,CAACp9B,KAAAA,CAAMioB,MAAM,CAACiV,WAAW,CAAA,CAAA;YAE1E7rB,MAAOgsB,CAAAA,IAAI,CACP3vB,GACA,EAAA,QAAA,CAAA,CAAA;AAER,SAAA,CAAA;AAEA,QAAA,OAAO,IAAM9H,mBAAoB,CAAA;AAC7BQ,gBAAAA,OAAAA;AACAM,gBAAAA,WAAAA,EAAa1G,MAAM0G,WAAW;AAC9BS,gBAAAA,QAAAA,EAAUnH,MAAMmH,QAAQ;AACxBD,gBAAAA,QAAAA,EAAUlH,MAAMkH,QAAQ;gBACxBZ,UAAY,EAAA,KAAA;gBACZE,SAAW,EAAA,iBAAA;gBACXV,SAAW,EAAA,IAAA;gBACXmB,WAAa,EAAA,UAAA;gBACbH,WAAa,EAAA,MAAA;AACbO,gBAAAA,KAAAA;AACJ,aAAA,CAAA,CAAA;AACJ,KAAA;AACJ,CAAA;;AC1CA,mBAAe1H,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHmJ,KAAO,EAAA;YACHjJ,IAAMi2B,EAAAA,MAAAA;YACNluB,OAAS,EAAA,CAAA;AACb,SAAA;QACAggB,MAAQ,EAAA;YACJ/nB,IAAM5C,EAAAA,MAAAA;YACN4D,QAAU,EAAA,IAAA;AACd,SAAA;AACJ,KAAA;AACAb,IAAAA,KAAAA,CAAAA,CAAML,KAAK,EAAA;AACP,QAAA,MAAMssB,OAAOC,UAAOvsB,CAAAA,KAAAA,CAAAA,CAAAA;QAEpB,IAAI6P,OAAAA,CAAAA;AACJ,QAAA,IAAIyc,KAAKrE,MAAM,CAACpnB,KAAK,CAACqT,KAAK,EAAE;AACzB,YAAA,MAAMuW,KAA6B,GAAA;AAAC,gBAAA,WAAA;AAAY,aAAA,CAAA;AAEhD,YAAA,IAAI6B,KAAKrE,MAAM,CAACpnB,KAAK,CAACwpC,UAAU,EAAE;AAC9B5f,gBAAAA,KAAAA,CAAM5jB,IAAI,CAAC,kBAAA,CAAA,CAAA;gBACX4jB,KAAM5jB,CAAAA,IAAI,CAACd,KAAE,CAAA,QAAA,EAAUumB,KAAKrE,MAAM,CAACpnB,KAAK,CAACwpC,UAAU,CAAA,CAAA,CAAA;AACnD5f,gBAAAA,KAAAA,CAAM5jB,IAAI,CAAC,GAAA,CAAA,CAAA;AACf,aAAA;AAEA,YAAA,IAAIylB,KAAKrE,MAAM,CAACpnB,KAAK,CAACuD,IAAI,EAAE;AACxBqmB,gBAAAA,KAAAA,CAAM5jB,IAAI,CAAC,kBAAA,CAAA,CAAA;gBACX4jB,KAAM5jB,CAAAA,IAAI,CAACd,KAAE,CAAA,QAAA,EAAUumB,KAAKrE,MAAM,CAACpnB,KAAK,CAACuD,IAAI,CAAA,CAAA,CAAA;AAC7CqmB,gBAAAA,KAAAA,CAAM5jB,IAAI,CAAC,GAAA,CAAA,CAAA;AACf,aAAA;AAEA4jB,YAAAA,KAAAA,CAAM5jB,IAAI,CAAC,UAAA,CAAA,CAAA;AAEXgJ,YAAAA,OAAAA,GAAU9J,MAAE,MAAQ0kB,EAAAA,KAAAA,CAAAA,CAAAA;AACxB,SAAA,MAAO,IAAI6B,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAAC4S,MAAM,EAAE;AACjC5D,YAAAA,OAAAA,GAAU9J,MAAE,MAAQ,EAAA;AAChB,gBAAA,QAAA;AACAA,gBAAAA,KAAAA,CAAE,UAAUumB,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAACqF,KAAK,CAAA;AACnC,gBAAA,mCAAA;AACAH,gBAAAA,KAAAA,CAAE,UAAUumB,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAAC4S,MAAM,CAAA;AACvC,aAAA,CAAA,CAAA;SACE,MAAA;AACH5D,YAAAA,OAAAA,GAAU9J,MAAE,MAAQ,EAAA;AAChB,gBAAA,QAAA;AACAA,gBAAAA,KAAAA,CAAE,UAAUumB,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAACqF,KAAK,CAAA;AACnC,gBAAA,YAAA;AACH,aAAA,CAAA,CAAA;AACL,SAAA;QAEA,OAAO,IAAA;YACH,IAAIyN,aAAAA,CAAAA;AAEJ,YAAA,IAAI2Y,KAAKrE,MAAM,CAACpnB,KAAK,CAACypC,cAAc,EAAE;AAClC32B,gBAAAA,aAAAA,GAAgB5N,MAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,qBAAA;iBAAyB,EAAA;oBACvDulB,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAACypC,cAAc,CAAC//B,OAAO,CAAC,KAAO,EAAA,IAAA,CAAA;AACnD,iBAAA,CAAA,CAAA;AACL,aAAA;AAEA,YAAA,OAAOxE,MACH,KACA,EAAA;gBACIgB,KAAO,EAAA,CAAC,UAAU,EAAEulB,IAAAA,CAAKnjB,KAAK,CAACtI,KAAK,GAAG,CAAA,CAAE,CAAC;aAE9C,EAAA;AACIkF,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBAAEgB,KAAO,EAAA,iBAAA;iBAAqB,EAAA;AACnChB,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBAAEgB,KAAO,EAAA,aAAA;qBAAiB,EAAA;wBAACulB,IAAKnjB,CAAAA,KAAK,CAACtI,KAAK,GAAG,CAAA;AAAE,qBAAA,CAAA;AACzDkF,oBAAAA,KAAAA,CAAE,KAAO,EAAA;wBAAEgB,KAAO,EAAA,8BAAA;qBAAkC,EAAA;AAChDhB,wBAAAA,KAAAA,CAAE,KAAO,EAAA;4BAAEgB,KAAO,EAAA,CAAC,eAAe,EAAEulB,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAAC8F,SAAS,CAAC,CAAC;yBAAI,EAAA;AACjE,4BAAA,CAAC,EAAE2lB,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAAC8F,SAAS,CAAC,CAAC,EAAE2lB,KAAKrE,MAAM,CAACpnB,KAAK,CAACsb,OAAO,CAAC,CAAC;AAChE,yBAAA,CAAA;AACDpW,wBAAAA,KAAAA,CAAE,KAAO,EAAA;4BAAEgB,KAAO,EAAA;AAAC,gCAAA,cAAA;AAAgB,gCAAA;AAAEmN,oCAAAA,KAAAA,EAAOoY,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAACqT,KAAK;AAAC,iCAAA;AAAE,6BAAA;yBAAI,EAAA;AACtErE,4BAAAA,OAAAA;AACH,yBAAA,CAAA;AACD9J,wBAAAA,KAAAA,CAAE,KAAO,EAAA;4BAAEgB,KAAO,EAAA,SAAA;yBAAa,EAAA;AAC3BhB,4BAAAA,KAAAA,CAAEuxB,iBAAW,EAAA;AAAEiT,gCAAAA,QAAAA,EAAUje,IAAKrE,CAAAA,MAAM,CAACpnB,KAAK,CAACqlB,UAAU;AAAC,6BAAA,CAAA;AACzD,yBAAA,CAAA;AACJ,qBAAA,CAAA;AACJ,iBAAA,CAAA;AACDvS,gBAAAA,aAAAA;AACH,aAAA,CAAA,CAAA;AAET,SAAA,CAAA;AACJ,KAAA;AACJ,CAAG,CAAA;;AC3EH,oBAAehU,mBAAgB,CAAA;IAC3BK,KAAO,EAAA;QACHupB,QAAU,EAAA;YACNrpB,IAAMC,EAAAA,MAAAA;YACNe,QAAU,EAAA,IAAA;AACd,SAAA;QACAjB,OAAS,EAAA;YACLC,IAAMC,EAAAA,MAAAA;YACN8H,OAAS9J,EAAAA,SAAAA;AACb,SAAA;AACJ,KAAA;IACAkC,KAAML,CAAAA,CAAAA,KAAK,EAAEK,KAAK,EAAA;AACd,QAAA,MAAMmqC,WAAWjpC,OAAwB,CAAA,IAAA,CAAA,CAAA;AAEzC,QAAA,MAAMkpC,mBAAmB,CAACjmB,IAAAA,GAAAA;YACtB,IAAI,CAACgmB,QAAS3pC,CAAAA,KAAK,EAAE;AACjB,gBAAA,OAAA;AACJ,aAAA;AAEA,YAAA,MAAMwI,EAAKmhC,GAAAA,QAAAA,CAAS3pC,KAAK,CAAC6pC,sBAAsB,CAAC,CAAC,KAAK,EAAElmB,KAAKoC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA,CAAA;AAEzE,YAAA,IAAIvd,EAAI,EAAA;AACJA,gBAAAA,EAAAA,CAAGshC,cAAc,CAAC;oBAAEC,QAAU,EAAA,QAAA;AAAS,iBAAA,CAAA,CAAA;AAC3C,aAAA;AACJ,SAAA,CAAA;AAEA,QAAA,MAAM,EACFpjB,MAAM,EACND,WAAW,EACd,GAAGZ,UAAW,CAAA;AACXzmB,YAAAA,IAAAA,EAAM,CAAC,EAAE8rB,kBAAW6e,CAAAA,YAAY,CAAC,CAAC;YAClClmB,SAAU+a,CAAAA,CAAAA,OAAO,EAAElb,IAAI,EAAA;gBACnBimB,gBAAiBjmB,CAAAA,IAAAA,CAAAA,CAAAA;AACrB,aAAA;YACAS,MAAQ,EAAA;AACJb,gBAAAA,YAAAA,CAAAA,CAAale,KAAK,EAAA;AACd,oBAAA,OAAOA,KAAMse,CAAAA,IAAI,CAACC,QAAQ,KAAKF,8BAAuByH,CAAAA,kBAAAA,CAAW6e,YAAY,CAAA,IACzE3kC,MAAMtI,IAAI,CAACw9B,WAAW,KAAKp7B,MAAMupB,QAAQ,CAAA;AACjD,iBAAA;AACJ,aAAA;AACAvpB,YAAAA,KAAAA;AACAK,YAAAA,KAAAA;YACAgnB,OAAS,EAAA,IAAA;YACTrf,KAAO,EAAA;gBACHif,OAAS,EAAA;AACLmU,oBAAAA,WAAAA,EAAap7B,MAAMupB,QAAQ;AAC/B,iBAAA;gBACApB,IAAM,EAAA;oBACFjC,UAAY,EAAA,KAAA;AAChB,iBAAA;AACJ,aAAA;YACAgB,YAAc,EAAA,CAACgF,KAAO;oBAClBma,KAAOna,EAAAA,CAAAA,CAAE1uB,MAAM,GAAG,CAAA,GAAI,CAAC,CAAC,EAAE0uB,CAAE,CAAA,CAAC,GAAGA,CAAAA;iBACpC,CAAA;AACJ,SAAA,CAAA,CAAA;QAEA3E,WAAY,CAAA;YACRlf,MAAQ,EAAA;gBACJ+hB,OAAS,EAAA,2BAAA;AACb,aAAA;YACAplB,IAAM,EAAA;gBACFolB,OAAQplB,CAAAA,CAAAA,IAAiB,EAAEktB,SAAyC,EAAA;AAChE,oBAAA,OAAOnsB,MACH+kC,YACA,EAAA;wBACI7iB,MAAQjjB,EAAAA,IAAAA;AACRmE,wBAAAA,KAAAA,EAAO+oB,UAAU/oB,KAAK;AACtB4b,wBAAAA,SAAAA,CAAAA,GAAAA;4BACI,IAAImN,SAAAA,IAAaA,SAAUrqB,CAAAA,OAAO,EAAE;AAChCqqB,gCAAAA,SAAAA,CAAUrqB,OAAO,CAAC7C,IAAAA,CAAAA,CAAAA;AACtB,6BAAA;AACJ,yBAAA;AACA6f,wBAAAA,SAAAA,EAAW,CAACnjB,CAAAA,GAAAA;4BACR,IAAIwwB,SAAAA,IAAaA,SAAUpqB,CAAAA,OAAO,EAAE;AAChCoqB,gCAAAA,SAAAA,CAAUpqB,OAAO,CAACpG,CAAAA,CAAAA,CAAAA;AACtB,6BAAA;AACJ,yBAAA;AACJ,qBAAA,CAAA,CAAA;AAER,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAA,CAAA;QAEA,OAAO,IAAMqE,MAAE,KAAO,EAAA;gBAClBxE,GAAKipC,EAAAA,QAAAA;gBACLzjC,KAAO,EAAA,eAAA;aACR,EAAA;AACChB,gBAAAA,KAAAA,CAAE,KAAO,EAAA;oBACLgB,KAAO,EAAA,UAAA;iBACR,EAAA;AACCygB,oBAAAA,MAAAA,EAAAA;AACH,iBAAA,CAAA;AACJ,aAAA,CAAA,CAAA;AACL,KAAA;AACJ,CAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjGI,SAAS6D,OAAAA,CAAQnK,GAAQ,EAAEvjB,OAAgB,EAAA;AAC9CmlB,IAAAA,qBAAAA,CAAsB5B,GAAK,EAAA;AACvBxJ,QAAAA,OAAAA,EAAS/Z,QAAQotC,OAAO;AAC5B,KAAA,CAAA,CAAA;AAEA7nB,IAAAA,wBAAAA,CAAyBhC,GAAK,EAAA;AAC1BxJ,QAAAA,OAAAA,EAAS/Z,QAAQqtC,UAAU;AAC/B,KAAA,CAAA,CAAA;AAEAznB,IAAAA,oBAAAA,CAAqBrC,GAAK,EAAA;AACtBxJ,QAAAA,OAAAA,EAAS/Z,QAAQotC,OAAO;AAC5B,KAAA,CAAA,CAAA;AAEA3f,IAAAA,iBAAAA,CAAkBlK,GAAK,EAAA;AACnB+J,QAAAA,MAAAA,EAAQttB,QAAQstC,gBAAgB;AACpC,KAAA,CAAA,CAAA;AAEA,IAAA,MAAMC,eAAe/rC,mBAAoB+hB,CAAAA,GAAAA,CAAAA,CAAAA;IACzC,IAAIvjB,OAAAA,CAAQutC,YAAY,EAAE;QACtBzsC,wBAAyBysC,CAAAA,YAAAA,EAAcvtC,QAAQutC,YAAY,CAAA,CAAA;AAC/D,KAAA;IAEA,IAAIvtC,OAAAA,CAAQiC,UAAU,EAAE;QACpB,IAAIurC,kBAAAA,CAAAA;AACJ,QAAA,IAAI,OAAOxtC,OAAAA,CAAQiC,UAAU,KAAK,SAAW,EAAA;AACzCurC,YAAAA,kBAAAA,GAAqBxtC,QAAQiC,UAAU,CAAA;AAC3C,SAAA;QAEAtC,MAAO8tC,CAAAA,OAAO,CAACxrC,UACVoY,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAACqzB,eAAe1kC,SAAU,CAAA,GAAA;YAChC,IACI,CAAC1B,KAAMC,CAAAA,OAAO,CAACimC,kBAAAA,CAAAA,IACfA,mBAAmB11B,OAAO,CAAC41B,aAAmB,CAAA,KAAA,CAAC,CACjD,EAAA;;;gBAGEnqB,GAAIva,CAAAA,SAAS,CAAC0kC,aAAe1kC,EAAAA,SAAAA,CAAAA,CAAAA;AACjC,aAAA;AACJ,SAAA,CAAA,CAAA;AACR,KAAA;AACJ;;AC9CA,YAAe;AACX0kB,IAAAA,OAAAA;AACJ,CAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,3,12,13,14,15,34]}
|