@acorex/modules 20.6.0-next.6 → 20.6.0-next.8

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.
Files changed (68) hide show
  1. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  2. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  3. package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-BXVW5pTF.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-JeQW5e5t.mjs} +4 -4
  4. package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-BXVW5pTF.mjs.map → acorex-modules-dashboard-management-acorex-modules-dashboard-management-JeQW5e5t.mjs.map} +1 -1
  5. package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-DTQ1D_Uh.mjs → acorex-modules-dashboard-management-permission-definition.provider-CP1sPn-5.mjs} +2 -2
  6. package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-DTQ1D_Uh.mjs.map → acorex-modules-dashboard-management-permission-definition.provider-CP1sPn-5.mjs.map} +1 -1
  7. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  8. package/fesm2022/{acorex-modules-data-management-acorex-modules-data-management-Ci9W347D.mjs → acorex-modules-data-management-acorex-modules-data-management-BTZVbtCd.mjs} +4 -4
  9. package/fesm2022/acorex-modules-data-management-acorex-modules-data-management-BTZVbtCd.mjs.map +1 -0
  10. package/fesm2022/{acorex-modules-data-management-permission-definition.provider-BmfgERqu.mjs → acorex-modules-data-management-permission-definition.provider-Ba0RXefU.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-data-management-permission-definition.provider-BmfgERqu.mjs.map → acorex-modules-data-management-permission-definition.provider-Ba0RXefU.mjs.map} +1 -1
  12. package/fesm2022/acorex-modules-data-management.mjs +1 -1
  13. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-CTpQGWrH.mjs → acorex-modules-document-management-acorex-modules-document-management-BsST9TMA.mjs} +32 -21
  14. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BsST9TMA.mjs.map +1 -0
  15. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DHnJ-wG_.mjs → acorex-modules-document-management-attachment-widget.component-DqBJrcid.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DHnJ-wG_.mjs.map → acorex-modules-document-management-attachment-widget.component-DqBJrcid.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-document-management-details-view.component-D4LY1WdL.mjs → acorex-modules-document-management-details-view.component-CQgbdaHw.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-document-management-details-view.component-D4LY1WdL.mjs.map → acorex-modules-document-management-details-view.component-CQgbdaHw.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-rsZh53Ys.mjs → acorex-modules-document-management-document-signature-popup.component-BftZK2ib.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-rsZh53Ys.mjs.map → acorex-modules-document-management-document-signature-popup.component-BftZK2ib.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-document-management-drive-choose.component-Lc6Kjy_S.mjs → acorex-modules-document-management-drive-choose.component-Ce0JZcwx.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-document-management-drive-choose.component-Lc6Kjy_S.mjs.map → acorex-modules-document-management-drive-choose.component-Ce0JZcwx.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-document-management-drive.component-D8MZClH0.mjs → acorex-modules-document-management-drive.component-CNkA0i-_.mjs} +3 -3
  24. package/fesm2022/acorex-modules-document-management-drive.component-CNkA0i-_.mjs.map +1 -0
  25. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BkZfQg0H.mjs → acorex-modules-document-management-large-icons-view.component-Dz8hPGMr.mjs} +2 -2
  26. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BkZfQg0H.mjs.map → acorex-modules-document-management-large-icons-view.component-Dz8hPGMr.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DSnB8pwb.mjs → acorex-modules-document-management-large-tiles-view.component-CM3pqS_m.mjs} +2 -2
  28. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DSnB8pwb.mjs.map → acorex-modules-document-management-large-tiles-view.component-CM3pqS_m.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-document-management-list-view.component-CCWk2Ulv.mjs → acorex-modules-document-management-list-view.component-BRkcm83Y.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-document-management-list-view.component-CCWk2Ulv.mjs.map → acorex-modules-document-management-list-view.component-BRkcm83Y.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BC7Og6_y.mjs → acorex-modules-document-management-permission-definition.provider--qbpKS77.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BC7Og6_y.mjs.map → acorex-modules-document-management-permission-definition.provider--qbpKS77.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-D6hWuJG8.mjs → acorex-modules-document-management-small-icons-view.component-C6JV_Dem.mjs} +2 -2
  34. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-D6hWuJG8.mjs.map → acorex-modules-document-management-small-icons-view.component-C6JV_Dem.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DVEftaGK.mjs → acorex-modules-document-management-small-tiles-view.component-Be37TTaa.mjs} +2 -2
  36. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DVEftaGK.mjs.map → acorex-modules-document-management-small-tiles-view.component-Be37TTaa.mjs.map} +1 -1
  37. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  38. package/fesm2022/acorex-modules-locale-management.mjs +1 -1
  39. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  40. package/fesm2022/{acorex-modules-notification-management-notification-page.component-BTSv9-bI.mjs → acorex-modules-notification-management-notification-page.component-Lz8J7q4k.mjs} +2 -2
  41. package/fesm2022/acorex-modules-notification-management-notification-page.component-Lz8J7q4k.mjs.map +1 -0
  42. package/fesm2022/acorex-modules-notification-management.mjs +1 -1
  43. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Nq9gX7zW.mjs → acorex-modules-platform-management-acorex-modules-platform-management-BSFwJPkW.mjs} +5 -5
  44. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Nq9gX7zW.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-BSFwJPkW.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-platform-management-list-version.component-CtJOnijq.mjs → acorex-modules-platform-management-list-version.component-CcrYZek9.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-platform-management-list-version.component-CtJOnijq.mjs.map → acorex-modules-platform-management-list-version.component-CcrYZek9.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-platform-management-menu-list.component-BwnDs_72.mjs → acorex-modules-platform-management-menu-list.component-CaQSt7lg.mjs} +3 -3
  48. package/fesm2022/acorex-modules-platform-management-menu-list.component-CaQSt7lg.mjs.map +1 -0
  49. package/fesm2022/{acorex-modules-platform-management-permission-definition.provider-DJ5bCaS9.mjs → acorex-modules-platform-management-permission-definition.provider-Oa9-EQjN.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-platform-management-permission-definition.provider-DJ5bCaS9.mjs.map → acorex-modules-platform-management-permission-definition.provider-Oa9-EQjN.mjs.map} +1 -1
  51. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  52. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-CasTcES1.mjs → acorex-modules-report-management-report-runner-root-page.component-BqXC17HC.mjs} +17 -3
  53. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BqXC17HC.mjs.map +1 -0
  54. package/fesm2022/acorex-modules-report-management.mjs +72 -33
  55. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  56. package/fesm2022/{acorex-modules-security-management-acorex-modules-security-management-DDwXZErT.mjs → acorex-modules-security-management-acorex-modules-security-management-Dh6b7amt.mjs} +37 -15
  57. package/fesm2022/{acorex-modules-security-management-acorex-modules-security-management-DDwXZErT.mjs.map → acorex-modules-security-management-acorex-modules-security-management-Dh6b7amt.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-security-management-permission-definition.provider-BI-BShPG.mjs → acorex-modules-security-management-permission-definition.provider-DJvuPqFx.mjs} +2 -2
  59. package/fesm2022/{acorex-modules-security-management-permission-definition.provider-BI-BShPG.mjs.map → acorex-modules-security-management-permission-definition.provider-DJvuPqFx.mjs.map} +1 -1
  60. package/fesm2022/acorex-modules-security-management.mjs +1 -1
  61. package/package.json +6 -6
  62. package/report-management/index.d.ts +8 -4
  63. package/fesm2022/acorex-modules-data-management-acorex-modules-data-management-Ci9W347D.mjs.map +0 -1
  64. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-CTpQGWrH.mjs.map +0 -1
  65. package/fesm2022/acorex-modules-document-management-drive.component-D8MZClH0.mjs.map +0 -1
  66. package/fesm2022/acorex-modules-notification-management-notification-page.component-BTSv9-bI.mjs.map +0 -1
  67. package/fesm2022/acorex-modules-platform-management-menu-list.component-BwnDs_72.mjs.map +0 -1
  68. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-CasTcES1.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-document-management-acorex-modules-document-management-CTpQGWrH.mjs","sources":["../tmp-esm2022/document-management/lib/const.js","../tmp-esm2022/document-management/lib/entity.provider.js","../tmp-esm2022/document-management/lib/menu.keys.js","../tmp-esm2022/document-management/lib/permission.keys.js","../tmp-esm2022/document-management/lib/menu.provider.js","../tmp-esm2022/document-management/lib/search-command.provider.js","../tmp-esm2022/document-management/lib/settings.provider.js","../tmp-esm2022/document-management/lib/entities/document/document.service.js","../tmp-esm2022/document-management/lib/entities/document/document.entity.js","../tmp-esm2022/document-management/lib/entities/document/document.module.js","../tmp-esm2022/document-management/lib/entities/document/document.types.js","../tmp-esm2022/document-management/lib/entities/document-type/document-type.service.js","../tmp-esm2022/document-management/lib/entities/document-type/document-type.entity.js","../tmp-esm2022/document-management/lib/entities/document-type/document-type.module.js","../tmp-esm2022/document-management/lib/entities/document-type-meta-definition/document-type-meta-definition.service.js","../tmp-esm2022/document-management/lib/entities/document-type-meta-definition/document-type-meta-definition.entity.js","../tmp-esm2022/document-management/lib/entities/document-type-meta-definition/document-type-meta-definition.module.js","../tmp-esm2022/document-management/lib/entities/document-type-meta-value/document-type-meta-value.service.js","../tmp-esm2022/document-management/lib/entities/document-type-meta-value/document-type-meta-value.entity.js","../tmp-esm2022/document-management/lib/entities/document-type-meta-value/document-type-meta-value.module.js","../tmp-esm2022/document-management/lib/entities/document-type-status-definition/document-type-status-definition.service.js","../tmp-esm2022/document-management/lib/entities/document-type-status-definition/document-type-status-definition.entity.js","../tmp-esm2022/document-management/lib/entities/document-type-status-definition/document-type-status-definition.module.js","../tmp-esm2022/document-management/lib/entities/document-releted/document.entity.js","../tmp-esm2022/document-management/lib/entities/folder/folder.service.js","../tmp-esm2022/document-management/lib/entities/folder/folder.entity.js","../tmp-esm2022/document-management/lib/entities/folder/folder.module.js","../tmp-esm2022/document-management/lib/entities/review/review.service.js","../tmp-esm2022/document-management/lib/entities/review/review.entity.js","../tmp-esm2022/document-management/lib/entities/review/review.module.js","../tmp-esm2022/document-management/lib/entities/distribution/distribution.service.js","../tmp-esm2022/document-management/lib/entities/distribution/distribution.entity.js","../tmp-esm2022/document-management/lib/entities/distribution/distribution.module.js","../tmp-esm2022/document-management/lib/entities/distribution-interaction/distribution-interaction.service.js","../tmp-esm2022/document-management/lib/entities/distribution-interaction/distribution-interaction.entity.js","../tmp-esm2022/document-management/lib/entities/distribution-interaction/distribution-interaction.module.js","../tmp-esm2022/document-management/lib/entities/document-releted/document-releted.module.js","../tmp-esm2022/document-management/lib/entities/index.js","../tmp-esm2022/document-management/lib/features/file-type/providers/image.file.js","../tmp-esm2022/document-management/lib/features/file-type/providers/video.file.js","../tmp-esm2022/document-management/lib/features/file-type/providers/document.file.js","../tmp-esm2022/document-management/lib/features/file-type/providers/audio.file.js","../tmp-esm2022/document-management/lib/features/file-type/providers/archive.file.js","../tmp-esm2022/document-management/lib/features/file-type/providers/code.file.js","../tmp-esm2022/document-management/lib/features/file-type/widgets/file-type-extension/file-type-extension-column.component.js","../tmp-esm2022/document-management/lib/features/file-type/widgets/file-type-extension/file-type-extension-designer.component.js","../tmp-esm2022/document-management/lib/features/file-type/widgets/file-type-extension/file-type-extension-edit.component.js","../tmp-esm2022/document-management/lib/features/file-type/widgets/file-type-extension/file-type-extension-view.component.js","../tmp-esm2022/document-management/lib/features/file-type/widgets/file-type-extension/file-type-extension-widget.config.js","../tmp-esm2022/document-management/lib/features/file-type/file-type.module.js","../tmp-esm2022/document-management/lib/badge.provider.js","../tmp-esm2022/document-management/lib/features/shared/services/document-dialog.service.js","../tmp-esm2022/document-management/lib/features/shared/services/document-attachments.service.js","../tmp-esm2022/document-management/lib/features/shared/document-manager.service.js","../tmp-esm2022/document-management/lib/features/shared/components/file-viewer-popup/file-viewer-popup.component.js","../tmp-esm2022/document-management/lib/features/document-explorer/settings.keys.js","../tmp-esm2022/document-management/lib/features/document-explorer/document-explorer.viewmodel.js","../tmp-esm2022/document-management/lib/features/document-explorer/document-explorer.component.js","../tmp-esm2022/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.js","../tmp-esm2022/document-management/lib/features/drive-choose/slots/file-uploader-widget-extension/upload-from-drive.hook.js","../tmp-esm2022/document-management/lib/features/drive-choose/drive-choose.module.js","../tmp-esm2022/document-management/lib/features/workflow/document-distribution/document-distribution.workflow.js","../tmp-esm2022/document-management/lib/features/workflow/document-review/document-review.workflow.js","../tmp-esm2022/document-management/lib/features/workflow/document-signature/document-signature.workflow.js","../tmp-esm2022/document-management/lib/features/workflow/upload/upload.workflow.js","../tmp-esm2022/document-management/lib/features/shared/attachments.plugin.js","../tmp-esm2022/document-management/lib/features/task/distribution.task.provider.js","../tmp-esm2022/document-management/lib/features/task/review.task.provider.js","../tmp-esm2022/document-management/lib/features/shared/document-file-uploader.widget.plugin.js","../tmp-esm2022/document-management/lib/document-management.module.js","../tmp-esm2022/document-management/acorex-modules-document-management.js"],"sourcesContent":["const config = {\n i18n: 'document-management',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'DocumentManagement',\n name: 'DocumentManagement',\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-books',\n },\n entities: {\n documentRelated: {\n name: 'DocumentRelated',\n title: `@${config.i18n}:entities.document.title`,\n titlePlural: `@${config.i18n}:entities.document.title-plural`,\n icon: 'fa-light fa-default',\n },\n distributionInteraction: {\n name: 'DistributionInteraction',\n title: `@${config.i18n}:entities.distribution-interaction.title`,\n titlePlural: `@${config.i18n}:entities.distribution-interaction.title-plural`,\n icon: 'fa-light fa-default',\n },\n distribution: {\n name: 'Distribution',\n title: `@${config.i18n}:entities.distribution.title`,\n titlePlural: `@${config.i18n}:entities.distribution.title-plural`,\n icon: 'fa-light fa-default',\n },\n review: {\n name: 'Review',\n title: `@${config.i18n}:entities.review.title`,\n titlePlural: `@${config.i18n}:entities.review.title-plural`,\n icon: 'fa-light fa-file-pen',\n },\n folder: {\n name: 'Folder',\n title: `@${config.i18n}:entities.folder.title`,\n titlePlural: `@${config.i18n}:entities.folder.title-plural`,\n icon: 'fa-light fa-folder',\n },\n document: {\n name: 'Document',\n title: `@${config.i18n}:entities.document.title`,\n titlePlural: `@${config.i18n}:entities.document.title-plural`,\n icon: 'fa-light fa-file',\n },\n documentType: {\n name: 'DocumentType',\n title: `@${config.i18n}:entities.document-type.title`,\n titlePlural: `@${config.i18n}:entities.document-type.title-plural`,\n icon: 'fa-light fa-books',\n },\n documentTypeMetaDefinition: {\n name: 'documentTypeMeta',\n title: `@${config.i18n}:entities.document-type-meta.title`,\n titlePlural: `@${config.i18n}:entities.document-type-meta.title-plural`,\n icon: 'fa-light fa-meta',\n },\n documentTypeMetaValue: {\n name: 'documentTypeMetaValue',\n title: `@${config.i18n}:entities.document-type-meta-value.title`,\n titlePlural: `@${config.i18n}:entities.document-type-meta-value.title-plural`,\n icon: 'fa-light fa-meta',\n },\n documentTypeStatus: {\n name: 'documentTypeStatus',\n title: `@${config.i18n}:entities.document-type-status.title`,\n titlePlural: `@${config.i18n}:entities.document-type-status.title-plural`,\n icon: 'fa-light fa-status',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2NvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sTUFBTSxHQUFHO0lBQ2IsSUFBSSxFQUFFLHFCQUFxQjtDQUM1QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLE1BQU07SUFDTixNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksZUFBZTtRQUNyQyxJQUFJLEVBQUUsbUJBQW1CO0tBQzFCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsZUFBZSxFQUFFO1lBQ2YsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSwwQkFBMEI7WUFDaEQsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksaUNBQWlDO1lBQzdELElBQUksRUFBRSxxQkFBcUI7U0FDNUI7UUFDRCx1QkFBdUIsRUFBRTtZQUN2QixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLDBDQUEwQztZQUNoRSxXQUFXLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxpREFBaUQ7WUFDN0UsSUFBSSxFQUFFLHFCQUFxQjtTQUM1QjtRQUNELFlBQVksRUFBRTtZQUNaLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLDhCQUE4QjtZQUNwRCxXQUFXLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxxQ0FBcUM7WUFDakUsSUFBSSxFQUFFLHFCQUFxQjtTQUM1QjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksd0JBQXdCO1lBQzlDLFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLCtCQUErQjtZQUMzRCxJQUFJLEVBQUUsc0JBQXNCO1NBQzdCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSx3QkFBd0I7WUFDOUMsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksK0JBQStCO1lBQzNELElBQUksRUFBRSxvQkFBb0I7U0FDM0I7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSwwQkFBMEI7WUFDaEQsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksaUNBQWlDO1lBQzdELElBQUksRUFBRSxrQkFBa0I7U0FDekI7UUFDRCxZQUFZLEVBQUU7WUFDWixJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSwrQkFBK0I7WUFDckQsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksc0NBQXNDO1lBQ2xFLElBQUksRUFBRSxtQkFBbUI7U0FDMUI7UUFDRCwwQkFBMEIsRUFBRTtZQUMxQixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLG9DQUFvQztZQUMxRCxXQUFXLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSwyQ0FBMkM7WUFDdkUsSUFBSSxFQUFFLGtCQUFrQjtTQUN6QjtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksMENBQTBDO1lBQ2hFLFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLGlEQUFpRDtZQUM3RSxJQUFJLEVBQUUsa0JBQWtCO1NBQ3pCO1FBQ0Qsa0JBQWtCLEVBQUU7WUFDbEIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxzQ0FBc0M7WUFDNUQsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksNkNBQTZDO1lBQ3pFLElBQUksRUFBRSxvQkFBb0I7U0FDM0I7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gIGkxOG46ICdkb2N1bWVudC1tYW5hZ2VtZW50Jyxcbn07XG5leHBvcnQgY29uc3QgUm9vdENvbmZpZyA9IHtcbiAgY29uZmlnLFxuICBtb2R1bGU6IHtcbiAgICBtb2R1bGU6ICdEb2N1bWVudE1hbmFnZW1lbnQnLFxuICAgIG5hbWU6ICdEb2N1bWVudE1hbmFnZW1lbnQnLFxuICAgIHRpdGxlOiBgQCR7Y29uZmlnLmkxOG59Om1vZHVsZS50aXRsZWAsXG4gICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWJvb2tzJyxcbiAgfSxcbiAgZW50aXRpZXM6IHtcbiAgICBkb2N1bWVudFJlbGF0ZWQ6IHtcbiAgICAgIG5hbWU6ICdEb2N1bWVudFJlbGF0ZWQnLFxuICAgICAgdGl0bGU6IGBAJHtjb25maWcuaTE4bn06ZW50aXRpZXMuZG9jdW1lbnQudGl0bGVgLFxuICAgICAgdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn06ZW50aXRpZXMuZG9jdW1lbnQudGl0bGUtcGx1cmFsYCxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1kZWZhdWx0JyxcbiAgICB9LFxuICAgIGRpc3RyaWJ1dGlvbkludGVyYWN0aW9uOiB7XG4gICAgICBuYW1lOiAnRGlzdHJpYnV0aW9uSW50ZXJhY3Rpb24nLFxuICAgICAgdGl0bGU6IGBAJHtjb25maWcuaTE4bn06ZW50aXRpZXMuZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uLnRpdGxlYCxcbiAgICAgIHRpdGxlUGx1cmFsOiBgQCR7Y29uZmlnLmkxOG59OmVudGl0aWVzLmRpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbi50aXRsZS1wbHVyYWxgLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWRlZmF1bHQnLFxuICAgIH0sXG4gICAgZGlzdHJpYnV0aW9uOiB7XG4gICAgICBuYW1lOiAnRGlzdHJpYnV0aW9uJyxcbiAgICAgIHRpdGxlOiBgQCR7Y29uZmlnLmkxOG59OmVudGl0aWVzLmRpc3RyaWJ1dGlvbi50aXRsZWAsXG4gICAgICB0aXRsZVBsdXJhbDogYEAke2NvbmZpZy5pMThufTplbnRpdGllcy5kaXN0cmlidXRpb24udGl0bGUtcGx1cmFsYCxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1kZWZhdWx0JyxcbiAgICB9LFxuICAgIHJldmlldzoge1xuICAgICAgbmFtZTogJ1JldmlldycsXG4gICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufTplbnRpdGllcy5yZXZpZXcudGl0bGVgLFxuICAgICAgdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn06ZW50aXRpZXMucmV2aWV3LnRpdGxlLXBsdXJhbGAsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1wZW4nLFxuICAgIH0sXG4gICAgZm9sZGVyOiB7XG4gICAgICBuYW1lOiAnRm9sZGVyJyxcbiAgICAgIHRpdGxlOiBgQCR7Y29uZmlnLmkxOG59OmVudGl0aWVzLmZvbGRlci50aXRsZWAsXG4gICAgICB0aXRsZVBsdXJhbDogYEAke2NvbmZpZy5pMThufTplbnRpdGllcy5mb2xkZXIudGl0bGUtcGx1cmFsYCxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1mb2xkZXInLFxuICAgIH0sXG4gICAgZG9jdW1lbnQ6IHtcbiAgICAgIG5hbWU6ICdEb2N1bWVudCcsXG4gICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufTplbnRpdGllcy5kb2N1bWVudC50aXRsZWAsXG4gICAgICB0aXRsZVBsdXJhbDogYEAke2NvbmZpZy5pMThufTplbnRpdGllcy5kb2N1bWVudC50aXRsZS1wbHVyYWxgLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUnLFxuICAgIH0sXG4gICAgZG9jdW1lbnRUeXBlOiB7XG4gICAgICBuYW1lOiAnRG9jdW1lbnRUeXBlJyxcbiAgICAgIHRpdGxlOiBgQCR7Y29uZmlnLmkxOG59OmVudGl0aWVzLmRvY3VtZW50LXR5cGUudGl0bGVgLFxuICAgICAgdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn06ZW50aXRpZXMuZG9jdW1lbnQtdHlwZS50aXRsZS1wbHVyYWxgLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWJvb2tzJyxcbiAgICB9LFxuICAgIGRvY3VtZW50VHlwZU1ldGFEZWZpbml0aW9uOiB7XG4gICAgICBuYW1lOiAnZG9jdW1lbnRUeXBlTWV0YScsXG4gICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufTplbnRpdGllcy5kb2N1bWVudC10eXBlLW1ldGEudGl0bGVgLFxuICAgICAgdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn06ZW50aXRpZXMuZG9jdW1lbnQtdHlwZS1tZXRhLnRpdGxlLXBsdXJhbGAsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbWV0YScsXG4gICAgfSxcbiAgICBkb2N1bWVudFR5cGVNZXRhVmFsdWU6IHtcbiAgICAgIG5hbWU6ICdkb2N1bWVudFR5cGVNZXRhVmFsdWUnLFxuICAgICAgdGl0bGU6IGBAJHtjb25maWcuaTE4bn06ZW50aXRpZXMuZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlLnRpdGxlYCxcbiAgICAgIHRpdGxlUGx1cmFsOiBgQCR7Y29uZmlnLmkxOG59OmVudGl0aWVzLmRvY3VtZW50LXR5cGUtbWV0YS12YWx1ZS50aXRsZS1wbHVyYWxgLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLW1ldGEnLFxuICAgIH0sXG4gICAgZG9jdW1lbnRUeXBlU3RhdHVzOiB7XG4gICAgICBuYW1lOiAnZG9jdW1lbnRUeXBlU3RhdHVzJyxcbiAgICAgIHRpdGxlOiBgQCR7Y29uZmlnLmkxOG59OmVudGl0aWVzLmRvY3VtZW50LXR5cGUtc3RhdHVzLnRpdGxlYCxcbiAgICAgIHRpdGxlUGx1cmFsOiBgQCR7Y29uZmlnLmkxOG59OmVudGl0aWVzLmRvY3VtZW50LXR5cGUtc3RhdHVzLnRpdGxlLXBsdXJhbGAsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtc3RhdHVzJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==","import { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\nexport class AXMEntityProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity) => ({\n module: module,\n entity: entity.name,\n }));\n }\n async get(moduleName, entityName) {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.document.name:\n return (await import('./entities')).documentFactory(this.injector);\n case RootConfig.entities.documentType.name:\n return (await import('./entities')).documentTypeFactory(this.injector);\n case RootConfig.entities.folder.name:\n return (await import('./entities')).folderFactory(this.injector);\n case RootConfig.entities.review.name:\n return (await import('./entities')).reviewFactory(this.injector);\n case RootConfig.entities.distribution.name:\n return (await import('./entities')).distributionFactory(this.injector);\n case RootConfig.entities.distributionInteraction.name:\n return (await import('./entities')).distributionInteractionFactory(this.injector);\n case RootConfig.entities.documentRelated.name:\n return (await import('./entities')).documentRelatedFactory(this.injector);\n }\n }\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMEntityProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMEntityProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdHkucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBR3JDLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBK0JyQztJQTdCUSxPQUFPO1FBQ1osTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1NBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBa0IsRUFBRSxVQUFrQjtRQUM5QyxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pDLFFBQVEsVUFBVSxFQUFFLENBQUM7Z0JBQ25CLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSTtvQkFDcEMsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckUsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJO29CQUN4QyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pFLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSTtvQkFDbEMsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbkUsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJO29CQUNsQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUk7b0JBQ3hDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekUsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLElBQUk7b0JBQ25ELE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEYsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJO29CQUMzQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUUsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBL0JVLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlcixcbiAgQVhQRW50aXR5RGVmaW5pdGlvblByZWxvYWRlcixcbiAgQVhQRW50aXR5UHJlbG9hZEVudGl0eSxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUVudGl0eVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlciwgQVhQRW50aXR5RGVmaW5pdGlvblByZWxvYWRlciB7XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHB1YmxpYyBwcmVsb2FkKCk6IEFYUEVudGl0eVByZWxvYWRFbnRpdHlbXSB7XG4gICAgY29uc3QgbW9kdWxlID0gUm9vdENvbmZpZy5tb2R1bGUubmFtZTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShPYmplY3QudmFsdWVzKFJvb3RDb25maWcuZW50aXRpZXMpKS5tYXAoKGVudGl0eTogYW55KSA9PiAoe1xuICAgICAgbW9kdWxlOiBtb2R1bGUsXG4gICAgICBlbnRpdHk6IGVudGl0eS5uYW1lLFxuICAgIH0pKTtcbiAgfVxuXG4gIGFzeW5jIGdldChtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICAgIGlmIChtb2R1bGVOYW1lID09IFJvb3RDb25maWcubW9kdWxlLm5hbWUpIHtcbiAgICAgIHN3aXRjaCAoZW50aXR5TmFtZSkge1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcycpKS5kb2N1bWVudEZhY3RvcnkodGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudFR5cGUubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcycpKS5kb2N1bWVudFR5cGVGYWN0b3J5KHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZm9sZGVyLm5hbWU6XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMnKSkuZm9sZGVyRmFjdG9yeSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgY2FzZSBSb290Q29uZmlnLmVudGl0aWVzLnJldmlldy5uYW1lOlxuICAgICAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KCcuL2VudGl0aWVzJykpLnJldmlld0ZhY3RvcnkodGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb24ubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcycpKS5kaXN0cmlidXRpb25GYWN0b3J5KHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZGlzdHJpYnV0aW9uSW50ZXJhY3Rpb24ubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcycpKS5kaXN0cmlidXRpb25JbnRlcmFjdGlvbkZhY3RvcnkodGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudFJlbGF0ZWQubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcycpKS5kb2N1bWVudFJlbGF0ZWRGYWN0b3J5KHRoaXMuaW5qZWN0b3IpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19","export const AXPDocumentManagementMenuKeys = {\n Root: 'document-management:menu',\n DocumentTypes: 'document-management:menu:document-types',\n TenantDrive: 'document-management:drive:tenant',\n UserDrive: 'document-management:drive:user',\n DocumentReview: 'document-management:menu:document-review',\n Distribution: 'document-management:menu:distribution',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9tZW51LmtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUc7SUFDekMsSUFBSSxFQUFFLDBCQUEwQjtJQUNoQyxhQUFhLEVBQUUseUNBQXlDO0lBQ3hELFdBQVcsRUFBRSxrQ0FBa0M7SUFDL0MsU0FBUyxFQUFFLGdDQUFnQztJQUMzQyxjQUFjLEVBQUUsMENBQTBDO0lBQzFELFlBQVksRUFBRSx1Q0FBdUM7Q0FDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBWFBEb2N1bWVudE1hbmFnZW1lbnRNZW51S2V5cyA9IHtcbiAgICBSb290OiAnZG9jdW1lbnQtbWFuYWdlbWVudDptZW51JyxcbiAgICBEb2N1bWVudFR5cGVzOiAnZG9jdW1lbnQtbWFuYWdlbWVudDptZW51OmRvY3VtZW50LXR5cGVzJyxcbiAgICBUZW5hbnREcml2ZTogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6ZHJpdmU6dGVuYW50JyxcbiAgICBVc2VyRHJpdmU6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRyaXZlOnVzZXInLFxuICAgIERvY3VtZW50UmV2aWV3OiAnZG9jdW1lbnQtbWFuYWdlbWVudDptZW51OmRvY3VtZW50LXJldmlldycsXG4gICAgRGlzdHJpYnV0aW9uOiAnZG9jdW1lbnQtbWFuYWdlbWVudDptZW51OmRpc3RyaWJ1dGlvbicsXG59IGFzIGNvbnN0O1xuXG4iXX0=","export const AXMPermissionsKeys = {\n DocumentManagement: {\n Management: 'document-management:manage',\n DocumentType: {\n Management: 'document-management:document-type:manage',\n View: 'document-management:document-type:view',\n Edit: 'document-management:document-type:edit',\n Delete: 'document-management:document-type:delete',\n Create: 'document-management:document-type:create',\n },\n Driver: {\n Management: 'document-management:driver:manage',\n View: 'document-management:driver:view',\n Edit: 'document-management:driver:edit',\n Delete: 'document-management:driver:delete',\n Create: 'document-management:driver:create',\n },\n Review: {\n Management: 'document-management:review:manage',\n View: 'document-management:review:view',\n Edit: 'document-management:review:edit',\n Delete: 'document-management:review:delete',\n Create: 'document-management:document-type:create',\n },\n Distribution: {\n Management: 'document-management:distribution:manage',\n View: 'document-management:distribution:view',\n Edit: 'document-management:distribution:edit',\n Delete: 'document-management:distribution:delete',\n Create: 'document-management:distribution:create',\n },\n DistributionInteraction: {\n Management: 'document-management:distribution-interaction:manage',\n View: 'document-management:distribution-interaction:view',\n Edit: 'document-management:distribution-interaction:edit',\n Delete: 'document-management:distribution-interaction:delete',\n Create: 'document-management:distribution-interaction:create',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9wZXJtaXNzaW9uLmtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsa0JBQWtCLEVBQUU7UUFDbEIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxZQUFZLEVBQUU7WUFDWixVQUFVLEVBQUUsMENBQTBDO1lBQ3RELElBQUksRUFBRSx3Q0FBd0M7WUFDOUMsSUFBSSxFQUFFLHdDQUF3QztZQUM5QyxNQUFNLEVBQUUsMENBQTBDO1lBQ2xELE1BQU0sRUFBRSwwQ0FBMEM7U0FDbkQ7UUFDRCxNQUFNLEVBQUU7WUFDTixVQUFVLEVBQUUsbUNBQW1DO1lBQy9DLElBQUksRUFBRSxpQ0FBaUM7WUFDdkMsSUFBSSxFQUFFLGlDQUFpQztZQUN2QyxNQUFNLEVBQUUsbUNBQW1DO1lBQzNDLE1BQU0sRUFBRSxtQ0FBbUM7U0FDNUM7UUFDRCxNQUFNLEVBQUU7WUFDTixVQUFVLEVBQUUsbUNBQW1DO1lBQy9DLElBQUksRUFBRSxpQ0FBaUM7WUFDdkMsSUFBSSxFQUFFLGlDQUFpQztZQUN2QyxNQUFNLEVBQUUsbUNBQW1DO1lBQzNDLE1BQU0sRUFBRSwwQ0FBMEM7U0FDbkQ7UUFDRCxZQUFZLEVBQUU7WUFDWixVQUFVLEVBQUUseUNBQXlDO1lBQ3JELElBQUksRUFBRSx1Q0FBdUM7WUFDN0MsSUFBSSxFQUFFLHVDQUF1QztZQUM3QyxNQUFNLEVBQUUseUNBQXlDO1lBQ2pELE1BQU0sRUFBRSx5Q0FBeUM7U0FDbEQ7UUFDRCx1QkFBdUIsRUFBRTtZQUN2QixVQUFVLEVBQUUscURBQXFEO1lBQ2pFLElBQUksRUFBRSxtREFBbUQ7WUFDekQsSUFBSSxFQUFFLG1EQUFtRDtZQUN6RCxNQUFNLEVBQUUscURBQXFEO1lBQzdELE1BQU0sRUFBRSxxREFBcUQ7U0FDOUQ7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhNUGVybWlzc2lvbnNLZXlzID0ge1xuICBEb2N1bWVudE1hbmFnZW1lbnQ6IHtcbiAgICBNYW5hZ2VtZW50OiAnZG9jdW1lbnQtbWFuYWdlbWVudDptYW5hZ2UnLFxuICAgIERvY3VtZW50VHlwZToge1xuICAgICAgTWFuYWdlbWVudDogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6ZG9jdW1lbnQtdHlwZTptYW5hZ2UnLFxuICAgICAgVmlldzogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6ZG9jdW1lbnQtdHlwZTp2aWV3JyxcbiAgICAgIEVkaXQ6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRvY3VtZW50LXR5cGU6ZWRpdCcsXG4gICAgICBEZWxldGU6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRvY3VtZW50LXR5cGU6ZGVsZXRlJyxcbiAgICAgIENyZWF0ZTogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6ZG9jdW1lbnQtdHlwZTpjcmVhdGUnLFxuICAgIH0sXG4gICAgRHJpdmVyOiB7XG4gICAgICBNYW5hZ2VtZW50OiAnZG9jdW1lbnQtbWFuYWdlbWVudDpkcml2ZXI6bWFuYWdlJyxcbiAgICAgIFZpZXc6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRyaXZlcjp2aWV3JyxcbiAgICAgIEVkaXQ6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRyaXZlcjplZGl0JyxcbiAgICAgIERlbGV0ZTogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6ZHJpdmVyOmRlbGV0ZScsXG4gICAgICBDcmVhdGU6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRyaXZlcjpjcmVhdGUnLFxuICAgIH0sXG4gICAgUmV2aWV3OiB7XG4gICAgICBNYW5hZ2VtZW50OiAnZG9jdW1lbnQtbWFuYWdlbWVudDpyZXZpZXc6bWFuYWdlJyxcbiAgICAgIFZpZXc6ICdkb2N1bWVudC1tYW5hZ2VtZW50OnJldmlldzp2aWV3JyxcbiAgICAgIEVkaXQ6ICdkb2N1bWVudC1tYW5hZ2VtZW50OnJldmlldzplZGl0JyxcbiAgICAgIERlbGV0ZTogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6cmV2aWV3OmRlbGV0ZScsXG4gICAgICBDcmVhdGU6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRvY3VtZW50LXR5cGU6Y3JlYXRlJyxcbiAgICB9LFxuICAgIERpc3RyaWJ1dGlvbjoge1xuICAgICAgTWFuYWdlbWVudDogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6ZGlzdHJpYnV0aW9uOm1hbmFnZScsXG4gICAgICBWaWV3OiAnZG9jdW1lbnQtbWFuYWdlbWVudDpkaXN0cmlidXRpb246dmlldycsXG4gICAgICBFZGl0OiAnZG9jdW1lbnQtbWFuYWdlbWVudDpkaXN0cmlidXRpb246ZWRpdCcsXG4gICAgICBEZWxldGU6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRpc3RyaWJ1dGlvbjpkZWxldGUnLFxuICAgICAgQ3JlYXRlOiAnZG9jdW1lbnQtbWFuYWdlbWVudDpkaXN0cmlidXRpb246Y3JlYXRlJyxcbiAgICB9LFxuICAgIERpc3RyaWJ1dGlvbkludGVyYWN0aW9uOiB7XG4gICAgICBNYW5hZ2VtZW50OiAnZG9jdW1lbnQtbWFuYWdlbWVudDpkaXN0cmlidXRpb24taW50ZXJhY3Rpb246bWFuYWdlJyxcbiAgICAgIFZpZXc6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbjp2aWV3JyxcbiAgICAgIEVkaXQ6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbjplZGl0JyxcbiAgICAgIERlbGV0ZTogJ2RvY3VtZW50LW1hbmFnZW1lbnQ6ZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uOmRlbGV0ZScsXG4gICAgICBDcmVhdGU6ICdkb2N1bWVudC1tYW5hZ2VtZW50OmRpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbjpjcmVhdGUnLFxuICAgIH0sXG4gIH0sXG59O1xuIl19","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPDocumentManagementMenuKeys } from './menu.keys';\nimport { AXMPermissionsKeys } from './permission.keys';\nexport class AXMMenuProvider {\n constructor() {\n this.entityService = inject(AXPEntityService);\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n context.addItems([\n {\n name: AXPDocumentManagementMenuKeys.Root,\n priority: 9001,\n text: RootConfig.module.title,\n icon: RootConfig.module.icon,\n policy: {\n permissions: [AXMPermissionsKeys.DocumentManagement.Management]\n },\n children: [\n {\n name: AXPDocumentManagementMenuKeys.DocumentTypes,\n text: RootConfig.entities.documentType.title,\n path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.documentType.name),\n icon: RootConfig.entities.documentType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.DocumentManagement.DocumentType.Management]\n },\n priority: 2,\n },\n {\n name: AXPDocumentManagementMenuKeys.TenantDrive,\n text: `@${RootConfig.config.i18n}:scopes.tenant.title`,\n path: `${this.sessionService.application?.name}/drive/tenant`,\n icon: RootConfig.entities.document.icon,\n data: {\n scope: 'tenant',\n },\n policy: {\n permissions: [AXMPermissionsKeys.DocumentManagement.Driver.Management]\n },\n priority: 1,\n },\n {\n name: AXPDocumentManagementMenuKeys.DocumentReview,\n text: `@${RootConfig.config.i18n}:workflows.document-review.title`,\n path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.document.name),\n icon: RootConfig.entities.review.icon,\n policy: {\n permissions: [AXMPermissionsKeys.DocumentManagement.Review.Management]\n },\n badgeKey: 'review-badge',\n priority: 4,\n },\n {\n name: AXPDocumentManagementMenuKeys.Distribution,\n text: RootConfig.entities.distribution.title,\n path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.distribution.name),\n icon: RootConfig.entities.review.icon,\n policy: {\n permissions: [AXMPermissionsKeys.DocumentManagement.Distribution.Management]\n },\n priority: 4,\n },\n ],\n },\n ]);\n //\n context.find('user:profile').addItems([\n {\n name: AXPDocumentManagementMenuKeys.UserDrive,\n text: `@${RootConfig.config.i18n}:scopes.user.title`,\n icon: 'fa-light fa-folder-open',\n path: `${this.sessionService.application?.name}/drive/user`,\n data: {\n scope: 'user',\n },\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvbWVudS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUE4RXJELENBQUM7SUE1RUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUErQjtRQUMzQyxNQUFNLFlBQVksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUNELEVBQUU7UUFDRixPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2Y7Z0JBQ0UsSUFBSSxFQUFFLDZCQUE2QixDQUFDLElBQUk7Z0JBQ3hDLFFBQVEsRUFBRSxJQUFJO2dCQUNkLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUs7Z0JBQzdCLElBQUksRUFB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QU0sQ0FBQyxJQUFJLG9CQUFvQjtnQkFDcEQsSUFBSSxFQUFFLHlCQUF5QjtnQkFDL0IsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxhQUFhO2dCQUMzRCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLE1BQU07aUJBQ2Q7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQRG9jdW1lbnRNYW5hZ2VtZW50TWVudUtleXMgfSBmcm9tICcuL21lbnUua2V5cyc7XG5pbXBvcnQgeyBBWE1QZXJtaXNzaW9uc0tleXMgfSBmcm9tICcuL3Blcm1pc3Npb24ua2V5cyc7XG5cbmV4cG9ydCBjbGFzcyBBWE1NZW51UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBNZW51UHJvdmlkZXIge1xuICBwcml2YXRlIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuXG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRob3JpemVkJCk7XG4gICAgaWYgKCFpc0F1dGhvcml6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy9cbiAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogQVhQRG9jdW1lbnRNYW5hZ2VtZW50TWVudUtleXMuUm9vdCxcbiAgICAgICAgcHJpb3JpdHk6IDkwMDEsXG4gICAgICAgIHRleHQ6IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgICBpY29uOiBSb290Q29uZmlnLm1vZHVsZS5pY29uLFxuICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICBwZXJtaXNzaW9uczogW0FYTVBlcm1pc3Npb25zS2V5cy5Eb2N1bWVudE1hbmFnZW1lbnQuTWFuYWdlbWVudF1cbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBBWFBEb2N1bWVudE1hbmFnZW1lbnRNZW51S2V5cy5Eb2N1bWVudFR5cGVzLFxuICAgICAgICAgICAgdGV4dDogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudFR5cGUudGl0bGUsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChSb290Q29uZmlnLm1vZHVsZS5uYW1lLCBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50VHlwZS5uYW1lKSxcbiAgICAgICAgICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlLmljb24sXG4gICAgICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtBWE1QZXJtaXNzaW9uc0tleXMuRG9jdW1lbnRNYW5hZ2VtZW50LkRvY3VtZW50VHlwZS5NYW5hZ2VtZW50XVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByaW9yaXR5OiAyLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQRG9jdW1lbnRNYW5hZ2VtZW50TWVudUtleXMuVGVuYW50RHJpdmUsXG4gICAgICAgICAgICB0ZXh0OiBgQCR7Um9vdENvbmZpZy5jb25maWcuaTE4bn06c2NvcGVzLnRlbmFudC50aXRsZWAsXG4gICAgICAgICAgICBwYXRoOiBgJHt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lfS9kcml2ZS90ZW5hbnRgLFxuICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC5pY29uLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICBzY29wZTogJ3RlbmFudCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbQVhNUGVybWlzc2lvbnNLZXlzLkRvY3VtZW50TWFuYWdlbWVudC5Ecml2ZXIuTWFuYWdlbWVudF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwcmlvcml0eTogMSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IEFYUERvY3VtZW50TWFuYWdlbWVudE1lbnVLZXlzLkRvY3VtZW50UmV2aWV3LFxuICAgICAgICAgICAgdGV4dDogYEAke1Jvb3RDb25maWcuY29uZmlnLmkxOG59OndvcmtmbG93cy5kb2N1bWVudC1yZXZpZXcudGl0bGVgLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5lbnRpdHlTZXJ2aWNlLmNyZWF0ZVBhdGgoUm9vdENvbmZpZy5tb2R1bGUubmFtZSwgUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC5uYW1lKSxcbiAgICAgICAgICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMucmV2aWV3Lmljb24sXG4gICAgICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtBWE1QZXJtaXNzaW9uc0tleXMuRG9jdW1lbnRNYW5hZ2VtZW50LlJldmlldy5NYW5hZ2VtZW50XVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJhZGdlS2V5OiAncmV2aWV3LWJhZGdlJyxcbiAgICAgICAgICAgIHByaW9yaXR5OiA0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQRG9jdW1lbnRNYW5hZ2VtZW50TWVudUtleXMuRGlzdHJpYnV0aW9uLFxuICAgICAgICAgICAgdGV4dDogUm9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb24udGl0bGUsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChSb290Q29uZmlnLm1vZHVsZS5uYW1lLCBSb290Q29uZmlnLmVudGl0aWVzLmRpc3RyaWJ1dGlvbi5uYW1lKSxcbiAgICAgICAgICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMucmV2aWV3Lmljb24sXG4gICAgICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtBWE1QZXJtaXNzaW9uc0tleXMuRG9jdW1lbnRNYW5hZ2VtZW50LkRpc3RyaWJ1dGlvbi5NYW5hZ2VtZW50XVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByaW9yaXR5OiA0LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF0pO1xuICAgIC8vXG4gICAgY29udGV4dC5maW5kKCd1c2VyOnByb2ZpbGUnKS5hZGRJdGVtcyhbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IEFYUERvY3VtZW50TWFuYWdlbWVudE1lbnVLZXlzLlVzZXJEcml2ZSxcbiAgICAgICAgdGV4dDogYEAke1Jvb3RDb25maWcuY29uZmlnLmkxOG59OnNjb3Blcy51c2VyLnRpdGxlYCxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbGRlci1vcGVuJyxcbiAgICAgICAgcGF0aDogYCR7dGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZX0vZHJpdmUvdXNlcmAsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBzY29wZTogJ3VzZXInLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxufVxuIl19","import { AXPSearchCommandProvider } from '@acorex/platform/common';\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n constructor() {\n super(...arguments);\n this.commands = [\n // {\n // group: 'command',\n // title: 'New Form Template',\n // icon: RootConfig.entities.template.icon,\n // description: 'Create a new form template for designing reusable forms.', // Added description\n // commands: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n // },\n // }\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbW1hbmQucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL3NlYXJjaC1jb21tYW5kLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBbUIsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsd0JBQXdCO0lBQXRFOztRQUNFLGFBQVEsR0FBc0I7UUFDNUIsSUFBSTtRQUNKLHNCQUFzQjtRQUN0QiwrQkFBK0I7UUFDL0IsNENBQTRDO1FBQzVDLGlHQUFpRztRQUNqRyxlQUFlO1FBQ2Ysd0JBQXdCO1FBQ3hCLGlGQUFpRjtRQUNqRixRQUFRO1FBQ1IsTUFBTTtRQUNOLElBQUk7U0FDTCxDQUFDO0lBQ0osQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2VhcmNoQ29tbWFuZFByb3ZpZGVyLCBBWFBTZWFyY2hSZXN1bHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBBWE1TZWFyY2hDb21tYW5kUHJvdmlkZXIgZXh0ZW5kcyBBWFBTZWFyY2hDb21tYW5kUHJvdmlkZXIge1xuICBjb21tYW5kczogQVhQU2VhcmNoUmVzdWx0W10gPSBbXG4gICAgLy8ge1xuICAgIC8vICAgZ3JvdXA6ICdjb21tYW5kJyxcbiAgICAvLyAgdGl0bGU6ICdOZXcgRm9ybSBUZW1wbGF0ZScsXG4gICAgLy8gIGljb246IFJvb3RDb25maWcuZW50aXRpZXMudGVtcGxhdGUuaWNvbixcbiAgICAvLyAgZGVzY3JpcHRpb246ICdDcmVhdGUgYSBuZXcgZm9ybSB0ZW1wbGF0ZSBmb3IgZGVzaWduaW5nIHJldXNhYmxlIGZvcm1zLicsIC8vIEFkZGVkIGRlc2NyaXB0aW9uXG4gICAgLy8gIGNvbW1hbmRzOiB7XG4gICAgLy8gICAgJ2NyZWF0ZS1lbnRpdHknOiB7XG4gICAgLy8gICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy50ZW1wbGF0ZS5uYW1lfWAsXG4gICAgLy8gICAgfSxcbiAgICAvLyAgfSxcbiAgICAvLyB9XG4gIF07XG59XG4iXX0=","export class AXMSettingProvider {\n async provide(context) {\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL3NldHRpbmdzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUE0QztJQUUxRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyLCBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIEFYTVNldHRpbmdQcm92aWRlciBpbXBsZW1lbnRzIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIge1xuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgfVxufVxuIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDocumentServiceImpl extends AXMDocumentService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.document.name}`);\n }\n async getPath(_) {\n throw new Error('Not implemented');\n }\n async searchFiles(_searchTerm, _rootFolderId) {\n throw new Error('Not implemented');\n }\n async findMany(ids) {\n const resp = await this.query({\n skip: 0,\n take: ids.length || 1000,\n filter: {\n field: 'id',\n operator: { type: 'in' },\n value: ids,\n },\n });\n return (resp?.items ?? []);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBSXpDLE1BQU0sT0FBZ0Isa0JBQW1CLFNBQVEsd0JBR2hEO0NBTUE7QUFHRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBQzVEO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRVEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFTO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVEsS0FBSyxDQUFDLFdBQVcsQ0FDeEIsV0FBbUIsRUFDbkIsYUFBcUI7UUFFckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQWE7UUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzVCLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSTtZQUN4QixNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtnQkFDeEIsS0FBSyxFQUFFLEdBQUc7YUFDWDtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBMEQsQ0FBQztJQUN0RixDQUFDOytHQTNCVSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyRW50aXR5TW9kZWwgfSBmcm9tICcuLi9mb2xkZXInO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRFbnRpdHlNb2RlbCB9IGZyb20gJy4vZG9jdW1lbnQudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRG9jdW1lbnRTZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICBzdHJpbmcsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50RW50aXR5TW9kZWxcbj4ge1xuICBhYnN0cmFjdCBnZXRQYXRoKGRvY3VtZW50SWQ6IHN0cmluZywgc3RvcEZvbGRlcklkPzogc3RyaW5nKTogUHJvbWlzZTxBWE1Eb2N1bWVudE1hbmFnZW1lbnRGb2xkZXJFbnRpdHlNb2RlbFtdPjtcblxuICBhYnN0cmFjdCBzZWFyY2hGaWxlcyhzZWFyY2hUZXJtOiBzdHJpbmcsIHJvb3RGb2xkZXJJZDogc3RyaW5nKTogUHJvbWlzZTxBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudEVudGl0eU1vZGVsW10+O1xuXG4gIGFic3RyYWN0IGZpbmRNYW55KGlkczogc3RyaW5nW10pOiBQcm9taXNlPEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50RW50aXR5TW9kZWxbXT47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudFNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRG9jdW1lbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50Lm5hbWV9YCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYXRoKF86IHN0cmluZyk6IFByb21pc2U8QVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyRW50aXR5TW9kZWxbXT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBzZWFyY2hGaWxlcyhcbiAgICBfc2VhcmNoVGVybTogc3RyaW5nLFxuICAgIF9yb290Rm9sZGVySWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50RW50aXR5TW9kZWxbXT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBmaW5kTWFueShpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudEVudGl0eU1vZGVsW10+IHtcbiAgICBjb25zdCByZXNwID0gYXdhaXQgdGhpcy5xdWVyeSh7XG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogaWRzLmxlbmd0aCB8fCAxMDAwLFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIGZpZWxkOiAnaWQnLFxuICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnaW4nIH0sXG4gICAgICAgIHZhbHVlOiBpZHMsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiAocmVzcD8uaXRlbXMgPz8gW10pIGFzIHVua25vd24gYXMgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRFbnRpdHlNb2RlbFtdO1xuICB9XG59XG4iXX0=","import { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView, createQueryView, } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentService } from './document.service';\nimport { set } from 'lodash-es';\nexport async function documentFactory(injector) {\n const dataService = injector.get(AXMDocumentService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n title: RootConfig.entities.document.title,\n icon: RootConfig.entities.document.icon,\n formats: {\n individual: RootConfig.entities.review.title,\n plural: RootConfig.entities.review.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n plugins: [\n {\n name: 'attachments',\n options: {\n multiple: false,\n field: 'fileId',\n },\n },\n { name: 'meta-data-form', options: { path: 'typeId' } }\n ],\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.review.name}`,\n conditions: [\n {\n name: 'documentId',\n operator: {\n type: 'equal',\n },\n value: '{{context.eval(\"id\")}}',\n },\n ],\n // hidden: '{{context.eval(\"toggle\")}}',\n actions: [],\n },\n ],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: '@general:terms.common.name',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'typeId',\n title: '@general:terms.common.type',\n groupId: 'section',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.documentType.name}`,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'version',\n title: `@${i18n}:terms.common.version`,\n groupId: 'section',\n schema: {\n dataType: 'number',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.number,\n options: {},\n },\n },\n },\n {\n name: 'size',\n title: `@${i18n}:terms.common.size`,\n schema: {\n dataType: 'number',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.number,\n options: {},\n },\n },\n },\n {\n name: 'status',\n title: `@${i18n}:terms.common.status`,\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n content: `{{ context.eval('status') }}`,\n },\n },\n },\n },\n {\n name: 'documentReview',\n title: `@${i18n}:workflows.document-review.title`,\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n content: `{{ context.eval('documentReview') }}`,\n },\n },\n },\n },\n {\n name: 'documentReviewReviewer',\n title: `@${i18n}:workflows.document-review.title`,\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n content: `{{ context.eval('documentReviewReviewer') }}`,\n },\n },\n },\n },\n {\n name: 'documentReviewComment',\n title: `@${i18n}:workflows.document-review.title`,\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.richText,\n options: {\n content: `{{ context.eval('documentReviewComment') }}`,\n },\n },\n },\n },\n {\n name: 'documentReviewStatus',\n title: `@${i18n}:workflows.document-review.title`,\n schema: {\n defaultValue: '{{context.eval(\"documentReview.reviewStatus\") == \"Approve\"}}',\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n content: `{{ context.eval('documentReviewComment') }}`,\n },\n },\n },\n },\n ],\n columns: [\n { name: 'name' },\n { name: 'status' },\n { name: 'version' },\n {\n name: 'documentReviewReviewer',\n title: `@${i18n}:terms.common.reviewer`,\n options: {\n dataPath: 'documentReview.reviewer.title',\n },\n },\n {\n name: 'documentReviewComment',\n title: `@${i18n}:terms.common.comment`,\n options: {\n dataPath: 'documentReview.comment',\n },\n },\n {\n name: 'documentReviewStatus',\n title: `@${i18n}:terms.workflow.approve`,\n options: {\n dataPath: 'documentReview.reviewStatus',\n },\n },\n ],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n const x = await dataService.getOne(id);\n x.fileId = [x.fileId];\n set(x, 'typeId', x.documentType.id);\n console.log(x);\n return x;\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n const filter = e.filter;\n // Base filter for requiresReview\n const baseFilters = [\n {\n field: 'documentType.requiresReview',\n operator: { type: 'equal' },\n value: true,\n },\n ];\n // Check if e.filter has filters array with items\n const hasAdditionalFilters = filter?.filters && Array.isArray(filter.filters) && filter.filters.length > 0;\n // Combine filters if additional filters exist\n const allFilters = hasAdditionalFilters\n ? [...baseFilters, ...filter.filters]\n : baseFilters;\n const x = await dataService.query({\n skip: e.skip,\n take: e.take,\n filter: {\n logic: 'and',\n filters: allFilters,\n },\n });\n console.log(x);\n return x;\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'typeId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n // update: {\n // sections: [\n // {\n // id: 'section',\n // },\n // ],\n // properties: [\n // {\n // name: 'name',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 6,\n // },\n // },\n // },\n // },\n // {\n // name: 'type',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n // {\n // name: 'metaData',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n // {\n // name: 'file',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n // ],\n // },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'typeId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n // {\n // name: 'fileId',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n // {\n // name: 'file',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n {\n name: 'status',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [\n {\n title: `@${i18n}:workflows.document-review.send-review.title`,\n command: {\n name: 'send-to-review',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'primary',\n type: 'sent',\n scope: AXPEntityCommandScope.TypeLevel,\n disabled: '{{context.eval(\"status\") != \"Draft\"}}',\n },\n {\n title: `@${i18n}:workflows.document-review.submit-review.title`,\n command: {\n name: 'submit-review',\n options: {\n id: '{{context.eval(\"reviewRecordId\")}}',\n // reviewedAt : '{{ variables.execute(\"now\") }}',\n decoration: {\n header: {\n title: '{{ context.eval(\"title\") + \" - version: \" + context.eval(\"version\") }}',\n },\n },\n },\n },\n priority: 'primary',\n type: 'review',\n scope: AXPEntityCommandScope.TypeLevel,\n disabled: '{{context.eval(\"status\") != \"PendingReview\"}}',\n },\n {\n title: `@${i18n}:terms.workflow.distributed`,\n command: {\n name: 'distributed',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'primary',\n type: 'review',\n scope: AXPEntityCommandScope.TypeLevel,\n disabled: '{{context.eval(\"status\") != \"Reviewed\" && context.eval(\"status\") != \"Completed\"}}',\n },\n ],\n },\n list: {\n actions: [\n {\n title: '@general:actions.detail.title',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n default: true,\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: `@${i18n}:workflows.document-review.send-review.title`,\n icon: 'fa-light fa-shield-check',\n command: {\n name: 'send-to-review',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'secondary',\n type: 'sent',\n scope: AXPEntityCommandScope.Individual,\n disabled: '{{context.eval(\"status\") != \"Draft\"}}',\n },\n {\n title: `@${i18n}:workflows.document-review.submit-review.title`,\n icon: 'fa-light fa-ballot-check',\n command: {\n name: 'submit-review',\n options: {\n id: '{{context.eval(\"reviewRecordId\")}}',\n // reviewedAt : '{{ variables.execute(\"now\") }}',\n decoration: {\n header: {\n title: '{{ context.eval(\"title\") + \" - version: \" + context.eval(\"version\") }}',\n },\n },\n },\n },\n priority: 'secondary',\n type: 'review',\n scope: AXPEntityCommandScope.Individual,\n disabled: '{{context.eval(\"status\") != \"PendingReview\"}}',\n },\n {\n title: `@${i18n}:terms.workflow.distributed`,\n icon: 'fa-light fa-chart-network',\n command: {\n name: 'distributed',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'secondary',\n type: 'review',\n scope: AXPEntityCommandScope.Individual,\n disabled: '{{context.eval(\"status\") != \"Reviewed\" && context.eval(\"status\") != \"Completed\"}}',\n },\n ],\n views: [\n createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] }),\n createQueryView('Draft', `@${i18n}:terms.workflow.draft`, true, {\n conditions: [\n {\n name: 'status',\n operator: {\n type: 'equal',\n },\n value: 'Draft',\n },\n ],\n }),\n createQueryView('PendingReview', `@${i18n}:terms.workflow.pending`, true, {\n conditions: [\n {\n name: 'status',\n operator: {\n type: 'equal',\n },\n value: 'PendingReview',\n },\n ],\n }),\n createQueryView('Reviewed', `@${i18n}:terms.workflow.reviewed`, true, {\n conditions: [\n {\n name: 'status',\n operator: {\n type: 'equal',\n },\n value: 'Reviewed',\n },\n ],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudC5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGVBQWUsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEMsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQUMsUUFBa0I7SUFDdEQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBRXBDLE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUs7UUFDekMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDdkMsT0FBTyxFQUFFO1lBQ1AsVUFBVSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDNUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDOUMsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRSxhQUFhO2dCQUNwQixXQUFXLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLO2FBQ3JDO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUDtnQkFDRSxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRSxLQUFLO29CQUNmLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGO1lBQ0QsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFO1NBQ3hEO1FBQ0QsZUFBZSxFQUFFO1lBQ2Y7Z0JBQ0UsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUN0RSxVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLFFBQVEsRUFBRTs0QkFDUixJQUFJLEVBQUUsT0FBTzt5QkFDZDt3QkFDRCxLQUFLLEVBQUUsd0JBQXdCO3FCQUNoQztpQkFDRjtnQkFDRCx3Q0FBd0M7Z0JBQ3hDLE9BQU8sRUFBRSxFQUFFO2FBQ1o7U0FDRjtRQUNELE1BQU0sRUFBRTtZQUNOO2dCQUNFLEVBQUUsRUFBRSxTQUFTO2dCQUNiLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2FBQzFDO1NBQ0Y7UUFDRCxVQUFVLEVBQUU7WUFDVjtnQkFDRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsNEJBQTRCO2dCQUNuQyxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsSUFBSTtxQkFDZDtvQkFDRCxNQUFNLEVBQUU7d0JBQ04sTUFBTSxFQUFFOzRCQUNOLE9BQU8sRUFBRSxJQUFJO3lCQUNkO3dCQUNELE9BQU8sRUFBRTs0QkFDUCxPQUFPLEVBQUUsSUFBSTt5QkFDZDtxQkFDRjtpQkFDRjtnQkFDRCxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTt3QkFDNUIsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSw0QkFBNEI7eUJBQzFDO3FCQUNGO2lCQUNGO2dCQUNELFdBQVcsRUFBRTtvQkFDWDt3QkFDRSxJQUFJLEVBQUUsVUFBVTtxQkFDakI7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSw0QkFBNEI7Z0JBQ25DLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTt3QkFDOUIsT0FBTyxFQUFFOzRCQUNQLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTt5QkFDN0U7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYO3dCQUNFLElBQUksRUFBRSxVQUFVO3FCQUNqQjtpQkFDRjthQUNGO1lBRUQ7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFLElBQUksSUFBSSx1QkFBdUI7Z0JBQ3RDLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTt3QkFDOUIsT0FBTyxFQUFFLEVBQUU7cUJBQ1o7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSxJQUFJLElBQUksb0JBQW9CO2dCQUNuQyxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTt3QkFDOUIsT0FBTyxFQUFFLEVBQUU7cUJBQ1o7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxJQUFJLElBQUksc0JBQXNCO2dCQUNyQyxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsSUFBSTtxQkFDZDtvQkFDRCxNQUFNLEVBQUU7d0JBQ04sTUFBTSxFQUFFOzRCQUNOLE9BQU8sRUFBRSxJQUFJO3lCQUNkO3dCQUNELE9BQU8sRUFBRTs0QkFDUCxPQUFPLEVBQUUsSUFBSTt5QkFDZDtxQkFDRjtpQkFDRjtnQkFDRCxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTt3QkFDNUIsT0FBTyxFQUFFOzRCQUNQLE9BQU8sRUFBRSw4QkFBOEI7eUJBQ3hDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxJQUFJLGtDQUFrQztnQkFDakQsTUFBTSxFQUFFO29CQUNOLFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUUsSUFBSTtvQkFDZCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUk7d0JBQzVCLE9BQU8sRUFBRTs0QkFDUCxPQUFPLEVBQUUsc0NBQXNDO3lCQUNoRDtxQkFDRjtpQkFDRjthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsS0FBSyxFQUFFLElBQUksSUFBSSxrQ0FBa0M7Z0JBQ2pELE1BQU0sRUFBRTtvQkFDTixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLElBQUk7b0JBQ2QsU0FBUyxFQUFFO3dCQUNULElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO3dCQUM1QixPQUFPLEVBQUU7NEJBQ1AsT0FBTyxFQUFFLDhDQUE4Qzt5QkFDeEQ7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLEtBQUssRUFBRSxJQUFJLElBQUksa0NBQWtDO2dCQUNqRCxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsUUFBUTt3QkFDaEMsT0FBTyxFQUFFOzRCQUNQLE9BQU8sRUFBRSw2Q0FBNkM7eUJBQ3ZEO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsc0JBQXNCO2dCQUM1QixLQUFLLEVBQUUsSUFBSSxJQUFJLGtDQUFrQztnQkFDakQsTUFBTSxFQUFFO29CQUNOLFlBQVksRUFBRSw4REFBOEQ7b0JBQzVFLFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUUsSUFBSTtvQkFDZCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE1BQU07d0JBQzlCLE9BQU8sRUFBRTs0QkFDUCxPQUFPLEVBQUUsNkNBQTZDO3lCQUN2RDtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNuQjtnQkFDRSxJQUFJLEVBQUUsd0JBQXdCO2dCQUM5QixLQUFLLEVBQUUsSUFBSSxJQUFJLHdCQUF3QjtnQkFDdkMsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7aUJBQzFDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixLQUFLLEVBQUUsSUFBSSxJQUFJLHVCQUF1QjtnQkFDdEMsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsc0JBQXNCO2dCQUM1QixLQUFLLEVBQUUsSUFBSSxJQUFJLHlCQUF5QjtnQkFDeEMsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7aUJBQ3hDO2FBQ0Y7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSLE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO29CQUMzQixNQUFNLEdBQUcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzlDLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQ3JCLENBQUM7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQU8sRUFBRSxFQUFFO29CQUN6QixPQUFPLE1BQU0sV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsQ0FBQzthQUNGO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBUyxFQUFFLEVBQUU7b0JBQzNCLE9BQU8sTUFBTSxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BELENBQUM7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBVSxFQUFFLEVBQUU7b0JBQzVCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEIsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDZixPQUFPLENBQUMsQ0FBQztnQkFDWCxDQUFDO2dCQUNELElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO2FBQ2hDO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBTSxFQUFFLEVBQUU7b0JBQ3hCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFrQyxDQUFDO29CQUVwRCxpQ0FBaUM7b0JBQ2pDLE1BQU0sV0FBVyxHQUErQjt3QkFDOUM7NEJBQ0UsS0FBSyxFQUFFLDZCQUE2Qjs0QkFDcEMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQWdCLEVBQUU7NEJBQ3BDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLENBQUM7b0JBRUYsaURBQWlEO29CQUNqRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUUzRyw4Q0FBOEM7b0JBQzlDLE1BQU0sVUFBVSxHQUFHLG9CQUFvQjt3QkFDckMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLEVBQUUsR0FBSSxNQUFNLENBQUMsT0FBc0MsQ0FBQzt3QkFDckUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztvQkFFaEIsTUFBTSxDQUFDLEdBQUcsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDO3dCQUNoQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7d0JBQ1osSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLE1BQU0sRUFBRTs0QkFDTixLQUFLLEVBQUUsS0FBSzs0QkFDWixPQUFPLEVBQUUsVUFBVTt5QkFDcEI7cUJBQ0YsQ0FBQyxDQUFDO29CQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBRWYsT0FBTyxDQUFDLENBQUM7Z0JBQ1gsQ0FBQztnQkFDRCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSTthQUM5QjtTQUNGO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsTUFBTSxFQUFFO2dCQUNOLE1BQU0sRUFBRTtvQkFDTixRQUFRLEVBQUU7d0JBQ1I7NEJBQ0UsRUFBRSxFQUFFLFNBQVM7eUJBQ2Q7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWOzRCQUNFLElBQUksRUFBRSxNQUFNOzRCQUNaLE1BQU0sRUFBRTtnQ0FDTixTQUFTLEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxDQUFDO3FDQUNYO2lDQUNGOzZCQUNGO3lCQUNGO3dCQUNEOzRCQUNFLElBQUksRUFBRSxRQUFROzRCQUNkLE1BQU0sRUFBRTtnQ0FDTixTQUFTLEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxFQUFFO3FDQUNaO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2dCQUNELFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQixRQUFRO2dCQUNSLHVCQUF1QjtnQkFDdkIsU0FBUztnQkFDVCxPQUFPO2dCQUNQLGtCQUFrQjtnQkFDbEIsUUFBUTtnQkFDUixzQkFBc0I7Z0JBQ3RCLGtCQUFrQjtnQkFDbEIsdUJBQXVCO2dCQUN2QixrQkFBa0I7Z0JBQ2xCLDBCQUEwQjtnQkFDMUIsZUFBZTtnQkFDZixhQUFhO2dCQUNiLFdBQVc7Z0JBQ1gsU0FBUztnQkFDVCxRQUFRO2dCQUNSLHNCQUFzQjtnQkFDdEIsa0JBQWtCO2dCQUNsQix1QkFBdUI7Z0JBQ3ZCLGtCQUFrQjtnQkFDbEIsMkJBQTJCO2dCQUMzQixlQUFlO2dCQUNmLGFBQWE7Z0JBQ2IsV0FBVztnQkFDWCxTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsMEJBQTBCO2dCQUMxQixrQkFBa0I7Z0JBQ2xCLHVCQUF1QjtnQkFDdkIsa0JBQWtCO2dCQUNsQiwyQkFBMkI7Z0JBQzNCLGVBQWU7Z0JBQ2YsYUFBYTtnQkFDYixXQUFXO2dCQUNYLFNBQVM7Z0JBQ1QsUUFBUTtnQkFDUixzQkFBc0I7Z0JBQ3RCLGtCQUFrQjtnQkFDbEIsdUJBQXVCO2dCQUN2QixrQkFBa0I7Z0JBQ2xCLDJCQUEyQjtnQkFDM0IsZUFBZTtnQkFDZixhQUFhO2dCQUNiLFdBQVc7Z0JBQ1gsU0FBUztnQkFDVCxPQUFPO2dCQUNQLEtBQUs7Z0JBQ0wsTUFBTSxFQUFFO29CQUNOLEtBQUssRUFBRSxXQUFXO29CQUNsQixRQUFRLEVBQUU7d0JBQ1I7NEJBQ0UsRUFBRSxFQUFFLFNBQVM7NEJBQ2IsTUFBTSxFQUFFO2dDQUNOLFNBQVMsRUFBRTtvQ0FDVCxFQUFFLEVBQUU7d0NBQ0YsT0FBTyxFQUFFLEVBQUU7cUNBQ1o7aUNBQ0Y7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWOzRCQUNFLElBQUksRUFBRSxNQUFNOzRCQUNaLE1BQU0sRUFBRTtnQ0FDTixTQUFTLEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxDQUFDO3FDQUNYO2lDQUNGOzZCQUNGO3lCQUNGO3dCQUNEOzRCQUNFLElBQUksRUFBRSxRQUFROzRCQUNkLE1BQU0sRUFBRTtnQ0FDTixTQUFTLEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxDQUFDO3FDQUNYO2lDQUNGOzZCQUNGO3lCQUNGO3dCQUVELElBQUk7d0JBQ0osb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLFdBQVc7d0JBQ1gsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsV0FBVzt3QkFDWCxTQUFTO3dCQUNULE9BQU87d0JBQ1AsS0FBSzt3QkFDTDs0QkFDRSxJQUFJLEVBQUUsUUFBUTs0QkFDZCxNQUFNLEVBQUU7Z0NBQ04sU0FBUyxFQUFFO29DQUNULEVBQUUsRUFBRTt3Q0FDRixPQUFPLEVBQUUsQ0FBQztxQ0FDWDtpQ0FDRjs2QkFDRjt5QkFDRjt3QkFDRDs0QkFDRSxJQUFJLEVBQUUsU0FBUzs0QkFDZixNQUFNLEVBQUU7Z0NBQ04sU0FBUyxFQUFFO29DQUNULEVBQUUsRUFBRTt3Q0FDRixPQUFPLEVBQUUsQ0FBQztxQ0FDWDtpQ0FDRjs2QkFDRjt5QkFDRjtxQkFDRjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1A7NEJBQ0UsS0FBSyxFQUFFLElBQUksSUFBSSw4Q0FBOEM7NEJBQzdELE9BQU8sRUFBRTtnQ0FDUCxJQUFJLEVBQUUsZ0JBQWdCO2dDQUN0QixPQUFPLEVBQUU7b0NBQ1AsRUFBRSxFQUFFLHdCQUF3QjtvQ0FDNUIsS0FBSyxFQUFFLDJCQUEyQjtpQ0FDbkM7NkJBQ0Y7NEJBQ0QsUUFBUSxFQUFFLFNBQVM7NEJBQ25CLElBQUksRUFBRSxNQUFNOzRCQUNaLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxTQUFTOzRCQUN0QyxRQUFRLEVBQUUsdUNBQXVDO3lCQUNsRDt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsSUFBSSxJQUFJLGdEQUFnRDs0QkFDL0QsT0FBTyxFQUFFO2dDQUNQLElBQUksRUFBRSxlQUFlO2dDQUNyQixPQUFPLEVBQUU7b0NBQ1AsRUFBRSxFQUFFLG9DQUFvQztvQ0FDeEMsaURBQWlEO29DQUNqRCxVQUFVLEVBQUU7d0NBQ1YsTUFBTSxFQUFFOzRDQUNOLEtBQUssRUFBRSx3RUFBd0U7eUNBQ2hGO3FDQUNGO2lDQUNGOzZCQUNGOzRCQUNELFFBQVEsRUFBRSxTQUFTOzRCQUNuQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsU0FBUzs0QkFDdEMsUUFBUSxFQUFFLCtDQUErQzt5QkFDMUQ7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLElBQUksSUFBSSw2QkFBNkI7NEJBQzVDLE9BQU8sRUFBRTtnQ0FDUCxJQUFJLEVBQUUsYUFBYTtnQ0FDbkIsT0FBTyxFQUFFO29DQUNQLEVBQUUsRUFBRSx3QkFBd0I7b0NBQzVCLEtBQUssRUFBRSwyQkFBMkI7aUNBQ25DOzZCQUNGOzRCQUNELFFBQVEsRUFBRSxTQUFTOzRCQUNuQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsU0FBUzs0QkFDdEMsUUFBUSxFQUFFLG1GQUFtRjt5QkFDOUY7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRTt3QkFDUDs0QkFDRSxLQUFLLEVBQUUsK0JBQStCOzRCQUN0QyxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsUUFBUSxFQUFFLFdBQVc7NEJBQ3JCLElBQUksRUFBRSxNQUFNOzRCQUNaLE9BQU8sRUFBRSxJQUFJOzRCQUNiLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO3lCQUN4Qzt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsSUFBSSxJQUFJLDhDQUE4Qzs0QkFDN0QsSUFBSSxFQUFFLDBCQUEwQjs0QkFDaEMsT0FBTyxFQUFFO2dDQUNQLElBQUksRUFBRSxnQkFBZ0I7Z0NBQ3RCLE9BQU8sRUFBRTtvQ0FDUCxFQUFFLEVBQUUsd0JBQXdCO29DQUM1QixLQUFLLEVBQUUsMkJBQTJCO2lDQUNuQzs2QkFDRjs0QkFDRCxRQUFRLEVBQUUsV0FBVzs0QkFDckIsSUFBSSxFQUFFLE1BQU07NEJBQ1osS0FBSyxFQUFFLHFCQUFxQixDQUFDLFVBQVU7NEJBQ3ZDLFFBQVEsRUFBRSx1Q0FBdUM7eUJBQ2xEO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxJQUFJLElBQUksZ0RBQWdEOzRCQUMvRCxJQUFJLEVBQUUsMEJBQTBCOzRCQUNoQyxPQUFPLEVBQUU7Z0NBQ1AsSUFBSSxFQUFFLGVBQWU7Z0NBQ3JCLE9BQU8sRUFBRTtvQ0FDUCxFQUFFLEVBQUUsb0NBQW9DO29DQUN4QyxpREFBaUQ7b0NBQ2pELFVBQVUsRUFBRTt3Q0FDVixNQUFNLEVBQUU7NENBQ04sS0FBSyxFQUFFLHdFQUF3RTt5Q0FDaEY7cUNBQ0Y7aUNBQ0Y7NkJBQ0Y7NEJBQ0QsUUFBUSxFQUFFLFdBQVc7NEJBQ3JCLElBQUksRUFBRSxRQUFROzRCQUNkLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVOzRCQUN2QyxRQUFRLEVBQUUsK0NBQStDO3lCQUMxRDt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsSUFBSSxJQUFJLDZCQUE2Qjs0QkFDNUMsSUFBSSxFQUFFLDJCQUEyQjs0QkFDakMsT0FBTyxFQUFFO2dDQUNQLElBQUksRUFBRSxhQUFhO2dDQUNuQixPQUFPLEVBQUU7b0NBQ1AsRUFBRSxFQUFFLHdCQUF3QjtvQ0FDNUIsS0FBSyxFQUFFLDJCQUEyQjtpQ0FDbkM7NkJBQ0Y7NEJBQ0QsUUFBUSxFQUFFLFdBQVc7NEJBQ3JCLElBQUksRUFBRSxRQUFROzRCQUNkLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVOzRCQUN2QyxRQUFRLEVBQUUsbUZBQW1GO3lCQUM5RjtxQkFDRjtvQkFDRCxLQUFLLEVBQUU7d0JBQ0wsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQzt3QkFDN0QsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksdUJBQXVCLEVBQUUsSUFBSSxFQUFFOzRCQUM5RCxVQUFVLEVBQUU7Z0NBQ1Y7b0NBQ0UsSUFBSSxFQUFFLFFBQVE7b0NBQ2QsUUFBUSxFQUFFO3dDQUNSLElBQUksRUFBRSxPQUFPO3FDQUNkO29DQUNELEtBQUssRUFBRSxPQUFPO2lDQUNmOzZCQUNGO3lCQUNGLENBQUM7d0JBQ0YsZUFBZSxDQUFDLGVBQWUsRUFBRSxJQUFJLElBQUkseUJBQXlCLEVBQUUsSUFBSSxFQUFFOzRCQUN4RSxVQUFVLEVBQUU7Z0NBQ1Y7b0NBQ0UsSUFBSSxFQUFFLFFBQVE7b0NBQ2QsUUFBUSxFQUFFO3dDQUNSLElBQUksRUFBRSxPQUFPO3FDQUNkO29DQUNELEtBQUssRUFBRSxlQUFlO2lDQUN2Qjs2QkFDRjt5QkFDRixDQUFDO3dCQUNGLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLDBCQUEwQixFQUFFLElBQUksRUFBRTs0QkFDcEUsVUFBVSxFQUFFO2dDQUNWO29DQUNFLElBQUksRUFBRSxRQUFRO29DQUNkLFFBQVEsRUFBRTt3Q0FDUixJQUFJLEVBQUUsT0FBTztxQ0FDZDtvQ0FDRCxLQUFLLEVBQUUsVUFBVTtpQ0FDbEI7NkJBQ0Y7eUJBQ0YsQ0FBQztxQkFDSDtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWFBFbnRpdHksXG4gIEFYUEVudGl0eUNvbW1hbmRTY29wZSxcbiAgQVhQRW50aXR5UXVlcnlUeXBlLFxuICBjcmVhdGVBbGxRdWVyeVZpZXcsXG4gIGNyZWF0ZVF1ZXJ5Vmlldyxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTURvY3VtZW50U2VydmljZSB9IGZyb20gJy4vZG9jdW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9jdW1lbnRGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1Eb2N1bWVudFNlcnZpY2UpO1xuICBjb25zdCBpMThuID0gUm9vdENvbmZpZy5jb25maWcuaTE4bjtcblxuICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICBtb2R1bGU6IFJvb3RDb25maWcubW9kdWxlLm5hbWUsXG4gICAgbmFtZTogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC5uYW1lLFxuICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50LnRpdGxlLFxuICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQuaWNvbixcbiAgICBmb3JtYXRzOiB7XG4gICAgICBpbmRpdmlkdWFsOiBSb290Q29uZmlnLmVudGl0aWVzLnJldmlldy50aXRsZSxcbiAgICAgIHBsdXJhbDogUm9vdENvbmZpZy5lbnRpdGllcy5yZXZpZXcudGl0bGVQbHVyYWwsXG4gICAgICBzZWFyY2hSZXN1bHQ6IHtcbiAgICAgICAgdGl0bGU6ICd7eyB0aXRsZSB9fScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBSb290Q29uZmlnLm1vZHVsZS50aXRsZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwbHVnaW5zOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdhdHRhY2htZW50cycsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICAgICAgZmllbGQ6ICdmaWxlSWQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHsgbmFtZTogJ21ldGEtZGF0YS1mb3JtJywgb3B0aW9uczogeyBwYXRoOiAndHlwZUlkJyB9IH1cbiAgICBdLFxuICAgIHJlbGF0ZWRFbnRpdGllczogW1xuICAgICAge1xuICAgICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5yZXZpZXcubmFtZX1gLFxuICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2RvY3VtZW50SWQnLFxuICAgICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ2VxdWFsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2YWx1ZTogJ3t7Y29udGV4dC5ldmFsKFwiaWRcIil9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgLy8gaGlkZGVuOiAne3tjb250ZXh0LmV2YWwoXCJ0b2dnbGVcIil9fScsXG4gICAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGdyb3VwczogW1xuICAgICAge1xuICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC50aXRsZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24ubmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgIGlubGluZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFkdmFuY2U6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24ubmFtZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3R5cGVJZCcsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLnR5cGUnLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxvb2t1cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlLm5hbWV9YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd2ZXJzaW9uJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24udmVyc2lvbmAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdudW1iZXInLFxuICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubnVtYmVyLFxuICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzaXplJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24uc2l6ZWAsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLm51bWJlcixcbiAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc3RhdHVzJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24uc3RhdHVzYCxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgICAgaW5saW5lOiB7XG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWR2YW5jZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBjb250ZW50OiBge3sgY29udGV4dC5ldmFsKCdzdGF0dXMnKSB9fWAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZG9jdW1lbnRSZXZpZXcnLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OndvcmtmbG93cy5kb2N1bWVudC1yZXZpZXcudGl0bGVgLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBjb250ZW50OiBge3sgY29udGV4dC5ldmFsKCdkb2N1bWVudFJldmlldycpIH19YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkb2N1bWVudFJldmlld1Jldmlld2VyJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnRpdGxlYCxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgY29udGVudDogYHt7IGNvbnRleHQuZXZhbCgnZG9jdW1lbnRSZXZpZXdSZXZpZXdlcicpIH19YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkb2N1bWVudFJldmlld0NvbW1lbnQnLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OndvcmtmbG93cy5kb2N1bWVudC1yZXZpZXcudGl0bGVgLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yaWNoVGV4dCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgY29udGVudDogYHt7IGNvbnRleHQuZXZhbCgnZG9jdW1lbnRSZXZpZXdDb21tZW50JykgfX1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RvY3VtZW50UmV2aWV3U3RhdHVzJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnRpdGxlYCxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiAne3tjb250ZXh0LmV2YWwoXCJkb2N1bWVudFJldmlldy5yZXZpZXdTdGF0dXNcIikgPT0gXCJBcHByb3ZlXCJ9fScsXG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBjb250ZW50OiBge3sgY29udGV4dC5ldmFsKCdkb2N1bWVudFJldmlld0NvbW1lbnQnKSB9fWAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW1xuICAgICAgeyBuYW1lOiAnbmFtZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0YXR1cycgfSxcbiAgICAgIHsgbmFtZTogJ3ZlcnNpb24nIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkb2N1bWVudFJldmlld1Jldmlld2VyJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24ucmV2aWV3ZXJgLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZGF0YVBhdGg6ICdkb2N1bWVudFJldmlldy5yZXZpZXdlci50aXRsZScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZG9jdW1lbnRSZXZpZXdDb21tZW50JyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24uY29tbWVudGAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBkYXRhUGF0aDogJ2RvY3VtZW50UmV2aWV3LmNvbW1lbnQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RvY3VtZW50UmV2aWV3U3RhdHVzJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy53b3JrZmxvdy5hcHByb3ZlYCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGRhdGFQYXRoOiAnZG9jdW1lbnRSZXZpZXcucmV2aWV3U3RhdHVzJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBkYXRhU2VydmljZS5pbnNlcnRPbmUoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlcyB9O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPSBhd2FpdCBkYXRhU2VydmljZS5nZXRPbmUoaWQpO1xuICAgICAgICAgIHguZmlsZUlkID0gW3guZmlsZUlkXTtcbiAgICAgICAgICBzZXQoeCwgJ3R5cGVJZCcsIHguZG9jdW1lbnRUeXBlLmlkKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyh4KTtcbiAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBlLmZpbHRlciBhcyBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb247XG5cbiAgICAgICAgICAvLyBCYXNlIGZpbHRlciBmb3IgcmVxdWlyZXNSZXZpZXdcbiAgICAgICAgICBjb25zdCBiYXNlRmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10gPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkOiAnZG9jdW1lbnRUeXBlLnJlcXVpcmVzUmV2aWV3JyxcbiAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyBhcyBjb25zdCB9LFxuICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcblxuICAgICAgICAgIC8vIENoZWNrIGlmIGUuZmlsdGVyIGhhcyBmaWx0ZXJzIGFycmF5IHdpdGggaXRlbXNcbiAgICAgICAgICBjb25zdCBoYXNBZGRpdGlvbmFsRmlsdGVycyA9IGZpbHRlcj8uZmlsdGVycyAmJiBBcnJheS5pc0FycmF5KGZpbHRlci5maWx0ZXJzKSAmJiBmaWx0ZXIuZmlsdGVycy5sZW5ndGggPiAwO1xuXG4gICAgICAgICAgLy8gQ29tYmluZSBmaWx0ZXJzIGlmIGFkZGl0aW9uYWwgZmlsdGVycyBleGlzdFxuICAgICAgICAgIGNvbnN0IGFsbEZpbHRlcnMgPSBoYXNBZGRpdGlvbmFsRmlsdGVyc1xuICAgICAgICAgICAgPyBbLi4uYmFzZUZpbHRlcnMsIC4uLihmaWx0ZXIuZmlsdGVycyBhcyBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb25bXSldXG4gICAgICAgICAgICA6IGJhc2VGaWx0ZXJzO1xuXG4gICAgICAgICAgY29uc3QgeCA9IGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgICAgICAgIHNraXA6IGUuc2tpcCxcbiAgICAgICAgICAgIHRha2U6IGUudGFrZSxcbiAgICAgICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgICAgIGZpbHRlcnM6IGFsbEZpbHRlcnMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnNvbGUubG9nKHgpO1xuXG4gICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndHlwZUlkJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gdXBkYXRlOiB7XG4gICAgICAgIC8vICAgc2VjdGlvbnM6IFtcbiAgICAgICAgLy8gICAgIHtcbiAgICAgICAgLy8gICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgXSxcbiAgICAgICAgLy8gICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgIC8vICAgICB7XG4gICAgICAgIC8vICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgLy8gICAgICAgbGF5b3V0OiB7XG4gICAgICAgIC8vICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgIC8vICAgICAgICAgICBsZzoge1xuICAgICAgICAvLyAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAvLyAgICAgICAgICAgfSxcbiAgICAgICAgLy8gICAgICAgICB9LFxuICAgICAgICAvLyAgICAgICB9LFxuICAgICAgICAvLyAgICAgfSxcbiAgICAgICAgLy8gICAgIHtcbiAgICAgICAgLy8gICAgICAgbmFtZTogJ3R5cGUnLFxuICAgICAgICAvLyAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgLy8gICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgLy8gICAgICAgICAgIGxnOiB7XG4gICAgICAgIC8vICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAvLyAgICAgICAgICAgfSxcbiAgICAgICAgLy8gICAgICAgICB9LFxuICAgICAgICAvLyAgICAgICB9LFxuICAgICAgICAvLyAgICAgfSxcbiAgICAgICAgLy8gICAgIHtcbiAgICAgICAgLy8gICAgICAgbmFtZTogJ21ldGFEYXRhJyxcbiAgICAgICAgLy8gICAgICAgbGF5b3V0OiB7XG4gICAgICAgIC8vICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgIC8vICAgICAgICAgICBsZzoge1xuICAgICAgICAvLyAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgLy8gICAgICAgICAgIH0sXG4gICAgICAgIC8vICAgICAgICAgfSxcbiAgICAgICAgLy8gICAgICAgfSxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgICB7XG4gICAgICAgIC8vICAgICAgIG5hbWU6ICdmaWxlJyxcbiAgICAgICAgLy8gICAgICAgbGF5b3V0OiB7XG4gICAgICAgIC8vICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgIC8vICAgICAgICAgICBsZzoge1xuICAgICAgICAvLyAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgLy8gICAgICAgICAgIH0sXG4gICAgICAgIC8vICAgICAgICAgfSxcbiAgICAgICAgLy8gICAgICAgfSxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgXSxcbiAgICAgICAgLy8gfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0eXBlSWQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAvLyAgIG5hbWU6ICdmaWxlSWQnLFxuICAgICAgICAgICAgLy8gICBsYXlvdXQ6IHtcbiAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIC8vICAgICAgIGxnOiB7XG4gICAgICAgICAgICAvLyAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgLy8gICAgICAgfSxcbiAgICAgICAgICAgIC8vICAgICB9LFxuICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgIC8vICAgbmFtZTogJ2ZpbGUnLFxuICAgICAgICAgICAgLy8gICBsYXlvdXQ6IHtcbiAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIC8vICAgICAgIGxnOiB7XG4gICAgICAgICAgICAvLyAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgLy8gICAgICAgfSxcbiAgICAgICAgICAgIC8vICAgICB9LFxuICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd2ZXJzaW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnNlbmQtcmV2aWV3LnRpdGxlYCxcbiAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdzZW5kLXRvLXJldmlldycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgaWQ6ICd7e2NvbnRleHQuZXZhbChcImlkXCIpfX0nLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6ICd7e2NvbnRleHQuZXZhbChcInRpdGxlXCIpfX0nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdzZW50JyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWwsXG4gICAgICAgICAgICAgIGRpc2FibGVkOiAne3tjb250ZXh0LmV2YWwoXCJzdGF0dXNcIikgIT0gXCJEcmFmdFwifX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnN1Ym1pdC1yZXZpZXcudGl0bGVgLFxuICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3N1Ym1pdC1yZXZpZXcnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiAne3tjb250ZXh0LmV2YWwoXCJyZXZpZXdSZWNvcmRJZFwiKX19JyxcbiAgICAgICAgICAgICAgICAgIC8vIHJldmlld2VkQXQgOiAne3sgdmFyaWFibGVzLmV4ZWN1dGUoXCJub3dcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgZGVjb3JhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ3t7IGNvbnRleHQuZXZhbChcInRpdGxlXCIpICsgXCIgLSB2ZXJzaW9uOiBcIiArIGNvbnRleHQuZXZhbChcInZlcnNpb25cIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAncmV2aWV3JyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWwsXG4gICAgICAgICAgICAgIGRpc2FibGVkOiAne3tjb250ZXh0LmV2YWwoXCJzdGF0dXNcIikgIT0gXCJQZW5kaW5nUmV2aWV3XCJ9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLndvcmtmbG93LmRpc3RyaWJ1dGVkYCxcbiAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkaXN0cmlidXRlZCcsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgaWQ6ICd7e2NvbnRleHQuZXZhbChcImlkXCIpfX0nLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6ICd7e2NvbnRleHQuZXZhbChcInRpdGxlXCIpfX0nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdyZXZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7e2NvbnRleHQuZXZhbChcInN0YXR1c1wiKSAhPSBcIlJldmlld2VkXCIgJiYgY29udGV4dC5ldmFsKFwic3RhdHVzXCIpICE9IFwiQ29tcGxldGVkXCJ9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5kZXRhaWwudGl0bGUnLFxuICAgICAgICAgICAgICBjb21tYW5kOiAnb3Blbi1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICd2aWV3JyxcbiAgICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnNlbmQtcmV2aWV3LnRpdGxlYCxcbiAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXNoaWVsZC1jaGVjaycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnc2VuZC10by1yZXZpZXcnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiAne3tjb250ZXh0LmV2YWwoXCJpZFwiKX19JyxcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiAne3tjb250ZXh0LmV2YWwoXCJ0aXRsZVwiKX19JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdzZW50JyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogJ3t7Y29udGV4dC5ldmFsKFwic3RhdHVzXCIpICE9IFwiRHJhZnRcIn19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiBgQCR7aTE4bn06d29ya2Zsb3dzLmRvY3VtZW50LXJldmlldy5zdWJtaXQtcmV2aWV3LnRpdGxlYCxcbiAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWJhbGxvdC1jaGVjaycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnc3VibWl0LXJldmlldycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgaWQ6ICd7e2NvbnRleHQuZXZhbChcInJldmlld1JlY29yZElkXCIpfX0nLFxuICAgICAgICAgICAgICAgICAgLy8gcmV2aWV3ZWRBdCA6ICd7eyB2YXJpYWJsZXMuZXhlY3V0ZShcIm5vd1wiKSB9fScsXG4gICAgICAgICAgICAgICAgICBkZWNvcmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAne3sgY29udGV4dC5ldmFsKFwidGl0bGVcIikgKyBcIiAtIHZlcnNpb246IFwiICsgY29udGV4dC5ldmFsKFwidmVyc2lvblwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3JldmlldycsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7e2NvbnRleHQuZXZhbChcInN0YXR1c1wiKSAhPSBcIlBlbmRpbmdSZXZpZXdcIn19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMud29ya2Zsb3cuZGlzdHJpYnV0ZWRgLFxuICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY2hhcnQtbmV0d29yaycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnZGlzdHJpYnV0ZWQnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiAne3tjb250ZXh0LmV2YWwoXCJpZFwiKX19JyxcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiAne3tjb250ZXh0LmV2YWwoXCJ0aXRsZVwiKX19JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdyZXZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgIGRpc2FibGVkOiAne3tjb250ZXh0LmV2YWwoXCJzdGF0dXNcIikgIT0gXCJSZXZpZXdlZFwiICYmIGNvbnRleHQuZXZhbChcInN0YXR1c1wiKSAhPSBcIkNvbXBsZXRlZFwifX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbXG4gICAgICAgICAgICBjcmVhdGVBbGxRdWVyeVZpZXcoeyBzb3J0czogW3sgbmFtZTogJ25hbWUnLCBkaXI6ICdhc2MnIH1dIH0pLFxuICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdEcmFmdCcsIGBAJHtpMThufTp0ZXJtcy53b3JrZmxvdy5kcmFmdGAsIHRydWUsIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdzdGF0dXMnLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2VxdWFsJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogJ0RyYWZ0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjcmVhdGVRdWVyeVZpZXcoJ1BlbmRpbmdSZXZpZXcnLCBgQCR7aTE4bn06dGVybXMud29ya2Zsb3cucGVuZGluZ2AsIHRydWUsIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdzdGF0dXMnLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2VxdWFsJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogJ1BlbmRpbmdSZXZpZXcnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNyZWF0ZVF1ZXJ5VmlldygnUmV2aWV3ZWQnLCBgQCR7aTE4bn06dGVybXMud29ya2Zsb3cucmV2aWV3ZWRgLCB0cnVlLCB7XG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnc3RhdHVzJyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlcXVhbCcsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgdmFsdWU6ICdSZXZpZXdlZCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGVudGl0eURlZjtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXMDocumentService, AXMDocumentServiceImpl } from './document.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentEntityModule, providers: [\n {\n provide: AXMDocumentService,\n useClass: AXMDocumentServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentService,\n useClass: AXMDocumentServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFhaEYsTUFBTSxPQUFPLHlDQUF5QzsrR0FBekMseUNBQXlDO2dIQUF6Qyx5Q0FBeUM7Z0hBQXpDLHlDQUF5QyxhQVB6QztZQUNUO2dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFFBQVEsRUFBRSxzQkFBc0I7YUFDakM7U0FDRjs7NEZBRVUseUNBQXlDO2tCQVhyRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLHNCQUFzQjt5QkFDakM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRTZXJ2aWNlLCBBWE1Eb2N1bWVudFNlcnZpY2VJbXBsIH0gZnJvbSAnLi9kb2N1bWVudC5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWE1Eb2N1bWVudFNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogQVhNRG9jdW1lbnRTZXJ2aWNlSW1wbCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudEVudGl0eU1vZHVsZSB7fVxuIl19","export function getNextStatus(options) {\n const { current, requiresReview, requiresDistribution, reviewFirst, reviewResult, allSignaturesCollected } = options;\n switch (current) {\n case 'Draft':\n if (requiresReview)\n return 'PendingReview';\n if (requiresDistribution)\n return 'Distributed';\n return 'Completed';\n case 'PendingReview':\n if (reviewResult === 'rejected')\n return 'Rejected';\n if (reviewResult === 'approved') {\n if (requiresDistribution)\n return 'Distributed';\n return 'Completed';\n }\n return null;\n case 'Reviewed':\n if (requiresDistribution)\n return 'Distributed';\n return 'Completed';\n case 'Distributed':\n if (allSignaturesCollected)\n return 'Completed';\n return 'Distributed';\n default:\n return null;\n }\n}\nconst AXMDocumentWorkflowTransitionMap = {\n Draft: ['PendingReview', 'Distributed', 'Completed'],\n PendingReview: ['Reviewed', 'Rejected'],\n Rejected: ['PendingReview'], // پس از اصلاح\n Reviewed: ['Distributed', 'Completed'],\n Distributed: ['Completed'],\n Completed: []\n};\nexport function canTransition(from, to) {\n return AXMDocumentWorkflowTransitionMap[from]?.includes(to) ?? false;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EQSxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQTZCO0lBQ3pELE1BQU0sRUFDSixPQUFPLEVBQ1AsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsWUFBWSxFQUNaLHNCQUFzQixFQUN2QixHQUFHLE9BQU8sQ0FBQztJQUVaLFFBQVEsT0FBTyxFQUFFLENBQUM7UUFDaEIsS0FBSyxPQUFPO1lBQ1YsSUFBSSxjQUFjO2dCQUFFLE9BQU8sZUFBZSxDQUFDO1lBQzNDLElBQUksb0JBQW9CO2dCQUFFLE9BQU8sYUFBYSxDQUFDO1lBQy9DLE9BQU8sV0FBVyxDQUFDO1FBRXJCLEtBQUssZUFBZTtZQUNsQixJQUFJLFlBQVksS0FBSyxVQUFVO2dCQUFFLE9BQU8sVUFBVSxDQUFDO1lBQ25ELElBQUksWUFBWSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLG9CQUFvQjtvQkFBRSxPQUFPLGFBQWEsQ0FBQztnQkFDL0MsT0FBTyxXQUFXLENBQUM7WUFDckIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBRWQsS0FBSyxVQUFVO1lBQ2IsSUFBSSxvQkFBb0I7Z0JBQUUsT0FBTyxhQUFhLENBQUM7WUFDL0MsT0FBTyxXQUFXLENBQUM7UUFFckIsS0FBSyxhQUFhO1lBQ2hCLElBQUksc0JBQXNCO2dCQUFFLE9BQU8sV0FBVyxDQUFDO1lBQy9DLE9BQU8sYUFBYSxDQUFDO1FBRXZCO1lBQ0UsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLGdDQUFnQyxHQUFpRTtJQUNyRyxLQUFLLEVBQUUsQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQztJQUNwRCxhQUFhLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3ZDLFFBQVEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLGNBQWM7SUFDM0MsUUFBUSxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztJQUN0QyxXQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDMUIsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUE4QixFQUFFLEVBQTRCO0lBQ3hGLE9BQU8sZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlRW50aXR5TW9kZWwgfSBmcm9tICcuLi9kb2N1bWVudC10eXBlJztcbmltcG9ydCB7IEFYTURvY3VtZW50TWFuYWdlbWVudFJldmlld0VudGl0eU1vZGVsIH0gZnJvbSAnLi4vcmV2aWV3JztcbmltcG9ydCB7IEFYUEZpbGVMaXN0SXRlbSwgQVhQTWV0YURhdGEgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBBWE1Eb2N1bWVudFdvcmtmbG93UGhhc2UgPVxuICB8ICdEcmFmdCdcbiAgfCAnUGVuZGluZ1JldmlldydcbiAgfCAnUmVqZWN0ZWQnICAgIFxuICB8ICdSZXZpZXdlZCdcbiAgfCAnRGlzdHJpYnV0ZWQnXG4gIHwgJ0NvbXBsZXRlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhNRG9jdW1lbnRNZXRhIHtcbiAgbmFtZTpzdHJpbmc7XG4gIHRpdGxlOnN0cmluZztcbiAgdmFsdWU6c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50RW50aXR5TW9kZWwgZXh0ZW5kcyBBWFBFbnRpdHlNb2RlbDxzdHJpbmc+IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkb2N1bWVudFR5cGU6IEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZUVudGl0eU1vZGVsOyAgXG4gIHBhcmVudElkOiBzdHJpbmc7XG4gIGZpbGVJZDogc3RyaW5nfEFYUEZpbGVMaXN0SXRlbXxhbnk7IC8vIElEIG9mIHRoZSBmaWxlIGluIEZpbGVTdG9yYWdlXG4gIHJlZlJlY29yZElkPzogc3RyaW5nO1xuICByZWZFbnRpdHk/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBzaXplOiBudW1iZXI7XG4gIHZlcnNpb24/OiBudW1iZXI7XG4gIHJldmlld1JlY29yZElkPzogc3RyaW5nO1xuICBleHBpcmF0aW9uRGF0ZT86IERhdGU7XG4gIGZpbGVEYXRhPzogQVhQRmlsZUxpc3RJdGVtW107XG4gIHN0YXR1cz86IEFYTURvY3VtZW50V29ya2Zsb3dQaGFzZTtcblxuICBkb2N1bWVudFJldmlldz86IEFYTURvY3VtZW50TWFuYWdlbWVudFJldmlld0VudGl0eU1vZGVsO1xuXG4gIG1ldGFEYXRhRm9ybT86IEFYUE1ldGFEYXRhO1xufVxuXG5cblxuLy9zdWdnZXN0IENoYXRHUHRcbmludGVyZmFjZSBHZXROZXh0U3RhdHVzT3B0aW9ucyB7XG4gIGN1cnJlbnQ6IEFYTURvY3VtZW50V29ya2Zsb3dQaGFzZTtcbiAgcmVxdWlyZXNSZXZpZXc6IGJvb2xlYW47XG4gIHJlcXVpcmVzRGlzdHJpYnV0aW9uOiBib29sZWFuO1xuICByZXZpZXdGaXJzdDogYm9vbGVhbjsgLy8gZGVmYXVsdHMgdG8gdHJ1ZVxuICByZXZpZXdSZXN1bHQ/OiAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJztcbiAgYWxsU2lnbmF0dXJlc0NvbGxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0U3RhdHVzKG9wdGlvbnM6IEdldE5leHRTdGF0dXNPcHRpb25zKTogQVhNRG9jdW1lbnRXb3JrZmxvd1BoYXNlIHwgbnVsbCB7XG4gIGNvbnN0IHtcbiAgICBjdXJyZW50LFxuICAgIHJlcXVpcmVzUmV2aWV3LFxuICAgIHJlcXVpcmVzRGlzdHJpYnV0aW9uLFxuICAgIHJldmlld0ZpcnN0LFxuICAgIHJldmlld1Jlc3VsdCxcbiAgICBhbGxTaWduYXR1cmVzQ29sbGVjdGVkXG4gIH0gPSBvcHRpb25zO1xuXG4gIHN3aXRjaCAoY3VycmVudCkge1xuICAgIGNhc2UgJ0RyYWZ0JzpcbiAgICAgIGlmIChyZXF1aXJlc1JldmlldykgcmV0dXJuICdQZW5kaW5nUmV2aWV3JztcbiAgICAgIGlmIChyZXF1aXJlc0Rpc3RyaWJ1dGlvbikgcmV0dXJuICdEaXN0cmlidXRlZCc7XG4gICAgICByZXR1cm4gJ0NvbXBsZXRlZCc7XG5cbiAgICBjYXNlICdQZW5kaW5nUmV2aWV3JzpcbiAgICAgIGlmIChyZXZpZXdSZXN1bHQgPT09ICdyZWplY3RlZCcpIHJldHVybiAnUmVqZWN0ZWQnO1xuICAgICAgaWYgKHJldmlld1Jlc3VsdCA9PT0gJ2FwcHJvdmVkJykge1xuICAgICAgICBpZiAocmVxdWlyZXNEaXN0cmlidXRpb24pIHJldHVybiAnRGlzdHJpYnV0ZWQnO1xuICAgICAgICByZXR1cm4gJ0NvbXBsZXRlZCc7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ1Jldmlld2VkJzpcbiAgICAgIGlmIChyZXF1aXJlc0Rpc3RyaWJ1dGlvbikgcmV0dXJuICdEaXN0cmlidXRlZCc7XG4gICAgICByZXR1cm4gJ0NvbXBsZXRlZCc7XG5cbiAgICBjYXNlICdEaXN0cmlidXRlZCc6XG4gICAgICBpZiAoYWxsU2lnbmF0dXJlc0NvbGxlY3RlZCkgcmV0dXJuICdDb21wbGV0ZWQnO1xuICAgICAgcmV0dXJuICdEaXN0cmlidXRlZCc7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuY29uc3QgQVhNRG9jdW1lbnRXb3JrZmxvd1RyYW5zaXRpb25NYXA6IFJlY29yZDxBWE1Eb2N1bWVudFdvcmtmbG93UGhhc2UsIEFYTURvY3VtZW50V29ya2Zsb3dQaGFzZVtdPiA9IHtcbiAgRHJhZnQ6IFsnUGVuZGluZ1JldmlldycsICdEaXN0cmlidXRlZCcsICdDb21wbGV0ZWQnXSxcbiAgUGVuZGluZ1JldmlldzogWydSZXZpZXdlZCcsICdSZWplY3RlZCddLFxuICBSZWplY3RlZDogWydQZW5kaW5nUmV2aWV3J10sIC8vINm+2LMg2KfYsiDYp9i12YTYp9itXG4gIFJldmlld2VkOiBbJ0Rpc3RyaWJ1dGVkJywgJ0NvbXBsZXRlZCddLFxuICBEaXN0cmlidXRlZDogWydDb21wbGV0ZWQnXSxcbiAgQ29tcGxldGVkOiBbXVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhblRyYW5zaXRpb24oZnJvbTogQVhNRG9jdW1lbnRXb3JrZmxvd1BoYXNlLCB0bzogQVhNRG9jdW1lbnRXb3JrZmxvd1BoYXNlKTogYm9vbGVhbiB7XG4gIHJldHVybiBBWE1Eb2N1bWVudFdvcmtmbG93VHJhbnNpdGlvbk1hcFtmcm9tXT8uaW5jbHVkZXModG8pID8/IGZhbHNlO1xufVxuIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentTypeService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDocumentTypeServiceImpl extends AXMDocumentTypeService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentType.name}`);\n }\n async getByName(name) {\n return (await this.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'name',\n operator: {\n type: 'equal',\n },\n value: name\n }\n ]\n },\n })).items[0];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentTypeServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentTypeServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentTypeServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kb2N1bWVudC10eXBlL2RvY3VtZW50LXR5cGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsd0JBR3BEO0NBSUE7QUFHRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQXNCO0lBQ3BFO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRVEsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQ25DLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDdkIsSUFBSSxFQUFHLENBQUM7WUFDUixJQUFJLEVBQUcsQ0FBQztZQUNSLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUcsS0FBSztnQkFDYixPQUFPLEVBQUc7b0JBQ1I7d0JBQ0UsS0FBSyxFQUFHLE1BQU07d0JBQ2QsUUFBUSxFQUFHOzRCQUNULElBQUksRUFBRyxPQUFPO3lCQUNmO3dCQUNELEtBQUssRUFBRyxJQUFJO3FCQUNiO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDZixDQUFDOytHQXRCVSwwQkFBMEI7bUhBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlRW50aXR5TW9kZWwgfSBmcm9tICcuL2RvY3VtZW50LXR5cGUudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRG9jdW1lbnRUeXBlU2VydmljZSBleHRlbmRzIEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbDxcbiAgc3RyaW5nLFxuICBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVFbnRpdHlNb2RlbFxuPiB7XG5cbiAgYWJzdHJhY3QgZ2V0QnlOYW1lKG5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlRW50aXR5TW9kZWw+O1xuXG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlSW1wbCBleHRlbmRzIEFYTURvY3VtZW50VHlwZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlLm5hbWV9YCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRCeU5hbWUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVFbnRpdHlNb2RlbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5xdWVyeSh7XG4gICAgICBza2lwIDogMCxcbiAgICAgIHRha2UgOiAxLFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIGxvZ2ljIDogJ2FuZCcsXG4gICAgICAgIGZpbHRlcnMgOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQgOiAnbmFtZScsXG4gICAgICAgICAgICBvcGVyYXRvciA6IHtcbiAgICAgICAgICAgICAgdHlwZSA6ICdlcXVhbCcsICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2YWx1ZSA6IG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgfSkpLml0ZW1zWzBdO1xuICB9XG59IFxuIl19","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentTypeService } from './document-type.service';\nexport async function documentTypeFactory(injector) {\n const dataService = injector.get(AXMDocumentTypeService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.documentType.name,\n title: RootConfig.entities.documentType.title,\n formats: {\n individual: RootConfig.entities.documentType.title,\n plural: RootConfig.entities.documentType.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n plugins: [\n {\n name: 'meta-data-selector'\n },\n ],\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.documentType.title,\n },\n {\n id: 'management',\n title: `@${i18n}:terms.common.management`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'maxSize',\n title: `@${i18n}:terms.document.max-size`,\n groupId: 'section',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsCatalog.numberUnit,\n options: {\n textField: 'name',\n valueField: 'value',\n dataSource: [\n {\n name: 'kb',\n value: 'KB',\n calUnit: 1,\n },\n {\n name: 'mb',\n value: 'MB',\n calUnit: 1024,\n },\n {\n name: 'gb',\n value: 'GB',\n calUnit: 1024 * 1024,\n },\n ],\n mainUnit: 'kb',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'isEncrypted',\n title: `@${i18n}:terms.document.is-encrypted`,\n groupId: 'section',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'enableExpiration',\n title: `@${i18n}:terms.document.enable-expiration`,\n groupId: 'management',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'requiresReview',\n title: `@${i18n}:terms.document.requires-review`,\n groupId: 'management',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'requiresDistribution',\n title: `@${i18n}:terms.document.requires-distribution`,\n groupId: 'management',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'enableVersioning',\n title: `@${i18n}:terms.document.enable-versioning`,\n groupId: 'management',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n disabled: '{{ !!context.eval(\"requiresReview\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('requiresReview') }}\",\n action: \"{{ context.set('enableVersioning', true) }}\",\n },\n ],\n },\n },\n },\n // {\n // name: 'meta',\n // title: `t(\"metaTitle\", { scope: \"${i18n}\" })`,\n // groupId: 'section',\n // schema: {\n // dataType: 'object',\n // interface: {\n // type: 'meta-selector-editor',\n // },\n // },\n // },\n {\n name: 'type',\n title: `@${i18n}:terms.common.type`,\n groupId: 'section',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.fileTypeExtension,\n options: {},\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query(e);\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n {\n id: 'management',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'enableExpiration',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'requiresReview',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'requiresDistribution',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'enableVersioning',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n // {\n // name: 'meta',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n {\n id: 'management',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'enableExpiration',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'requiresReview',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'requiresDistribution',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'enableVersioning',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n // {\n // name: 'meta',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'management',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'enableExpiration',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'requiresReview',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'requiresDistribution',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'enableVersioning',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n // {\n // name: 'meta',\n // layout: {\n // positions: {\n // lg: {\n // colSpan: 12,\n // },\n // },\n // },\n // },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView()],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RvY3VtZW50LXR5cGUvZG9jdW1lbnQtdHlwZS5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakUsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxRQUFrQjtJQUMxRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFcEMsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSTtRQUMzQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSztRQUM3QyxPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSztZQUNsRCxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVztZQUNwRCxZQUFZ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Q0FBQyxHQUFHLHVCQUF1QixFQUFFLENBQUM7b0JBQ3ZDLEtBQUssRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUM7aUJBQzlCO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMsIGVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTURvY3VtZW50VHlwZVNlcnZpY2UgfSBmcm9tICcuL2RvY3VtZW50LXR5cGUuc2VydmljZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2N1bWVudFR5cGVGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlKTtcbiAgY29uc3QgaTE4biA9IFJvb3RDb25maWcuY29uZmlnLmkxOG47XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlLm5hbWUsXG4gICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlLnRpdGxlLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlLnRpdGxlLFxuICAgICAgcGx1cmFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50VHlwZS50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIH19JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsdWdpbnMgOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWUgOiAnbWV0YS1kYXRhLXNlbGVjdG9yJ1xuICAgICAgfSxcbiAgICBdLFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50VHlwZS50aXRsZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWFuYWdlbWVudCcsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMuY29tbW9uLm1hbmFnZW1lbnRgLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5uYW1lJyxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24udGl0bGUnLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnbWF4U2l6ZScsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMuZG9jdW1lbnQubWF4LXNpemVgLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLm51bWJlclVuaXQsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAndmFsdWUnLFxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ2tiJyxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnS0InLFxuICAgICAgICAgICAgICAgICAgY2FsVW5pdDogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdtYicsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogJ01CJyxcbiAgICAgICAgICAgICAgICAgIGNhbFVuaXQ6IDEwMjQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnZ2InLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6ICdHQicsXG4gICAgICAgICAgICAgICAgICBjYWxVbml0OiAxMDI0ICogMTAyNCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBtYWluVW5pdDogJ2tiJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaXNFbmNyeXB0ZWQnLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmRvY3VtZW50LmlzLWVuY3J5cHRlZGAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2VuYWJsZUV4cGlyYXRpb24nLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmRvY3VtZW50LmVuYWJsZS1leHBpcmF0aW9uYCxcbiAgICAgICAgZ3JvdXBJZDogJ21hbmFnZW1lbnQnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmVxdWlyZXNSZXZpZXcnLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmRvY3VtZW50LnJlcXVpcmVzLXJldmlld2AsXG4gICAgICAgIGdyb3VwSWQ6ICdtYW5hZ2VtZW50JyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlcXVpcmVzRGlzdHJpYnV0aW9uJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5kb2N1bWVudC5yZXF1aXJlcy1kaXN0cmlidXRpb25gLFxuICAgICAgICBncm91cElkOiAnbWFuYWdlbWVudCcsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50b2dnbGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlbmFibGVWZXJzaW9uaW5nJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5kb2N1bWVudC5lbmFibGUtdmVyc2lvbmluZ2AsXG4gICAgICAgIGdyb3VwSWQ6ICdtYW5hZ2VtZW50JyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyAhIWNvbnRleHQuZXZhbChcInJlcXVpcmVzUmV2aWV3XCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ3JlcXVpcmVzUmV2aWV3JykgfX1cIixcbiAgICAgICAgICAgICAgICBhY3Rpb246IFwie3sgY29udGV4dC5zZXQoJ2VuYWJsZVZlcnNpb25pbmcnLCB0cnVlKSB9fVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC8vIHtcbiAgICAgIC8vICAgbmFtZTogJ21ldGEnLFxuICAgICAgLy8gICB0aXRsZTogYHQoXCJtZXRhVGl0bGVcIiwgeyBzY29wZTogXCIke2kxOG59XCIgfSlgLFxuICAgICAgLy8gICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAvLyAgIHNjaGVtYToge1xuICAgICAgLy8gICAgIGRhdGFUeXBlOiAnb2JqZWN0JyxcbiAgICAgIC8vICAgICBpbnRlcmZhY2U6IHtcbiAgICAgIC8vICAgICAgIHR5cGU6ICdtZXRhLXNlbGVjdG9yLWVkaXRvcicsXG4gICAgICAvLyAgICAgfSxcbiAgICAgIC8vICAgfSxcbiAgICAgIC8vIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0eXBlJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24udHlwZWAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuZmlsZVR5cGVFeHRlbnNpb24sXG4gICAgICAgICAgICBvcHRpb25zOiB7fSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICduYW1lJyB9LCB7IG5hbWU6ICd0aXRsZScgfV0sXG4gICAgY29tbWFuZHM6IHtcbiAgICAgIGNyZWF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZGF0YVNlcnZpY2UuaW5zZXJ0T25lKGRhdGEpO1xuICAgICAgICAgIHJldHVybiB7IGlkOiByZXMgfTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWxldGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZGVsZXRlT25lKGlkKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS51cGRhdGVPbmUoZGF0YS5pZCwgZGF0YSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcXVlcmllczoge1xuICAgICAgYnlLZXk6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZ2V0T25lKGlkKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UucXVlcnkoZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdtYW5hZ2VtZW50JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ21heFNpemUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnaXNFbmNyeXB0ZWQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZW5hYmxlRXhwaXJhdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXF1aXJlc1JldmlldycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXF1aXJlc0Rpc3RyaWJ1dGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdlbmFibGVWZXJzaW9uaW5nJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgIC8vICAgbmFtZTogJ21ldGEnLFxuICAgICAgICAgICAgLy8gICBsYXlvdXQ6IHtcbiAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIC8vICAgICAgIGxnOiB7XG4gICAgICAgICAgICAvLyAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgLy8gICAgICAgfSxcbiAgICAgICAgICAgIC8vICAgICB9LFxuICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3R5cGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdtYW5hZ2VtZW50JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ21heFNpemUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnaXNFbmNyeXB0ZWQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZW5hYmxlRXhwaXJhdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXF1aXJlc1JldmlldycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXF1aXJlc0Rpc3RyaWJ1dGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdlbmFibGVWZXJzaW9uaW5nJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgIC8vICAgbmFtZTogJ21ldGEnLFxuICAgICAgICAgICAgLy8gICBsYXlvdXQ6IHtcbiAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIC8vICAgICAgIGxnOiB7XG4gICAgICAgICAgICAvLyAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgLy8gICAgICAgfSxcbiAgICAgICAgICAgIC8vICAgICB9LFxuICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3R5cGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICB0aXRsZTogJ3t7dGl0bGV9fScsXG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnbWFuYWdlbWVudCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdtYXhTaXplJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2lzRW5jcnlwdGVkJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2VuYWJsZUV4cGlyYXRpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAncmVxdWlyZXNSZXZpZXcnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAncmVxdWlyZXNEaXN0cmlidXRpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZW5hYmxlVmVyc2lvbmluZycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAvLyAgIG5hbWU6ICdtZXRhJyxcbiAgICAgICAgICAgIC8vICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAvLyAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAvLyAgICAgICBsZzoge1xuICAgICAgICAgICAgLy8gICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgIC8vICAgICAgIH0sXG4gICAgICAgICAgICAvLyAgICAgfSxcbiAgICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0eXBlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucygpXSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucygpXSxcbiAgICAgICAgICB2aWV3czogW2NyZWF0ZUFsbFF1ZXJ5VmlldygpXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXMDocumentTypeService, AXMDocumentTypeServiceImpl } from './document-type.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentTypeEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeEntityModule, providers: [\n {\n provide: AXMDocumentTypeService,\n useClass: AXMDocumentTypeServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentTypeService,\n useClass: AXMDocumentTypeServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RvY3VtZW50LXR5cGUvZG9jdW1lbnQtdHlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFhN0YsTUFBTSxPQUFPLDZDQUE2QzsrR0FBN0MsNkNBQTZDO2dIQUE3Qyw2Q0FBNkM7Z0hBQTdDLDZDQUE2QyxhQVA3QztZQUNUO2dCQUNFLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFFBQVEsRUFBRSwwQkFBMEI7YUFDckM7U0FDRjs7NEZBRVUsNkNBQTZDO2tCQVh6RCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsUUFBUSxFQUFFLDBCQUEwQjt5QkFDckM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRUeXBlU2VydmljZSwgQVhNRG9jdW1lbnRUeXBlU2VydmljZUltcGwgfSBmcm9tICcuL2RvY3VtZW50LXR5cGUuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhNRG9jdW1lbnRUeXBlU2VydmljZSxcbiAgICAgIHVzZUNsYXNzOiBBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlSW1wbCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVFbnRpdHlNb2R1bGUge31cbiJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentTypeMetaDefinitionEntityService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl extends AXMDocumentManagementDocumentTypeMetaDefinitionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeMetaDefinition}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24vZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0IsNERBQTZELFNBQVEsd0JBRzFGO0NBQUc7QUFHSixNQUFNLE9BQU8sZ0VBQWlFLFNBQVEsNERBQTREO0lBQ2hKO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQzsrR0FIVSxnRUFBZ0U7bUhBQWhFLGdFQUFnRTs7NEZBQWhFLGdFQUFnRTtrQkFENUUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlTWV0YURlZmluaXRpb25FbnRpdHlNb2RlbCB9IGZyb20gJy4vZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24udHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlTWV0YURlZmluaXRpb25FbnRpdHlTZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICBzdHJpbmcsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFEZWZpbml0aW9uRW50aXR5TW9kZWxcbj4ge31cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFEZWZpbml0aW9uRW50aXR5U2VydmljZUltcGwgZXh0ZW5kcyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhRGVmaW5pdGlvbkVudGl0eVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlTWV0YURlZmluaXRpb259YCk7XG4gIH1cbn1cbiJdfQ==","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaDefinitionEntityService } from './document-type-meta-definition.service';\nexport async function documentTypeMetaDefinitionfactory(injector) {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeMetaDefinitionEntityService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query(e);\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24uZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kb2N1bWVudC10eXBlLW1ldGEtZGVmaW5pdGlvbi9kb2N1bWVudC10eXBlLW1ldGEtZGVmaW5pdGlvbi5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLDREQUE0RCxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFdkgsTUFBTSxDQUFDLEtBQUssVUFBVSxpQ0FBaUMsQ0FBQyxRQUFrQjtJQUN4RSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFFL0YsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUN2QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSztRQUN6QyxPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSztZQUM5QyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVztZQUNoRCxZQUFZLEVB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RUFBRTtnQ0FDTixTQUFTLEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxDQUFDO3FDQUNYO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztpQkFDMUM7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRSxDQUFDLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztvQkFDdkMsS0FBSyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RTthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGVudGl0eU1hc3RlckNydWRBY3Rpb25zLCBlbnRpdHlNYXN0ZXJSZWNvcmRBY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhRGVmaW5pdGlvbkVudGl0eVNlcnZpY2UgfSBmcm9tICcuL2RvY3VtZW50LXR5cGUtbWV0YS1kZWZpbml0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9jdW1lbnRUeXBlTWV0YURlZmluaXRpb25mYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhRGVmaW5pdGlvbkVudGl0eVNlcnZpY2UpO1xuXG4gIGNvbnN0IGVudGl0eURlZjogQVhQRW50aXR5ID0ge1xuICAgIG1vZHVsZTogUm9vdENvbmZpZy5tb2R1bGUubmFtZSxcbiAgICBuYW1lOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50Lm5hbWUsXG4gICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQudGl0bGUsXG4gICAgZm9ybWF0czoge1xuICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC50aXRsZSxcbiAgICAgIHBsdXJhbDogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIH19JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50LnRpdGxlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5uYW1lJyxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24udGl0bGUnLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW3sgbmFtZTogJ25hbWUnIH0sIHsgbmFtZTogJ3RpdGxlJyB9XSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBkYXRhU2VydmljZS5pbnNlcnRPbmUoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlcyB9O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5nZXRPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuU2luZ2xlLFxuICAgICAgfSxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGU6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5xdWVyeShlKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICB9LFxuICAgIH0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICB0aXRsZTogJ3t7dGl0bGV9fScsXG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJSZWNvcmRBY3Rpb25zKCldLFxuICAgICAgICB9LFxuICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgYWN0aW9uczogWy4uLmVudGl0eU1hc3RlckNydWRBY3Rpb25zKCldLFxuICAgICAgICAgIHZpZXdzOiBbY3JlYXRlQWxsUXVlcnlWaWV3KHsgc29ydHM6IFt7IG5hbWU6ICd0aXRsZScsIGRpcjogJ2FzYycgfV0gfSldLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBlbnRpdHlEZWY7XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXMDocumentManagementDocumentTypeMetaDefinitionEntityService, AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl } from './document-type-meta-definition.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule, providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kb2N1bWVudC10eXBlLW1ldGEtZGVmaW5pdGlvbi9kb2N1bWVudC10eXBlLW1ldGEtZGVmaW5pdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsNERBQTRELEVBQzVELGdFQUFnRSxFQUNqRSxNQUFNLHlDQUF5QyxDQUFDOztBQWFqRCxNQUFNLE9BQU8sMkRBQTJEOytHQUEzRCwyREFBMkQ7Z0hBQTNELDJEQUEyRDtnSEFBM0QsMkRBQTJELGFBUDNEO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDREQUE0RDtnQkFDckUsUUFBUSxFQUFFLGdFQUFnRTthQUMzRTtTQUNGOzs0RkFFVSwyREFBMkQ7a0JBWHZFLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsNERBQTREOzRCQUNyRSxRQUFRLEVBQUUsZ0VBQWdFO3lCQUMzRTtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhRGVmaW5pdGlvbkVudGl0eVNlcnZpY2UsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFEZWZpbml0aW9uRW50aXR5U2VydmljZUltcGxcbn0gZnJvbSAnLi9kb2N1bWVudC10eXBlLW1ldGEtZGVmaW5pdGlvbi5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhRGVmaW5pdGlvbkVudGl0eVNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlTWV0YURlZmluaXRpb25FbnRpdHlTZXJ2aWNlSW1wbCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhRGVmaW5pdGlvbkVudGl0eU1vZHVsZSB7fSJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentTypeMetaValueEntityService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl extends AXMDocumentManagementDocumentTypeMetaValueEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeMetaValue}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RvY3VtZW50LXR5cGUtbWV0YS12YWx1ZS9kb2N1bWVudC10eXBlLW1ldGEtdmFsdWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0IsdURBQXdELFNBQVEsd0JBR3JGO0NBQUc7QUFHSixNQUFNLE9BQU8sMkRBQTRELFNBQVEsdURBQXVEO0lBQ3RJO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQzsrR0FIVSwyREFBMkQ7bUhBQTNELDJEQUEyRDs7NEZBQTNELDJEQUEyRDtrQkFEdkUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlTWV0YVZhbHVlRW50aXR5TW9kZWwgfSBmcm9tICcuL2RvY3VtZW50LXR5cGUtbWV0YS12YWx1ZS50eXBlcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlTZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICBzdHJpbmcsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFWYWx1ZUVudGl0eU1vZGVsXG4+IHt9XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlTZXJ2aWNlSW1wbCBleHRlbmRzIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFWYWx1ZUVudGl0eVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlTWV0YVZhbHVlfWApO1xuICB9XG59XG4iXX0=","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaValueEntityService } from './document-type-meta-value.service';\nexport async function documentTypeMetaValueFactory(injector) {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeMetaValueEntityService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query(e);\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlLmVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlL2RvY3VtZW50LXR5cGUtbWV0YS12YWx1ZS5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFN0csTUFBTSxDQUFDLEtBQUssVUFBVSw0QkFBNEIsQ0FBQyxRQUFrQjtJQUNuRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFFMUYsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUN2QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSztRQUN6QyxPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSztZQUM5QyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVztZQUNoRCxZQUFZLEVBQUU7Z0JBQ1osS0FBSyxF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LEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxDQUFDO3FDQUNYO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztpQkFDMUM7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRSxDQUFDLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztvQkFDdkMsS0FBSyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RTthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMsIGVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9kb2N1bWVudC10eXBlLW1ldGEtdmFsdWUuc2VydmljZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2N1bWVudFR5cGVNZXRhVmFsdWVGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlTZXJ2aWNlKTtcblxuICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICBtb2R1bGU6IFJvb3RDb25maWcubW9kdWxlLm5hbWUsXG4gICAgbmFtZTogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC5uYW1lLFxuICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50LnRpdGxlLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQudGl0bGUsXG4gICAgICBwbHVyYWw6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQudGl0bGVQbHVyYWwsXG4gICAgICBzZWFyY2hSZXN1bHQ6IHtcbiAgICAgICAgdGl0bGU6ICd7eyB0aXRsZSB9fScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBSb290Q29uZmlnLm1vZHVsZS50aXRsZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZWxhdGVkRW50aXRpZXM6IFtdLFxuICAgIGdyb3VwczogW1xuICAgICAge1xuICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC50aXRsZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24ubmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLnRpdGxlJyxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICduYW1lJyB9LCB7IG5hbWU6ICd0aXRsZScgfV0sXG4gICAgY29tbWFuZHM6IHtcbiAgICAgIGNyZWF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZGF0YVNlcnZpY2UuaW5zZXJ0T25lKGRhdGEpO1xuICAgICAgICAgIHJldHVybiB7IGlkOiByZXMgfTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWxldGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZGVsZXRlT25lKGlkKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS51cGRhdGVPbmUoZGF0YS5pZCwgZGF0YSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcXVlcmllczoge1xuICAgICAgYnlLZXk6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZ2V0T25lKGlkKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UucXVlcnkoZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucygpXSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucygpXSxcbiAgICAgICAgICB2aWV3czogW2NyZWF0ZUFsbFF1ZXJ5Vmlldyh7IHNvcnRzOiBbeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH1dIH0pXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXMDocumentManagementDocumentTypeMetaValueEntityService, AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl } from './document-type-meta-value.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentTypeMetaValueEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaValueEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaValueEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaValueEntityModule, providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaValueEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeMetaValueEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaValueEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlL2RvY3VtZW50LXR5cGUtbWV0YS12YWx1ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsdURBQXVELEVBQ3ZELDJEQUEyRCxFQUM1RCxNQUFNLG9DQUFvQyxDQUFDOztBQWE1QyxNQUFNLE9BQU8sc0RBQXNEOytHQUF0RCxzREFBc0Q7Z0hBQXRELHNEQUFzRDtnSEFBdEQsc0RBQXNELGFBUHREO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLHVEQUF1RDtnQkFDaEUsUUFBUSxFQUFFLDJEQUEyRDthQUN0RTtTQUNGOzs0RkFFVSxzREFBc0Q7a0JBWGxFLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsdURBQXVEOzRCQUNoRSxRQUFRLEVBQUUsMkRBQTJEO3lCQUN0RTtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlTZXJ2aWNlLFxuICBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlTZXJ2aWNlSW1wbFxufSBmcm9tICcuL2RvY3VtZW50LXR5cGUtbWV0YS12YWx1ZS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFWYWx1ZUVudGl0eVNlcnZpY2VJbXBsLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFWYWx1ZUVudGl0eU1vZHVsZSB7fSJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentTypeStatusDefinitionEntityService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl extends AXMDocumentManagementDocumentTypeStatusDefinitionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeStatus}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kb2N1bWVudC10eXBlLXN0YXR1cy1kZWZpbml0aW9uL2RvY3VtZW50LXR5cGUtc3RhdHVzLWRlZmluaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0IsOERBQStELFNBQVEsd0JBRzVGO0NBQUc7QUFHSixNQUFNLE9BQU8sa0VBQW1FLFNBQVEsOERBQThEO0lBQ3BKO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQzsrR0FIVSxrRUFBa0U7bUhBQWxFLGtFQUFrRTs7NEZBQWxFLGtFQUFrRTtrQkFEOUUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlU3RhdHVzRGVmaW5pdGlvbkVudGl0eU1vZGVsIH0gZnJvbSAnLi9kb2N1bWVudC10eXBlLXN0YXR1cy1kZWZpbml0aW9uLnR5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZVN0YXR1c0RlZmluaXRpb25FbnRpdHlTZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICBzdHJpbmcsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZVN0YXR1c0RlZmluaXRpb25FbnRpdHlNb2RlbFxuPiB7fVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlU3RhdHVzRGVmaW5pdGlvbkVudGl0eVNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlU3RhdHVzRGVmaW5pdGlvbkVudGl0eVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlU3RhdHVzfWApO1xuICB9XG59XG4iXX0=","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeStatusDefinitionEntityService } from './document-type-status-definition.service';\nexport async function documentTypeStatusDefinitionFactory(injector) {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeStatusDefinitionEntityService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query(e);\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbi5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RvY3VtZW50LXR5cGUtc3RhdHVzLWRlZmluaXRpb24vZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbi5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLDhEQUE4RCxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFM0gsTUFBTSxDQUFDLEtBQUssVUFBVSxtQ0FBbUMsQ0FBQyxRQUFrQjtJQUMxRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7SUFFakcsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUN2QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSztRQUN6QyxPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSztZQUM5QyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVztZQUNoRCxZ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LE1BQU0sRUFBRTtnQ0FDTixTQUFTLEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxDQUFDO3FDQUNYO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztpQkFDMUM7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRSxDQUFDLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztvQkFDdkMsS0FBSyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RTthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMsIGVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVTdGF0dXNEZWZpbml0aW9uRW50aXR5U2VydmljZSB9IGZyb20gJy4vZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvY3VtZW50VHlwZVN0YXR1c0RlZmluaXRpb25GYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVTdGF0dXNEZWZpbml0aW9uRW50aXR5U2VydmljZSk7XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQubmFtZSxcbiAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5kb2N1bWVudC50aXRsZSxcbiAgICBmb3JtYXRzOiB7XG4gICAgICBpbmRpdmlkdWFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50LnRpdGxlLFxuICAgICAgcGx1cmFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50LnRpdGxlUGx1cmFsLFxuICAgICAgc2VhcmNoUmVzdWx0OiB7XG4gICAgICAgIHRpdGxlOiAne3sgdGl0bGUgfX0nLFxuICAgICAgICBkZXNjcmlwdGlvbjogUm9vdENvbmZpZy5tb2R1bGUudGl0bGUsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVsYXRlZEVudGl0aWVzOiBbXSxcbiAgICBncm91cHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQudGl0bGUsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLm5hbWUnLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBzb3J0OiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi50aXRsZScsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2x1bW5zOiBbeyBuYW1lOiAnbmFtZScgfSwgeyBuYW1lOiAndGl0bGUnIH1dLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKTtcbiAgICAgICAgICByZXR1cm4geyBpZDogcmVzIH07XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdXBkYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICB9LFxuICAgICAgbGlzdDoge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KGUpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBpbnRlcmZhY2VzOiB7XG4gICAgICBtYXN0ZXI6IHtcbiAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHNpbmdsZToge1xuICAgICAgICAgIHRpdGxlOiAne3t0aXRsZX19JyxcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogWy4uLmVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMoKV0sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMoKV0sXG4gICAgICAgICAgdmlld3M6IFtjcmVhdGVBbGxRdWVyeVZpZXcoeyBzb3J0czogW3sgbmFtZTogJ3RpdGxlJywgZGlyOiAnYXNjJyB9XSB9KV0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGVudGl0eURlZjtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXMDocumentManagementDocumentTypeStatusDefinitionEntityService, AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl } from './document-type-status-definition.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule, providers: [\n {\n provide: AXMDocumentManagementDocumentTypeStatusDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeStatusDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RvY3VtZW50LXR5cGUtc3RhdHVzLWRlZmluaXRpb24vZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsOERBQThELEVBQzlELGtFQUFrRSxFQUNuRSxNQUFNLDJDQUEyQyxDQUFDOztBQWFuRCxNQUFNLE9BQU8sNkRBQTZEOytHQUE3RCw2REFBNkQ7Z0hBQTdELDZEQUE2RDtnSEFBN0QsNkRBQTZELGFBUDdEO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDhEQUE4RDtnQkFDdkUsUUFBUSxFQUFFLGtFQUFrRTthQUM3RTtTQUNGOzs0RkFFVSw2REFBNkQ7a0JBWHpFLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsOERBQThEOzRCQUN2RSxRQUFRLEVBQUUsa0VBQWtFO3lCQUM3RTtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVTdGF0dXNEZWZpbml0aW9uRW50aXR5U2VydmljZSxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlU3RhdHVzRGVmaW5pdGlvbkVudGl0eVNlcnZpY2VJbXBsXG59IGZyb20gJy4vZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbi5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVTdGF0dXNEZWZpbml0aW9uRW50aXR5U2VydmljZSxcbiAgICAgIHVzZUNsYXNzOiBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVTdGF0dXNEZWZpbml0aW9uRW50aXR5U2VydmljZUltcGwsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlU3RhdHVzRGVmaW5pdGlvbkVudGl0eU1vZHVsZSB7fSJdfQ==","import { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView, createQueryView, } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentService } from '../document/document.service';\nexport async function documentRelatedFactory(injector) {\n const dataService = injector.get(AXMDocumentService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.documentRelated.name,\n title: RootConfig.entities.documentRelated.title,\n icon: RootConfig.entities.documentRelated.icon,\n formats: {\n individual: RootConfig.entities.documentRelated.title,\n plural: RootConfig.entities.documentRelated.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.documentRelated.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'section',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: '@general:terms.common.name',\n },\n },\n },\n },\n {\n name: 'size',\n title: '@general:terms.common.size',\n groupId: 'section',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.number,\n options: {},\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'type',\n title: '@general:terms.common.type',\n groupId: 'section',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.documentType.name}`,\n expose: 'type',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'metaData',\n title: `@${i18n}:terms.common.meta-data`,\n groupId: 'section',\n schema: {\n dataType: 'object',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.blockLayout,\n options: {},\n // children: 'context.eval(\"type.meta\")'\n children: []\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'fileId',\n title: `@${i18n}:terms.common.file`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.fileUploader,\n options: {\n maxFileSize: ` {{context.eval(\"type.maxSize\")}} `,\n multiple: ` {{context.eval(\"type.multiple\")}} `,\n // accept: ` {{context.eval(\"type.multiple\")}} `,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [\n { name: 'name' },\n { name: 'fileId' },\n { name: 'type' },\n { name: 'size' }\n ],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n const x = await dataService.getOne(id);\n console.log(x);\n return x;\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n const x = await dataService.query({\n skip: e.skip,\n take: e.take,\n filter: e.filter,\n });\n return x;\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'fileId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'file',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n }\n },\n },\n {\n name: 'fileId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [\n {\n title: `@${i18n}:workflows.document-review.send-review.title`,\n command: {\n name: 'send-to-review',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'primary',\n type: 'sent',\n scope: AXPEntityCommandScope.TypeLevel,\n disabled: '{{context.eval(\"status\") != \"Draft\"}}',\n },\n {\n title: `@${i18n}:workflows.document-review.submit-review.title`,\n command: {\n name: 'submit-review',\n options: {\n id: '{{context.eval(\"reviewRecordId\")}}',\n decoration: {\n header: {\n title: '{{ context.eval(\"title\") }}',\n },\n },\n },\n },\n priority: 'primary',\n type: 'review',\n scope: AXPEntityCommandScope.TypeLevel,\n disabled: '{{context.eval(\"status\") != \"PendingReview\"}}',\n },\n {\n title: `@${i18n}:terms.workflow.distributed`,\n command: {\n name: 'distributed',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'primary',\n type: 'review',\n scope: AXPEntityCommandScope.TypeLevel,\n disabled: '{{context.eval(\"status\") != \"Reviewed\" && context.eval(\"status\") != \"Completed\"}}',\n },\n ],\n },\n list: {\n actions: [\n {\n title: '@general:actions.detail.title',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n default: true,\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: `@${i18n}:workflows.document-review.send-review.title`,\n icon: 'fa-light fa-shield-check',\n command: {\n name: 'send-to-review',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'secondary',\n type: 'sent',\n scope: AXPEntityCommandScope.Individual,\n disabled: '{{context.eval(\"status\") != \"Draft\"}}',\n },\n {\n title: `@${i18n}:workflows.document-review.submit-review.title`,\n icon: 'fa-light fa-ballot-check',\n command: {\n name: 'submit-review',\n options: {\n id: '{{context.eval(\"reviewRecordId\")}}',\n // reviewedAt : '{{ variables.execute(\"now\") }}',\n decoration: {\n header: {\n title: '{{ context.eval(\"title\") + \" - version: \" + context.eval(\"version\") }}',\n },\n },\n },\n },\n priority: 'secondary',\n type: 'review',\n scope: AXPEntityCommandScope.Individual,\n disabled: '{{context.eval(\"status\") != \"PendingReview\"}}',\n },\n {\n title: `@${i18n}:terms.workflow.distributed`,\n icon: 'fa-light fa-chart-network',\n command: {\n name: 'distributed',\n options: {\n id: '{{context.eval(\"id\")}}',\n title: '{{context.eval(\"title\")}}',\n },\n },\n priority: 'secondary',\n type: 'review',\n scope: AXPEntityCommandScope.Individual,\n disabled: '{{context.eval(\"status\") != \"Reviewed\" && context.eval(\"status\") != \"Completed\"}}',\n },\n ],\n views: [\n createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] }),\n createQueryView('Draft', `@${i18n}:terms.workflow.draft`, true, {\n conditions: [\n {\n name: 'status',\n operator: {\n type: 'equal',\n },\n value: 'Draft',\n },\n ],\n }),\n createQueryView('PendingReview', `@${i18n}:terms.workflow.pending`, true, {\n conditions: [\n {\n name: 'status',\n operator: {\n type: 'equal',\n },\n value: 'PendingReview',\n },\n ],\n }),\n createQueryView('Reviewed', `@${i18n}:terms.workflow.reviewed`, true, {\n conditions: [\n {\n name: 'status',\n operator: {\n type: 'equal',\n },\n value: 'Reviewed',\n },\n ],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kb2N1bWVudC1yZWxldGVkL2RvY3VtZW50LmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZUFBZSxHQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEUsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0IsQ0FBQyxRQUFrQjtJQUM3RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFcEMsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSTtRQUM5QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSztRQUNoRCxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSTtRQUM5QyxPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSztZQUNyRCxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FB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RkFBbUY7eUJBQzlGO3FCQUNGO29CQUNELEtBQUssRUFBRTt3QkFDTCxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO3dCQUM3RCxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7NEJBQzlELFVBQVUsRUFBRTtnQ0FDVjtvQ0FDRSxJQUFJLEVBQUUsUUFBUTtvQ0FDZCxRQUFRLEVBQUU7d0NBQ1IsSUFBSSxFQUFFLE9BQU87cUNBQ2Q7b0NBQ0QsS0FBSyxFQUFFLE9BQU87aUNBQ2Y7NkJBQ0Y7eUJBQ0YsQ0FBQzt3QkFDRixlQUFlLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSx5QkFBeUIsRUFBRSxJQUFJLEVBQUU7NEJBQ3hFLFVBQVUsRUFBRTtnQ0FDVjtvQ0FDRSxJQUFJLEVBQUUsUUFBUTtvQ0FDZCxRQUFRLEVBQUU7d0NBQ1IsSUFBSSxFQUFFLE9BQU87cUNBQ2Q7b0NBQ0QsS0FBSyxFQUFFLGVBQWU7aUNBQ3ZCOzZCQUNGO3lCQUNGLENBQUM7d0JBQ0YsZUFBZSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksMEJBQTBCLEVBQUUsSUFBSSxFQUFFOzRCQUNwRSxVQUFVLEVBQUU7Z0NBQ1Y7b0NBQ0UsSUFBSSxFQUFFLFFBQVE7b0NBQ2QsUUFBUSxFQUFFO3dDQUNSLElBQUksRUFBRSxPQUFPO3FDQUNkO29DQUNELEtBQUssRUFBRSxVQUFVO2lDQUNsQjs2QkFDRjt5QkFDRixDQUFDO3FCQUNIO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhQRW50aXR5LFxuICBBWFBFbnRpdHlDb21tYW5kU2NvcGUsXG4gIEFYUEVudGl0eVF1ZXJ5VHlwZSxcbiAgY3JlYXRlQWxsUXVlcnlWaWV3LFxuICBjcmVhdGVRdWVyeVZpZXcsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudFNlcnZpY2UgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5zZXJ2aWNlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvY3VtZW50UmVsYXRlZEZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTxBWFBFbnRpdHkgfCBudWxsPiB7XG4gIGNvbnN0IGRhdGFTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYTURvY3VtZW50U2VydmljZSk7XG4gIGNvbnN0IGkxOG4gPSBSb290Q29uZmlnLmNvbmZpZy5pMThuO1xuXG4gIGNvbnN0IGVudGl0eURlZjogQVhQRW50aXR5ID0ge1xuICAgIG1vZHVsZTogUm9vdENvbmZpZy5tb2R1bGUubmFtZSxcbiAgICBuYW1lOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50UmVsYXRlZC5uYW1lLFxuICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50UmVsYXRlZC50aXRsZSxcbiAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50UmVsYXRlZC5pY29uLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRSZWxhdGVkLnRpdGxlLFxuICAgICAgcGx1cmFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50UmVsYXRlZC50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIH19JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50UmVsYXRlZC50aXRsZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24ubmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24ubmFtZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2l6ZScsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLnNpemUnLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLm51bWJlcixcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndHlwZScsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLnR5cGUnLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxvb2t1cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnRUeXBlLm5hbWV9YCxcbiAgICAgICAgICAgICAgZXhwb3NlOiAndHlwZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21ldGFEYXRhJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24ubWV0YS1kYXRhYCxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5ibG9ja0xheW91dCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIGNoaWxkcmVuOiAnY29udGV4dC5ldmFsKFwidHlwZS5tZXRhXCIpJ1xuICAgICAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZmlsZUlkJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5jb21tb24uZmlsZWAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuZmlsZVVwbG9hZGVyLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBtYXhGaWxlU2l6ZTogYCB7e2NvbnRleHQuZXZhbChcInR5cGUubWF4U2l6ZVwiKX19IGAsXG4gICAgICAgICAgICAgIG11bHRpcGxlOiBgIHt7Y29udGV4dC5ldmFsKFwidHlwZS5tdWx0aXBsZVwiKX19IGAsXG4gICAgICAgICAgICAgIC8vICBhY2NlcHQ6IGAge3tjb250ZXh0LmV2YWwoXCJ0eXBlLm11bHRpcGxlXCIpfX0gYCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW1xuICAgICAgeyBuYW1lOiAnbmFtZScgfSxcbiAgICAgIHsgbmFtZTogJ2ZpbGVJZCcgfSxcbiAgICAgIHsgbmFtZTogJ3R5cGUnIH0sXG4gICAgICB7IG5hbWU6ICdzaXplJyB9XG5cbiAgICBdLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKTtcbiAgICAgICAgICByZXR1cm4geyBpZDogcmVzIH07XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdXBkYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9IGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShpZCk7XG4gICAgICAgICAgY29uc29sZS5sb2coeCk7XG4gICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICB9LFxuICAgICAgbGlzdDoge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9IGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgICAgICAgIHNraXA6IGUuc2tpcCxcbiAgICAgICAgICAgIHRha2U6IGUudGFrZSxcbiAgICAgICAgICAgIGZpbHRlcjogZS5maWx0ZXIsXG4gICAgICAgICAgfSk7XG5cblxuICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBpbnRlcmZhY2VzOiB7XG4gICAgICBtYXN0ZXI6IHtcbiAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdtZXRhRGF0YScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZmlsZUlkJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3R5cGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ21ldGFEYXRhJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmaWxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbWV0YURhdGEnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmaWxlSWQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnNlbmQtcmV2aWV3LnRpdGxlYCxcbiAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdzZW5kLXRvLXJldmlldycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgaWQ6ICd7e2NvbnRleHQuZXZhbChcImlkXCIpfX0nLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6ICd7e2NvbnRleHQuZXZhbChcInRpdGxlXCIpfX0nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdzZW50JyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWwsXG4gICAgICAgICAgICAgIGRpc2FibGVkOiAne3tjb250ZXh0LmV2YWwoXCJzdGF0dXNcIikgIT0gXCJEcmFmdFwifX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnN1Ym1pdC1yZXZpZXcudGl0bGVgLFxuICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3N1Ym1pdC1yZXZpZXcnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiAne3tjb250ZXh0LmV2YWwoXCJyZXZpZXdSZWNvcmRJZFwiKX19JyxcbiAgICAgICAgICAgICAgICAgIGRlY29yYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICd7eyBjb250ZXh0LmV2YWwoXCJ0aXRsZVwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdyZXZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7e2NvbnRleHQuZXZhbChcInN0YXR1c1wiKSAhPSBcIlBlbmRpbmdSZXZpZXdcIn19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMud29ya2Zsb3cuZGlzdHJpYnV0ZWRgLFxuICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2Rpc3RyaWJ1dGVkJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBpZDogJ3t7Y29udGV4dC5ldmFsKFwiaWRcIil9fScsXG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ3t7Y29udGV4dC5ldmFsKFwidGl0bGVcIil9fScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3JldmlldycsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogJ3t7Y29udGV4dC5ldmFsKFwic3RhdHVzXCIpICE9IFwiUmV2aWV3ZWRcIiAmJiBjb250ZXh0LmV2YWwoXCJzdGF0dXNcIikgIT0gXCJDb21wbGV0ZWRcIn19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmRldGFpbC50aXRsZScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdvcGVuLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogYEAke2kxOG59OndvcmtmbG93cy5kb2N1bWVudC1yZXZpZXcuc2VuZC1yZXZpZXcudGl0bGVgLFxuICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtc2hpZWxkLWNoZWNrJyxcbiAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdzZW5kLXRvLXJldmlldycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgaWQ6ICd7e2NvbnRleHQuZXZhbChcImlkXCIpfX0nLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6ICd7e2NvbnRleHQuZXZhbChcInRpdGxlXCIpfX0nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3NlbnQnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgIGRpc2FibGVkOiAne3tjb250ZXh0LmV2YWwoXCJzdGF0dXNcIikgIT0gXCJEcmFmdFwifX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IGBAJHtpMThufTp3b3JrZmxvd3MuZG9jdW1lbnQtcmV2aWV3LnN1Ym1pdC1yZXZpZXcudGl0bGVgLFxuICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYmFsbG90LWNoZWNrJyxcbiAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdzdWJtaXQtcmV2aWV3JyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBpZDogJ3t7Y29udGV4dC5ldmFsKFwicmV2aWV3UmVjb3JkSWRcIil9fScsXG4gICAgICAgICAgICAgICAgICAvLyByZXZpZXdlZEF0IDogJ3t7IHZhcmlhYmxlcy5leGVjdXRlKFwibm93XCIpIH19JyxcbiAgICAgICAgICAgICAgICAgIGRlY29yYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICd7eyBjb250ZXh0LmV2YWwoXCJ0aXRsZVwiKSArIFwiIC0gdmVyc2lvbjogXCIgKyBjb250ZXh0LmV2YWwoXCJ2ZXJzaW9uXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICB0eXBlOiAncmV2aWV3JyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogJ3t7Y29udGV4dC5ldmFsKFwic3RhdHVzXCIpICE9IFwiUGVuZGluZ1Jldmlld1wifX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy53b3JrZmxvdy5kaXN0cmlidXRlZGAsXG4gICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaGFydC1uZXR3b3JrJyxcbiAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkaXN0cmlidXRlZCcsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgaWQ6ICd7e2NvbnRleHQuZXZhbChcImlkXCIpfX0nLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6ICd7e2NvbnRleHQuZXZhbChcInRpdGxlXCIpfX0nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3JldmlldycsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7e2NvbnRleHQuZXZhbChcInN0YXR1c1wiKSAhPSBcIlJldmlld2VkXCIgJiYgY29udGV4dC5ldmFsKFwic3RhdHVzXCIpICE9IFwiQ29tcGxldGVkXCJ9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdmlld3M6IFtcbiAgICAgICAgICAgIGNyZWF0ZUFsbFF1ZXJ5Vmlldyh7IHNvcnRzOiBbeyBuYW1lOiAnbmFtZScsIGRpcjogJ2FzYycgfV0gfSksXG4gICAgICAgICAgICBjcmVhdGVRdWVyeVZpZXcoJ0RyYWZ0JywgYEAke2kxOG59OnRlcm1zLndvcmtmbG93LmRyYWZ0YCwgdHJ1ZSwge1xuICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRvcjoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZXF1YWwnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnRHJhZnQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNyZWF0ZVF1ZXJ5VmlldygnUGVuZGluZ1JldmlldycsIGBAJHtpMThufTp0ZXJtcy53b3JrZmxvdy5wZW5kaW5nYCwgdHJ1ZSwge1xuICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRvcjoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZXF1YWwnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUGVuZGluZ1JldmlldycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdSZXZpZXdlZCcsIGBAJHtpMThufTp0ZXJtcy53b3JrZmxvdy5yZXZpZXdlZGAsIHRydWUsIHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdzdGF0dXMnLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2VxdWFsJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogJ1Jldmlld2VkJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMFolderService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMFolderServiceImpl extends AXMFolderService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.folder.name}`);\n }\n async getPath(_) {\n throw new Error('Not implemented');\n }\n async searchFolders(_searchTerm, _rootFolderId) {\n throw new Error('Not implemented');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2ZvbGRlci9mb2xkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0IsZ0JBQWlCLFNBQVEsd0JBTTlDO0NBSUE7QUFHRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBQ3hEO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRVEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFTO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVEsS0FBSyxDQUFDLGFBQWEsQ0FDMUIsV0FBbUIsRUFDbkIsYUFBcUI7UUFFckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBZFUsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckNyZWF0ZUR0bywgQVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyRW50aXR5TW9kZWwgfSBmcm9tICcuL2ZvbGRlci50eXBlcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWE1Gb2xkZXJTZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICBzdHJpbmcsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckVudGl0eU1vZGVsLFxuICBBWE1Eb2N1bWVudE1hbmFnZW1lbnRGb2xkZXJFbnRpdHlNb2RlbCxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyQ3JlYXRlRHRvXG4vL0FYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckdldER0b1xuPiB7XG4gIGFic3RyYWN0IGdldFBhdGgoZm9sZGVySWQ6IHN0cmluZywgc3RvcEZvbGRlcklkPzogc3RyaW5nKTogUHJvbWlzZTxBWE1Eb2N1bWVudE1hbmFnZW1lbnRGb2xkZXJFbnRpdHlNb2RlbFtdPjtcblxuICBhYnN0cmFjdCBzZWFyY2hGb2xkZXJzKHNlYXJjaFRlcm06IHN0cmluZywgcm9vdEZvbGRlcklkOiBzdHJpbmcpOiBQcm9taXNlPEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckVudGl0eU1vZGVsW10+O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRm9sZGVyU2VydmljZUltcGwgZXh0ZW5kcyBBWE1Gb2xkZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmZvbGRlci5uYW1lfWApO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGF0aChfOiBzdHJpbmcpOiBQcm9taXNlPEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckVudGl0eU1vZGVsW10+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgc2VhcmNoRm9sZGVycyhcbiAgICBfc2VhcmNoVGVybTogc3RyaW5nLFxuICAgIF9yb290Rm9sZGVySWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckVudGl0eU1vZGVsW10+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG4iXX0=","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMFolderService } from './folder.service';\nexport async function folderFactory(injector) {\n const dataService = injector.get(AXMFolderService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.folder.name,\n title: RootConfig.entities.folder.title,\n formats: {\n individual: RootConfig.entities.folder.title,\n plural: RootConfig.entities.folder.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.folder.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query(e);\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLmVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZm9sZGVyL2ZvbGRlci5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQUMsUUFBa0I7SUFDcEQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDckMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUs7UUFDdkMsT0FBTyxFQUFFO1lBQ1AsVUFBVSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDNUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDOUMsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRSxhQUFhO2dCQUNwQixXQUFXLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLO2FBQ3JD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QkFDRjt5QkFDRjtxQkFDRjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLHlCQUF5QixFQUFFLENBQUM7aUJBQzFDO2dCQUNELElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsQ0FBQyxHQUFHLHVCQUF1QixFQUFFLENBQUM7b0JBQ3ZDLEtBQUssRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDeEU7YUFDRjtTQUNGO0tBQ0YsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHksIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgQVhQRW50aXR5UXVlcnlUeXBlLCBjcmVhdGVBbGxRdWVyeVZpZXcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBlbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucywgZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRm9sZGVyU2VydmljZSB9IGZyb20gJy4vZm9sZGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZm9sZGVyRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgY29uc3QgZGF0YVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRm9sZGVyU2VydmljZSk7XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZm9sZGVyLm5hbWUsXG4gICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMuZm9sZGVyLnRpdGxlLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6IFJvb3RDb25maWcuZW50aXRpZXMuZm9sZGVyLnRpdGxlLFxuICAgICAgcGx1cmFsOiBSb290Q29uZmlnLmVudGl0aWVzLmZvbGRlci50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIH19JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmZvbGRlci50aXRsZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24ubmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLnRpdGxlJyxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICduYW1lJyB9LCB7IG5hbWU6ICd0aXRsZScgfV0sXG4gICAgY29tbWFuZHM6IHtcbiAgICAgIGNyZWF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZGF0YVNlcnZpY2UuaW5zZXJ0T25lKGRhdGEpO1xuICAgICAgICAgIHJldHVybiB7IGlkOiByZXMgfTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWxldGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZGVsZXRlT25lKGlkKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS51cGRhdGVPbmUoZGF0YS5pZCwgZGF0YSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcXVlcmllczoge1xuICAgICAgYnlLZXk6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZ2V0T25lKGlkKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UucXVlcnkoZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucygpXSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucygpXSxcbiAgICAgICAgICB2aWV3czogW2NyZWF0ZUFsbFF1ZXJ5Vmlldyh7IHNvcnRzOiBbeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH1dIH0pXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXMFolderService, AXMFolderServiceImpl } from './folder.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMFolderEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderEntityModule, providers: [\n {\n provide: AXMFolderService,\n useClass: AXMFolderServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMFolderService,\n useClass: AXMFolderServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZm9sZGVyL2ZvbGRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFhMUUsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO2dIQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixhQVBuQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLFFBQVEsRUFBRSxvQkFBb0I7YUFDakM7U0FDSjs7NEZBRVEscUJBQXFCO2tCQVhqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsUUFBUSxFQUFFLG9CQUFvQjt5QkFDakM7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNRm9sZGVyU2VydmljZSwgQVhNRm9sZGVyU2VydmljZUltcGwgfSBmcm9tICcuL2ZvbGRlci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWE1Gb2xkZXJTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTUZvbGRlclNlcnZpY2VJbXBsLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUZvbGRlckVudGl0eU1vZHVsZSB7IH1cbiJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMReviewService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMReviewServiceImpl extends AXMReviewService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.review.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReviewServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReviewServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReviewServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL3Jldmlldy9yZXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0IsZ0JBQWlCLFNBQVEsd0JBRzlDO0NBQUc7QUFHSixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBQ3hEO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDOytHQUhVLG9CQUFvQjttSEFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudE1hbmFnZW1lbnRSZXZpZXdFbnRpdHlNb2RlbCB9IGZyb20gJy4vcmV2aWV3LnR5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTVJldmlld1NlcnZpY2UgZXh0ZW5kcyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8XG4gIHN0cmluZyxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50UmV2aWV3RW50aXR5TW9kZWxcbj4ge31cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVJldmlld1NlcnZpY2VJbXBsIGV4dGVuZHMgQVhNUmV2aWV3U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5yZXZpZXcubmFtZX1gKTtcbiAgfVxufVxuIl19","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMReviewService } from './review.service';\n// Helper function to update document status based on review status\nasync function updateDocumentStatus(documentId, reviewStatus, injector) {\n try {\n // Import document service dynamically to avoid circular dependencies\n const { AXMDocumentService } = await import('../document/document.service');\n const documentService = injector.get(AXMDocumentService);\n // Map review status to document workflow phase\n let documentStatus;\n switch (reviewStatus) {\n case 'Approved':\n documentStatus = 'Reviewed';\n break;\n case 'Rejected':\n documentStatus = 'Rejected';\n break;\n case 'Pending':\n documentStatus = 'PendingReview';\n break;\n default:\n documentStatus = 'PendingReview';\n }\n // Update the document status\n await documentService.updateOne(documentId, { status: documentStatus });\n }\n catch (error) {\n console.error('Failed to update document status:', error);\n // Don't throw error to avoid breaking the review process\n }\n}\nexport async function reviewFactory(injector) {\n const dataService = injector.get(AXMReviewService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.review.name,\n title: RootConfig.entities.review.title,\n icon: RootConfig.entities.review.icon,\n formats: {\n individual: RootConfig.entities.review.title,\n plural: RootConfig.entities.review.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.review.title,\n },\n ],\n properties: [\n {\n name: 'version',\n title: `@${i18n}:terms.common.version`,\n groupId: 'section',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsCatalog.textBlockLayout,\n options: {\n content: `{{ context.eval('version') }}`,\n },\n },\n },\n },\n {\n name: 'documentId',\n groupId: 'section',\n title: `@${i18n}:entities.document.title`,\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.document.name}`,\n multiple: false,\n filter: \"{{ { logic:'and' , filters: [ { field:'documentType.requiresReview' , value: true , operator: { type:'equal' } },] } }}\",\n textField: 'name',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'document.id' },\n { source: 'name', target: 'document.name' },\n { source: 'title', target: 'document.title' },\n { source: 'version', target: 'document.version' },\n ],\n },\n triggers: [\n {\n event: \"{{ events.context('documentId') }}\",\n action: \"{{ context.set('version' , context.eval('document').version ) }}\",\n },\n ],\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'reviewerId',\n title: `@${i18n}:terms.common.reviewer`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n defaultValue: '{{ session.currentUser().id }}',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'SecurityManagement.User',\n multiple: false,\n textField: 'username',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'reviewer.id' },\n { source: 'username', target: 'reviewer.username' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'status',\n title: `@${i18n}:terms.workflow.approve`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n options: {},\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'comment',\n title: `@${i18n}:terms.common.comment`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n },\n {\n name: 'reviewedAt',\n title: `@${i18n}:terms.timestamps.reviewed-at`,\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n defaultValue: '{{ variables.execute(\"now\") }}',\n dataType: 'date',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: {\n showTime: true,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'auditInfo.updated.at',\n title: `@${i18n}:terms.timestamps.modified-at`,\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: {\n showTime: true,\n },\n },\n },\n },\n {\n name: 'auditInfo.updated.by',\n title: `@${i18n}:terms.timestamps.modified-by`,\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'SecurityManagement.User',\n multiple: false,\n textField: 'username',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'auditInfo.updated.by.id' },\n { source: 'username', target: 'auditInfo.updated.by.username' },\n ],\n },\n },\n },\n },\n ],\n columns: [\n { name: 'reviewerId', options: { dataPath: 'reviewer.title' } },\n { name: 'status' },\n { name: 'comment' },\n { name: 'reviewedAt' },\n { name: 'auditInfo.updated.at' },\n { name: 'auditInfo.updated.by', options: { dataPath: 'auditInfo.updated.by.fullName' } },\n ],\n commands: {\n create: {\n execute: async (data) => {\n // Set reviewedAt to current date if not provided\n if (!data.reviewedAt) {\n data.reviewedAt = new Date();\n }\n //TODO for test\n data.reviewStatus = 'Approved';\n // Create the review record\n const res = await dataService.insertOne(data);\n // Update document status based on review status\n await updateDocumentStatus(data.documentId, data.reviewStatus, injector);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n // Update reviewedAt to current date\n data.reviewedAt = new Date();\n //TODO for test\n data.reviewStatus = 'Approved';\n // Update the review record\n const result = await dataService.updateOne(data.id, data);\n // Update document status based on review status\n await updateDocumentStatus(data.documentId, data.reviewStatus, injector);\n return result;\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n const review = await dataService.getOne(id);\n return {\n ...review,\n reviewedAt: review.reviewedAt ?? new Date(),\n };\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n const a = await dataService.query(e);\n console.log(a);\n return a;\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'reviewerId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 5,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'status',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'comment',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 4,\n },\n },\n },\n },\n {\n name: 'reviewedAt',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'reviewerId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 5,\n },\n },\n },\n },\n {\n name: 'comment',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 4,\n },\n },\n },\n },\n {\n name: 'reviewedAt',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{document.name}} - Review',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'documentId',\n dataPath: 'document',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'reviewerId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 5,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'status',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'comment',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 4,\n },\n },\n },\n },\n {\n name: 'reviewedAt',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 6,\n },\n },\n },\n },\n {\n name: 'auditInfo.updated.at',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 7,\n },\n },\n },\n },\n {\n name: 'auditInfo.updated.by',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 8,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [],\n views: [\n createAllQueryView({\n sorts: [{ name: 'reviewedAt', dir: 'desc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LmVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvcmV2aWV3L3Jldmlldy5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxtRUFBbUU7QUFDbkUsS0FBSyxVQUFVLG9CQUFvQixDQUFDLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxRQUFrQjtJQUM5RixJQUFJLENBQUM7UUFDSCxxRUFBcUU7UUFDckUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUM1RSxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFekQsK0NBQStDO1FBQy9DLElBQUksY0FBd0MsQ0FBQztRQUM3QyxRQUFRLFlBQVksRUFBRSxDQUFDO1lBQ3JCLEtBQUssVUFBVTtnQkFDYixjQUFjLEdBQUcsVUFBVSxDQUFDO2dCQUM1QixNQUFNO1lBQ1IsS0FBSyxVQUFVO2dCQUNiLGNBQWMsR0FBRyxVQUFVLENBQUM7Z0JBQzVCLE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osY0FBYyxHQUFHLGVBQWUsQ0FBQztnQkFDakMsTUFBTTtZQUNSO2dCQUNFLGNBQWMsR0FBRyxlQUFlLENBQUM7UUFDckMsQ0FBQztRQUVELDZCQUE2QjtRQUM3QixNQUFNLGVBQWUsQ0FBQyxTQUFTLENB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QUNGO3lCQUNGO3dCQUNEOzRCQUNFLElBQUksRUFBRSxzQkFBc0I7NEJBQzVCLE1BQU0sRUFBRTtnQ0FDTixTQUFTLEVBQUU7b0NBQ1QsRUFBRSxFQUFFO3dDQUNGLE9BQU8sRUFBRSxDQUFDO3dDQUNWLEtBQUssRUFBRSxDQUFDO3FDQUNUO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO29CQUNELE9BQU8sRUFBRSxFQUFFO2lCQUNaO2dCQUNELElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsRUFBRTtvQkFDWCxLQUFLLEVBQUU7d0JBQ0wsa0JBQWtCLENBQUM7NEJBQ2pCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7eUJBQzdDLENBQUM7cUJBQ0g7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHksIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTURvY3VtZW50V29ya2Zsb3dQaGFzZSB9IGZyb20gJy4uL2RvY3VtZW50L2RvY3VtZW50LnR5cGVzJztcbmltcG9ydCB7IEFYTVJldmlld1NlcnZpY2UgfSBmcm9tICcuL3Jldmlldy5zZXJ2aWNlJztcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHVwZGF0ZSBkb2N1bWVudCBzdGF0dXMgYmFzZWQgb24gcmV2aWV3IHN0YXR1c1xuYXN5bmMgZnVuY3Rpb24gdXBkYXRlRG9jdW1lbnRTdGF0dXMoZG9jdW1lbnRJZDogc3RyaW5nLCByZXZpZXdTdGF0dXM6IHN0cmluZywgaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTx2b2lkPiB7XG4gIHRyeSB7XG4gICAgLy8gSW1wb3J0IGRvY3VtZW50IHNlcnZpY2UgZHluYW1pY2FsbHkgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jaWVzXG4gICAgY29uc3QgeyBBWE1Eb2N1bWVudFNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vZG9jdW1lbnQvZG9jdW1lbnQuc2VydmljZScpO1xuICAgIGNvbnN0IGRvY3VtZW50U2VydmljZSA9IGluamVjdG9yLmdldChBWE1Eb2N1bWVudFNlcnZpY2UpO1xuXG4gICAgLy8gTWFwIHJldmlldyBzdGF0dXMgdG8gZG9jdW1lbnQgd29ya2Zsb3cgcGhhc2VcbiAgICBsZXQgZG9jdW1lbnRTdGF0dXM6IEFYTURvY3VtZW50V29ya2Zsb3dQaGFzZTtcbiAgICBzd2l0Y2ggKHJldmlld1N0YXR1cykge1xuICAgICAgY2FzZSAnQXBwcm92ZWQnOlxuICAgICAgICBkb2N1bWVudFN0YXR1cyA9ICdSZXZpZXdlZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUmVqZWN0ZWQnOlxuICAgICAgICBkb2N1bWVudFN0YXR1cyA9ICdSZWplY3RlZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUGVuZGluZyc6XG4gICAgICAgIGRvY3VtZW50U3RhdHVzID0gJ1BlbmRpbmdSZXZpZXcnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGRvY3VtZW50U3RhdHVzID0gJ1BlbmRpbmdSZXZpZXcnO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgZG9jdW1lbnQgc3RhdHVzXG4gICAgYXdhaXQgZG9jdW1lbnRTZXJ2aWNlLnVwZGF0ZU9uZShkb2N1bWVudElkLCB7IHN0YXR1czogZG9jdW1lbnRTdGF0dXMgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSBkb2N1bWVudCBzdGF0dXM6JywgZXJyb3IpO1xuICAgIC8vIERvbid0IHRocm93IGVycm9yIHRvIGF2b2lkIGJyZWFraW5nIHRoZSByZXZpZXcgcHJvY2Vzc1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXZpZXdGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1SZXZpZXdTZXJ2aWNlKTtcbiAgY29uc3QgaTE4biA9IFJvb3RDb25maWcuY29uZmlnLmkxOG47XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMucmV2aWV3Lm5hbWUsXG4gICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMucmV2aWV3LnRpdGxlLFxuICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMucmV2aWV3Lmljb24sXG4gICAgZm9ybWF0czoge1xuICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5yZXZpZXcudGl0bGUsXG4gICAgICBwbHVyYWw6IFJvb3RDb25maWcuZW50aXRpZXMucmV2aWV3LnRpdGxlUGx1cmFsLFxuICAgICAgc2VhcmNoUmVzdWx0OiB7XG4gICAgICAgIHRpdGxlOiAne3sgdGl0bGUgfX0nLFxuICAgICAgICBkZXNjcmlwdGlvbjogUm9vdENvbmZpZy5tb2R1bGUudGl0bGUsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVsYXRlZEVudGl0aWVzOiBbXSxcbiAgICBncm91cHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMucmV2aWV3LnRpdGxlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3ZlcnNpb24nLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmNvbW1vbi52ZXJzaW9uYCxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ251bWJlcicsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0QmxvY2tMYXlvdXQsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IGB7eyBjb250ZXh0LmV2YWwoJ3ZlcnNpb24nKSB9fWAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZG9jdW1lbnRJZCcsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTplbnRpdGllcy5kb2N1bWVudC50aXRsZWAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBzb3J0OiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICBhZHZhbmNlOiB7XG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW5saW5lOiB7XG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxvb2t1cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQubmFtZX1gLFxuICAgICAgICAgICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICAgICAgICAgIGZpbHRlcjpcbiAgICAgICAgICAgICAgICBcInt7IHsgbG9naWM6J2FuZCcgLCBmaWx0ZXJzOiBbIHsgZmllbGQ6J2RvY3VtZW50VHlwZS5yZXF1aXJlc1JldmlldycgLCB2YWx1ZTogdHJ1ZSAsIG9wZXJhdG9yOiB7IHR5cGU6J2VxdWFsJyB9IH0sXSB9IH19XCIsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxuICAgICAgICAgICAgICBleHBvc2U6IFtcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ2lkJywgdGFyZ2V0OiAnZG9jdW1lbnQuaWQnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICduYW1lJywgdGFyZ2V0OiAnZG9jdW1lbnQubmFtZScgfSxcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAnZG9jdW1lbnQudGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICd2ZXJzaW9uJywgdGFyZ2V0OiAnZG9jdW1lbnQudmVyc2lvbicgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RvY3VtZW50SWQnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogXCJ7eyBjb250ZXh0LnNldCgndmVyc2lvbicgLCBjb250ZXh0LmV2YWwoJ2RvY3VtZW50JykudmVyc2lvbiApIH19XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3Jldmlld2VySWQnLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmNvbW1vbi5yZXZpZXdlcmAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ3t7IHNlc3Npb24uY3VycmVudFVzZXIoKS5pZCB9fScsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5sb29rdXAsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGVudGl0eTogJ1NlY3VyaXR5TWFuYWdlbWVudC5Vc2VyJyxcbiAgICAgICAgICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd1c2VybmFtZScsXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgICAgICAgICAgIGV4cG9zZTogW1xuICAgICAgICAgICAgICAgIHsgc291cmNlOiAnaWQnLCB0YXJnZXQ6ICdyZXZpZXdlci5pZCcgfSxcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3VzZXJuYW1lJywgdGFyZ2V0OiAncmV2aWV3ZXIudXNlcm5hbWUnIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMud29ya2Zsb3cuYXBwcm92ZWAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29tbWVudCcsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMuY29tbW9uLmNvbW1lbnRgLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnJpY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmV2aWV3ZWRBdCcsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMudGltZXN0YW1wcy5yZXZpZXdlZC1hdGAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgIGFkdmFuY2U6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbmxpbmU6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ3t7IHZhcmlhYmxlcy5leGVjdXRlKFwibm93XCIpIH19JyxcbiAgICAgICAgICBkYXRhVHlwZTogJ2RhdGUnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuZGF0ZVRpbWUsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHNob3dUaW1lOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdhdWRpdEluZm8udXBkYXRlZC5hdCcsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMudGltZXN0YW1wcy5tb2RpZmllZC1hdGAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgIGFkdmFuY2U6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbmxpbmU6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZScsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5kYXRlVGltZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgc2hvd1RpbWU6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnYXVkaXRJbmZvLnVwZGF0ZWQuYnknLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLnRpbWVzdGFtcHMubW9kaWZpZWQtYnlgLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBzb3J0OiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICBhZHZhbmNlOiB7XG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW5saW5lOiB7XG4gICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxvb2t1cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiAnU2VjdXJpdHlNYW5hZ2VtZW50LlVzZXInLFxuICAgICAgICAgICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3VzZXJuYW1lJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcbiAgICAgICAgICAgICAgZXhwb3NlOiBbXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ2F1ZGl0SW5mby51cGRhdGVkLmJ5LmlkJyB9LFxuICAgICAgICAgICAgICAgIHsgc291cmNlOiAndXNlcm5hbWUnLCB0YXJnZXQ6ICdhdWRpdEluZm8udXBkYXRlZC5ieS51c2VybmFtZScgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2x1bW5zOiBbXG4gICAgICB7IG5hbWU6ICdyZXZpZXdlcklkJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ3Jldmlld2VyLnRpdGxlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdzdGF0dXMnIH0sXG4gICAgICB7IG5hbWU6ICdjb21tZW50JyB9LFxuICAgICAgeyBuYW1lOiAncmV2aWV3ZWRBdCcgfSxcbiAgICAgIHsgbmFtZTogJ2F1ZGl0SW5mby51cGRhdGVkLmF0JyB9LFxuICAgICAgeyBuYW1lOiAnYXVkaXRJbmZvLnVwZGF0ZWQuYnknICwgb3B0aW9uczogeyBkYXRhUGF0aDogJ2F1ZGl0SW5mby51cGRhdGVkLmJ5LmZ1bGxOYW1lJyB9IH0sXG4gICAgXSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyBTZXQgcmV2aWV3ZWRBdCB0byBjdXJyZW50IGRhdGUgaWYgbm90IHByb3ZpZGVkXG4gICAgICAgICAgaWYgKCFkYXRhLnJldmlld2VkQXQpIHtcbiAgICAgICAgICAgIGRhdGEucmV2aWV3ZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy9UT0RPIGZvciB0ZXN0XG4gICAgICAgICAgZGF0YS5yZXZpZXdTdGF0dXMgPSAnQXBwcm92ZWQnO1xuXG4gICAgICAgICAgLy8gQ3JlYXRlIHRoZSByZXZpZXcgcmVjb3JkXG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZGF0YVNlcnZpY2UuaW5zZXJ0T25lKGRhdGEpO1xuXG4gICAgICAgICAgLy8gVXBkYXRlIGRvY3VtZW50IHN0YXR1cyBiYXNlZCBvbiByZXZpZXcgc3RhdHVzXG4gICAgICAgICAgYXdhaXQgdXBkYXRlRG9jdW1lbnRTdGF0dXMoZGF0YS5kb2N1bWVudElkLCBkYXRhLnJldmlld1N0YXR1cywgaW5qZWN0b3IpO1xuXG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlcyB9O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgLy8gVXBkYXRlIHJldmlld2VkQXQgdG8gY3VycmVudCBkYXRlXG4gICAgICAgICAgZGF0YS5yZXZpZXdlZEF0ID0gbmV3IERhdGUoKTtcblxuICAgICAgICAgIC8vVE9ETyBmb3IgdGVzdFxuICAgICAgICAgIGRhdGEucmV2aWV3U3RhdHVzID0gJ0FwcHJvdmVkJztcblxuICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgcmV2aWV3IHJlY29yZFxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcblxuICAgICAgICAgIC8vIFVwZGF0ZSBkb2N1bWVudCBzdGF0dXMgYmFzZWQgb24gcmV2aWV3IHN0YXR1c1xuICAgICAgICAgIGF3YWl0IHVwZGF0ZURvY3VtZW50U3RhdHVzKGRhdGEuZG9jdW1lbnRJZCwgZGF0YS5yZXZpZXdTdGF0dXMsIGluamVjdG9yKTtcblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcXVlcmllczoge1xuICAgICAgYnlLZXk6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCByZXZpZXcgPSBhd2FpdCBkYXRhU2VydmljZS5nZXRPbmUoaWQpO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXZpZXcsXG4gICAgICAgICAgICByZXZpZXdlZEF0OiByZXZpZXcucmV2aWV3ZWRBdCA/PyBuZXcgRGF0ZSgpLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICB9LFxuICAgICAgbGlzdDoge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgYSA9IGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KGUpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKGEpO1xuICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBpbnRlcmZhY2VzOiB7XG4gICAgICBtYXN0ZXI6IHtcbiAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdkb2N1bWVudElkJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAncmV2aWV3ZXJJZCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndmVyc2lvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnc3RhdHVzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdjb21tZW50JyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAncmV2aWV3ZWRBdCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAncmV2aWV3ZXJJZCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnY29tbWVudCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA0LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3Jldmlld2VkQXQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuXG4gICAgICAgIHNpbmdsZToge1xuICAgICAgICAgIHRpdGxlOiAne3tkb2N1bWVudC5uYW1lfX0gLSBSZXZpZXcnLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZG9jdW1lbnRJZCcsXG4gICAgICAgICAgICAgIGRhdGFQYXRoOiAnZG9jdW1lbnQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXZpZXdlcklkJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd2ZXJzaW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdzdGF0dXMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NvbW1lbnQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXZpZXdlZEF0JyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdhdWRpdEluZm8udXBkYXRlZC5hdCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDcsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnYXVkaXRJbmZvLnVwZGF0ZWQuYnknLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA4LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgICAgdmlld3M6IFtcbiAgICAgICAgICAgIGNyZWF0ZUFsbFF1ZXJ5Vmlldyh7XG4gICAgICAgICAgICAgIHNvcnRzOiBbeyBuYW1lOiAncmV2aWV3ZWRBdCcsIGRpcjogJ2Rlc2MnIH1dLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXMReviewService, AXMReviewServiceImpl } from './review.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMReviewEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReviewEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReviewEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReviewEntityModule, providers: [\n {\n provide: AXMReviewService,\n useClass: AXMReviewServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReviewEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMReviewService,\n useClass: AXMReviewServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvcmV2aWV3L3Jldmlldy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFhMUUsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO2dIQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixhQVBuQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLFFBQVEsRUFBRSxvQkFBb0I7YUFDakM7U0FDSjs7NEZBRVEscUJBQXFCO2tCQVhqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsUUFBUSxFQUFFLG9CQUFvQjt5QkFDakM7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNUmV2aWV3U2VydmljZSwgQVhNUmV2aWV3U2VydmljZUltcGwgfSBmcm9tICcuL3Jldmlldy5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWE1SZXZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTVJldmlld1NlcnZpY2VJbXBsLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJldmlld0VudGl0eU1vZHVsZSB7IH1cbiJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDistributionService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDistributionServiceImpl extends AXMDistributionService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.distribution.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2Rpc3RyaWJ1dGlvbi9kaXN0cmlidXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsd0JBR3BEO0NBQUc7QUFHSixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQXNCO0lBQ3BFO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDOytHQUhVLDBCQUEwQjttSEFBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudE1hbmFnZW1lbnREaXN0cmlidXRpb25FbnRpdHlNb2RlbCB9IGZyb20gJy4vZGlzdHJpYnV0aW9uLnR5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTURpc3RyaWJ1dGlvblNlcnZpY2UgZXh0ZW5kcyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8XG4gIHN0cmluZyxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RGlzdHJpYnV0aW9uRW50aXR5TW9kZWxcbj4ge31cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTURpc3RyaWJ1dGlvblNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRGlzdHJpYnV0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb24ubmFtZX1gKTtcbiAgfVxufVxuIl19","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\nimport { AXMDistributionService } from './distribution.service';\nexport async function distributionFactory(injector) {\n const dataService = injector.get(AXMDistributionService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.distribution.name,\n title: RootConfig.entities.distribution.title,\n icon: RootConfig.entities.distribution.icon,\n formats: {\n individual: RootConfig.entities.distribution.title,\n plural: RootConfig.entities.distribution.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.distributionInteraction.name}`,\n columns: [],\n conditions: [\n {\n name: 'documentDistributionId',\n operator: {\n type: 'equal',\n },\n value: '{{context.eval(\"id\")}}',\n },\n ],\n },\n ],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.distribution.title,\n },\n ],\n properties: [\n {\n name: 'documentId',\n title: `@${i18n}:terms.document.document-id`,\n groupId: 'section',\n options: {},\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'DocumentManagement.documents',\n multiple: false,\n look: 'lookup',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'version',\n title: `@${i18n}:terms.common.version`,\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'viewedCount',\n title: `@${i18n}:terms.interactions.viewed-count`,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'signedCount',\n title: `@${i18n}:terms.interactions.signed-count`,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'status',\n title: `@${i18n}:terms.common.status`,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n ],\n columns: [{ name: 'documentId', options: { dataPath: 'document.name' } }, { name: 'version' },\n { name: 'viewedCount' }, { name: 'signedCount' }, { name: 'status' }\n ],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n const x = await dataService.query(e);\n console.log(x);\n return x;\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n single: {\n title: `{{document.name}}`,\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'documentId', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLmVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGlzdHJpYnV0aW9uL2Rpc3RyaWJ1dGlvbi5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEUsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxRQUFrQjtJQUMxRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFcEMsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSTtRQUMzQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSztRQUM3QyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSTtRQUMzQyxPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSztZQUNsRCxNQUFNLEVB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bWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMsIGVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1EaXN0cmlidXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kaXN0cmlidXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkaXN0cmlidXRpb25GYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1EaXN0cmlidXRpb25TZXJ2aWNlKTtcbiAgY29uc3QgaTE4biA9IFJvb3RDb25maWcuY29uZmlnLmkxOG47XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZGlzdHJpYnV0aW9uLm5hbWUsXG4gICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMuZGlzdHJpYnV0aW9uLnRpdGxlLFxuICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMuZGlzdHJpYnV0aW9uLmljb24sXG4gICAgZm9ybWF0czoge1xuICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb24udGl0bGUsXG4gICAgICBwbHVyYWw6IFJvb3RDb25maWcuZW50aXRpZXMuZGlzdHJpYnV0aW9uLnRpdGxlUGx1cmFsLFxuICAgICAgc2VhcmNoUmVzdWx0OiB7XG4gICAgICAgIHRpdGxlOiAne3sgdGl0bGUgfX0nLFxuICAgICAgICBkZXNjcmlwdGlvbjogUm9vdENvbmZpZy5tb2R1bGUudGl0bGUsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVsYXRlZEVudGl0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmRpc3RyaWJ1dGlvbkludGVyYWN0aW9uLm5hbWV9YCxcbiAgICAgICAgY29sdW1uczogW10sXG4gICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnZG9jdW1lbnREaXN0cmlidXRpb25JZCcsXG4gICAgICAgICAgICBvcGVyYXRvcjoge1xuICAgICAgICAgICAgICB0eXBlOiAnZXF1YWwnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiAne3tjb250ZXh0LmV2YWwoXCJpZFwiKX19JyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGdyb3VwczogW1xuICAgICAge1xuICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb24udGl0bGUsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnZG9jdW1lbnRJZCcsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMuZG9jdW1lbnQuZG9jdW1lbnQtaWRgLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5sb29rdXAsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGVudGl0eTogJ0RvY3VtZW50TWFuYWdlbWVudC5kb2N1bWVudHMnLFxuICAgICAgICAgICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICAgICAgICAgIGxvb2s6ICdsb29rdXAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3ZlcnNpb24nLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmNvbW1vbi52ZXJzaW9uYCxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgICAgYWR2YW5jZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlubGluZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd2aWV3ZWRDb3VudCcsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMuaW50ZXJhY3Rpb25zLnZpZXdlZC1jb3VudGAsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzaWduZWRDb3VudCcsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMuaW50ZXJhY3Rpb25zLnNpZ25lZC1jb3VudGAsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdGF0dXMnLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmNvbW1vbi5zdGF0dXNgLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW3sgbmFtZTogJ2RvY3VtZW50SWQnLCBvcHRpb25zOiB7IGRhdGFQYXRoOiAnZG9jdW1lbnQubmFtZScgfSB9LCB7IG5hbWU6ICd2ZXJzaW9uJyB9XG4gICAgICAsIHsgbmFtZTogJ3ZpZXdlZENvdW50JyB9LCB7IG5hbWU6ICdzaWduZWRDb3VudCcgfSwgeyBuYW1lOiAnc3RhdHVzJyB9XG4gICAgXSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBkYXRhU2VydmljZS5pbnNlcnRPbmUoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlcyB9O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5nZXRPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuU2luZ2xlLFxuICAgICAgfSxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGU6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPSBhd2FpdCBkYXRhU2VydmljZS5xdWVyeShlKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyh4KTtcbiAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICB9LFxuICAgIH0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZG9jdW1lbnRJZCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd2ZXJzaW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdkb2N1bWVudElkJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3ZlcnNpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICB0aXRsZTogYHt7ZG9jdW1lbnQubmFtZX19YCxcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NlY3Rpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2RvY3VtZW50SWQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndmVyc2lvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogWy4uLmVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMoKV0sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMoKV0sXG4gICAgICAgICAgdmlld3M6IFtcbiAgICAgICAgICAgIGNyZWF0ZUFsbFF1ZXJ5Vmlldyh7XG4gICAgICAgICAgICAgIHNvcnRzOiBbeyBuYW1lOiAnZG9jdW1lbnRJZCcsIGRpcjogJ2FzYycgfV0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBlbnRpdHlEZWY7XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXMDistributionService, AXMDistributionServiceImpl } from './distribution.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDistributionEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionEntityModule, providers: [\n {\n provide: AXMDistributionService,\n useClass: AXMDistributionServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDistributionService,\n useClass: AXMDistributionServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGlzdHJpYnV0aW9uL2Rpc3RyaWJ1dGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFhNUYsTUFBTSxPQUFPLDJCQUEyQjsrR0FBM0IsMkJBQTJCO2dIQUEzQiwyQkFBMkI7Z0hBQTNCLDJCQUEyQixhQVB6QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFFBQVEsRUFBRSwwQkFBMEI7YUFDdkM7U0FDSjs7NEZBRVEsMkJBQTJCO2tCQVh2QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsUUFBUSxFQUFFLDBCQUEwQjt5QkFDdkM7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNRGlzdHJpYnV0aW9uU2VydmljZSwgQVhNRGlzdHJpYnV0aW9uU2VydmljZUltcGwgfSBmcm9tICcuL2Rpc3RyaWJ1dGlvbi5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWE1EaXN0cmlidXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTURpc3RyaWJ1dGlvblNlcnZpY2VJbXBsLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTURpc3RyaWJ1dGlvbkVudGl0eU1vZHVsZSB7IH1cbiJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDistributionInteractionService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDistributionInteractionServiceImpl extends AXMDistributionInteractionService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.distributionInteraction.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionInteractionServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionInteractionServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionInteractionServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2Rpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbi9kaXN0cmlidXRpb24taW50ZXJhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBZ0IsaUNBQWtDLFNBQVEsd0JBSS9EO0NBQUc7QUFHSixNQUFNLE9BQU8scUNBQXNDLFNBQVEsaUNBQWlDO0lBQzFGO1FBQ0UsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7K0dBSFUscUNBQXFDO21IQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTURpc3RyaWJ1dGlvbkludGVyYWN0aW9uU3VtbWFyeSwgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RGlzdHJpYnV0aW9uSW50ZXJhY3Rpb25FbnRpdHlNb2RlbCB9IGZyb20gJy4vZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uLnR5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTURpc3RyaWJ1dGlvbkludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbDxcbiAgc3RyaW5nLFxuICBBWE1Eb2N1bWVudE1hbmFnZW1lbnREaXN0cmlidXRpb25JbnRlcmFjdGlvbkVudGl0eU1vZGVsLFxuICBhbnlcbj4ge31cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTURpc3RyaWJ1dGlvbkludGVyYWN0aW9uU2VydmljZUltcGwgZXh0ZW5kcyBBWE1EaXN0cmlidXRpb25JbnRlcmFjdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZGlzdHJpYnV0aW9uSW50ZXJhY3Rpb24ubmFtZX1gKTtcbiAgfVxufVxuIl19","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMDistributionInteractionService } from './distribution-interaction.service';\nexport async function distributionInteractionFactory(injector) {\n const dataService = injector.get(AXMDistributionInteractionService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.distributionInteraction.name,\n title: RootConfig.entities.distributionInteraction.title,\n icon: RootConfig.entities.distributionInteraction.icon,\n formats: {\n individual: RootConfig.entities.distributionInteraction.title,\n plural: RootConfig.entities.distributionInteraction.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.distributionInteraction.title,\n },\n ],\n properties: [\n {\n name: 'user',\n title: '@general:terms.user',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'hasViewed',\n title: `@${i18n}:terms.interactions.has-viewed`,\n groupId: 'section',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'hasSigned',\n title: `@${i18n}:terms.interactions.has-signed`,\n groupId: 'section',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n {\n name: 'lastViewDate',\n title: `@${i18n}:terms.timestamps.viewed-at`,\n groupId: 'section',\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n },\n },\n },\n {\n name: 'lastSignDate',\n title: `@${i18n}:terms.timestamps.signed-at`,\n groupId: 'section',\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n },\n },\n },\n ],\n columns: [{ name: 'user', options: { dataPath: 'user.title' } }, { name: 'hasViewed' },\n { name: 'lastViewDate' },\n { name: 'hasSigned' },\n { name: 'lastSignDate' }\n ],\n commands: {\n create: {\n execute: async (data) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n const x = await dataService.query(e);\n console.log(x);\n return x;\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [],\n views: [\n createAllQueryView({\n sorts: [{ name: 'name', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uLmVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uL2Rpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbi5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdkYsTUFBTSxDQUFDLEtBQUssVUFBVSw4QkFBOEIsQ0FBQyxRQUFrQjtJQUNyRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDcEUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFcEMsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJO1FBQ3RELEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEtBQUs7UUFDeEQsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsSUFBSTtRQUN0RCxPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLO1lBQzdELE1BQU0sRUFBRSxVQUFVLENBQUMs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Q0Y7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1o7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRSxFQUVSO29CQUNELEtBQUssRUFBRTt3QkFDTCxrQkFBa0IsQ0FBQzs0QkFDakIsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQzt5QkFDdEMsQ0FBQztxQkFDSDtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1EaXN0cmlidXRpb25JbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2Rpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRpc3RyaWJ1dGlvbkludGVyYWN0aW9uRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgY29uc3QgZGF0YVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRGlzdHJpYnV0aW9uSW50ZXJhY3Rpb25TZXJ2aWNlKTtcbiAgY29uc3QgaTE4biA9IFJvb3RDb25maWcuY29uZmlnLmkxOG47XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZGlzdHJpYnV0aW9uSW50ZXJhY3Rpb24ubmFtZSxcbiAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb25JbnRlcmFjdGlvbi50aXRsZSxcbiAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLmRpc3RyaWJ1dGlvbkludGVyYWN0aW9uLmljb24sXG4gICAgZm9ybWF0czoge1xuICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb25JbnRlcmFjdGlvbi50aXRsZSxcbiAgICAgIHBsdXJhbDogUm9vdENvbmZpZy5lbnRpdGllcy5kaXN0cmlidXRpb25JbnRlcmFjdGlvbi50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIH19JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRpc3RyaWJ1dGlvbkludGVyYWN0aW9uLnRpdGxlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3VzZXInLFxuICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLnVzZXInLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdoYXNWaWV3ZWQnLFxuICAgICAgICB0aXRsZTogYEAke2kxOG59OnRlcm1zLmludGVyYWN0aW9ucy5oYXMtdmlld2VkYCxcbiAgICAgICAgZ3JvdXBJZDogJ3NlY3Rpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaGFzU2lnbmVkJyxcbiAgICAgICAgdGl0bGU6IGBAJHtpMThufTp0ZXJtcy5pbnRlcmFjdGlvbnMuaGFzLXNpZ25lZGAsXG4gICAgICAgIGdyb3VwSWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2xhc3RWaWV3RGF0ZScsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMudGltZXN0YW1wcy52aWV3ZWQtYXRgLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZScsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5kYXRlVGltZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2xhc3RTaWduRGF0ZScsXG4gICAgICAgIHRpdGxlOiBgQCR7aTE4bn06dGVybXMudGltZXN0YW1wcy5zaWduZWQtYXRgLFxuICAgICAgICBncm91cElkOiAnc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZScsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5kYXRlVGltZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICd1c2VyJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ3VzZXIudGl0bGUnIH0gfSwgeyBuYW1lOiAnaGFzVmlld2VkJyB9LFxuICAgIHsgbmFtZTogJ2xhc3RWaWV3RGF0ZScgfSxcbiAgICB7IG5hbWU6ICdoYXNTaWduZWQnIH0sXG4gICAgeyBuYW1lOiAnbGFzdFNpZ25EYXRlJyB9XG4gICAgXSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBkYXRhU2VydmljZS5pbnNlcnRPbmUoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlcyB9O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVwZGF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS5nZXRPbmUoaWQpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuU2luZ2xlLFxuICAgICAgfSxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGU6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPSBhd2FpdCBkYXRhU2VydmljZS5xdWVyeShlKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyh4KTtcblxuICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBpbnRlcmZhY2VzOiB7XG4gICAgICBtYXN0ZXI6IHtcbiAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdzZWN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnc2VjdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG5cbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbXG4gICAgICAgICAgICBjcmVhdGVBbGxRdWVyeVZpZXcoe1xuICAgICAgICAgICAgICBzb3J0czogW3sgbmFtZTogJ25hbWUnLCBkaXI6ICdhc2MnIH1dLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXMDistributionInteractionService, AXMDistributionInteractionServiceImpl } from './distribution-interaction.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDistributionInteractionEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionInteractionEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionInteractionEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionInteractionEntityModule, providers: [\n {\n provide: AXMDistributionInteractionService,\n useClass: AXMDistributionInteractionServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDistributionInteractionEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDistributionInteractionService,\n useClass: AXMDistributionInteractionServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uL2Rpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFhOUgsTUFBTSxPQUFPLHNDQUFzQzsrR0FBdEMsc0NBQXNDO2dIQUF0QyxzQ0FBc0M7Z0hBQXRDLHNDQUFzQyxhQVBwQztZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQ0FBaUM7Z0JBQzFDLFFBQVEsRUFBRSxxQ0FBcUM7YUFDbEQ7U0FDSjs7NEZBRVEsc0NBQXNDO2tCQVhsRCxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsUUFBUSxFQUFFLHFDQUFxQzt5QkFDbEQ7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNRGlzdHJpYnV0aW9uSW50ZXJhY3Rpb25TZXJ2aWNlLCBBWE1EaXN0cmlidXRpb25JbnRlcmFjdGlvblNlcnZpY2VJbXBsIH0gZnJvbSAnLi9kaXN0cmlidXRpb24taW50ZXJhY3Rpb24uc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhNRGlzdHJpYnV0aW9uSW50ZXJhY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTURpc3RyaWJ1dGlvbkludGVyYWN0aW9uU2VydmljZUltcGwsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRGlzdHJpYnV0aW9uSW50ZXJhY3Rpb25FbnRpdHlNb2R1bGUgeyB9XG4iXX0=","import { NgModule } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentReletedEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentReletedEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentReletedEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentReletedEntityModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentReletedEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtcmVsZXRlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RvY3VtZW50LXJlbGV0ZWQvZG9jdW1lbnQtcmVsZXRlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRekMsTUFBTSxPQUFPLDhCQUE4QjsrR0FBOUIsOEJBQThCO2dIQUE5Qiw4QkFBOEI7Z0hBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFOMUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYTURvY3VtZW50UmVsZXRlZEVudGl0eU1vZHVsZSB7fVxuIl19","// Entity Services\nexport * from './document';\nexport * from './document-type';\nexport * from './document-type-meta-definition';\nexport * from './document-type-meta-value';\nexport * from './document-type-status-definition';\nexport * from './document-releted';\nexport * from './folder';\nexport * from './review';\nexport * from './distribution';\nexport * from './distribution-interaction';\n// Entity Modules\nexport * from './document/document.module';\nexport * from './document-type/document-type.module';\nexport * from './document-type-meta-definition/document-type-meta-definition.module';\nexport * from './document-type-meta-value/document-type-meta-value.module';\nexport * from './document-type-status-definition/document-type-status-definition.module';\nexport * from './document-releted/document-releted.module';\nexport * from './folder/folder.module';\nexport * from './review/review.module';\nexport * from './distribution/distribution.module';\nexport * from './distribution-interaction/distribution-interaction.module';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQjtBQUNsQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGlCQUFpQjtBQUNqQixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDREQUE0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRW50aXR5IFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50LXR5cGUtbWV0YS1kZWZpbml0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHlwZS1zdGF0dXMtZGVmaW5pdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50LXJlbGV0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb2xkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXN0cmlidXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kaXN0cmlidXRpb24taW50ZXJhY3Rpb24nO1xuXG4vLyBFbnRpdHkgTW9kdWxlc1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC9kb2N1bWVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC10eXBlL2RvY3VtZW50LXR5cGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24vZG9jdW1lbnQtdHlwZS1tZXRhLWRlZmluaXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHlwZS1tZXRhLXZhbHVlL2RvY3VtZW50LXR5cGUtbWV0YS12YWx1ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC10eXBlLXN0YXR1cy1kZWZpbml0aW9uL2RvY3VtZW50LXR5cGUtc3RhdHVzLWRlZmluaXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtcmVsZXRlZC9kb2N1bWVudC1yZWxldGVkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZvbGRlci9mb2xkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcmV2aWV3L3Jldmlldy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXN0cmlidXRpb24vZGlzdHJpYnV0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Rpc3RyaWJ1dGlvbi1pbnRlcmFjdGlvbi9kaXN0cmlidXRpb24taW50ZXJhY3Rpb24ubW9kdWxlJztcbiJdfQ==","import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nexport class AXMImageFileTypeProvider {\n async items() {\n return [\n {\n name: 'image',\n title: 'Image',\n icon: 'fa-light fa-image ax-text-purple-500',\n extensions: [\n {\n name: 'jpg',\n title: 'JPEG',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [],\n },\n {\n name: 'png',\n title: 'PNG',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [],\n },\n {\n name: 'gif',\n title: 'GIF',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [\n {\n name: 'duration',\n title: 'Duration',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {\n validations: [\n {\n rule: \"required\"\n }\n ]\n },\n path: 'gift.duration',\n };\n },\n },\n ],\n },\n ],\n meta: [\n {\n name: 'width',\n title: 'Width',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {\n validations: [\n {\n rule: \"required\"\n }\n ]\n },\n path: 'image.width',\n };\n },\n },\n {\n name: 'height',\n title: 'Height',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {},\n path: 'image.height',\n };\n },\n },\n ],\n },\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZmlsZS10eXBlL3Byb3ZpZGVycy9pbWFnZS5maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLHNDQUFzQztnQkFDNUMsVUFBVSxFQUFFO29CQUNWO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxNQUFNO3dCQUNiLElBQUksRUFBRSxzQ0FBc0M7d0JBQzVDLElBQUksRUFBRSxFQUFFO3FCQUNUO29CQUNEO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSxzQ0FBc0M7d0JBQzVDLElBQUksRUFBRSxFQUFFO3FCQUNUO29CQUNEO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSxzQ0FBc0M7d0JBQzVDLElBQUksRUFBRTs0QkFDSjtnQ0FDRSxJQUFJLEVBQUUsVUFBVTtnQ0FDaEIsS0FBSyxFQUFFLFVBQVU7Z0NBQ2pCLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRTtvQ0FDcEIsT0FBTzt3Q0FDTCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTt3Q0FDNUIsT0FBTyxFQUFFOzRDQUNQLFdBQVcsRUFBRTtnREFDWDtvREFDRSxJQUFJLEVBQUUsVUFBVTtpREFDakI7NkNBQ0Y7eUNBQ0Y7d0NBQ0QsSUFBSSxFQUFFLGVBQWU7cUNBQ3RCLENBQUM7Z0NBQ0osQ0FBQzs2QkFDRjt5QkFDRjtxQkFDRjtpQkFDRjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0o7d0JBQ0UsSUFBSSxFQUFFLE9BQU87d0JBQ2IsS0FBSyxFQUFFLE9BQU87d0JBQ2QsU0FBUyxFQUFFLEtBQUssSUFBSSxFQUFFOzRCQUNwQixPQUFPO2dDQUNMLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dDQUM1QixPQUFPLEVBQUU7b0NBQ1AsV0FBVyxFQUFFO3dDQUNYOzRDQUNFLElBQUksRUFBRSxVQUFVO3lDQUNqQjtxQ0FDRjtpQ0FDRjtnQ0FDRCxJQUFJLEVBQUUsYUFBYTs2QkFDcEIsQ0FBQzt3QkFDSixDQUFDO3FCQUNGO29CQUNEO3dCQUNFLElBQUksRUFBRSxRQUFRO3dCQUNkLEtBQUssRUFBRSxRQUFRO3dCQUNmLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRTs0QkFDcEIsT0FBTztnQ0FDTCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQ0FDNUIsT0FBTyxFQUFFLEVBQUU7Z0NBQ1gsSUFBSSxFQUFFLGNBQWM7NkJBQ3JCLENBQUM7d0JBQ0osQ0FBQztxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEZpbGVUeXBlSW5mb1Byb3ZpZGVyLCBBWFBGaWxlVHlwZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgQVhNSW1hZ2VGaWxlVHlwZVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIge1xuXG5cblxuICBhc3luYyBpdGVtcygpOiBQcm9taXNlPEFYUEZpbGVUeXBlW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnaW1hZ2UnLFxuICAgICAgICB0aXRsZTogJ0ltYWdlJyxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWltYWdlIGF4LXRleHQtcHVycGxlLTUwMCcsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnanBnJyxcbiAgICAgICAgICAgIHRpdGxlOiAnSlBFRycsXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtaW1hZ2UgYXgtdGV4dC1wdXJwbGUtNTAwJyxcbiAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3BuZycsXG4gICAgICAgICAgICB0aXRsZTogJ1BORycsXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtaW1hZ2UgYXgtdGV4dC1wdXJwbGUtNTAwJyxcbiAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2dpZicsXG4gICAgICAgICAgICB0aXRsZTogJ0dJRicsXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtaW1hZ2UgYXgtdGV4dC1wdXJwbGUtNTAwJyxcbiAgICAgICAgICAgIG1ldGE6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkdXJhdGlvbicsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdEdXJhdGlvbicsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZTogXCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnZ2lmdC5kdXJhdGlvbicsXG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIG1ldGE6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnd2lkdGgnLFxuICAgICAgICAgICAgdGl0bGU6ICdXaWR0aCcsXG4gICAgICAgICAgICBpbnRlcmZhY2U6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBydWxlOiBcInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcGF0aDogJ2ltYWdlLndpZHRoJyxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnaGVpZ2h0JyxcbiAgICAgICAgICAgIHRpdGxlOiAnSGVpZ2h0JyxcbiAgICAgICAgICAgIGludGVyZmFjZTogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgcGF0aDogJ2ltYWdlLmhlaWdodCcsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF07XG4gIH1cbn1cbiJdfQ==","export class AXMVideoFileTypeProvider {\n async items() {\n return [\n {\n name: 'video',\n title: 'Video',\n icon: 'fa-light fa-video ax-text-red-500',\n extensions: [\n {\n name: 'mp4',\n title: 'MP4',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n {\n name: 'avi',\n title: 'AVI',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n {\n name: 'mkv',\n title: 'MKV',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n ],\n },\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZmlsZS10eXBlL3Byb3ZpZGVycy92aWRlby5maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLG1DQUFtQztnQkFDekMsVUFBVSxFQUFFO29CQUNWO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSxtQ0FBbUM7d0JBQ3pDLElBQUksRUFBRSxFQUFFO3FCQUNUO29CQUNEO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSxtQ0FBbUM7d0JBQ3pDLElBQUksRUFBRSxFQUFFO3FCQUNUO29CQUNEO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSxtQ0FBbUM7d0JBQ3pDLElBQUksRUFBRSxFQUFFO3FCQUNUO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIsIEFYUEZpbGVUeXBlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgQVhNVmlkZW9GaWxlVHlwZVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIge1xuICBhc3luYyBpdGVtcygpOiBQcm9taXNlPEFYUEZpbGVUeXBlW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndmlkZW8nLFxuICAgICAgICB0aXRsZTogJ1ZpZGVvJyxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXZpZGVvIGF4LXRleHQtcmVkLTUwMCcsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnbXA0JyxcbiAgICAgICAgICAgIHRpdGxlOiAnTVA0JyxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS12aWRlbyBheC10ZXh0LXJlZC01MDAnLFxuICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnYXZpJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQVZJJyxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS12aWRlbyBheC10ZXh0LXJlZC01MDAnLFxuICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnbWt2JyxcbiAgICAgICAgICAgIHRpdGxlOiAnTUtWJyxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS12aWRlbyBheC10ZXh0LXJlZC01MDAnLFxuICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxufVxuIl19","export class AXMDocumentFileTypeProvider {\n async items() {\n return [\n {\n name: 'document',\n title: 'Document',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n extensions: [\n {\n name: 'pdf',\n title: 'PDF',\n icon: 'fa-light fa-file-pdf ax-text-red-600',\n meta: [],\n },\n {\n name: 'doc',\n title: 'Word',\n icon: 'fa-light fa-file-word ax-text-blue-700',\n meta: [],\n },\n {\n name: 'docx',\n title: 'Word',\n icon: 'fa-light fa-file-word ax-text-blue-700',\n meta: [],\n },\n {\n name: 'xls',\n title: 'Excel',\n icon: 'fa-light fa-file-excel ax-text-green-700',\n meta: [],\n },\n {\n name: 'xlsx',\n title: 'Excel',\n icon: 'fa-light fa-file-excel ax-text-green-700',\n meta: [],\n },\n {\n name: 'ppt',\n title: 'PowerPoint',\n icon: 'fa-light fa-file-powerpoint ax-text-orange-700',\n meta: [],\n },\n {\n name: 'pptx',\n title: 'PowerPoint',\n icon: 'fa-light fa-file-powerpoint ax-text-orange-700',\n meta: [],\n },\n {\n name: 'txt',\n title: 'Text',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n meta: [],\n },\n {\n name: 'rtf',\n title: 'Rich Text',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n meta: [],\n },\n ],\n },\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZmlsZS10eXBlL3Byb3ZpZGVycy9kb2N1bWVudC5maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsS0FBSyxDQUFDLEtBQUs7UUFDUCxPQUFPO1lBQ0g7Z0JBQ0ksSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUseUNBQXlDO2dCQUMvQyxVQUFVLEVBQUU7b0JBQ1I7d0JBQ0ksSUFBSSxFQUFFLEtBQUs7d0JBQ1gsS0FBSyxFQUFFLEtBQUs7d0JBQ1osSUFBSSxFQUFFLHNDQUFzQzt3QkFDNUMsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLEtBQUs7d0JBQ1gsS0FBSyxFQUFFLE1BQU07d0JBQ2IsSUFBSSxFQUFFLHdDQUF3Qzt3QkFDOUMsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLE1BQU07d0JBQ1osS0FBSyxFQUFFLE1BQU07d0JBQ2IsSUFBSSxFQUFFLHdDQUF3Qzt3QkFDOUMsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLEtBQUs7d0JBQ1gsS0FBSyxFQUFFLE9BQU87d0JBQ2QsSUFBSSxFQUFFLDBDQUEwQzt3QkFDaEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLE1BQU07d0JBQ1osS0FBSyxFQUFFLE9BQU87d0JBQ2QsSUFBSSxFQUFFLDBDQUEwQzt3QkFDaEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLEtBQUs7d0JBQ1gsS0FBSyxFQUFFLFlBQVk7d0JBQ25CLElBQUksRUFBRSxnREFBZ0Q7d0JBQ3RELElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxZQUFZO3dCQUNuQixJQUFJLEVBQUUsZ0RBQWdEO3dCQUN0RCxJQUFJLEVBQUUsRUFBRTtxQkFDWDtvQkFDRDt3QkFDSSxJQUFJLEVBQUUsS0FBSzt3QkFDWCxLQUFLLEVBQUUsTUFBTTt3QkFDYixJQUFJLEVBQUUseUNBQXlDO3dCQUMvQyxJQUFJLEVBQUUsRUFBRTtxQkFDWDtvQkFDRDt3QkFDSSxJQUFJLEVBQUUsS0FBSzt3QkFDWCxLQUFLLEVBQUUsV0FBVzt3QkFDbEIsSUFBSSxFQUFFLHlDQUF5Qzt3QkFDL0MsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBGaWxlVHlwZUluZm9Qcm92aWRlciwgQVhQRmlsZVR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudEZpbGVUeXBlUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBGaWxlVHlwZUluZm9Qcm92aWRlciB7XG4gICAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBGaWxlVHlwZVtdPiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2RvY3VtZW50JyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0RvY3VtZW50JyxcbiAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1saW5lcyBheC10ZXh0LWJsdWUtNjAwJyxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdwZGYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdQREYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtcGRmIGF4LXRleHQtcmVkLTYwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2RvYycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1dvcmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtd29yZCBheC10ZXh0LWJsdWUtNzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZG9jeCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1dvcmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtd29yZCBheC10ZXh0LWJsdWUtNzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAneGxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRXhjZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtZXhjZWwgYXgtdGV4dC1ncmVlbi03MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd4bHN4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRXhjZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtZXhjZWwgYXgtdGV4dC1ncmVlbi03MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdwcHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdQb3dlclBvaW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLXBvd2VycG9pbnQgYXgtdGV4dC1vcmFuZ2UtNzAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncHB0eCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1Bvd2VyUG9pbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtcG93ZXJwb2ludCBheC10ZXh0LW9yYW5nZS03MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0eHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdUZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWxpbmVzIGF4LXRleHQtYmx1ZS02MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdydGYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSaWNoIFRleHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtbGluZXMgYXgtdGV4dC1ibHVlLTYwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG59ICJdfQ==","export class AXMAudioFileTypeProvider {\n async items() {\n return [\n {\n name: 'audio',\n title: 'Audio',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n extensions: [\n {\n name: 'mp3',\n title: 'MP3',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'wav',\n title: 'WAV',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'ogg',\n title: 'OGG',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'm4a',\n title: 'M4A',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'flac',\n title: 'FLAC',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n ],\n },\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZmlsZS10eXBlL3Byb3ZpZGVycy9hdWRpby5maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsS0FBSyxDQUFDLEtBQUs7UUFDUCxPQUFPO1lBQ0g7Z0JBQ0ksSUFBSSxFQUFFLE9BQU87Z0JBQ2IsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLDBDQUEwQztnQkFDaEQsVUFBVSxFQUFFO29CQUNSO3dCQUNJLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSwwQ0FBMEM7d0JBQ2hELElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSwwQ0FBMEM7d0JBQ2hELElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSwwQ0FBMEM7d0JBQ2hELElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSwwQ0FBMEM7d0JBQ2hELElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxNQUFNO3dCQUNiLElBQUksRUFBRSwwQ0FBMEM7d0JBQ2hELElBQUksRUFBRSxFQUFFO3FCQUNYO2lCQUNKO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIsIEFYUEZpbGVUeXBlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgQVhNQXVkaW9GaWxlVHlwZVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIge1xuICAgIGFzeW5jIGl0ZW1zKCk6IFByb21pc2U8QVhQRmlsZVR5cGVbXT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdhdWRpbycsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBdWRpbycsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtYXVkaW8gYXgtdGV4dC1ncmVlbi01MDAnLFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ21wMycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ01QMycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1hdWRpbyBheC10ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3dhdicsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1dBVicsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1hdWRpbyBheC10ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ29nZycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ09HRycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1hdWRpbyBheC10ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ200YScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ000QScsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1hdWRpbyBheC10ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2ZsYWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGTEFDJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWF1ZGlvIGF4LXRleHQtZ3JlZW4tNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cbn0gIl19","export class AXMArchiveFileTypeProvider {\n async items() {\n return [\n {\n name: 'archive',\n title: 'Archive',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n extensions: [\n {\n name: 'zip',\n title: 'ZIP',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'rar',\n title: 'RAR',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: '7z',\n title: '7-Zip',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'tar',\n title: 'TAR',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'gz',\n title: 'GZIP',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n ],\n },\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9maWxlLXR5cGUvcHJvdmlkZXJzL2FyY2hpdmUuZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sMEJBQTBCO0lBQ25DLEtBQUssQ0FBQyxLQUFLO1FBQ1AsT0FBTztZQUNIO2dCQUNJLElBQUksRUFBRSxTQUFTO2dCQUNmLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsNENBQTRDO2dCQUNsRCxVQUFVLEVBQUU7b0JBQ1I7d0JBQ0ksSUFBSSxFQUFFLEtBQUs7d0JBQ1gsS0FBSyxFQUFFLEtBQUs7d0JBQ1osSUFBSSxFQUFFLDRDQUE0Qzt3QkFDbEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLEtBQUs7d0JBQ1gsS0FBSyxFQUFFLEtBQUs7d0JBQ1osSUFBSSxFQUFFLDRDQUE0Qzt3QkFDbEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLElBQUk7d0JBQ1YsS0FBSyxFQUFFLE9BQU87d0JBQ2QsSUFBSSxFQUFFLDRDQUE0Qzt3QkFDbEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLEtBQUs7d0JBQ1gsS0FBSyxFQUFFLEtBQUs7d0JBQ1osSUFBSSxFQUFFLDRDQUE0Qzt3QkFDbEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLElBQUk7d0JBQ1YsS0FBSyxFQUFFLE1BQU07d0JBQ2IsSUFBSSxFQUFFLDRDQUE0Qzt3QkFDbEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBGaWxlVHlwZUluZm9Qcm92aWRlciwgQVhQRmlsZVR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBBWE1BcmNoaXZlRmlsZVR5cGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEZpbGVUeXBlSW5mb1Byb3ZpZGVyIHtcbiAgICBhc3luYyBpdGVtcygpOiBQcm9taXNlPEFYUEZpbGVUeXBlW10+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnYXJjaGl2ZScsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBcmNoaXZlJyxcbiAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS16aXBwZXIgYXgtdGV4dC1vcmFuZ2UtNTAwJyxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd6aXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdaSVAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtemlwcGVyIGF4LXRleHQtb3JhbmdlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3JhcicsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1JBUicsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS16aXBwZXIgYXgtdGV4dC1vcmFuZ2UtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnN3onLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICc3LVppcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS16aXBwZXIgYXgtdGV4dC1vcmFuZ2UtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGFyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnVEFSJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLXppcHBlciBheC10ZXh0LW9yYW5nZS01MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdneicsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0daSVAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtemlwcGVyIGF4LXRleHQtb3JhbmdlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG59ICJdfQ==","export class AXMCodeFileTypeProvider {\n async items() {\n return [\n {\n name: 'code',\n title: 'Code',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n extensions: [\n {\n name: 'js',\n title: 'JavaScript',\n icon: 'fa-light fa-file-code ax-text-yellow-500',\n meta: [],\n },\n {\n name: 'ts',\n title: 'TypeScript',\n icon: 'fa-light fa-file-code ax-text-blue-600',\n meta: [],\n },\n {\n name: 'html',\n title: 'HTML',\n icon: 'fa-light fa-file-code ax-text-orange-600',\n meta: [],\n },\n {\n name: 'css',\n title: 'CSS',\n icon: 'fa-light fa-file-code ax-text-pink-500',\n meta: [],\n },\n {\n name: 'json',\n title: 'JSON',\n icon: 'fa-light fa-file-code ax-text-green-500',\n meta: [],\n },\n {\n name: 'xml',\n title: 'XML',\n icon: 'fa-light fa-file-code ax-text-green-500',\n meta: [],\n },\n {\n name: 'py',\n title: 'Python',\n icon: 'fa-light fa-file-code ax-text-yellow-500',\n meta: [],\n },\n {\n name: 'java',\n title: 'Java',\n icon: 'fa-light fa-file-code ax-text-red-500',\n meta: [],\n },\n {\n name: 'cpp',\n title: 'C++',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n meta: [],\n },\n {\n name: 'cs',\n title: 'C#',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n meta: [],\n },\n ],\n },\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9maWxlLXR5cGUvcHJvdmlkZXJzL2NvZGUuZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLEtBQUssQ0FBQyxLQUFLO1FBQ1AsT0FBTztZQUNIO2dCQUNJLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSx3Q0FBd0M7Z0JBQzlDLFVBQVUsRUFBRTtvQkFDUjt3QkFDSSxJQUFJLEVBQUUsSUFBSTt3QkFDVixLQUFLLEVBQUUsWUFBWTt3QkFDbkIsSUFBSSxFQUFFLDBDQUEwQzt3QkFDaEQsSUFBSSxFQUFFLEVBQUU7cUJBQ1g7b0JBQ0Q7d0JBQ0ksSUFBSSxFQUFFLElBQUk7d0JBQ1YsS0FBSyxFQUFFLFlBQVk7d0JBQ25CLElBQUksRUFBRSx3Q0FBd0M7d0JBQzlDLElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxNQUFNO3dCQUNiLElBQUksRUFBRSwwQ0FBMEM7d0JBQ2hELElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSx3Q0FBd0M7d0JBQzlDLElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxNQUFNO3dCQUNiLElBQUksRUFBRSx5Q0FBeUM7d0JBQy9DLElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSx5Q0FBeUM7d0JBQy9DLElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxJQUFJO3dCQUNWLEtBQUssRUFBRSxRQUFRO3dCQUNmLElBQUksRUFBRSwwQ0FBMEM7d0JBQ2hELElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxNQUFNO3dCQUNiLElBQUksRUFBRSx1Q0FBdUM7d0JBQzdDLElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxLQUFLO3dCQUNYLEtBQUssRUFBRSxLQUFLO3dCQUNaLElBQUksRUFBRSx3Q0FBd0M7d0JBQzlDLElBQUksRUFBRSxFQUFFO3FCQUNYO29CQUNEO3dCQUNJLElBQUksRUFBRSxJQUFJO3dCQUNWLEtBQUssRUFBRSxJQUFJO3dCQUNYLElBQUksRUFBRSx3Q0FBd0M7d0JBQzlDLElBQUksRUFBRSxFQUFFO3FCQUNYO2lCQUNKO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIsIEFYUEZpbGVUeXBlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgQVhNQ29kZUZpbGVUeXBlUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBGaWxlVHlwZUluZm9Qcm92aWRlciB7XG4gICAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBGaWxlVHlwZVtdPiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2NvZGUnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQ29kZScsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtY29kZSBheC10ZXh0LWJsdWUtNTAwJyxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdqcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0phdmFTY3JpcHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtY29kZSBheC10ZXh0LXllbGxvdy01MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0cycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1R5cGVTY3JpcHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtY29kZSBheC10ZXh0LWJsdWUtNjAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaHRtbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0hUTUwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtY29kZSBheC10ZXh0LW9yYW5nZS02MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDU1MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtY29kZSBheC10ZXh0LXBpbmstNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0pTT04nLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtY29kZSBheC10ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3htbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1hNTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1jb2RlIGF4LXRleHQtZ3JlZW4tNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGE6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdQeXRob24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtY29kZSBheC10ZXh0LXllbGxvdy01MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdqYXZhJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnSmF2YScsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1jb2RlIGF4LXRleHQtcmVkLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NwcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0MrKycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1jb2RlIGF4LXRleHQtYmx1ZS01MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YTogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0MjJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWNvZGUgYXgtdGV4dC1ibHVlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG59ICJdfQ==","import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMFileTypeExtensionWidgetColumnComponent extends AXPValueWidgetComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.12\", type: AXMFileTypeExtensionWidgetColumnComponent, isStandalone: true, selector: \"ng-component\", inputs: { rawValue: \"rawValue\" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetColumnComponent, decorators: [{\n type: Component,\n args: [{\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n inputs: ['rawValue'],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLWV4dGVuc2lvbi1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9maWxlLXR5cGUvd2lkZ2V0cy9maWxlLXR5cGUtZXh0ZW5zaW9uL2ZpbGUtdHlwZS1leHRlbnNpb24tY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFuRSxNQUFNLE9BQU8seUNBQTBDLFNBQVEsdUJBQTRCOytHQUE5RSx5Q0FBeUM7bUdBQXpDLHlDQUF5QyxpSUFMMUMsRUFBRTs7NEZBS0QseUNBQXlDO2tCQU5yRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsRUFBRTtvQkFDWCxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQVmFsdWVXaWRnZXRDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtdLFxuICBpbnB1dHM6IFsncmF3VmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRmlsZVR5cGVFeHRlbnNpb25XaWRnZXRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudDxhbnk+IHsgfVxuIl19","import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMFileTypeExtensionWidgetDesignerComponent extends AXPValueWidgetComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.12\", type: AXMFileTypeExtensionWidgetDesignerComponent, isStandalone: true, selector: \"ng-component\", inputs: { rawValue: \"rawValue\" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetDesignerComponent, decorators: [{\n type: Component,\n args: [{\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n inputs: ['rawValue'],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLWV4dGVuc2lvbi1kZXNpZ25lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2ZpbGUtdHlwZS93aWRnZXRzL2ZpbGUtdHlwZS1leHRlbnNpb24vZmlsZS10eXBlLWV4dGVuc2lvbi1kZXNpZ25lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbkUsTUFBTSxPQUFPLDJDQUE0QyxTQUFRLHVCQUE0QjsrR0FBaEYsMkNBQTJDO21HQUEzQywyQ0FBMkMsaUlBTDVDLEVBQUU7OzRGQUtELDJDQUEyQztrQkFOdkQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFZhbHVlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXSxcbiAgaW5wdXRzOiBbJ3Jhd1ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUZpbGVUeXBlRXh0ZW5zaW9uV2lkZ2V0RGVzaWduZXJDb21wb25lbnQgZXh0ZW5kcyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudDxhbnk+IHsgfVxuIl19","import { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPFileTypeProviderService } from '@acorex/platform/common';\nimport { AXPWidgetCoreModule, AXPValueWidgetComponent, } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/select-box\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/form\";\nimport * as i4 from \"@acorex/components/label\";\nimport * as i5 from \"@acorex/components/decorators\";\nimport * as i6 from \"@acorex/platform/layout/widget-core\";\nimport * as i7 from \"@acorex/components/collapse\";\nexport class AXMFileTypeExtensionWidgetEditComponent extends AXPValueWidgetComponent {\n constructor() {\n super(...arguments);\n this.fileTypeService = inject(AXPFileTypeProviderService);\n this.dataSource = new AXDataSource({\n load: async (_) => {\n try {\n const res = await this.fileTypeService.items();\n const types = res\n .map((item) => {\n const { meta, extensions, ...rest } = item;\n return extensions.map((ext) => {\n const { meta, ...extRest } = ext;\n return {\n ...rest,\n ...extRest,\n name: `${item.name}.${ext.name}`,\n title: `${item.title}/${ext.title}`,\n };\n });\n })\n .flat();\n return {\n items: types,\n total: types.length,\n };\n }\n catch (e) {\n console.log(e);\n }\n return {\n items: [],\n total: 0,\n };\n },\n pageSize: 100,\n });\n this.selectedItems = signal(this.getValue()?.selectedItems ?? [], ...(ngDevMode ? [{ debugName: \"selectedItems\" }] : []));\n this.context = signal(this.getValue()?.context ?? {}, ...(ngDevMode ? [{ debugName: \"context\" }] : []));\n }\n ngOnInit() {\n super.ngOnInit();\n this.selectedItems.set(this.getValue()?.selectedItems ?? []);\n this.context.set(this.getValue()?.context ?? {});\n }\n outputs() {\n return ['selectedItems', 'context'];\n }\n handleOnContextChange(e) {\n this.context.set(e.data);\n this.setValue({ ...this.getValue(), context: e.data });\n }\n async handleValueChange(e) {\n const selectItems = e.component.selectedItems;\n this.setValue({ ...this.getValue(), selectedItems: selectItems });\n const result = {};\n for (const item of selectItems) {\n const type = item.name.split('.')[0];\n const ext = item.name.split('.')[1];\n var fileType = await this.fileTypeService.get(type);\n if (fileType != undefined) {\n const extension = fileType.extensions.find((extension) => extension.name == ext) || { name: ext, title: '' };\n if (extension.meta) {\n for (const meta of extension.meta) {\n if (!get(meta, '__node__')) {\n set(meta, '__node__', typeof meta.interface == 'function' ? await meta.interface() : meta.interface);\n }\n }\n }\n if (fileType.meta) {\n for (const meta of fileType.meta) {\n if (!get(meta, '__node__')) {\n set(meta, '__node__', typeof meta.interface == 'function' ? await meta.interface() : meta.interface);\n }\n }\n }\n if (result[type]) {\n result[type] = {\n ...fileType,\n extensions: [...result[type].extensions, extension],\n };\n }\n else {\n result[type] = {\n ...fileType,\n extensions: [extension],\n };\n }\n }\n }\n this.selectedItems.set(Object.values(result));\n }\n getNode(meta) {\n return get(meta, '__node__');\n }\n filedIsRequired(meta) {\n const node = get(meta, '__node__');\n if (node && node.options && node.options.validations) {\n return node.options.validations.some((validation) => validation.rule === 'required');\n }\n return false;\n }\n hasMetaInExtensions(extensions) {\n return extensions.some((ext) => ext.meta && ext.meta.length > 0);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMFileTypeExtensionWidgetEditComponent, isStandalone: true, selector: \"ng-component\", usesInheritance: true, ngImport: i0, template: ` <div>\n <ax-select-box\n #dd\n [dataSource]=\"dataSource\"\n valueField=\"name\"\n textField=\"title\"\n [multiple]=\"true\"\n [ngModel]=\"getValue()?.selectedItems\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n </ax-select-box>\n <div class=\"ax-py-3\"></div>\n <axp-widgets-container (onContextChanged)=\"handleOnContextChange($event)\" [context]=\"context()\">\n @if (selectedItems().length > 0) {\n <ax-collapse-group look=\"fill\">\n @for (item of selectedItems(); track item.name) {\n <!-- File Types -->\n <ax-collapse [caption]=\"item.title\">\n <div class=\"ax-flex ax-flex-col ax-gap-5\">\n @if (item.meta && item.meta.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <ax-text [textContent]=\"'Global Meta Data'\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n @for (metaFile of item.meta; track metaFile.name) {\n <!-- File Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(metaFile)\">{{ metaFile.title }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"getNode(metaFile)\" [mode]=\"'edit'\"></ng-container>\n </ax-form-field>\n }\n </div>\n }\n @if (item.extensions && item.extensions.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-3\">\n @for (ext of item.extensions; track ext.name) {\n <!-- Extensions -->\n @if (ext.meta && ext.meta.length > 0) {\n <ax-text [textContent]=\"ext.title\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n @for (extMeta of ext.meta; track $index) {\n <!-- Extension Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(extMeta)\">{{ extMeta.title }}</ax-label>\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(extMeta)\"\n [mode]=\"'edit'\"\n ></ng-container>\n </ax-form-field>\n }\n </div>\n }\n <!-- End Extension Meta Data -->\n }\n </div>\n <!-- End Extensions -->\n }\n </div>\n </ax-collapse>\n }\n <!-- End File Types -->\n </ax-collapse-group>\n }\n </axp-widgets-container>\n </div>`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i1.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"itemHeight\", \"maxVisibleItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i3.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i4.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i5.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXPWidgetCoreModule }, { kind: \"component\", type: i6.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i6.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i7.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i7.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetEditComponent, decorators: [{\n type: Component,\n args: [{\n template: ` <div>\n <ax-select-box\n #dd\n [dataSource]=\"dataSource\"\n valueField=\"name\"\n textField=\"title\"\n [multiple]=\"true\"\n [ngModel]=\"getValue()?.selectedItems\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n </ax-select-box>\n <div class=\"ax-py-3\"></div>\n <axp-widgets-container (onContextChanged)=\"handleOnContextChange($event)\" [context]=\"context()\">\n @if (selectedItems().length > 0) {\n <ax-collapse-group look=\"fill\">\n @for (item of selectedItems(); track item.name) {\n <!-- File Types -->\n <ax-collapse [caption]=\"item.title\">\n <div class=\"ax-flex ax-flex-col ax-gap-5\">\n @if (item.meta && item.meta.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <ax-text [textContent]=\"'Global Meta Data'\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n @for (metaFile of item.meta; track metaFile.name) {\n <!-- File Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(metaFile)\">{{ metaFile.title }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"getNode(metaFile)\" [mode]=\"'edit'\"></ng-container>\n </ax-form-field>\n }\n </div>\n }\n @if (item.extensions && item.extensions.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-3\">\n @for (ext of item.extensions; track ext.name) {\n <!-- Extensions -->\n @if (ext.meta && ext.meta.length > 0) {\n <ax-text [textContent]=\"ext.title\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n @for (extMeta of ext.meta; track $index) {\n <!-- Extension Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(extMeta)\">{{ extMeta.title }}</ax-label>\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(extMeta)\"\n [mode]=\"'edit'\"\n ></ng-container>\n </ax-form-field>\n }\n </div>\n }\n <!-- End Extension Meta Data -->\n }\n </div>\n <!-- End Extensions -->\n }\n </div>\n </ax-collapse>\n }\n <!-- End File Types -->\n </ax-collapse-group>\n }\n </axp-widgets-container>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AXSelectBoxModule,\n FormsModule,\n AXFormModule,\n AXLabelModule,\n AXDecoratorModule,\n AXPWidgetCoreModule,\n AXCollapseModule\n ],\n inputs: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLWV4dGVuc2lvbi1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZmlsZS10eXBlL3dpZGdldHMvZmlsZS10eXBlLWV4dGVuc2lvbi9maWxlLXR5cGUtZXh0ZW5zaW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEYsT0FBTyxFQUFlLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUNMLG1CQUFtQixFQUVuQix1QkFBdUIsR0FFeEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQztBQUNoQyxPQUFPLEdBQUcsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQStFaEMsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLHVCQUE0QjtJQTdFekY7O1FBOEVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDckQsZUFBVSxHQUFHLElBQUksWUFBWSxDQUFVO1lBQy9DLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQztvQkFDSCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQy9DLE1BQU0sS0FBSyxHQUFHLEdBQUc7eUJBQ2QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ1osTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7d0JBQzNDLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFOzRCQUM1QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDOzRCQUNqQyxPQUFPO2dDQUNMLEdBQUcsSUFBSTtnQ0FDUCxHQUFHLE9BQU87Z0NBQ1YsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFO2dDQUNoQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7NkJBQ3BDLENBQUM7d0JBQ0osQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDO3lCQUNELElBQUksRUFBRSxDQUFDO29CQUVWLE9BQU87d0JBQ0wsS0FBSyxFQUFFLEtBQUs7d0JBQ1osS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNO3FCQUNwQixDQUFDO2dCQUNKLENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixDQUFDO2dCQUNELE9BQU87b0JBQ0wsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1QsQ0FBQztZQUNKLENBQUM7WUFDRCxRQUFRLEVBQUUsR0FBRztTQUNkLENBQUMsQ0FBQztRQUVJLGtCQUFhLEdBQUcsTUFBTSxDQUFnQixJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxJQUFJLEVBQUUseURBQUMsQ0FBQztRQUM1RSxZQUFPLEdBQUcsTUFBTSxDQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLElBQUksRUFBRSxtREFBQyxDQUFDO0tBMEU5RDtJQXhFVSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRWtCLE9BQU87UUFDeEIsT0FBTyxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRVMscUJBQXFCLENBQUMsQ0FBa0M7UUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVTLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFzQjtRQUN0RCxNQUFNLFdBQVcsR0FBSSxDQUFDLENBQUMsU0FBa0MsQ0FBQyxhQUE4QixDQUFDO1FBQ3pGLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVsRSxNQUFNLE1BQU0sR0FBbUMsRUFBRSxDQUFDO1FBQ2xELEtBQUssTUFBTSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDN0csSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ25CLEtBQUssTUFBTSxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDOzRCQUMzQixHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUN2RyxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDbEIsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7NEJBQzNCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ3ZHLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRzt3QkFDYixHQUFHLFFBQVE7d0JBQ1gsVUFBVSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQztxQkFDcEQsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHO3dCQUNiLEdBQUcsUUFBUTt3QkFDWCxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7cUJBQ3hCLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFUyxPQUFPLENBQUMsSUFBUztRQUN6QixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLGVBQWUsQ0FBQyxJQUFTO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBZSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxVQUFpQjtRQUM3QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQzsrR0E5R1UsdUNBQXVDO21HQUF2Qyx1Q0FBdUMsK0ZBNUV4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBK0RILDJEQUdMLGlCQUFpQixndUJBQ2pCLFdBQVcsOFZBQ1gsWUFBWSxzSUFDWixhQUFhLGdLQUNiLGlCQUFpQixxUEFDakIsbUJBQW1CLDhaQUNuQixnQkFBZ0I7OzRGQUlQLHVDQUF1QztrQkE3RW5ELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0ErREg7b0JBQ1AsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ25CO29CQUNDLE1BQU0sRUFBRSxFQUFFO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xsYXBzZSc7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94Q29tcG9uZW50LCBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYUEZpbGVUeXBlLCBBWFBGaWxlVHlwZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUFdpZGdldENvcmVNb2R1bGUsXG4gIEFYUFdpZGdldENvcmVDb250ZXh0Q2hhbmdlRXZlbnQsXG4gIEFYUFZhbHVlV2lkZ2V0Q29tcG9uZW50LFxuICBBWFBXaWRnZXROb2RlLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoLWVzL2dldCc7XG5pbXBvcnQgc2V0IGZyb20gJ2xvZGFzaC1lcy9zZXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGAgPGRpdj5cbiAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgI2RkXG4gICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICAgIHZhbHVlRmllbGQ9XCJuYW1lXCJcbiAgICAgIHRleHRGaWVsZD1cInRpdGxlXCJcbiAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcbiAgICAgIFtuZ01vZGVsXT1cImdldFZhbHVlKCk/LnNlbGVjdGVkSXRlbXNcIlxuICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgPGRpdiBjbGFzcz1cImF4LXB5LTNcIj48L2Rpdj5cbiAgICA8YXhwLXdpZGdldHMtY29udGFpbmVyIChvbkNvbnRleHRDaGFuZ2VkKT1cImhhbmRsZU9uQ29udGV4dENoYW5nZSgkZXZlbnQpXCIgW2NvbnRleHRdPVwiY29udGV4dCgpXCI+XG4gICAgICBAaWYgKHNlbGVjdGVkSXRlbXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxheC1jb2xsYXBzZS1ncm91cCBsb29rPVwiZmlsbFwiPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtcygpOyB0cmFjayBpdGVtLm5hbWUpIHtcbiAgICAgICAgICAgIDwhLS0gRmlsZSBUeXBlcyAtLT5cbiAgICAgICAgICAgIDxheC1jb2xsYXBzZSBbY2FwdGlvbl09XCJpdGVtLnRpdGxlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC01XCI+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLm1ldGEgJiYgaXRlbS5tZXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC10ZXh0IFt0ZXh0Q29udGVudF09XCInR2xvYmFsIE1ldGEgRGF0YSdcIiBjbGFzcz1cImF4LWZvbnQtYm9sZCBheC10ZXh0LXNtXCI+PC9heC10ZXh0PlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChtZXRhRmlsZSBvZiBpdGVtLm1ldGE7IHRyYWNrIG1ldGFGaWxlLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIEZpbGUgTWV0YSBEYXRhIC0tPlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxhYmVsIFtyZXF1aXJlZF09XCJmaWxlZElzUmVxdWlyZWQobWV0YUZpbGUpXCI+e3sgbWV0YUZpbGUudGl0bGUgfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBheHAtd2lkZ2V0LXJlbmRlcmVyIFtub2RlXT1cImdldE5vZGUobWV0YUZpbGUpXCIgW21vZGVdPVwiJ2VkaXQnXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmV4dGVuc2lvbnMgJiYgaXRlbS5leHRlbnNpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGV4dCBvZiBpdGVtLmV4dGVuc2lvbnM7IHRyYWNrIGV4dC5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBFeHRlbnNpb25zIC0tPlxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZXh0Lm1ldGEgJiYgZXh0Lm1ldGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXRleHQgW3RleHRDb250ZW50XT1cImV4dC50aXRsZVwiIGNsYXNzPVwiYXgtZm9udC1ib2xkIGF4LXRleHQtc21cIj48L2F4LXRleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChleHRNZXRhIG9mIGV4dC5tZXRhOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEV4dGVuc2lvbiBNZXRhIERhdGEgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWwgW3JlcXVpcmVkXT1cImZpbGVkSXNSZXF1aXJlZChleHRNZXRhKVwiPnt7IGV4dE1ldGEudGl0bGUgfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBheHAtd2lkZ2V0LXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2RlXT1cImdldE5vZGUoZXh0TWV0YSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCInZWRpdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRW5kIEV4dGVuc2lvbiBNZXRhIERhdGEgLS0+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPCEtLSBFbmQgRXh0ZW5zaW9ucyAtLT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9heC1jb2xsYXBzZT5cbiAgICAgICAgICB9XG4gICAgICAgICAgPCEtLSBFbmQgRmlsZSBUeXBlcyAtLT5cbiAgICAgICAgPC9heC1jb2xsYXBzZS1ncm91cD5cbiAgICAgIH1cbiAgICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiAgPC9kaXY+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWFBXaWRnZXRDb3JlTW9kdWxlLFxuICAgIEFYQ29sbGFwc2VNb2R1bGVcbl0sXG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUZpbGVUeXBlRXh0ZW5zaW9uV2lkZ2V0RWRpdENvbXBvbmVudCBleHRlbmRzIEFYUFZhbHVlV2lkZ2V0Q29tcG9uZW50PGFueT4ge1xuICBwcm90ZWN0ZWQgZmlsZVR5cGVTZXJ2aWNlID0gaW5qZWN0KEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGRhdGFTb3VyY2UgPSBuZXcgQVhEYXRhU291cmNlPHVua25vd24+KHtcbiAgICBsb2FkOiBhc3luYyAoXykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5maWxlVHlwZVNlcnZpY2UuaXRlbXMoKTtcbiAgICAgICAgY29uc3QgdHlwZXMgPSByZXNcbiAgICAgICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IG1ldGEsIGV4dGVuc2lvbnMsIC4uLnJlc3QgfSA9IGl0ZW07XG4gICAgICAgICAgICByZXR1cm4gZXh0ZW5zaW9ucy5tYXAoKGV4dCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IG1ldGEsIC4uLmV4dFJlc3QgfSA9IGV4dDtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5yZXN0LFxuICAgICAgICAgICAgICAgIC4uLmV4dFJlc3QsXG4gICAgICAgICAgICAgICAgbmFtZTogYCR7aXRlbS5uYW1lfS4ke2V4dC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGAke2l0ZW0udGl0bGV9LyR7ZXh0LnRpdGxlfWAsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5mbGF0KCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpdGVtczogdHlwZXMsXG4gICAgICAgICAgdG90YWw6IHR5cGVzLmxlbmd0aCxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpdGVtczogW10sXG4gICAgICAgIHRvdGFsOiAwLFxuICAgICAgfTtcbiAgICB9LFxuICAgIHBhZ2VTaXplOiAxMDAsXG4gIH0pO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zID0gc2lnbmFsPEFYUEZpbGVUeXBlW10+KHRoaXMuZ2V0VmFsdWUoKT8uc2VsZWN0ZWRJdGVtcyA/PyBbXSk7XG4gIHB1YmxpYyBjb250ZXh0ID0gc2lnbmFsPGFueT4odGhpcy5nZXRWYWx1ZSgpPy5jb250ZXh0ID8/IHt9KTtcblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zZXQodGhpcy5nZXRWYWx1ZSgpPy5zZWxlY3RlZEl0ZW1zID8/IFtdKTtcbiAgICB0aGlzLmNvbnRleHQuc2V0KHRoaXMuZ2V0VmFsdWUoKT8uY29udGV4dCA/PyB7fSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb3V0cHV0cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnc2VsZWN0ZWRJdGVtcycsICdjb250ZXh0J107XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25Db250ZXh0Q2hhbmdlKGU6IEFYUFdpZGdldENvcmVDb250ZXh0Q2hhbmdlRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRleHQuc2V0KGUuZGF0YSk7XG4gICAgdGhpcy5zZXRWYWx1ZSh7IC4uLnRoaXMuZ2V0VmFsdWUoKSwgY29udGV4dDogZS5kYXRhIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVZhbHVlQ2hhbmdlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICBjb25zdCBzZWxlY3RJdGVtcyA9IChlLmNvbXBvbmVudCBhcyBBWFNlbGVjdEJveENvbXBvbmVudCkuc2VsZWN0ZWRJdGVtcyBhcyBBWFBGaWxlVHlwZVtdO1xuICAgIHRoaXMuc2V0VmFsdWUoeyAuLi50aGlzLmdldFZhbHVlKCksIHNlbGVjdGVkSXRlbXM6IHNlbGVjdEl0ZW1zIH0pO1xuXG4gICAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IEFYUEZpbGVUeXBlIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc2VsZWN0SXRlbXMpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBpdGVtLm5hbWUuc3BsaXQoJy4nKVswXTtcbiAgICAgIGNvbnN0IGV4dCA9IGl0ZW0ubmFtZS5zcGxpdCgnLicpWzFdO1xuICAgICAgdmFyIGZpbGVUeXBlID0gYXdhaXQgdGhpcy5maWxlVHlwZVNlcnZpY2UuZ2V0KHR5cGUpO1xuICAgICAgaWYgKGZpbGVUeXBlICE9IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlVHlwZS5leHRlbnNpb25zLmZpbmQoKGV4dGVuc2lvbikgPT4gZXh0ZW5zaW9uLm5hbWUgPT0gZXh0KSB8fCB7IG5hbWU6IGV4dCwgdGl0bGU6ICcnIH07XG4gICAgICAgIGlmIChleHRlbnNpb24ubWV0YSkge1xuICAgICAgICAgIGZvciAoY29uc3QgbWV0YSBvZiBleHRlbnNpb24ubWV0YSkge1xuICAgICAgICAgICAgaWYgKCFnZXQobWV0YSwgJ19fbm9kZV9fJykpIHtcbiAgICAgICAgICAgICAgc2V0KG1ldGEsICdfX25vZGVfXycsIHR5cGVvZiBtZXRhLmludGVyZmFjZSA9PSAnZnVuY3Rpb24nID8gYXdhaXQgbWV0YS5pbnRlcmZhY2UoKSA6IG1ldGEuaW50ZXJmYWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbGVUeXBlLm1ldGEpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG1ldGEgb2YgZmlsZVR5cGUubWV0YSkge1xuICAgICAgICAgICAgaWYgKCFnZXQobWV0YSwgJ19fbm9kZV9fJykpIHtcbiAgICAgICAgICAgICAgc2V0KG1ldGEsICdfX25vZGVfXycsIHR5cGVvZiBtZXRhLmludGVyZmFjZSA9PSAnZnVuY3Rpb24nID8gYXdhaXQgbWV0YS5pbnRlcmZhY2UoKSA6IG1ldGEuaW50ZXJmYWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdFt0eXBlXSkge1xuICAgICAgICAgIHJlc3VsdFt0eXBlXSA9IHtcbiAgICAgICAgICAgIC4uLmZpbGVUeXBlLFxuICAgICAgICAgICAgZXh0ZW5zaW9uczogWy4uLnJlc3VsdFt0eXBlXS5leHRlbnNpb25zLCBleHRlbnNpb25dLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0W3R5cGVdID0ge1xuICAgICAgICAgICAgLi4uZmlsZVR5cGUsXG4gICAgICAgICAgICBleHRlbnNpb25zOiBbZXh0ZW5zaW9uXSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNldChPYmplY3QudmFsdWVzKHJlc3VsdCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE5vZGUobWV0YTogYW55KTogQVhQV2lkZ2V0Tm9kZSB7XG4gICAgcmV0dXJuIGdldChtZXRhLCAnX19ub2RlX18nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWxlZElzUmVxdWlyZWQobWV0YTogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgbm9kZSA9IGdldChtZXRhLCAnX19ub2RlX18nKTtcbiAgICBpZiAobm9kZSAmJiBub2RlLm9wdGlvbnMgJiYgbm9kZS5vcHRpb25zLnZhbGlkYXRpb25zKSB7XG4gICAgICByZXR1cm4gbm9kZS5vcHRpb25zLnZhbGlkYXRpb25zLnNvbWUoKHZhbGlkYXRpb246IGFueSkgPT4gdmFsaWRhdGlvbi5ydWxlID09PSAncmVxdWlyZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhc01ldGFJbkV4dGVuc2lvbnMoZXh0ZW5zaW9uczogYW55W10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXh0ZW5zaW9ucy5zb21lKChleHQpID0+IGV4dC5tZXRhICYmIGV4dC5tZXRhLmxlbmd0aCA+IDApO1xuICB9XG59XG4iXX0=","import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMFileTypeExtensionWidgetViewComponent extends AXPValueWidgetComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.12\", type: AXMFileTypeExtensionWidgetViewComponent, isStandalone: true, selector: \"ng-component\", inputs: { rawValue: \"rawValue\" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeExtensionWidgetViewComponent, decorators: [{\n type: Component,\n args: [{\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n inputs: ['rawValue'],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLWV4dGVuc2lvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZmlsZS10eXBlL3dpZGdldHMvZmlsZS10eXBlLWV4dGVuc2lvbi9maWxlLXR5cGUtZXh0ZW5zaW9uLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUW5FLE1BQU0sT0FBTyx1Q0FBd0MsU0FBUSx1QkFBNEI7K0dBQTVFLHVDQUF1QzttR0FBdkMsdUNBQXVDLGlJQUx4QyxFQUFFOzs0RkFLRCx1Q0FBdUM7a0JBTm5ELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxFQUFFO29CQUNYLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW10sXG4gIGlucHV0czogWydyYXdWYWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1GaWxlVHlwZUV4dGVuc2lvbldpZGdldFZpZXdDb21wb25lbnQgZXh0ZW5kcyBBWFBWYWx1ZVdpZGdldENvbXBvbmVudDxhbnk+IHsgfVxuIl19","import { AXP_WIDGETS_ADVANCE_CATEGORY } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/layout/widgets';\nexport const AXmFileTypeExtensionWidget = {\n name: 'file-type-extension',\n title: 'File Type Extension',\n description: 'Uploads and manages files',\n icon: 'fa-light fa-files',\n categories: AXP_WIDGETS_ADVANCE_CATEGORY,\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n view: {\n component: () => import('./file-type-extension-view.component').then((c) => c.AXMFileTypeExtensionWidgetViewComponent),\n },\n edit: {\n component: () => import('./file-type-extension-edit.component').then((c) => c.AXMFileTypeExtensionWidgetEditComponent),\n },\n // filter: {\n // component: () => import('./file-type-extension-filter.component').then((c) => c.AXPFileBoxWidgetFilterComponent),\n // },\n column: {\n component: () => import('./file-type-extension-column.component').then((c) => c.AXMFileTypeExtensionWidgetColumnComponent),\n },\n // print: {\n // component: () => import('./file-type-extension-print.component').then((c) => c.AXPFileBoxWidgetPrintComponent),\n // },\n designer: {\n component: () => import('./file-type-extension-edit.component').then((c) => c.AXMFileTypeExtensionWidgetEditComponent),\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLWV4dGVuc2lvbi13aWRnZXQuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9maWxlLXR5cGUvd2lkZ2V0cy9maWxlLXR5cGUtZXh0ZW5zaW9uL2ZpbGUtdHlwZS1leHRlbnNpb24td2lkZ2V0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQW1CLE1BQU0scUNBQXFDLENBQUM7QUFDcEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQW9CO0lBQ3pELElBQUksRUFBRSxxQkFBcUI7SUFDM0IsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLElBQUksRUFBRSxtQkFBbUI7SUFDekIsVUFBVSxFQUFFLDRCQUE0QjtJQUN4QyxJQUFJLEVBQUUsUUFBUTtJQUNkLFVBQVUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHNCQUFzQixDQUFDO0lBQ3ZELFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FDZCxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQztTQUN4RztRQUNELElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FDZCxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQztTQUN4RztRQUNELFlBQVk7UUFDWixzSEFBc0g7UUFDdEgsS0FBSztRQUNMLE1BQU0sRUFBRTtZQUNOLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FDZCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx5Q0FBeUMsQ0FBQztTQUM1RztRQUNELFdBQVc7UUFDWCxvSEFBb0g7UUFDcEgsS0FBSztRQUNMLFFBQVEsRUFBRTtZQUNSLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FDZCxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQztTQUN4RztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9XSURHRVRTX0FEVkFOQ0VfQ0FURUdPUlksIEFYUFdpZGdldENvbmZpZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcbmltcG9ydCB7IEFYUF9EQVRBX1BBVEhfUFJPUEVSVFksIEFYUF9OQU1FX1BST1BFUlRZIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0cyc7XG5cbmV4cG9ydCBjb25zdCBBWG1GaWxlVHlwZUV4dGVuc2lvbldpZGdldDogQVhQV2lkZ2V0Q29uZmlnID0ge1xuICBuYW1lOiAnZmlsZS10eXBlLWV4dGVuc2lvbicsXG4gIHRpdGxlOiAnRmlsZSBUeXBlIEV4dGVuc2lvbicsXG4gIGRlc2NyaXB0aW9uOiAnVXBsb2FkcyBhbmQgbWFuYWdlcyBmaWxlcycsXG4gIGljb246ICdmYS1saWdodCBmYS1maWxlcycsXG4gIGNhdGVnb3JpZXM6IEFYUF9XSURHRVRTX0FEVkFOQ0VfQ0FURUdPUlksXG4gIHR5cGU6ICdlZGl0b3InLFxuICBwcm9wZXJ0aWVzOiBbQVhQX05BTUVfUFJPUEVSVFksIEFYUF9EQVRBX1BBVEhfUFJPUEVSVFldLFxuICBjb21wb25lbnRzOiB7XG4gICAgdmlldzoge1xuICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICBpbXBvcnQoJy4vZmlsZS10eXBlLWV4dGVuc2lvbi12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhNRmlsZVR5cGVFeHRlbnNpb25XaWRnZXRWaWV3Q29tcG9uZW50KSxcbiAgICB9LFxuICAgIGVkaXQ6IHtcbiAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgaW1wb3J0KCcuL2ZpbGUtdHlwZS1leHRlbnNpb24tZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYTUZpbGVUeXBlRXh0ZW5zaW9uV2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgfSxcbiAgICAvLyBmaWx0ZXI6IHtcbiAgICAvLyAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2ZpbGUtdHlwZS1leHRlbnNpb24tZmlsdGVyLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQRmlsZUJveFdpZGdldEZpbHRlckNvbXBvbmVudCksXG4gICAgLy8gfSxcbiAgICBjb2x1bW46IHtcbiAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgaW1wb3J0KCcuL2ZpbGUtdHlwZS1leHRlbnNpb24tY29sdW1uLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhNRmlsZVR5cGVFeHRlbnNpb25XaWRnZXRDb2x1bW5Db21wb25lbnQpLFxuICAgIH0sXG4gICAgLy8gcHJpbnQ6IHtcbiAgICAvLyAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2ZpbGUtdHlwZS1leHRlbnNpb24tcHJpbnQuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBGaWxlQm94V2lkZ2V0UHJpbnRDb21wb25lbnQpLFxuICAgIC8vIH0sXG4gICAgZGVzaWduZXI6IHtcbiAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgaW1wb3J0KCcuL2ZpbGUtdHlwZS1leHRlbnNpb24tZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYTUZpbGVUeXBlRXh0ZW5zaW9uV2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgfSxcbiAgfSxcbn07XG5cbmRlY2xhcmUgbW9kdWxlICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZScge1xuICBpbnRlcmZhY2UgQVhQV2lkZ2V0VHlwZXNNYXAge1xuICAgIGZpbGVUeXBlRXh0ZW5zaW9uOiAnZmlsZS10eXBlLWV4dGVuc2lvbic7XG4gIH1cbn1cbiJdfQ==","import { AXP_FILE_TYPE_INFO_PROVIDER } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXMArchiveFileTypeProvider, AXMAudioFileTypeProvider, AXMCodeFileTypeProvider, AXMDocumentFileTypeProvider, AXMImageFileTypeProvider, AXMVideoFileTypeProvider, } from './providers';\nimport * as i0 from \"@angular/core\";\nexport class AXMFileTypeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeModule, providers: [\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMImageFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMVideoFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMDocumentFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMAudioFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMCodeFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMArchiveFileTypeProvider,\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileTypeModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMImageFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMVideoFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMDocumentFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMAudioFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMCodeFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMArchiveFileTypeProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZmlsZS10eXBlL2ZpbGUtdHlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUN4Qix3QkFBd0IsR0FDM0IsTUFBTSxhQUFhLENBQUM7O0FBb0NyQixNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGFBakNmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNJLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDSSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxLQUFLLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNJLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDSSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0o7OzRGQUVRLGlCQUFpQjtrQkFsQzdCLFFBQVE7bUJBQUM7b0JBQ04sU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSwyQkFBMkI7NEJBQ3JDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSx1QkFBdUI7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSwwQkFBMEI7NEJBQ3BDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX0ZJTEVfVFlQRV9JTkZPX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQVhNQXJjaGl2ZUZpbGVUeXBlUHJvdmlkZXIsXG4gICAgQVhNQXVkaW9GaWxlVHlwZVByb3ZpZGVyLFxuICAgIEFYTUNvZGVGaWxlVHlwZVByb3ZpZGVyLFxuICAgIEFYTURvY3VtZW50RmlsZVR5cGVQcm92aWRlcixcbiAgICBBWE1JbWFnZUZpbGVUeXBlUHJvdmlkZXIsXG4gICAgQVhNVmlkZW9GaWxlVHlwZVByb3ZpZGVyLFxufSBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYUF9GSUxFX1RZUEVfSU5GT19QUk9WSURFUixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBBWE1JbWFnZUZpbGVUeXBlUHJvdmlkZXIsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhQX0ZJTEVfVFlQRV9JTkZPX1BST1ZJREVSLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTVZpZGVvRmlsZVR5cGVQcm92aWRlcixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWFBfRklMRV9UWVBFX0lORk9fUFJPVklERVIsXG4gICAgICAgICAgICB1c2VDbGFzczogQVhNRG9jdW1lbnRGaWxlVHlwZVByb3ZpZGVyLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYUF9GSUxFX1RZUEVfSU5GT19QUk9WSURFUixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBBWE1BdWRpb0ZpbGVUeXBlUHJvdmlkZXIsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhQX0ZJTEVfVFlQRV9JTkZPX1BST1ZJREVSLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTUNvZGVGaWxlVHlwZVByb3ZpZGVyLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYUF9GSUxFX1RZUEVfSU5GT19QUk9WSURFUixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBBWE1BcmNoaXZlRmlsZVR5cGVQcm92aWRlcixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUZpbGVUeXBlTW9kdWxlIHsgfSAiXX0=","import { inject, Injectable, signal } from '@angular/core';\nimport { AXMDocumentService } from './entities';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentReviewBadgeProvider {\n constructor() {\n this.documentReviewService = inject(AXMDocumentService);\n this.count = signal(0, ...(ngDevMode ? [{ debugName: \"count\" }] : []));\n this.key = 'review-badge';\n this.getCount();\n }\n async getCount() {\n // Base filter for requiresReview\n const baseFilters = [\n {\n field: 'documentType.requiresReview',\n operator: { type: 'equal' },\n value: true,\n },\n {\n field: 'status',\n operator: { type: 'equal' },\n value: 'PendingReview',\n },\n ];\n const x = await this.documentReviewService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: baseFilters,\n },\n });\n this.count.set(x.total);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentReviewBadgeProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentReviewBadgeProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentReviewBadgeProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2JhZGdlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sWUFBWSxDQUFDOztBQUdsRSxNQUFNLE9BQU8sOEJBQThCO0lBS3pDO1FBSlEsMEJBQXFCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0QsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLGlEQUFDLENBQUM7UUFDbEIsUUFBRyxHQUFHLGNBQWMsQ0FBQztRQUduQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osaUNBQWlDO1FBQ2pDLE1BQU0sV0FBVyxHQUErQjtZQUM5QztnQkFDRSxLQUFLLEVBQUUsNkJBQTZCO2dCQUNwQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBZ0IsRUFBRTtnQkFDcEMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFnQixFQUFFO2dCQUNwQyxLQUFLLEVBQUUsZUFBZTthQUN2QjtTQUNGLENBQUM7UUFFRixNQUFNLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7WUFDL0MsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsS0FBSztnQkFDWixPQUFPLEVBQUUsV0FBVzthQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQWxDVSw4QkFBOEI7bUhBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBUYXNrQmFkZ2VQcm92aWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTURvY3VtZW50U2VydmljZSwgQVhNUmV2aWV3U2VydmljZSB9IGZyb20gJy4vZW50aXRpZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnRSZXZpZXdCYWRnZVByb3ZpZGVyIGltcGxlbWVudHMgQVhQVGFza0JhZGdlUHJvdmlkZXIge1xuICBwcml2YXRlIGRvY3VtZW50UmV2aWV3U2VydmljZSA9IGluamVjdChBWE1Eb2N1bWVudFNlcnZpY2UpO1xuICBjb3VudCA9IHNpZ25hbCgwKTtcbiAga2V5ID0gJ3Jldmlldy1iYWRnZSc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5nZXRDb3VudCgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q291bnQoKSB7XG4gICAgLy8gQmFzZSBmaWx0ZXIgZm9yIHJlcXVpcmVzUmV2aWV3XG4gICAgY29uc3QgYmFzZUZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbltdID0gW1xuICAgICAge1xuICAgICAgICBmaWVsZDogJ2RvY3VtZW50VHlwZS5yZXF1aXJlc1JldmlldycsXG4gICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgYXMgY29uc3QgfSxcbiAgICAgICAgdmFsdWU6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogJ3N0YXR1cycsXG4gICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgYXMgY29uc3QgfSxcbiAgICAgICAgdmFsdWU6ICdQZW5kaW5nUmV2aWV3JyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHggPSBhd2FpdCB0aGlzLmRvY3VtZW50UmV2aWV3U2VydmljZS5xdWVyeSh7XG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogMSxcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgIGZpbHRlcnM6IGJhc2VGaWx0ZXJzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuY291bnQuc2V0KHgudG90YWwpO1xuICB9XG59XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXMDocumentService, AXMDocumentTypeService } from '../../../entities';\nimport * as i0 from \"@angular/core\";\nexport class AXMDocumentDialogService {\n constructor() {\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n this.documentService = inject(AXMDocumentService);\n this.documentTypeService = inject(AXMDocumentTypeService);\n }\n async openAttachmentDialog(title, data) {\n const { documentType, files, parentId, metaData, documentId, version, showMeta = true } = data ?? {};\n const accept = (documentType?.type?.selectedItems ?? [])\n .map((f) => `.${f.name.split('.')[1]}`)\n .join(',');\n const fileList = Array.isArray(files) ? files : [];\n // Build initial context for all files\n const initialContext = {};\n if (showMeta) {\n initialContext['file-0'] = { metaDataForm: metaData };\n }\n // Initialize files array context with default values\n initialContext['files'] = fileList.map(item => ({ file: [item] }));\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle(title)\n .setSize('md')\n .setContext(initialContext)\n .content(flex => {\n flex.setDirection('column');\n // Add fields for each file dynamically\n for (let index = 0; index < fileList.length; index++) {\n const item = fileList[index];\n if (showMeta) {\n flex.formField('@document-management:terms.common.meta-data', field => {\n field.path(`file-${index}.metaDataForm`);\n field.customWidget('meta-data-form-editor', {\n definitions: documentType?.metaDataList,\n });\n });\n }\n flex.formField('@document-management:terms.common.file', field => {\n field.path(`files[${index}].file`);\n field.customWidget('file-uploader', {\n defaultValue: [item],\n fileEditable: false,\n readonly: true,\n accept,\n });\n });\n }\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title');\n const submitAction = {\n title: '@general:actions.submit.title',\n color: 'primary',\n command: { name: 'submit', options: { validate: true } },\n items: [\n {\n title: '@document-management:actions.save-and-send',\n icon: 'fa-paper-plane',\n color: 'primary',\n command: { name: 'send-to-review', options: { validate: true } },\n },\n ],\n };\n actions.custom(submitAction);\n });\n })\n .show();\n const action = dialogRef.action();\n if (action === 'cancel') {\n dialogRef.close();\n return { data: { cancel: true } };\n }\n const ctx = dialogRef.context();\n if (documentId) {\n dialogRef.setLoading(true);\n const updatePayload = { version: (version ?? 0) + 1 };\n if (showMeta) {\n updatePayload.metaDataForm = ctx?.['file-0']?.['metaDataForm'];\n }\n await this.documentService.updateOne(documentId, updatePayload);\n dialogRef.close();\n return {\n data: {\n cancel: false,\n isReviewSent: action === 'send-to-review',\n fileIds: [documentId],\n },\n };\n }\n const promises = (ctx?.['files']).map(async (item, index) => {\n // Use original selected file item to preserve blob/source for storage\n const f = fileList[index];\n const newId = await this.documentService.insertOne({\n fileId: f,\n name: f?.name,\n title: f?.name,\n documentType,\n parentId,\n size: f?.size || 0,\n status: 'Draft',\n version: (version ?? 0) + 1,\n metaDataForm: ctx[`file-${index}`]['metaDataForm'],\n });\n return newId;\n });\n dialogRef.setLoading(true);\n const fileIds = await Promise.all(promises);\n dialogRef.close();\n return {\n data: {\n cancel: false,\n isReviewSent: action === 'send-to-review',\n fileIds,\n },\n };\n }\n async openAttachmentDialogWithoutSave(title, data) {\n const { documentType, files, parentId, metaData, documentId, showMeta = true } = data ?? {};\n const accept = (documentType?.type?.selectedItems ?? [])\n .map((f) => `.${f.name.split('.')[1]}`)\n .join(',');\n const fileList = Array.isArray(files) ? files : [];\n // Build initial context for all files\n const initialContext = {};\n if (showMeta) {\n initialContext['file-0'] = { metaDataForm: metaData };\n }\n // Initialize files array context with default values\n initialContext['files'] = fileList.map(item => ({ file: [item] }));\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle(title)\n .setSize('md')\n .setContext(initialContext)\n .content(flex => {\n flex.setDirection('column');\n // Add fields for each file dynamically\n for (let index = 0; index < fileList.length; index++) {\n const item = fileList[index];\n if (showMeta) {\n flex.formField('@document-management:terms.common.meta-data', field => {\n field.path(`file-${index}.metaDataForm`);\n field.customWidget('meta-data-form-editor', {\n definitions: documentType?.metaDataList,\n });\n });\n }\n flex.formField('File', field => {\n field.path(`files[${index}].file`);\n field.customWidget('file-uploader', {\n defaultValue: [item],\n fileEditable: false,\n readonly: true,\n accept,\n });\n });\n }\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.submit.title');\n });\n })\n .show();\n const action = dialogRef.action();\n if (action === 'cancel') {\n dialogRef.close();\n return {\n data: {\n cancel: true,\n },\n };\n }\n const ctx = dialogRef.context();\n dialogRef.close();\n return {\n data: {\n cancel: false,\n files: (ctx?.['files']).map((item, index) => ({\n ...item,\n ...(showMeta ? { metaDataForm: ctx?.[`file-${index}`]?.['metaDataForm'] } : {}),\n })),\n },\n };\n }\n async chooseDocumentType() {\n const res = await this.documentTypeService.query({ skip: 0, take: 100 });\n const items = (res?.items ?? []).map((x) => ({ value: x.id, text: x.title }));\n const ref = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@document-management:dialogs.choose-document-type.title')\n .setContext({ documentTypeId: undefined })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@document-management:dialogs.choose-document-type.label', field => {\n field.path('documentTypeId');\n field.selectionList({ valueField: 'value', textField: 'text', dataSource: items });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.submit.title');\n });\n })\n .show();\n const action = ref.action();\n if (action === 'cancel') {\n ref.close();\n return { cancelled: true };\n }\n const ctx = ref.context();\n return { cancelled: false, documentTypeId: ctx?.documentTypeId };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentDialogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentDialogService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3NoYXJlZC9zZXJ2aWNlcy9kb2N1bWVudC1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJL0UsTUFBTSxPQUFPLHdCQUF3QjtJQURyQztRQUVtQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2hELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0Msd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FrUHZFO0lBaFBDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUNqRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFckcsTUFBTSxNQUFNLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7YUFDckQsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDM0MsSUFBSSxDQUFD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aW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUENvbnRleHREYXRhIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYTURvY3VtZW50U2VydmljZSwgQVhNRG9jdW1lbnRUeXBlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VudGl0aWVzJztcbmltcG9ydCB7IEFYUEZpbGVVcGxvYWRlcldpZGdldEVkaXRPcHRpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnREaWFsb2dTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRCdWlsZGVyID0gaW5qZWN0KEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFR5cGVTZXJ2aWNlID0gaW5qZWN0KEFYTURvY3VtZW50VHlwZVNlcnZpY2UpO1xuXG4gIGFzeW5jIG9wZW5BdHRhY2htZW50RGlhbG9nKHRpdGxlOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8eyBkYXRhPzogeyBjYW5jZWw/OiBib29sZWFuOyBpc1Jldmlld1NlbnQ/OiBib29sZWFuOyBmaWxlSWRzPzogc3RyaW5nW10gfSB9PiB7XG4gICAgY29uc3QgeyBkb2N1bWVudFR5cGUsIGZpbGVzLCBwYXJlbnRJZCwgbWV0YURhdGEsIGRvY3VtZW50SWQsIHZlcnNpb24sIHNob3dNZXRhID0gdHJ1ZSB9ID0gZGF0YSA/PyB7fTtcblxuICAgIGNvbnN0IGFjY2VwdCA9IChkb2N1bWVudFR5cGU/LnR5cGU/LnNlbGVjdGVkSXRlbXMgPz8gW10pXG4gICAgICAubWFwKChmOiBhbnkpID0+IGAuJHtmLm5hbWUuc3BsaXQoJy4nKVsxXX1gKVxuICAgICAgLmpvaW4oJywnKTtcblxuICAgIGNvbnN0IGZpbGVMaXN0OiBhbnlbXSA9IEFycmF5LmlzQXJyYXkoZmlsZXMpID8gZmlsZXMgOiBbXTtcblxuICAgIC8vIEJ1aWxkIGluaXRpYWwgY29udGV4dCBmb3IgYWxsIGZpbGVzXG4gICAgY29uc3QgaW5pdGlhbENvbnRleHQ6IGFueSA9IHt9O1xuICAgIGlmIChzaG93TWV0YSkge1xuICAgICAgaW5pdGlhbENvbnRleHRbJ2ZpbGUtMCddID0geyBtZXRhRGF0YUZvcm06IG1ldGFEYXRhIH07XG4gICAgfVxuICAgIC8vIEluaXRpYWxpemUgZmlsZXMgYXJyYXkgY29udGV4dCB3aXRoIGRlZmF1bHQgdmFsdWVzXG4gICAgaW5pdGlhbENvbnRleHRbJ2ZpbGVzJ10gPSBmaWxlTGlzdC5tYXAoaXRlbSA9PiAoeyBmaWxlOiBbaXRlbV0gfSkpO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgdGhpcy5sYXlvdXRCdWlsZGVyXG4gICAgICAuY3JlYXRlKClcbiAgICAgIC5kaWFsb2coZGlhbG9nID0+IHtcbiAgICAgICAgZGlhbG9nXG4gICAgICAgICAgLnNldFRpdGxlKHRpdGxlKVxuICAgICAgICAgIC5zZXRTaXplKCdtZCcpXG4gICAgICAgICAgLnNldENvbnRleHQoaW5pdGlhbENvbnRleHQpXG4gICAgICAgICAgLmNvbnRlbnQoZmxleCA9PiB7XG4gICAgICAgICAgICBmbGV4LnNldERpcmVjdGlvbignY29sdW1uJyk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBmaWVsZHMgZm9yIGVhY2ggZmlsZSBkeW5hbWljYWxseVxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZpbGVMaXN0Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZmlsZUxpc3RbaW5kZXhdO1xuXG4gICAgICAgICAgICAgIGlmIChzaG93TWV0YSkge1xuICAgICAgICAgICAgICAgIGZsZXguZm9ybUZpZWxkKCdAZG9jdW1lbnQtbWFuYWdlbWVudDp0ZXJtcy5jb21tb24ubWV0YS1kYXRhJywgZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgZmllbGQucGF0aChgZmlsZS0ke2luZGV4fS5tZXRhRGF0YUZvcm1gKTtcbiAgICAgICAgICAgICAgICAgIGZpZWxkLmN1c3RvbVdpZGdldCgnbWV0YS1kYXRhLWZvcm0tZWRpdG9yJywge1xuICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uczogZG9jdW1lbnRUeXBlPy5tZXRhRGF0YUxpc3QsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGZsZXguZm9ybUZpZWxkKCdAZG9jdW1lbnQtbWFuYWdlbWVudDp0ZXJtcy5jb21tb24uZmlsZScsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKGBmaWxlc1ske2luZGV4fV0uZmlsZWApO1xuICAgICAgICAgICAgICAgIGZpZWxkLmN1c3RvbVdpZGdldCgnZmlsZS11cGxvYWRlcicsIHtcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogW2l0ZW1dLFxuICAgICAgICAgICAgICAgICAgZmlsZUVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgYWNjZXB0LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5zZXRBY3Rpb25zKGFjdGlvbnMgPT4ge1xuICAgICAgICAgICAgYWN0aW9ucy5jYW5jZWwoJ0BnZW5lcmFsOmFjdGlvbnMuY2FuY2VsLnRpdGxlJyk7XG4gICAgICAgICAgICBjb25zdCBzdWJtaXRBY3Rpb246IEFYUEFjdGlvbk1lbnVJdGVtID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuc3VibWl0LnRpdGxlJyxcbiAgICAgICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgY29tbWFuZDogeyBuYW1lOiAnc3VibWl0Jywgb3B0aW9uczogeyB2YWxpZGF0ZTogdHJ1ZSB9IH0sXG4gICAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZG9jdW1lbnQtbWFuYWdlbWVudDphY3Rpb25zLnNhdmUtYW5kLXNlbmQnLFxuICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLXBhcGVyLXBsYW5lJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgICBjb21tYW5kOiB7IG5hbWU6ICdzZW5kLXRvLXJldmlldycsIG9wdGlvbnM6IHsgdmFsaWRhdGU6IHRydWUgfSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9IGFzIEFYUEFjdGlvbk1lbnVJdGVtO1xuICAgICAgICAgICAgYWN0aW9ucy5jdXN0b20oc3VibWl0QWN0aW9uKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuc2hvdygpO1xuICAgIGNvbnN0IGFjdGlvbiA9IGRpYWxvZ1JlZi5hY3Rpb24oKTtcbiAgICBpZiAoYWN0aW9uID09PSAnY2FuY2VsJykge1xuICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICByZXR1cm4geyBkYXRhOiB7IGNhbmNlbDogdHJ1ZSB9IH07XG4gICAgfVxuXG4gICAgY29uc3QgY3R4ID0gZGlhbG9nUmVmLmNvbnRleHQoKSBhcyBBWFBDb250ZXh0RGF0YSAmIHsgZmlsZXM6IGFueVtdIH07XG5cbiAgICBpZiAoZG9jdW1lbnRJZCkge1xuICAgICAgZGlhbG9nUmVmLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCB1cGRhdGVQYXlsb2FkOiBhbnkgPSB7IHZlcnNpb246ICh2ZXJzaW9uID8/IDApICsgMSB9O1xuICAgICAgaWYgKHNob3dNZXRhKSB7XG4gICAgICAgIHVwZGF0ZVBheWxvYWQubWV0YURhdGFGb3JtID0gKGN0eCBhcyBhbnkpPy5bJ2ZpbGUtMCddPy5bJ21ldGFEYXRhRm9ybSddO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5kb2N1bWVudFNlcnZpY2UudXBkYXRlT25lKGRvY3VtZW50SWQsIHVwZGF0ZVBheWxvYWQpO1xuICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY2FuY2VsOiBmYWxzZSxcbiAgICAgICAgICBpc1Jldmlld1NlbnQ6IGFjdGlvbiA9PT0gJ3NlbmQtdG8tcmV2aWV3JyxcbiAgICAgICAgICBmaWxlSWRzOiBbZG9jdW1lbnRJZF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHByb21pc2VzID0gKGN0eD8uWydmaWxlcyddIGFzIGFueVtdKS5tYXA8UHJvbWlzZTxzdHJpbmc+Pihhc3luYyAoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG5cbiAgICAgIC8vIFVzZSBvcmlnaW5hbCBzZWxlY3RlZCBmaWxlIGl0ZW0gdG8gcHJlc2VydmUgYmxvYi9zb3VyY2UgZm9yIHN0b3JhZ2VcbiAgICAgIGNvbnN0IGYgPSBmaWxlTGlzdFtpbmRleF07XG4gICAgICBjb25zdCBuZXdJZCA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmluc2VydE9uZSh7XG4gICAgICAgIGZpbGVJZDogZixcbiAgICAgICAgbmFtZTogZj8ubmFtZSxcbiAgICAgICAgdGl0bGU6IGY/Lm5hbWUsXG4gICAgICAgIGRvY3VtZW50VHlwZSxcbiAgICAgICAgcGFyZW50SWQsXG4gICAgICAgIHNpemU6IGY/LnNpemUgfHwgMCxcbiAgICAgICAgc3RhdHVzOiAnRHJhZnQnLFxuICAgICAgICB2ZXJzaW9uOiAodmVyc2lvbiA/PyAwKSArIDEsXG4gICAgICAgIG1ldGFEYXRhRm9ybTogY3R4W2BmaWxlLSR7aW5kZXh9YF1bJ21ldGFEYXRhRm9ybSddLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbmV3SWQ7XG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuc2V0TG9hZGluZyh0cnVlKTtcbiAgICBjb25zdCBmaWxlSWRzID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGNhbmNlbDogZmFsc2UsXG4gICAgICAgIGlzUmV2aWV3U2VudDogYWN0aW9uID09PSAnc2VuZC10by1yZXZpZXcnLFxuICAgICAgICBmaWxlSWRzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgb3BlbkF0dGFjaG1lbnREaWFsb2dXaXRob3V0U2F2ZSh0aXRsZTogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPHsgZGF0YT86IHsgY2FuY2VsPzogYm9vbGVhbjsgZmlsZXM/OiBhbnlbXSB9IH0+IHtcbiAgICBjb25zdCB7IGRvY3VtZW50VHlwZSwgZmlsZXMsIHBhcmVudElkLCBtZXRhRGF0YSwgZG9jdW1lbnRJZCwgc2hvd01ldGEgPSB0cnVlIH0gPSBkYXRhID8/IHt9O1xuXG4gICAgY29uc3QgYWNjZXB0ID0gKGRvY3VtZW50VHlwZT8udHlwZT8uc2VsZWN0ZWRJdGVtcyA/PyBbXSlcbiAgICAgIC5tYXAoKGY6IGFueSkgPT4gYC4ke2YubmFtZS5zcGxpdCgnLicpWzFdfWApXG4gICAgICAuam9pbignLCcpO1xuXG4gICAgY29uc3QgZmlsZUxpc3Q6IGFueVtdID0gQXJyYXkuaXNBcnJheShmaWxlcykgPyBmaWxlcyA6IFtdO1xuXG4gICAgLy8gQnVpbGQgaW5pdGlhbCBjb250ZXh0IGZvciBhbGwgZmlsZXNcbiAgICBjb25zdCBpbml0aWFsQ29udGV4dDogYW55ID0ge307XG4gICAgaWYgKHNob3dNZXRhKSB7XG4gICAgICBpbml0aWFsQ29udGV4dFsnZmlsZS0wJ10gPSB7IG1ldGFEYXRhRm9ybTogbWV0YURhdGEgfTtcbiAgICB9XG4gICAgLy8gSW5pdGlhbGl6ZSBmaWxlcyBhcnJheSBjb250ZXh0IHdpdGggZGVmYXVsdCB2YWx1ZXNcbiAgICBpbml0aWFsQ29udGV4dFsnZmlsZXMnXSA9IGZpbGVMaXN0Lm1hcChpdGVtID0+ICh7IGZpbGU6IFtpdGVtXSB9KSk7XG5cbiAgICBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgIC5jcmVhdGUoKVxuICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICBkaWFsb2dcbiAgICAgICAgICAuc2V0VGl0bGUodGl0bGUpXG4gICAgICAgICAgLnNldFNpemUoJ21kJylcbiAgICAgICAgICAuc2V0Q29udGV4dChpbml0aWFsQ29udGV4dClcbiAgICAgICAgICAuY29udGVudChmbGV4ID0+IHtcbiAgICAgICAgICAgIGZsZXguc2V0RGlyZWN0aW9uKCdjb2x1bW4nKTtcblxuICAgICAgICAgICAgLy8gQWRkIGZpZWxkcyBmb3IgZWFjaCBmaWxlIGR5bmFtaWNhbGx5XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsZUxpc3QubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBmaWxlTGlzdFtpbmRleF07XG5cbiAgICAgICAgICAgICAgaWYgKHNob3dNZXRhKSB7XG4gICAgICAgICAgICAgICAgZmxleC5mb3JtRmllbGQoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OnRlcm1zLmNvbW1vbi5tZXRhLWRhdGEnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKGBmaWxlLSR7aW5kZXh9Lm1ldGFEYXRhRm9ybWApO1xuICAgICAgICAgICAgICAgICAgZmllbGQuY3VzdG9tV2lkZ2V0KCdtZXRhLWRhdGEtZm9ybS1lZGl0b3InLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zOiBkb2N1bWVudFR5cGU/Lm1ldGFEYXRhTGlzdCxcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZmxleC5mb3JtRmllbGQoJ0ZpbGUnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aChgZmlsZXNbJHtpbmRleH1dLmZpbGVgKTtcbiAgICAgICAgICAgICAgICBmaWVsZC5jdXN0b21XaWRnZXQoJ2ZpbGUtdXBsb2FkZXInLCB7XG4gICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IFtpdGVtXSxcbiAgICAgICAgICAgICAgICAgIGZpbGVFZGl0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGFjY2VwdCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc2V0QWN0aW9ucyhhY3Rpb25zID0+IHtcbiAgICAgICAgICAgIGFjdGlvbnMuY2FuY2VsKCdAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScpLnN1Ym1pdCgnQGdlbmVyYWw6YWN0aW9ucy5zdWJtaXQudGl0bGUnKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuc2hvdygpO1xuICAgIGNvbnN0IGFjdGlvbiA9IGRpYWxvZ1JlZi5hY3Rpb24oKTtcbiAgICBpZiAoYWN0aW9uID09PSAnY2FuY2VsJykge1xuICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY2FuY2VsOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBjdHggPSBkaWFsb2dSZWYuY29udGV4dCgpIGFzIEFYUENvbnRleHREYXRhICYgeyBmaWxlczogYW55W10gfTtcblxuXG5cbiAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YToge1xuICAgICAgICBjYW5jZWw6IGZhbHNlLFxuICAgICAgICBmaWxlczogKGN0eD8uWydmaWxlcyddIGFzIGFueVtdKS5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIC4uLihzaG93TWV0YSA/IHsgbWV0YURhdGFGb3JtOiAoY3R4IGFzIGFueSk/LltgZmlsZS0ke2luZGV4fWBdPy5bJ21ldGFEYXRhRm9ybSddIH0gOiB7fSksXG4gICAgICAgIH0pKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGNob29zZURvY3VtZW50VHlwZSgpOiBQcm9taXNlPHsgY2FuY2VsbGVkOiBib29sZWFuOyBkb2N1bWVudFR5cGVJZD86IHN0cmluZyB9PiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5kb2N1bWVudFR5cGVTZXJ2aWNlLnF1ZXJ5KHsgc2tpcDogMCwgdGFrZTogMTAwIH0pO1xuICAgIGNvbnN0IGl0ZW1zID0gKHJlcz8uaXRlbXMgPz8gW10pLm1hcCgoeDogYW55KSA9PiAoeyB2YWx1ZTogeC5pZCwgdGV4dDogeC50aXRsZSB9KSk7XG5cbiAgICBjb25zdCByZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgIC5jcmVhdGUoKVxuICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICBkaWFsb2dcbiAgICAgICAgICAuc2V0VGl0bGUoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmRpYWxvZ3MuY2hvb3NlLWRvY3VtZW50LXR5cGUudGl0bGUnKVxuICAgICAgICAgIC5zZXRDb250ZXh0KHsgZG9jdW1lbnRUeXBlSWQ6IHVuZGVmaW5lZCB9KVxuICAgICAgICAgIC5jb250ZW50KGZsZXggPT4ge1xuICAgICAgICAgICAgZmxleFxuICAgICAgICAgICAgICAuc2V0RGlyZWN0aW9uKCdjb2x1bW4nKVxuICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAZG9jdW1lbnQtbWFuYWdlbWVudDpkaWFsb2dzLmNob29zZS1kb2N1bWVudC10eXBlLmxhYmVsJywgZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ2RvY3VtZW50VHlwZUlkJyk7XG4gICAgICAgICAgICAgICAgZmllbGQuc2VsZWN0aW9uTGlzdCh7IHZhbHVlRmllbGQ6ICd2YWx1ZScsIHRleHRGaWVsZDogJ3RleHQnLCBkYXRhU291cmNlOiBpdGVtcyB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc2V0QWN0aW9ucyhhY3Rpb25zID0+IHtcbiAgICAgICAgICAgIGFjdGlvbnMuY2FuY2VsKCdAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScpLnN1Ym1pdCgnQGdlbmVyYWw6YWN0aW9ucy5zdWJtaXQudGl0bGUnKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuc2hvdygpO1xuXG4gICAgY29uc3QgYWN0aW9uID0gcmVmLmFjdGlvbigpO1xuICAgIGlmIChhY3Rpb24gPT09ICdjYW5jZWwnKSB7XG4gICAgICByZWYuY2xvc2UoKTtcbiAgICAgIHJldHVybiB7IGNhbmNlbGxlZDogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGN0eCA9IHJlZi5jb250ZXh0KCkgYXMgYW55O1xuICAgIHJldHVybiB7IGNhbmNlbGxlZDogZmFsc2UsIGRvY3VtZW50VHlwZUlkOiBjdHg/LmRvY3VtZW50VHlwZUlkIH07XG4gIH1cbn1cblxuXG4iXX0=","import { AXFileService } from '@acorex/core/file';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMDocumentService, AXMDocumentTypeService } from '../../../entities';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXMDocumentDialogService } from './document-dialog.service';\nimport * as i0 from \"@angular/core\";\nexport class DocumentAttachmentsService {\n constructor() {\n this.fileService = inject(AXFileService);\n this.documentTypeService = inject(AXMDocumentTypeService);\n this.workflowService = inject(AXPWorkflowService);\n this.documentService = inject(AXMDocumentService);\n this.documentDialog = inject(AXMDocumentDialogService);\n }\n async attachFile(fileType, options) {\n // Validate input data\n this.validateAttachmentOptions(options);\n const fileTypeEntity = await this.resolveFileType(fileType);\n const files = await this.chooseFiles(fileTypeEntity, options?.multiple);\n if (files.length === 0) {\n return false;\n }\n const popupData = {\n documentType: fileTypeEntity,\n files: this.mapFilesToFileListItems(files),\n parentId: options?.folderId ?? '',\n version: 0,\n };\n const result = await this.documentDialog.openAttachmentDialog(`Select ${fileTypeEntity.title}`, popupData);\n return this.handlePopupResult(result);\n }\n async updateAttachedFile(fileId, options) {\n const file = await this.documentService.getOne(fileId);\n if (!file) {\n throw new Error('File not found');\n }\n console.log(file);\n const popupData = {\n documentType: file.documentType,\n files: [file.fileId],\n parentId: options?.folderId ?? '',\n metaData: file.metaDataForm,\n documentId: fileId,\n version: file.version,\n };\n const result = await this.documentDialog.openAttachmentDialog(`Edit ${file.name}`, popupData);\n return this.handlePopupResult(result);\n }\n /**\n * Upload a new version for an existing document. Lets user choose a new file, edit metadata, and updates the document\n * with incremented version number while keeping the same document identity.\n */\n async uploadNewVersion(fileId) {\n const document = await this.documentService.getOne(fileId);\n if (!document) {\n throw new Error('File not found');\n }\n // Choose a single new file based on document type constraints\n const files = await this.chooseFiles(document.documentType, false);\n if (!files || files.length === 0) {\n return false;\n }\n const mapped = this.mapFilesToFileListItems(files);\n // Open a lightweight dialog to edit metadata (no auto-save); then apply update with new file\n const result = await this.documentDialog.openAttachmentDialogWithoutSave('@document-management:dialogs.manage-version.upload-new-version', {\n documentType: document.documentType,\n files: mapped,\n parentId: document.parentId,\n metaData: document.metaDataForm,\n showMeta: false,\n });\n if (result?.data?.cancel) {\n return false;\n }\n // When metadata is hidden, do not change it\n const metaDataForm = document.metaDataForm;\n const newName = files[0]?.name ?? document.name;\n await this.documentService.updateOne(fileId, {\n fileId: mapped[0],\n size: files[0]?.size ?? document.size,\n version: (document.version ?? 0) + 1,\n metaDataForm,\n name: newName,\n title: newName,\n });\n return true;\n }\n validateAttachmentOptions(options) {\n if (!((options?.entityId && options?.entityRecordId) || options?.folderId)) {\n throw new Error('You must provide either both entityId and entityRecordId, or folderId.');\n }\n }\n async resolveFileType(fileType) {\n if (typeof fileType === 'string') {\n const fileTypeId = fileType;\n const fileTypeEntity = await this.documentTypeService.getOne(fileTypeId);\n if (!fileTypeEntity) {\n throw new Error('File type not found');\n }\n return fileTypeEntity;\n }\n return fileType;\n }\n async chooseFiles(fileTypeEntity, multiple) {\n const acceptTypes = fileTypeEntity.type.selectedItems.map((item) => `.${item.name.split('.')[1]}`).join(',');\n console.log(acceptTypes);\n return await this.fileService.choose({\n multiple: multiple ?? false,\n accept: acceptTypes,\n });\n }\n mapFilesToFileListItems(files) {\n return files.map((file) => ({\n name: file.name,\n size: file.size,\n type: file.type,\n status: 'attached',\n source: {\n kind: 'blob',\n value: file,\n },\n }));\n }\n // moved to AXMDocumentDialogService\n async handlePopupResult(result) {\n if (result?.data?.cancel) {\n return false;\n }\n if (this.shouldExecuteWorkflow(result)) {\n return await this.executeWorkflow(result.data.fileIds[0]);\n }\n return true;\n }\n shouldExecuteWorkflow(result) {\n return !!(result?.data?.isReviewSent && result.data.fileIds && result.data.fileIds.length > 0);\n }\n async executeWorkflow(fileId) {\n const workflowResult = await this.workflowService.execute('send-to-review', {\n options: {\n id: fileId,\n },\n });\n console.log('Workflow result:', workflowResult);\n return true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: DocumentAttachmentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: DocumentAttachmentsService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: DocumentAttachmentsService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtYXR0YWNobWVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvc2hhcmVkL3NlcnZpY2VzL2RvY3VtZW50LWF0dGFjaG1lbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBZ0Qsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUEwQnJFLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFJbUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckQsb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7S0E2S3BFO0lBM0tDLEtBQUssQ0FBQyxVQUFVLENBQ2QsUUFBK0QsRUFDL0QsT0FBMkI7UUFFM0Isc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFeEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHO1lBQ2hCLFlBQVksRUFBRSxjQUFjO1lBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDO1lBQzFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUU7WUFDakMsT0FBTyxFQUFHLENBQUM7U0FDWixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxVQUFVLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFDaEMsU0FBUyxDQUNWLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQWMsRUFBRSxPQUFpQztRQUN4RSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdsQixNQUFNLFNBQVMsR0FBRztZQUNoQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNwQixRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMzQixVQUFVLEVBQUUsTUFBTTtZQUNsQixPQUFPLEVBQUcsSUFBSSxDQUFDLE9BQU87U0FDdkIsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU5RixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQWM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELDhEQUE4RDtRQUM5RCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELDZGQUE2RjtRQUM3RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsK0JBQStCLENBQ3RFLGdFQUFnRSxFQUNoRTtZQUNFLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxLQUFLLEVBQUUsTUFBTTtZQUNiLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtZQUMzQixRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDL0IsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FDRixDQUFDO1FBRUYsSUFBSSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELDRDQUE0QztRQUM1QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztRQUVoRCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUMzQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNqQixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSTtZQUNyQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDcEMsWUFBWTtZQUNaLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxPQUEyQjtRQUMzRCxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksT0FBTyxFQUFFLGNBQWMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzNFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0VBQXdFLENBQUMsQ0FBQztRQUM1RixDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBK0Q7UUFDM0YsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDNUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFDRCxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBNEQsRUFBRSxRQUFrQjtRQUN4RyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpCLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNuQyxRQUFRLEVBQUUsUUFBUSxJQUFJLEtBQUs7WUFDM0IsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEtBQWE7UUFDM0MsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsVUFBVTtZQUNsQixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELG9DQUFvQztJQUU1QixLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBbUI7UUFDakQsSUFBSSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUssQ0FBQyxPQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8scUJBQXFCLENBQUMsTUFBbUI7UUFDL0MsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVPLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBYztRQUMxQyxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFO1lBQzFFLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsTUFBTTthQUNYO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBakxVLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZpbGVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2ZpbGUnO1xuaW1wb3J0IHsgQVhQRmlsZUxpc3RJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlRW50aXR5TW9kZWwsIEFYTURvY3VtZW50U2VydmljZSwgQVhNRG9jdW1lbnRUeXBlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VudGl0aWVzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kb2N1bWVudC1kaWFsb2cuc2VydmljZSc7XG5cbmludGVyZmFjZSBBdHRhY2htZW50T3B0aW9ucyB7XG4gIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgZm9sZGVySWQ/OiBzdHJpbmc7XG4gIGVudGl0eUlkPzogc3RyaW5nO1xuICBlbnRpdHlSZWNvcmRJZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVwZGF0ZUF0dGFjaG1lbnRPcHRpb25zIHtcbiAgZW50aXR5SWQ/OiBzdHJpbmc7XG4gIGVudGl0eVJlY29yZElkPzogc3RyaW5nO1xuICBmb2xkZXJJZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBvcHVwUmVzdWx0IHtcbiAgZGF0YT86IHtcbiAgICBjYW5jZWw/OiBib29sZWFuO1xuICAgIGlzUmV2aWV3U2VudD86IGJvb2xlYW47XG4gICAgZmlsZUlkcz86IHN0cmluZ1tdO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRBdHRhY2htZW50c1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbGVTZXJ2aWNlID0gaW5qZWN0KEFYRmlsZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50VHlwZVNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRUeXBlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2Zsb3dTZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlID0gaW5qZWN0KEFYTURvY3VtZW50U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnREaWFsb2cgPSBpbmplY3QoQVhNRG9jdW1lbnREaWFsb2dTZXJ2aWNlKTtcblxuICBhc3luYyBhdHRhY2hGaWxlKFxuICAgIGZpbGVUeXBlOiBzdHJpbmcgfCBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVFbnRpdHlNb2RlbCxcbiAgICBvcHRpb25zPzogQXR0YWNobWVudE9wdGlvbnMsXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIFZhbGlkYXRlIGlucHV0IGRhdGFcbiAgICB0aGlzLnZhbGlkYXRlQXR0YWNobWVudE9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICBjb25zdCBmaWxlVHlwZUVudGl0eSA9IGF3YWl0IHRoaXMucmVzb2x2ZUZpbGVUeXBlKGZpbGVUeXBlKTtcbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHRoaXMuY2hvb3NlRmlsZXMoZmlsZVR5cGVFbnRpdHksIG9wdGlvbnM/Lm11bHRpcGxlKTtcblxuICAgIGlmIChmaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3B1cERhdGEgPSB7XG4gICAgICBkb2N1bWVudFR5cGU6IGZpbGVUeXBlRW50aXR5LFxuICAgICAgZmlsZXM6IHRoaXMubWFwRmlsZXNUb0ZpbGVMaXN0SXRlbXMoZmlsZXMpLFxuICAgICAgcGFyZW50SWQ6IG9wdGlvbnM/LmZvbGRlcklkID8/ICcnLFxuICAgICAgdmVyc2lvbiA6IDAsXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZG9jdW1lbnREaWFsb2cub3BlbkF0dGFjaG1lbnREaWFsb2coXG4gICAgICBgU2VsZWN0ICR7ZmlsZVR5cGVFbnRpdHkudGl0bGV9YCxcbiAgICAgIHBvcHVwRGF0YSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlUG9wdXBSZXN1bHQocmVzdWx0KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUF0dGFjaGVkRmlsZShmaWxlSWQ6IHN0cmluZywgb3B0aW9ucz86IFVwZGF0ZUF0dGFjaG1lbnRPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldE9uZShmaWxlSWQpO1xuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGZpbGUpO1xuICAgIFxuXG4gICAgY29uc3QgcG9wdXBEYXRhID0ge1xuICAgICAgZG9jdW1lbnRUeXBlOiBmaWxlLmRvY3VtZW50VHlwZSxcbiAgICAgIGZpbGVzOiBbZmlsZS5maWxlSWRdLFxuICAgICAgcGFyZW50SWQ6IG9wdGlvbnM/LmZvbGRlcklkID8/ICcnLFxuICAgICAgbWV0YURhdGE6IGZpbGUubWV0YURhdGFGb3JtLFxuICAgICAgZG9jdW1lbnRJZDogZmlsZUlkLFxuICAgICAgdmVyc2lvbiA6IGZpbGUudmVyc2lvbixcbiAgICB9O1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5kb2N1bWVudERpYWxvZy5vcGVuQXR0YWNobWVudERpYWxvZyhgRWRpdCAke2ZpbGUubmFtZX1gLCBwb3B1cERhdGEpO1xuXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlUG9wdXBSZXN1bHQocmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgYSBuZXcgdmVyc2lvbiBmb3IgYW4gZXhpc3RpbmcgZG9jdW1lbnQuIExldHMgdXNlciBjaG9vc2UgYSBuZXcgZmlsZSwgZWRpdCBtZXRhZGF0YSwgYW5kIHVwZGF0ZXMgdGhlIGRvY3VtZW50XG4gICAqIHdpdGggaW5jcmVtZW50ZWQgdmVyc2lvbiBudW1iZXIgd2hpbGUga2VlcGluZyB0aGUgc2FtZSBkb2N1bWVudCBpZGVudGl0eS5cbiAgICovXG4gIGFzeW5jIHVwbG9hZE5ld1ZlcnNpb24oZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkb2N1bWVudCA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldE9uZShmaWxlSWQpO1xuICAgIGlmICghZG9jdW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmlsZSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICAvLyBDaG9vc2UgYSBzaW5nbGUgbmV3IGZpbGUgYmFzZWQgb24gZG9jdW1lbnQgdHlwZSBjb25zdHJhaW50c1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgdGhpcy5jaG9vc2VGaWxlcyhkb2N1bWVudC5kb2N1bWVudFR5cGUsIGZhbHNlKTtcbiAgICBpZiAoIWZpbGVzIHx8IGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcHBlZCA9IHRoaXMubWFwRmlsZXNUb0ZpbGVMaXN0SXRlbXMoZmlsZXMpO1xuXG4gICAgLy8gT3BlbiBhIGxpZ2h0d2VpZ2h0IGRpYWxvZyB0byBlZGl0IG1ldGFkYXRhIChubyBhdXRvLXNhdmUpOyB0aGVuIGFwcGx5IHVwZGF0ZSB3aXRoIG5ldyBmaWxlXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5kb2N1bWVudERpYWxvZy5vcGVuQXR0YWNobWVudERpYWxvZ1dpdGhvdXRTYXZlKFxuICAgICAgJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmRpYWxvZ3MubWFuYWdlLXZlcnNpb24udXBsb2FkLW5ldy12ZXJzaW9uJyxcbiAgICAgIHtcbiAgICAgICAgZG9jdW1lbnRUeXBlOiBkb2N1bWVudC5kb2N1bWVudFR5cGUsXG4gICAgICAgIGZpbGVzOiBtYXBwZWQsXG4gICAgICAgIHBhcmVudElkOiBkb2N1bWVudC5wYXJlbnRJZCxcbiAgICAgICAgbWV0YURhdGE6IGRvY3VtZW50Lm1ldGFEYXRhRm9ybSxcbiAgICAgICAgc2hvd01ldGE6IGZhbHNlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgaWYgKHJlc3VsdD8uZGF0YT8uY2FuY2VsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBtZXRhZGF0YSBpcyBoaWRkZW4sIGRvIG5vdCBjaGFuZ2UgaXRcbiAgICBjb25zdCBtZXRhRGF0YUZvcm0gPSBkb2N1bWVudC5tZXRhRGF0YUZvcm07XG4gICAgY29uc3QgbmV3TmFtZSA9IGZpbGVzWzBdPy5uYW1lID8/IGRvY3VtZW50Lm5hbWU7XG5cbiAgICBhd2FpdCB0aGlzLmRvY3VtZW50U2VydmljZS51cGRhdGVPbmUoZmlsZUlkLCB7XG4gICAgICBmaWxlSWQ6IG1hcHBlZFswXSxcbiAgICAgIHNpemU6IGZpbGVzWzBdPy5zaXplID8/IGRvY3VtZW50LnNpemUsXG4gICAgICB2ZXJzaW9uOiAoZG9jdW1lbnQudmVyc2lvbiA/PyAwKSArIDEsXG4gICAgICBtZXRhRGF0YUZvcm0sXG4gICAgICBuYW1lOiBuZXdOYW1lLFxuICAgICAgdGl0bGU6IG5ld05hbWUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBdHRhY2htZW50T3B0aW9ucyhvcHRpb25zPzogQXR0YWNobWVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAoISgob3B0aW9ucz8uZW50aXR5SWQgJiYgb3B0aW9ucz8uZW50aXR5UmVjb3JkSWQpIHx8IG9wdGlvbnM/LmZvbGRlcklkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGVpdGhlciBib3RoIGVudGl0eUlkIGFuZCBlbnRpdHlSZWNvcmRJZCwgb3IgZm9sZGVySWQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNvbHZlRmlsZVR5cGUoZmlsZVR5cGU6IHN0cmluZyB8IEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZUVudGl0eU1vZGVsKTogUHJvbWlzZTxBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVFbnRpdHlNb2RlbD4ge1xuICAgIGlmICh0eXBlb2YgZmlsZVR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmaWxlVHlwZUlkID0gZmlsZVR5cGU7XG4gICAgICBjb25zdCBmaWxlVHlwZUVudGl0eSA9IGF3YWl0IHRoaXMuZG9jdW1lbnRUeXBlU2VydmljZS5nZXRPbmUoZmlsZVR5cGVJZCk7XG4gICAgICBpZiAoIWZpbGVUeXBlRW50aXR5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmlsZSB0eXBlIG5vdCBmb3VuZCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbGVUeXBlRW50aXR5O1xuICAgIH1cbiAgICByZXR1cm4gZmlsZVR5cGU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNob29zZUZpbGVzKGZpbGVUeXBlRW50aXR5OiBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVFbnRpdHlNb2RlbCwgbXVsdGlwbGU/OiBib29sZWFuKTogUHJvbWlzZTxGaWxlW10+IHtcbiAgICBjb25zdCBhY2NlcHRUeXBlcyA9IGZpbGVUeXBlRW50aXR5LnR5cGUuc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGAuJHtpdGVtLm5hbWUuc3BsaXQoJy4nKVsxXX1gKS5qb2luKCcsJyk7XG4gICAgY29uc29sZS5sb2coYWNjZXB0VHlwZXMpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZmlsZVNlcnZpY2UuY2hvb3NlKHtcbiAgICAgIG11bHRpcGxlOiBtdWx0aXBsZSA/PyBmYWxzZSxcbiAgICAgIGFjY2VwdDogYWNjZXB0VHlwZXMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcEZpbGVzVG9GaWxlTGlzdEl0ZW1zKGZpbGVzOiBGaWxlW10pOiBBWFBGaWxlTGlzdEl0ZW1bXSB7XG4gICAgcmV0dXJuIGZpbGVzLm1hcDxBWFBGaWxlTGlzdEl0ZW0+KChmaWxlKSA9PiAoe1xuICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgc3RhdHVzOiAnYXR0YWNoZWQnLFxuICAgICAgc291cmNlOiB7XG4gICAgICAgIGtpbmQ6ICdibG9iJyxcbiAgICAgICAgdmFsdWU6IGZpbGUsXG4gICAgICB9LFxuICAgIH0pKTtcbiAgfVxuXG4gIC8vIG1vdmVkIHRvIEFYTURvY3VtZW50RGlhbG9nU2VydmljZVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlUG9wdXBSZXN1bHQocmVzdWx0OiBQb3B1cFJlc3VsdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmIChyZXN1bHQ/LmRhdGE/LmNhbmNlbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNob3VsZEV4ZWN1dGVXb3JrZmxvdyhyZXN1bHQpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlV29ya2Zsb3cocmVzdWx0LmRhdGEhLmZpbGVJZHMhWzBdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkRXhlY3V0ZVdvcmtmbG93KHJlc3VsdDogUG9wdXBSZXN1bHQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEocmVzdWx0Py5kYXRhPy5pc1Jldmlld1NlbnQgJiYgcmVzdWx0LmRhdGEuZmlsZUlkcyAmJiByZXN1bHQuZGF0YS5maWxlSWRzLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlV29ya2Zsb3coZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB3b3JrZmxvd1Jlc3VsdCA9IGF3YWl0IHRoaXMud29ya2Zsb3dTZXJ2aWNlLmV4ZWN1dGUoJ3NlbmQtdG8tcmV2aWV3Jywge1xuICAgICAgb3B0aW9uczoge1xuICAgICAgICBpZDogZmlsZUlkLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKCdXb3JrZmxvdyByZXN1bHQ6Jywgd29ya2Zsb3dSZXN1bHQpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=","//#region ---- Imports ----\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { castArray } from 'lodash-es';\nimport { AXMDocumentService, AXMDocumentTypeService, AXMFolderService, AXMReviewService, } from '../../entities';\nimport { DocumentAttachmentsService } from './services/document-attachments.service';\nimport * as i0 from \"@angular/core\";\n//#endregion\n//#region ---- Service Implementation ----\n/**\n * Service for handling document drive operations\n */\nexport class AXMDocumentManagerService {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.folderService = inject(AXMFolderService);\n this.sessionService = inject(AXPSessionService);\n this.documentService = inject(AXMDocumentService);\n this.documentTypeService = inject(AXMDocumentTypeService);\n this.popupService = inject(AXPopupService);\n this.dialogService = inject(AXDialogService);\n this.fileService = inject(AXPFileStorageService);\n this.fileManagerService = inject(AXFileService);\n this.workflow = inject(AXPWorkflowService);\n this.translate = inject(AXTranslationService);\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n this.reviewService = inject(AXMReviewService);\n this.attachmentsService = inject(DocumentAttachmentsService);\n //#endregion\n //#region ---- Private Properties ----\n this.scopedDriveCache = new Map();\n //#endregion\n //#region ---- Mapping Methods ----\n /**\n * Maps folder entity to document explorer node\n */\n this.mapFolderDtoToFolderNode = (folder) => {\n return {\n id: folder.id,\n name: folder.name,\n type: 'folder',\n parentId: folder.parentId || null,\n modifiedAt: folder?.updated?.at,\n createdAt: folder?.created?.at,\n description: folder.description,\n childrenCount: folder.nodeCount,\n size: folder.size,\n documentTypes: folder.documentTypes || [],\n storageType: 'physical',\n inherit: folder.inherit,\n children: [\n ...(folder.folders?.map(this.mapFolderDtoToFolderNode) || []),\n ...(folder.documents?.map(this.mapFileToNode) || []),\n ],\n };\n };\n }\n //#endregion\n //#region ---- Scope Management Methods ----\n /**\n * Creates a scoped drive service for the specified platform scope\n */\n scope(scope, options) {\n const cacheKey = this.getScopeCacheKey(scope, options);\n if (!this.scopedDriveCache.has(cacheKey)) {\n this.scopedDriveCache.set(cacheKey, new ScopedDriveService(this, scope, options));\n }\n return this.scopedDriveCache.get(cacheKey);\n }\n /**\n * Generates a cache key for the scoped drive service\n */\n getScopeCacheKey(scope, options) {\n return scope;\n }\n //#endregion\n //#region ---- Private Helper Methods ----\n /**\n * Gets the platform root folder (top-level folder)\n */\n async getPlatformRootFolder() {\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null,\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'isNull' } },\n { field: 'tenantId', operator: { type: 'isNull' } },\n { field: 'userId', operator: { type: 'isNull' } },\n ],\n },\n });\n if (result.items.length === 0) {\n throw new Error('Platform root folder not found');\n }\n return result.items[0];\n }\n /**\n * Gets the tenant root folder\n */\n async getTenantRootFolder(rootFolder, tenantId) {\n if (!tenantId) {\n throw new Error('Tenant ID is required');\n }\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null,\n logic: 'and',\n filters: [\n {\n field: 'parentId',\n operator: { type: 'equal' },\n value: rootFolder.folders?.find((f) => f.name === 'Tenants')?.id,\n },\n { field: 'tenantId', operator: { type: 'equal' }, value: tenantId },\n { field: 'userId', operator: { type: 'isNull' } },\n ],\n },\n });\n if (result.items.length === 0) {\n throw new Error('Tenant root folder not found');\n }\n return result.items[0];\n }\n /**\n * Gets the user root folder\n */\n async getUserRootFolder(tenantFolderId, tenantId, userId) {\n if (!tenantId || !userId) {\n throw new Error('Both Tenant ID and User ID are required');\n }\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null,\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: tenantFolderId },\n { field: 'tenantId', operator: { type: 'equal' }, value: tenantId },\n { field: 'userId', operator: { type: 'equal' }, value: userId },\n ],\n },\n });\n if (result.items.length === 0) {\n throw new Error('User root folder not found');\n }\n return result.items[0];\n }\n /**\n * Maps file entity to document explorer node\n */\n mapFileToNode(file) {\n return {\n id: file.id,\n name: file.name,\n type: 'file',\n parentId: file.parentId,\n modifiedAt: file?.updated?.at,\n createdAt: file?.created?.at,\n size: file.size,\n fileId: file.fileId,\n storageType: 'physical',\n meta: file.metaDataForm ? Object.values(file.metaDataForm) : undefined,\n documentTypes: file.documentType ? [file.documentType] : [],\n };\n }\n /**\n * Maps document to media viewer data\n */\n async mapDocumentToMediaViewerData(doc, fileInfosMap) {\n console.log('mapDocumentToMediaViewerData', doc);\n if (doc.fileId?.source?.kind == 'fileId') {\n const fileId = doc.fileId.source.value;\n let fileInfo;\n if (fileInfosMap) {\n // Use pre-fetched data\n fileInfo = fileInfosMap.get(fileId);\n }\n else {\n // Fallback to individual fetch (for backward compatibility)\n fileInfo = await this.fileService.getInfo(fileId);\n }\n return {\n id: doc.id ?? '',\n name: doc.name,\n type: doc.name.endsWith('.pdf') ? 'pdf' : 'image',\n url: fileInfo?.url ?? '',\n size: doc.size.toString(),\n thumbnail: fileInfo?.url ?? '',\n };\n }\n return {\n id: doc.id ?? '',\n name: doc.name,\n type: doc.meta?.['type'] ?? 'image',\n url: doc.fileId ?? '',\n size: doc.size.toString(),\n thumbnail: doc.fileId ?? '',\n };\n }\n //#endregion\n //#region ---- Utility Methods ----\n /**\n * Builds navigation path for a node\n */\n async buildPath(node, stopFolderId) {\n if (node.type === 'file') {\n return (await this.documentService.getPath(node.id, stopFolderId)).map(this.mapFolderDtoToFolderNode);\n }\n else {\n return (await this.folderService.getPath(node.id, stopFolderId)).map(this.mapFolderDtoToFolderNode);\n }\n }\n /**\n * Creates a copy name by adding \" copy\" before the extension\n */\n createCopyName(originalName) {\n const lastDotIndex = originalName.lastIndexOf('.');\n if (lastDotIndex === -1) {\n // No extension\n return `${originalName} copy`;\n }\n const nameWithoutExt = originalName.substring(0, lastDotIndex);\n const extension = originalName.substring(lastDotIndex);\n return `${nameWithoutExt} copy${extension}`;\n }\n //#endregion\n //#region ---- Root and Folder Operations ----\n /**\n * Gets the root folder based on the specified scope\n */\n async getRoot(scope, options) {\n const rootFolder = await this.getPlatformRootFolder();\n let result;\n let path = [];\n switch (scope) {\n case AXPPlatformScope.Platform:\n result = this.mapFolderDtoToFolderNode(rootFolder);\n path = await this.buildPath(result);\n break;\n case AXPPlatformScope.Tenant: {\n if (!options?.tenantId) {\n throw new Error('Tenant ID is required for tenant scope');\n }\n const tenantRoot = await this.getTenantRootFolder(rootFolder, options.tenantId);\n result = this.mapFolderDtoToFolderNode(tenantRoot);\n path = await this.buildPath(result, tenantRoot.id);\n break;\n }\n case AXPPlatformScope.User: {\n if (!options?.tenantId || !options?.userId) {\n throw new Error('Both Tenant ID and User ID are required for user scope');\n }\n const tenantFolder = await this.getTenantRootFolder(rootFolder, options.tenantId);\n const userRoot = await this.getUserRootFolder(tenantFolder.folders?.find((f) => f.name === 'Users')?.id, options.tenantId, options.userId);\n result = this.mapFolderDtoToFolderNode(userRoot);\n path = await this.buildPath(result, userRoot.id);\n break;\n }\n default:\n throw new Error(`Invalid scope: ${scope}`);\n }\n return { path, result };\n }\n /**\n * Gets a specific folder by ID\n */\n async getFolder(scope, folderId, options) {\n if (!folderId) {\n throw new Error('Folder ID is required');\n }\n const folder = await this.folderService.getOne(folderId);\n if (!folder) {\n throw new Error('Folder not found');\n }\n const result = this.mapFolderDtoToFolderNode(folder);\n const path = await this.buildPath(result, (await this.getRoot(scope, options)).result.id);\n return { path, result };\n }\n /**\n * Creates a new folder\n */\n async createFolder(data) {\n const now = new Date();\n const currentUser = this.sessionService.user;\n const userId = currentUser?.id?.toString() ?? 'system';\n const userRef = { id: userId, type: 'user' };\n const folderToCreate = {\n ...data,\n created: { at: now, user: userRef },\n updated: { at: now, user: userRef },\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n size: 0,\n };\n const createdFolder = await this.folderService.insertOne(folderToCreate);\n const folder = await this.folderService.getOne(createdFolder);\n return this.mapFolderDtoToFolderNode(folder);\n }\n /**\n * Updates an existing folder\n */\n async updateFolder(folderId, data) {\n const currentUser = this.sessionService.user;\n const userId = currentUser?.id?.toString() ?? 'system';\n const userRef = { id: userId, type: 'user' };\n const updateData = {\n ...data,\n updated: { at: new Date(), user: userRef },\n };\n await this.folderService.updateOne(folderId, updateData);\n const updatedFolder = await this.folderService.getOne(folderId);\n return this.mapFolderDtoToFolderNode(updatedFolder);\n }\n /**\n * Deletes a folder\n */\n async deleteFolder(folderId) {\n await this.folderService.deleteOne(folderId);\n }\n /**\n * Gets available storage space\n */\n async getAvailableSpace() {\n // For now, return a fixed value of 100GB (56 * 1024 * 1024 * 1024 bytes)\n // This should be replaced with actual storage quota logic when implemented\n return 56 * 1024 * 1024 * 1024;\n }\n //#endregion\n //#region ---- File Operations ----\n /**\n * Creates a new file\n */\n async createFile(data) {\n const fileId = await this.documentService.insertOne(data);\n const file = await this.documentService.getOne(fileId);\n return this.mapFileToNode(file);\n }\n /**\n * Updates an existing file\n */\n async updateFile(fileId, data) {\n const updatedFile = await this.documentService.updateOne(fileId, data);\n return this.mapFileToNode(updatedFile);\n }\n /**\n * Deletes a file\n */\n async deleteFile(fileId) {\n await this.documentService.deleteOne(fileId);\n }\n /**\n * Opens a file\n */\n async openFile(node) {\n const file = await this.documentService.getOne(node.id);\n }\n /**\n * Downloads a file\n */\n async downloadFile(node) {\n // const file = await this.documentService.getOne(node.id);\n if (node.fileId) {\n if (node.fileId.source?.value && typeof node.fileId.source.value === 'string' && node.fileId.source.value?.startsWith('http')) {\n const link = document.createElement('a');\n link.href = node.fileId.source.value;\n link.download = node.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n return;\n }\n const fileInfo = await this.fileService.getInfo(node.fileId.id ?? '');\n const link = document.createElement('a');\n link.href = fileInfo.url ?? '';\n link.download = node.name; // Set the desired file name\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n else {\n console.log('id is null');\n }\n }\n //#endregion\n //#region ---- Node Operations ----\n /**\n * Deletes multiple nodes (files and folders)\n */\n async deleteNodes(nodes) {\n for (const node of nodes) {\n if (node.type == 'folder') {\n await this.deleteFolder(node.id);\n }\n else {\n await this.deleteFile(node.id);\n }\n }\n }\n /**\n * Creates a copy of a node (file or folder)\n */\n async copy(node) {\n if (!node) {\n throw new Error('Node to copy cannot be null or undefined');\n }\n // Create a name with \" copy\" before the extension\n const newName = this.createCopyName(node.name);\n if (node.type === 'file') {\n // Get the original file to copy all its data\n const originalFile = await this.documentService.getOne(node.id);\n if (!originalFile) {\n throw new Error(`File with ID ${node.id} not found`);\n }\n // Create a document model from the original with the new name\n // Extract needed properties without id\n const { id, ...fileDataWithoutId } = originalFile;\n const fileData = {\n ...fileDataWithoutId,\n name: newName,\n title: newName,\n };\n // Create the new file\n return await this.createFile(fileData);\n }\n else if (node.type === 'folder') {\n // Get the original folder to copy all its data\n const originalFolder = await this.folderService.getOne(node.id);\n if (!originalFolder) {\n throw new Error(`Folder with ID ${node.id} not found`);\n }\n // Create a folder model from the original with the new name\n // Extract needed properties without id\n const { id, ...folderDataWithoutId } = originalFolder;\n const folderData = {\n ...folderDataWithoutId,\n name: newName,\n };\n // Create the new folder\n return await this.createFolder(folderData);\n }\n else {\n throw new Error(`Unsupported node type: ${node.type}`);\n }\n }\n /**\n * Moves a node to another location\n */\n async moveTo(options) {\n const comp = (await import('../drive-choose/drive-choose.component')).AXMDocumentDriveChooseComponent;\n const popup = await this.popupService.open(comp, {\n title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,\n data: {\n selectionMode: options.multiple ? 'multiple' : 'single',\n browseMode: options.browseMode ?? 'file',\n scope: options.scope,\n },\n });\n const selectedFolders = popup.data.result ? (popup.data?.items ?? []) : [];\n if (selectedFolders.length > 0) {\n const selectedFolder = selectedFolders[0];\n if (selectedFolder) {\n if (options.node.type === 'folder') {\n await this.updateFolder(options.node.id, { parentId: selectedFolder.id });\n }\n else {\n await this.updateFile(options.node.id, { parentId: selectedFolder.id });\n }\n return true;\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n }\n /**\n * Copies a node to another location\n */\n async copyTo(options) {\n const comp = (await import('../drive-choose/drive-choose.component')).AXMDocumentDriveChooseComponent;\n const popup = await this.popupService.open(comp, {\n title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,\n data: {\n selectionMode: options.multiple ? 'multiple' : 'single',\n browseMode: options.browseMode ?? 'file',\n scope: options.scope,\n },\n });\n const selectedFolders = popup.data.result ? (popup.data?.items ?? []) : [];\n if (selectedFolders.length > 0) {\n const selectedFolder = selectedFolders[0];\n if (selectedFolder) {\n if (options.node.type === 'folder') {\n await this.createFolder({\n name: options.node.name,\n parentId: selectedFolder.id,\n color: '#ffffff',\n size: options.node.size,\n inherit: options.node.inherit ?? 'None',\n });\n }\n else {\n await this.createFile({\n title: options.node.name,\n name: options.node.name,\n parentId: selectedFolder.id,\n //TODO upload file to file storage\n fileId: '',\n size: 0,\n documentType: options.node.documentTypes[0],\n // TODO\n status: 'Draft',\n });\n }\n return true;\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n }\n //#endregion\n //#region ---- Search Operations ----\n /**\n * Searches for folders by term within a scope\n */\n async searchFolders(searchTerm, scope, options) {\n const { result: rootNode } = options?.folderId\n ? await this.getFolder(scope, options.folderId, options)\n : await this.getRoot(scope, options);\n const folders = await this.folderService.searchFolders(searchTerm, rootNode.id);\n return folders.map((folder) => this.mapFolderDtoToFolderNode(folder));\n }\n /**\n * Searches for files by term within a scope\n */\n async searchFiles(searchTerm, scope, options) {\n const { result: rootNode } = options?.folderId\n ? await this.getFolder(scope, options.folderId, options)\n : await this.getRoot(scope, options);\n const files = await this.documentService.searchFiles(searchTerm, rootNode.id);\n return files.map((file) => this.mapFileToNode(file));\n }\n /**\n * Searches for both files and folders by term within a scope\n */\n async searchNodes(searchTerm, scope, options) {\n const [folders, files] = await Promise.all([\n this.searchFolders(searchTerm, scope, options),\n this.searchFiles(searchTerm, scope, options),\n ]);\n return [...folders, ...files];\n }\n //#endregion\n //#region ---- Data Retrieval Operations ----\n /**\n * Gets all folders\n */\n async getAllFolders() {\n //TODO filter by scope\n return (await this.folderService.query()).items.map(this.mapFolderDtoToFolderNode);\n }\n /**\n * Gets all files with optional query\n */\n async getAllFiles(request) {\n //TODO filter by scope\n return (await this.documentService.query(request)).items.map(this.mapFileToNode);\n }\n /**\n * Gets all nodes (files and folders)\n */\n async getAllNodes() {\n return [...(await this.getAllFolders()), ...(await this.getAllFiles())];\n }\n //#endregion\n //#region ---- File Upload Operations ----\n /**\n * Uploads file by document type to a specific folder\n */\n async uploadFileByType(folderId, docTypeId) {\n const result = await this.attachmentsService.attachFile(docTypeId, {\n multiple: true,\n folderId: folderId,\n });\n return result;\n }\n /**\n * Uploads file by document type to a specific folder\n */\n async updateUploadFileByType(node) {\n const result = await this.attachmentsService.updateAttachedFile(node.id, {\n folderId: node.parentId ?? '',\n });\n return result;\n }\n /**\n * Manage versions: Upload a new version for a specific document\n */\n async uploadNewVersion(node) {\n return await this.attachmentsService.uploadNewVersion(node.id);\n }\n /**\n * Opens version history popup using common version-history workflow\n */\n async showVersionHistory(node) {\n await this.workflow.execute('show-version-history-popup', {\n options: {\n refId: node.id,\n refType: `${RootConfig.module.name}.${RootConfig.entities.document.name}`,\n },\n });\n }\n //#region ---- Dialog Operations ----\n /**\n * Shows share dialog for a node\n */\n async showShareDialog(node) {\n const comp = (await import('./components/share-dialog/share-dialog.component')).AXMShareDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Share',\n data: {\n node,\n },\n });\n if (popup.data?.result) {\n // Handle the share action with popup.data.data\n }\n }\n /**\n * Shows share via email dialog for a node\n */\n async showShareWithEmailDialog(node) {\n const comp = (await import('./components/share-email-dialog/share-email-dialog.component'))\n .AXMShareEmailDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Share via Email',\n data: {\n node,\n },\n });\n if (popup.data?.result) {\n // Handle the share via email action with popup.data.data\n }\n }\n /**\n * Shows link dialog for a node\n */\n async showLinkDialog(node) {\n const comp = (await import('./components/link-dialog/link-dialog.component')).AXMLinkDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Share Link',\n data: {\n node,\n },\n });\n if (popup.data?.result) {\n // Handle the link generation with popup.data.data\n }\n }\n /**\n * Shows lock dialog for a document\n */\n async showLockDialog(node) {\n const result = await this.workflow.execute('lock-popup', {\n refId: node.id,\n refType: `${RootConfig.module.name}.${node.type === 'folder' ? RootConfig.entities.folder.name : RootConfig.entities.document.name}`,\n });\n const isCanceled = result.getOutput('isCanceled');\n return !isCanceled;\n }\n /**\n * Shows unlock dialog for a document\n */\n async showUnlockDialog(node) {\n const result = await this.workflow.execute('unlock-confirm', {\n refId: node.id,\n refType: `${RootConfig.module.name}.${node.type === 'folder' ? RootConfig.entities.folder.name : RootConfig.entities.document.name}`,\n });\n const unlocked = result.getOutput('unlocked');\n return unlocked;\n }\n /**\n * Shows folder edit dialog\n */\n async showFolderEditDialog(node) {\n // Load document types for selection\n const res = await this.documentTypeService.query();\n const items = res?.items ?? [];\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@document-management:actions.update-folder')\n .setContext({\n name: node.name,\n description: node.description ?? '',\n inherit: node.inherit ?? 'None',\n documentTypes: node.documentTypes ?? [],\n color: '#FFFFFF',\n })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@general:terms.common.name', field => {\n field.path('name');\n field.textBox({ validations: [{ rule: 'required' }] });\n })\n .formField('@general:terms.common.description', field => {\n field.path('description');\n field.largeTextBox({});\n })\n .formField('@document-management:terms.common.inherited', field => {\n field.path('inherit');\n field.selectionList({\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'None', text: 'None' },\n { value: 'Inherited', text: 'Inherited' },\n { value: 'Extends', text: 'Extends' },\n ],\n });\n })\n .formField('@document-management:entities.document-types.title-plural', field => {\n field.path('documentTypes');\n field.selectBox({\n valueField: 'name',\n textField: 'title',\n dataSource: items,\n multiple: true,\n allowSearch: true,\n });\n })\n .formField('@general:terms.common.color', field => {\n field.path('color');\n field.colorBox({});\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.save.title');\n });\n })\n .show();\n const form = dialogRef.context();\n const action = dialogRef.action();\n if (action !== 'submit') {\n dialogRef.close();\n return false;\n }\n dialogRef.setLoading(true);\n try {\n const selected = Array.isArray(form.documentTypes) ? form.documentTypes : [];\n const selectedTypes = selected.map((v) => typeof v === 'object' ? v : items.find((it) => it.name === v) || { name: v, title: v });\n await this.updateFolder(node.id, {\n name: form.name,\n description: form.description,\n inherit: form.inherit,\n documentTypes: selectedTypes,\n color: form.color,\n });\n return true;\n }\n finally {\n dialogRef.setLoading(false);\n dialogRef.close();\n }\n }\n /**\n * Shows create folder dialog\n */\n async showCreateFolderDialog(parentId) {\n // Load document types for selection\n const res = await this.documentTypeService.query();\n const items = res?.items ?? [];\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@document-management:actions.create-folder')\n .setContext({ name: '', description: '', inherit: 'None', documentTypes: [], color: '#FFFFFF' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@general:terms.common.name', field => {\n field.path('name');\n field.textBox({ validations: [{ rule: 'required' }] });\n })\n .formField('@general:terms.common.description', field => {\n field.path('description');\n field.largeTextBox({});\n })\n .formField('@document-management:terms.common.inherited', field => {\n field.path('inherit');\n field.selectionList({\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'None', text: 'None' },\n { value: 'Inherited', text: 'Inherited' },\n { value: 'Extends', text: 'Extends' },\n ],\n });\n })\n .formField('@document-management:entities.document-types.title-plural', field => {\n field.path('documentTypes');\n field.selectBox({\n valueField: 'name',\n textField: 'title',\n dataSource: items,\n multiple: true,\n allowSearch: true,\n });\n })\n .formField('@general:terms.common.color', field => {\n field.path('color');\n field.colorBox({});\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.save.title');\n });\n })\n .show();\n const form = dialogRef.context();\n const action = dialogRef.action();\n if (action !== 'submit') {\n dialogRef.close();\n return null;\n }\n dialogRef.setLoading(true);\n try {\n const selected = Array.isArray(form.documentTypes) ? form.documentTypes : [];\n const selectedTypes = selected.map((v) => typeof v === 'object' ? v : items.find((it) => it.name === v) || { name: v, title: v });\n const folder = await this.createFolder({\n name: form.name,\n color: form.color,\n parentId,\n description: form.description,\n documentTypes: selectedTypes,\n size: 0,\n inherit: form.inherit,\n });\n return folder;\n }\n finally {\n dialogRef.setLoading(false);\n dialogRef.close();\n }\n }\n /**\n * Shows rename popup for a node using dynamic form builder\n */\n async showRenamePopup(node) {\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@document-management:actions.rename')\n .setContext({ name: node.name })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@document-management:dialogs.rename.name', field => {\n field.path('name');\n field.textBox({\n placeholder: '@document-management:dialogs.rename.name-placeholder',\n validations: [{ rule: 'required' }]\n });\n });\n })\n .setActions(actions => {\n actions.cancel().submit('@general:actions.save.title');\n });\n })\n .show();\n // Get form data and action\n const formData = dialogRef.context();\n const action = dialogRef.action();\n if (action === 'submit' && formData?.name) {\n // Set loading state\n dialogRef.setLoading(true);\n try {\n let updatedNode;\n if (node.type === 'folder') {\n updatedNode = await this.updateFolder(node.id, {\n name: formData.name,\n });\n }\n else {\n await this.updateFileName(node, formData.name);\n updatedNode = await this.updateFile(node.id, {\n name: formData.name,\n });\n }\n return updatedNode;\n }\n catch (error) {\n console.error('Error updating node:', error);\n return undefined;\n }\n finally {\n dialogRef.close();\n }\n }\n else {\n dialogRef.close();\n }\n return undefined;\n }\n /**\n * Shows delete nodes confirmation dialog\n */\n async showDeleteNodesDialog(nodeIds) {\n const result = await this.workflow.execute('delete-entity', {\n entities: nodeIds.map((node) => ({\n source: `${RootConfig.module.name}.${node.type == 'folder' ? RootConfig.entities.folder.name : RootConfig.entities.document.name}`,\n ids: [node.id],\n })),\n });\n return result.getOutput('result') ?? false;\n }\n /**\n * Shows choose file dialog\n */\n async showChooseFileDialog(scope) {\n const comp = (await import('../drive-choose/drive-choose.component')).AXMDocumentDriveChooseComponent;\n const result = await this.popupService.open(comp, {\n title: await this.translate.translateAsync('@document-management:actions.choose-from-drive'),\n data: {\n scope: scope,\n },\n });\n if (result.data?.result) {\n return castArray(result.data.items);\n }\n return [];\n }\n /**\n * Shows file viewer popup\n */\n async showFileViewerPopup(node, options) {\n const isVirtualFolder = node.parentId === 'virtual';\n const parentFolderName = isVirtualFolder ? 'Virtual' : (await this.folderService.getOne(node.parentId)).name;\n const documents = isVirtualFolder\n ? (options?.folderVirtualFiles ?? [])\n : ((await this.folderService.getOne(node.parentId)).documents ?? []);\n // Filter documents first\n const filteredDocuments = documents.filter((item) => {\n if (!item.name)\n return false;\n const ext = item.name.split('.').pop()?.toLowerCase();\n return ext && ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'pdf'].includes(ext);\n });\n // Collect all fileIds that need to be fetched\n const fileIds = filteredDocuments\n .filter((doc) => doc.fileId?.source?.kind === 'fileId')\n .map((doc) => doc.fileId.source.value);\n // Fetch all file info at once (need URL for media viewer)\n const fileInfosMap = new Map();\n if (fileIds.length > 0) {\n const infos = await Promise.all(fileIds.map((id) => this.fileService.getInfo(id)));\n infos.forEach((info) => {\n if (info?.fileId) {\n fileInfosMap.set(info.fileId, info);\n }\n });\n }\n const nodes = await Promise.all(filteredDocuments.map((doc) => this.mapDocumentToMediaViewerData(doc, fileInfosMap)));\n const comp = (await import('./components/file-viewer-popup/file-viewer-popup.component'))\n .AXMFileViewerPopupComponent;\n await this.popupService.open(comp, {\n title: parentFolderName,\n data: {\n nodes,\n index: isVirtualFolder\n ? (options?.folderVirtualFiles?.findIndex((f) => f.id === node.id) ?? 0)\n : (options?.index ?? 0),\n },\n });\n }\n /**\n * Updates a file name\n */\n async updateFileName(node, name) {\n if (node.storageType == 'physical') {\n return this.mapFileToNode(await this.documentService.updateOne(node.id, { name }));\n }\n else {\n node.name = name;\n return node;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//#endregion\n//#region ---- Scoped Drive Service ----\n/**\n * Scoped drive service for specific platform scopes\n */\nexport class ScopedDriveService {\n //#region ---- Constructor ----\n constructor(parent, scope, options) {\n this.parent = parent;\n this.scope = scope;\n this.options = options;\n this.validateScopeOptions();\n }\n //#endregion\n //#region ---- Validation Methods ----\n /**\n * Validates the scope options are appropriate for the selected scope\n */\n validateScopeOptions() {\n switch (this.scope) {\n case AXPPlatformScope.Tenant:\n if (!this.options?.tenantId) {\n throw new Error('Tenant ID is required for tenant scope');\n }\n break;\n case AXPPlatformScope.User:\n if (!this.options?.tenantId || !this.options?.userId) {\n throw new Error('Both Tenant ID and User ID are required for user scope');\n }\n break;\n }\n }\n //#endregion\n //#region ---- Scoped Operations ----\n /**\n * Gets root folder for this scope\n */\n async getRoot() {\n return this.parent.getRoot(this.scope, this.options);\n }\n /**\n * Gets folder for this scope\n */\n async getFolder(folderId) {\n return this.parent.getFolder(this.scope, folderId, this.options);\n }\n /**\n * Creates folder in this scope\n */\n async createFolder(data) {\n const folderData = {\n ...data,\n tenantId: this.options?.tenantId,\n userId: this.options?.userId,\n };\n return this.parent.createFolder(folderData);\n }\n /**\n * Updates folder in this scope\n */\n async updateFolder(folderId, data) {\n return this.parent.updateFolder(folderId, data);\n }\n /**\n * Deletes folder in this scope\n */\n async deleteFolder(folderId) {\n return this.parent.deleteFolder(folderId);\n }\n /**\n * Gets available space for this scope\n */\n async getAvailableSpace() {\n return this.parent.getAvailableSpace();\n }\n /**\n * Searches folders in this scope\n */\n async searchFolders(searchTerm) {\n this.validateScopeOptions();\n return this.parent.searchFolders(searchTerm, this.scope, this.options);\n }\n /**\n * Searches files in this scope\n */\n async searchFiles(searchTerm) {\n this.validateScopeOptions();\n return this.parent.searchFiles(searchTerm, this.scope, this.options);\n }\n /**\n * Searches nodes in this scope\n */\n async searchNodes(searchTerm) {\n this.validateScopeOptions();\n return this.parent.searchNodes(searchTerm, this.scope, this.options);\n }\n /**\n * Creates a copy of a node in this scope\n */\n async copy(node) {\n this.validateScopeOptions();\n return this.parent.copy(node);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9zaGFyZWQvZG9jdW1lbnQtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBSUwsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFReEIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBb0dyRixZQUFZ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LElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWE1lZGlhVmlld2VyRGF0YSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9tZWRpYS12aWV3ZXInO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQRmlsZVN0b3JhZ2VTZXJ2aWNlLCBBWFBGaWxlU3RvcmFnZUluZm8gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5cbmltcG9ydCB7IEFYRmlsZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlLCBBWFBRdWVyeVJlcXVlc3QgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgY2FzdEFycmF5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50RW50aXR5TW9kZWwsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckNyZWF0ZUR0byxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyRW50aXR5TW9kZWwsXG4gIEFYTURvY3VtZW50U2VydmljZSxcbiAgQVhNRG9jdW1lbnRUeXBlU2VydmljZSxcbiAgQVhNRm9sZGVyU2VydmljZSxcbiAgQVhNUmV2aWV3U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vZW50aXRpZXMnO1xuaW1wb3J0IHtcbiAgQVhNRG9jdW1lbnRFeHBsb3JlckJyb3dzZU1vZGUsXG4gIEFYTURvY3VtZW50RXhwbG9yZXJOb2RlLFxuICBDcmVhdGVGaWxlRHRvLFxuICBVcGRhdGVGaWxlRHRvLFxuICBVcGRhdGVGb2xkZXJEdG8sXG59IGZyb20gJy4vZG9jdW1lbnQtbWFuYWdlci50eXBlcyc7XG5pbXBvcnQgeyBEb2N1bWVudEF0dGFjaG1lbnRzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZG9jdW1lbnQtYXR0YWNobWVudHMuc2VydmljZSc7XG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBJbnRlcmZhY2UgRGVmaW5pdGlvbnMgICAtLS0tXG5cbi8qKlxuICogSW50ZXJmYWNlIGRlZmluaW5nIHRoZSBjb250cmFjdCBmb3IgZG9jdW1lbnQgZHJpdmUgc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYTURvY3VtZW50TWFuYWdlclNlcnZpY2VJbnRlcmZhY2Uge1xuICAvLyBTY29wZSBtYW5hZ2VtZW50XG4gIHNjb3BlKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLCBvcHRpb25zPzogeyB0ZW5hbnRJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nIH0pOiBTY29wZWREcml2ZVNlcnZpY2U7XG5cbiAgLy8gUm9vdCBhbmQgZm9sZGVyIG9wZXJhdGlvbnNcbiAgZ2V0Um9vdChcbiAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZSxcbiAgICBvcHRpb25zPzogeyB0ZW5hbnRJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nIH0sXG4gICk6IFByb21pc2U8e1xuICAgIHBhdGg6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW107XG4gICAgcmVzdWx0OiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZTtcbiAgfT47XG4gIGdldEZvbGRlcihcbiAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZSxcbiAgICBmb2xkZXJJZDogc3RyaW5nLFxuICApOiBQcm9taXNlPHtcbiAgICBwYXRoOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdO1xuICAgIHJlc3VsdDogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU7XG4gIH0+O1xuICBjcmVhdGVGb2xkZXIoZGF0YTogQVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyQ3JlYXRlRHRvKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZT47XG4gIHVwZGF0ZUZvbGRlcihmb2xkZXJJZDogc3RyaW5nLCBkYXRhOiBVcGRhdGVGb2xkZXJEdG8pOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlPjtcbiAgZGVsZXRlRm9sZGVyKGZvbGRlcklkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICBnZXRBdmFpbGFibGVTcGFjZSgpOiBQcm9taXNlPG51bWJlcj47XG5cbiAgLy8gRmlsZSBvcGVyYXRpb25zXG4gIGNyZWF0ZUZpbGUoZGF0YTogQ3JlYXRlRmlsZUR0byk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU+O1xuICB1cGRhdGVGaWxlKGZpbGVJZDogc3RyaW5nLCBkYXRhOiBVcGRhdGVGaWxlRHRvKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZT47XG4gIGRlbGV0ZUZpbGUoZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8vIE5vZGUgb3BlcmF0aW9uc1xuICBkZWxldGVOb2Rlcyhub2RlSWRzOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdKTogUHJvbWlzZTx2b2lkPjtcbiAgY29weShub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU+O1xuXG4gIC8vIERpYWxvZyBvcGVyYXRpb25zXG4gIHNob3dDcmVhdGVGb2xkZXJEaWFsb2cocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlIHwgbnVsbD47XG4gIHNob3dEZWxldGVOb2Rlc0RpYWxvZyhub2RlSWRzOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdKTogUHJvbWlzZTxib29sZWFuPjtcbiAgc2hvd1JlbmFtZVBvcHVwKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSB8IHVuZGVmaW5lZD47XG5cbiAgLy8gU2VhcmNoIG9wZXJhdGlvbnNcbiAgc2VhcmNoRm9sZGVycyhcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmcsXG4gICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUsXG4gICAgb3B0aW9ucz86IHsgdGVuYW50SWQ/OiBzdHJpbmc7IHVzZXJJZD86IHN0cmluZyB9LFxuICApOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+O1xuXG4gIHNlYXJjaEZpbGVzKFxuICAgIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZSxcbiAgICBvcHRpb25zPzogeyB0ZW5hbnRJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nIH0sXG4gICk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXT47XG5cbiAgc2VhcmNoTm9kZXMoXG4gICAgc2VhcmNoVGVybTogc3RyaW5nLFxuICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLFxuICAgIG9wdGlvbnM/OiB7IHRlbmFudElkPzogc3RyaW5nOyB1c2VySWQ/OiBzdHJpbmcgfSxcbiAgKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdPjtcblxuICAvLyBGaWxlIGJyb3dzaW5nIG9wZXJhdGlvbnNcbiAgc2hvd0Nob29zZUZpbGVEaWFsb2cocm9vdDogc3RyaW5nKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdPjtcblxuICAvLyBGaWxlIGFjdGlvbnNcbiAgbW92ZVRvKG9wdGlvbnM6IHtcbiAgICBub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZTtcbiAgICBicm93c2VNb2RlPzogQVhNRG9jdW1lbnRFeHBsb3JlckJyb3dzZU1vZGU7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxib29sZWFuPjtcblxuICBjb3B5VG8ob3B0aW9uczoge1xuICAgIG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlO1xuICAgIGJyb3dzZU1vZGU/OiBBWE1Eb2N1bWVudEV4cGxvcmVyQnJvd3NlTW9kZTtcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIHNob3dGaWxlVmlld2VyUG9wdXAobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+O1xuICBvcGVuRmlsZShub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8dm9pZD47XG5cbiAgLy8gRGF0YSByZXRyaWV2YWwgb3BlcmF0aW9uc1xuICBnZXRBbGxGb2xkZXJzKCk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXT47XG4gIGdldEFsbEZpbGVzKHJlcXVlc3Q/OiBBWFBRdWVyeVJlcXVlc3QpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+O1xuICBnZXRBbGxOb2RlcygpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+O1xuICBkb3dubG9hZEZpbGUobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8vIFNoYXJpbmcgYW5kIGNvbGxhYm9yYXRpb24gb3BlcmF0aW9uc1xuICBzaG93U2hhcmVEaWFsb2cobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+O1xuICBzaG93U2hhcmVXaXRoRW1haWxEaWFsb2cobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+O1xuICBzaG93TGlua0RpYWxvZyhub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8dm9pZD47XG4gIHNob3dMb2NrRGlhbG9nKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxib29sZWFuPjtcbiAgc2hvd1VubG9ja0RpYWxvZyhub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8Ym9vbGVhbj47XG4gIHNob3dGb2xkZXJFZGl0RGlhbG9nKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxib29sZWFuPjtcbiAgdXBkYXRlRmlsZU5hbWUobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU+O1xufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlIEltcGxlbWVudGF0aW9uICAgLS0tLVxuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGhhbmRsaW5nIGRvY3VtZW50IGRyaXZlIG9wZXJhdGlvbnNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYTURvY3VtZW50TWFuYWdlclNlcnZpY2UgaW1wbGVtZW50cyBBWE1Eb2N1bWVudE1hbmFnZXJTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgZm9sZGVyU2VydmljZSA9IGluamVjdChBWE1Gb2xkZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGRvY3VtZW50U2VydmljZSA9IGluamVjdChBWE1Eb2N1bWVudFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgZG9jdW1lbnRUeXBlU2VydmljZSA9IGluamVjdChBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByb3RlY3RlZCBmaWxlU2VydmljZSA9IGluamVjdChBWFBGaWxlU3RvcmFnZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgZmlsZU1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KEFYRmlsZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByb3RlY3RlZCBsYXlvdXRCdWlsZGVyID0gaW5qZWN0KEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmV2aWV3U2VydmljZSA9IGluamVjdChBWE1SZXZpZXdTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgYXR0YWNobWVudHNTZXJ2aWNlID0gaW5qZWN0KERvY3VtZW50QXR0YWNobWVudHNTZXJ2aWNlKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFByaXZhdGUgUHJvcGVydGllcyAgIC0tLS1cblxuICBwcml2YXRlIHNjb3BlZERyaXZlQ2FjaGU6IE1hcDxBWFBQbGF0Zm9ybVNjb3BlLCBTY29wZWREcml2ZVNlcnZpY2U+ID0gbmV3IE1hcCgpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgU2NvcGUgTWFuYWdlbWVudCBNZXRob2RzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc2NvcGVkIGRyaXZlIHNlcnZpY2UgZm9yIHRoZSBzcGVjaWZpZWQgcGxhdGZvcm0gc2NvcGVcbiAgICovXG4gIHNjb3BlKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLCBvcHRpb25zPzogeyB0ZW5hbnRJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nIH0pOiBTY29wZWREcml2ZVNlcnZpY2Uge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gdGhpcy5nZXRTY29wZUNhY2hlS2V5KHNjb3BlLCBvcHRpb25zKTtcbiAgICBpZiAoIXRoaXMuc2NvcGVkRHJpdmVDYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICB0aGlzLnNjb3BlZERyaXZlQ2FjaGUuc2V0KGNhY2hlS2V5LCBuZXcgU2NvcGVkRHJpdmVTZXJ2aWNlKHRoaXMsIHNjb3BlLCBvcHRpb25zKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNjb3BlZERyaXZlQ2FjaGUuZ2V0KGNhY2hlS2V5KSE7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgY2FjaGUga2V5IGZvciB0aGUgc2NvcGVkIGRyaXZlIHNlcnZpY2VcbiAgICovXG4gIHByaXZhdGUgZ2V0U2NvcGVDYWNoZUtleShcbiAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZSxcbiAgICBvcHRpb25zPzogeyB0ZW5hbnRJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nIH0sXG4gICk6IEFYUFBsYXRmb3JtU2NvcGUge1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUHJpdmF0ZSBIZWxwZXIgTWV0aG9kcyAgIC0tLS1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcGxhdGZvcm0gcm9vdCBmb2xkZXIgKHRvcC1sZXZlbCBmb2xkZXIpXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGdldFBsYXRmb3JtUm9vdEZvbGRlcigpOiBQcm9taXNlPEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckVudGl0eU1vZGVsPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5mb2xkZXJTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgIHNraXA6IDAsXG4gICAgICB0YWtlOiAxLFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIG9wZXJhdG9yOiBudWxsISxcbiAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICBmaWx0ZXJzOiBbXG4gICAgICAgICAgeyBmaWVsZDogJ3BhcmVudElkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2lzTnVsbCcgfSB9LFxuICAgICAgICAgIHsgZmllbGQ6ICd0ZW5hbnRJZCcsIG9wZXJhdG9yOiB7IHR5cGU6ICdpc051bGwnIH0gfSxcbiAgICAgICAgICB7IGZpZWxkOiAndXNlcklkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2lzTnVsbCcgfSB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChyZXN1bHQuaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsYXRmb3JtIHJvb3QgZm9sZGVyIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQuaXRlbXNbMF07XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGVuYW50IHJvb3QgZm9sZGVyXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGdldFRlbmFudFJvb3RGb2xkZXIoXG4gICAgcm9vdEZvbGRlcjogQVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyRW50aXR5TW9kZWwsXG4gICAgdGVuYW50SWQ6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxBWE1Eb2N1bWVudE1hbmFnZW1lbnRGb2xkZXJFbnRpdHlNb2RlbD4ge1xuICAgIGlmICghdGVuYW50SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGVuYW50IElEIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5mb2xkZXJTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgIHNraXA6IDAsXG4gICAgICB0YWtlOiAxLFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIG9wZXJhdG9yOiBudWxsISxcbiAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICBmaWx0ZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdwYXJlbnRJZCcsXG4gICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIH0sXG4gICAgICAgICAgICB2YWx1ZTogcm9vdEZvbGRlci5mb2xkZXJzPy5maW5kKChmKSA9PiBmLm5hbWUgPT09ICdUZW5hbnRzJyk/LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBmaWVsZDogJ3RlbmFudElkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LCB2YWx1ZTogdGVuYW50SWQgfSxcbiAgICAgICAgICB7IGZpZWxkOiAndXNlcklkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2lzTnVsbCcgfSB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChyZXN1bHQuaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RlbmFudCByb290IGZvbGRlciBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0Lml0ZW1zWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHVzZXIgcm9vdCBmb2xkZXJcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0VXNlclJvb3RGb2xkZXIoXG4gICAgdGVuYW50Rm9sZGVySWQ6IHN0cmluZyxcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICApOiBQcm9taXNlPEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckVudGl0eU1vZGVsPiB7XG4gICAgaWYgKCF0ZW5hbnRJZCB8fCAhdXNlcklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JvdGggVGVuYW50IElEIGFuZCBVc2VyIElEIGFyZSByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZm9sZGVyU2VydmljZS5xdWVyeSh7XG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogMSxcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBvcGVyYXRvcjogbnVsbCEsXG4gICAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgIHsgZmllbGQ6ICdwYXJlbnRJZCcsIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgfSwgdmFsdWU6IHRlbmFudEZvbGRlcklkIH0sXG4gICAgICAgICAgeyBmaWVsZDogJ3RlbmFudElkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LCB2YWx1ZTogdGVuYW50SWQgfSxcbiAgICAgICAgICB7IGZpZWxkOiAndXNlcklkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LCB2YWx1ZTogdXNlcklkIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHJlc3VsdC5pdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXNlciByb290IGZvbGRlciBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0Lml0ZW1zWzBdO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBNYXBwaW5nIE1ldGhvZHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIE1hcHMgZm9sZGVyIGVudGl0eSB0byBkb2N1bWVudCBleHBsb3JlciBub2RlXG4gICAqL1xuICBwcml2YXRlIG1hcEZvbGRlckR0b1RvRm9sZGVyTm9kZSA9IChmb2xkZXI6IEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckVudGl0eU1vZGVsKTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogZm9sZGVyLmlkISxcbiAgICAgIG5hbWU6IGZvbGRlci5uYW1lLFxuICAgICAgdHlwZTogJ2ZvbGRlcicsXG4gICAgICBwYXJlbnRJZDogZm9sZGVyLnBhcmVudElkIHx8IG51bGwsXG4gICAgICBtb2RpZmllZEF0OiAoZm9sZGVyIGFzIGFueSk/LnVwZGF0ZWQ/LmF0LFxuICAgICAgY3JlYXRlZEF0OiAoZm9sZGVyIGFzIGFueSk/LmNyZWF0ZWQ/LmF0LFxuICAgICAgZGVzY3JpcHRpb246IGZvbGRlci5kZXNjcmlwdGlvbixcbiAgICAgIGNoaWxkcmVuQ291bnQ6IGZvbGRlci5ub2RlQ291bnQsXG4gICAgICBzaXplOiBmb2xkZXIuc2l6ZSxcbiAgICAgIGRvY3VtZW50VHlwZXM6IGZvbGRlci5kb2N1bWVudFR5cGVzIHx8IFtdLFxuICAgICAgc3RvcmFnZVR5cGU6ICdwaHlzaWNhbCcsXG4gICAgICBpbmhlcml0OiBmb2xkZXIuaW5oZXJpdCxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIC4uLihmb2xkZXIuZm9sZGVycz8ubWFwKHRoaXMubWFwRm9sZGVyRHRvVG9Gb2xkZXJOb2RlKSB8fCBbXSksXG4gICAgICAgIC4uLihmb2xkZXIuZG9jdW1lbnRzPy5tYXAodGhpcy5tYXBGaWxlVG9Ob2RlKSB8fCBbXSksXG4gICAgICBdLFxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIE1hcHMgZmlsZSBlbnRpdHkgdG8gZG9jdW1lbnQgZXhwbG9yZXIgbm9kZVxuICAgKi9cbiAgcHJpdmF0ZSBtYXBGaWxlVG9Ob2RlKGZpbGU6IEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50RW50aXR5TW9kZWwpOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBmaWxlLmlkISxcbiAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgIHBhcmVudElkOiBmaWxlLnBhcmVudElkLFxuICAgICAgbW9kaWZpZWRBdDogKGZpbGUgYXMgYW55KT8udXBkYXRlZD8uYXQsXG4gICAgICBjcmVhdGVkQXQ6IChmaWxlIGFzIGFueSk/LmNyZWF0ZWQ/LmF0LFxuICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgZmlsZUlkOiBmaWxlLmZpbGVJZCxcbiAgICAgIHN0b3JhZ2VUeXBlOiAncGh5c2ljYWwnLFxuICAgICAgbWV0YTogZmlsZS5tZXRhRGF0YUZvcm0gPyBPYmplY3QudmFsdWVzKGZpbGUubWV0YURhdGFGb3JtKSA6IHVuZGVmaW5lZCxcbiAgICAgIGRvY3VtZW50VHlwZXM6IGZpbGUuZG9jdW1lbnRUeXBlID8gW2ZpbGUuZG9jdW1lbnRUeXBlXSA6IFtdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTWFwcyBkb2N1bWVudCB0byBtZWRpYSB2aWV3ZXIgZGF0YVxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBtYXBEb2N1bWVudFRvTWVkaWFWaWV3ZXJEYXRhKFxuICAgIGRvYzogQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRFbnRpdHlNb2RlbCB8IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlLFxuICAgIGZpbGVJbmZvc01hcD86IE1hcDxzdHJpbmcsIEFYUEZpbGVTdG9yYWdlSW5mbz4sXG4gICk6IFByb21pc2U8QVhNZWRpYVZpZXdlckRhdGE+IHtcbiAgICBjb25zb2xlLmxvZygnbWFwRG9jdW1lbnRUb01lZGlhVmlld2VyRGF0YScsIGRvYyk7XG4gICAgaWYgKGRvYy5maWxlSWQ/LnNvdXJjZT8ua2luZCA9PSAnZmlsZUlkJykge1xuICAgICAgY29uc3QgZmlsZUlkID0gZG9jLmZpbGVJZC5zb3VyY2UudmFsdWU7XG4gICAgICBsZXQgZmlsZUluZm86IEFYUEZpbGVTdG9yYWdlSW5mbyB8IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGZpbGVJbmZvc01hcCkge1xuICAgICAgICAvLyBVc2UgcHJlLWZldGNoZWQgZGF0YVxuICAgICAgICBmaWxlSW5mbyA9IGZpbGVJbmZvc01hcC5nZXQoZmlsZUlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZhbGxiYWNrIHRvIGluZGl2aWR1YWwgZmV0Y2ggKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KVxuICAgICAgICBmaWxlSW5mbyA9IGF3YWl0IHRoaXMuZmlsZVNlcnZpY2UuZ2V0SW5mbyhmaWxlSWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogZG9jLmlkID8/ICcnLFxuICAgICAgICBuYW1lOiBkb2MubmFtZSxcbiAgICAgICAgdHlwZTogZG9jLm5hbWUuZW5kc1dpdGgoJy5wZGYnKSA/ICdwZGYnIDogJ2ltYWdlJyxcbiAgICAgICAgdXJsOiBmaWxlSW5mbz8udXJsID8/ICcnLFxuICAgICAgICBzaXplOiBkb2Muc2l6ZS50b1N0cmluZygpLFxuICAgICAgICB0aHVtYm5haWw6IGZpbGVJbmZvPy51cmwgPz8gJycsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBpZDogZG9jLmlkID8/ICcnLFxuICAgICAgbmFtZTogZG9jLm5hbWUsXG4gICAgICB0eXBlOiAoZG9jIGFzIGFueSkubWV0YT8uWyd0eXBlJ10gPz8gJ2ltYWdlJyxcbiAgICAgIHVybDogZG9jLmZpbGVJZCA/PyAnJyxcbiAgICAgIHNpemU6IGRvYy5zaXplLnRvU3RyaW5nKCksXG4gICAgICB0aHVtYm5haWw6IGRvYy5maWxlSWQgPz8gJycsXG4gICAgfTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVXRpbGl0eSBNZXRob2RzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgbmF2aWdhdGlvbiBwYXRoIGZvciBhIG5vZGVcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRQYXRoKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlLCBzdG9wRm9sZGVySWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+IHtcbiAgICBpZiAobm9kZS50eXBlID09PSAnZmlsZScpIHtcbiAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0UGF0aChub2RlLmlkLCBzdG9wRm9sZGVySWQpKS5tYXAodGhpcy5tYXBGb2xkZXJEdG9Ub0ZvbGRlck5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZm9sZGVyU2VydmljZS5nZXRQYXRoKG5vZGUuaWQsIHN0b3BGb2xkZXJJZCkpLm1hcCh0aGlzLm1hcEZvbGRlckR0b1RvRm9sZGVyTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG5hbWUgYnkgYWRkaW5nIFwiIGNvcHlcIiBiZWZvcmUgdGhlIGV4dGVuc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDb3B5TmFtZShvcmlnaW5hbE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFzdERvdEluZGV4ID0gb3JpZ2luYWxOYW1lLmxhc3RJbmRleE9mKCcuJyk7XG5cbiAgICBpZiAobGFzdERvdEluZGV4ID09PSAtMSkge1xuICAgICAgLy8gTm8gZXh0ZW5zaW9uXG4gICAgICByZXR1cm4gYCR7b3JpZ2luYWxOYW1lfSBjb3B5YDtcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lV2l0aG91dEV4dCA9IG9yaWdpbmFsTmFtZS5zdWJzdHJpbmcoMCwgbGFzdERvdEluZGV4KTtcbiAgICBjb25zdCBleHRlbnNpb24gPSBvcmlnaW5hbE5hbWUuc3Vic3RyaW5nKGxhc3REb3RJbmRleCk7XG5cbiAgICByZXR1cm4gYCR7bmFtZVdpdGhvdXRFeHR9IGNvcHkke2V4dGVuc2lvbn1gO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBSb290IGFuZCBGb2xkZXIgT3BlcmF0aW9ucyAgIC0tLS1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcm9vdCBmb2xkZXIgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBzY29wZVxuICAgKi9cbiAgYXN5bmMgZ2V0Um9vdChcbiAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZSxcbiAgICBvcHRpb25zPzogeyB0ZW5hbnRJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nIH0sXG4gICk6IFByb21pc2U8e1xuICAgIHBhdGg6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW107XG4gICAgcmVzdWx0OiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZTtcbiAgfT4ge1xuICAgIGNvbnN0IHJvb3RGb2xkZXIgPSBhd2FpdCB0aGlzLmdldFBsYXRmb3JtUm9vdEZvbGRlcigpO1xuICAgIGxldCByZXN1bHQ6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlO1xuICAgIGxldCBwYXRoOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdID0gW107XG5cbiAgICBzd2l0Y2ggKHNjb3BlKSB7XG4gICAgICBjYXNlIEFYUFBsYXRmb3JtU2NvcGUuUGxhdGZvcm06XG4gICAgICAgIHJlc3VsdCA9IHRoaXMubWFwRm9sZGVyRHRvVG9Gb2xkZXJOb2RlKHJvb3RGb2xkZXIpO1xuICAgICAgICBwYXRoID0gYXdhaXQgdGhpcy5idWlsZFBhdGgocmVzdWx0KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQ6IHtcbiAgICAgICAgaWYgKCFvcHRpb25zPy50ZW5hbnRJZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGVuYW50IElEIGlzIHJlcXVpcmVkIGZvciB0ZW5hbnQgc2NvcGUnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZW5hbnRSb290ID0gYXdhaXQgdGhpcy5nZXRUZW5hbnRSb290Rm9sZGVyKHJvb3RGb2xkZXIsIG9wdGlvbnMudGVuYW50SWQpO1xuICAgICAgICByZXN1bHQgPSB0aGlzLm1hcEZvbGRlckR0b1RvRm9sZGVyTm9kZSh0ZW5hbnRSb290KTtcbiAgICAgICAgcGF0aCA9IGF3YWl0IHRoaXMuYnVpbGRQYXRoKHJlc3VsdCwgdGVuYW50Um9vdC5pZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIEFYUFBsYXRmb3JtU2NvcGUuVXNlcjoge1xuICAgICAgICBpZiAoIW9wdGlvbnM/LnRlbmFudElkIHx8ICFvcHRpb25zPy51c2VySWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JvdGggVGVuYW50IElEIGFuZCBVc2VyIElEIGFyZSByZXF1aXJlZCBmb3IgdXNlciBzY29wZScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRlbmFudEZvbGRlciA9IGF3YWl0IHRoaXMuZ2V0VGVuYW50Um9vdEZvbGRlcihyb290Rm9sZGVyLCBvcHRpb25zLnRlbmFudElkKTtcbiAgICAgICAgY29uc3QgdXNlclJvb3QgPSBhd2FpdCB0aGlzLmdldFVzZXJSb290Rm9sZGVyKFxuICAgICAgICAgIHRlbmFudEZvbGRlci5mb2xkZXJzPy5maW5kKChmKSA9PiBmLm5hbWUgPT09ICdVc2VycycpPy5pZCEsXG4gICAgICAgICAgb3B0aW9ucy50ZW5hbnRJZCxcbiAgICAgICAgICBvcHRpb25zLnVzZXJJZCxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5tYXBGb2xkZXJEdG9Ub0ZvbGRlck5vZGUodXNlclJvb3QpO1xuICAgICAgICBwYXRoID0gYXdhaXQgdGhpcy5idWlsZFBhdGgocmVzdWx0LCB1c2VyUm9vdC5pZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2NvcGU6ICR7c2NvcGV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcGF0aCwgcmVzdWx0IH07XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIHNwZWNpZmljIGZvbGRlciBieSBJRFxuICAgKi9cbiAgYXN5bmMgZ2V0Rm9sZGVyKFxuICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLFxuICAgIGZvbGRlcklkOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHsgdGVuYW50SWQ/OiBzdHJpbmc7IHVzZXJJZD86IHN0cmluZyB9LFxuICApOiBQcm9taXNlPHtcbiAgICBwYXRoOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdO1xuICAgIHJlc3VsdDogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU7XG4gIH0+IHtcbiAgICBpZiAoIWZvbGRlcklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZvbGRlciBJRCBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGZvbGRlciA9IGF3YWl0IHRoaXMuZm9sZGVyU2VydmljZS5nZXRPbmUoZm9sZGVySWQpO1xuICAgIGlmICghZm9sZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZvbGRlciBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLm1hcEZvbGRlckR0b1RvRm9sZGVyTm9kZShmb2xkZXIpO1xuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB0aGlzLmJ1aWxkUGF0aChyZXN1bHQsIChhd2FpdCB0aGlzLmdldFJvb3Qoc2NvcGUsIG9wdGlvbnMpKS5yZXN1bHQuaWQpO1xuXG4gICAgcmV0dXJuIHsgcGF0aCwgcmVzdWx0IH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBmb2xkZXJcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUZvbGRlcihkYXRhOiBBWE1Eb2N1bWVudE1hbmFnZW1lbnRGb2xkZXJDcmVhdGVEdG8pOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlPiB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudXNlcjtcbiAgICBjb25zdCB1c2VySWQgPSBjdXJyZW50VXNlcj8uaWQ/LnRvU3RyaW5nKCkgPz8gJ3N5c3RlbSc7XG4gICAgY29uc3QgdXNlclJlZiA9IHsgaWQ6IHVzZXJJZCwgdHlwZTogJ3VzZXInIH0gYXMgYW55O1xuXG4gICAgY29uc3QgZm9sZGVyVG9DcmVhdGU6IE9taXQ8QVhNRG9jdW1lbnRNYW5hZ2VtZW50Rm9sZGVyRW50aXR5TW9kZWwsICdpZCc+ID0ge1xuICAgICAgLi4uZGF0YSxcbiAgICAgIGNyZWF0ZWQ6IHsgYXQ6IG5vdywgdXNlcjogdXNlclJlZiB9LFxuICAgICAgdXBkYXRlZDogeyBhdDogbm93LCB1c2VyOiB1c2VyUmVmIH0sXG4gICAgICBpc1N5c3RlbTogZmFsc2UsXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXG4gICAgICBpc0RlbGV0ZWQ6IGZhbHNlLFxuICAgICAgc2l6ZTogMCxcbiAgICB9IGFzIGFueTtcblxuICAgIGNvbnN0IGNyZWF0ZWRGb2xkZXIgPSBhd2FpdCB0aGlzLmZvbGRlclNlcnZpY2UuaW5zZXJ0T25lKGZvbGRlclRvQ3JlYXRlKTtcbiAgICBjb25zdCBmb2xkZXIgPSBhd2FpdCB0aGlzLmZvbGRlclNlcnZpY2UuZ2V0T25lKGNyZWF0ZWRGb2xkZXIpO1xuICAgIHJldHVybiB0aGlzLm1hcEZvbGRlckR0b1RvRm9sZGVyTm9kZShmb2xkZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgZm9sZGVyXG4gICAqL1xuICBhc3luYyB1cGRhdGVGb2xkZXIoZm9sZGVySWQ6IHN0cmluZywgZGF0YTogVXBkYXRlRm9sZGVyRHRvKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZT4ge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5zZXNzaW9uU2VydmljZS51c2VyO1xuICAgIGNvbnN0IHVzZXJJZCA9IGN1cnJlbnRVc2VyPy5pZD8udG9TdHJpbmcoKSA/PyAnc3lzdGVtJztcbiAgICBjb25zdCB1c2VyUmVmID0geyBpZDogdXNlcklkLCB0eXBlOiAndXNlcicgfSBhcyBhbnk7XG4gICAgY29uc3QgdXBkYXRlRGF0YSA9IHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICB1cGRhdGVkOiB7IGF0OiBuZXcgRGF0ZSgpLCB1c2VyOiB1c2VyUmVmIH0sXG4gICAgfSBhcyBhbnk7XG4gICAgYXdhaXQgdGhpcy5mb2xkZXJTZXJ2aWNlLnVwZGF0ZU9uZShmb2xkZXJJZCwgdXBkYXRlRGF0YSk7XG4gICAgY29uc3QgdXBkYXRlZEZvbGRlciA9IGF3YWl0IHRoaXMuZm9sZGVyU2VydmljZS5nZXRPbmUoZm9sZGVySWQpO1xuICAgIHJldHVybiB0aGlzLm1hcEZvbGRlckR0b1RvRm9sZGVyTm9kZSh1cGRhdGVkRm9sZGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgZm9sZGVyXG4gICAqL1xuICBhc3luYyBkZWxldGVGb2xkZXIoZm9sZGVySWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZm9sZGVyU2VydmljZS5kZWxldGVPbmUoZm9sZGVySWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYXZhaWxhYmxlIHN0b3JhZ2Ugc3BhY2VcbiAgICovXG4gIGFzeW5jIGdldEF2YWlsYWJsZVNwYWNlKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgLy8gRm9yIG5vdywgcmV0dXJuIGEgZml4ZWQgdmFsdWUgb2YgMTAwR0IgKDU2ICogMTAyNCAqIDEwMjQgKiAxMDI0IGJ5dGVzKVxuICAgIC8vIFRoaXMgc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggYWN0dWFsIHN0b3JhZ2UgcXVvdGEgbG9naWMgd2hlbiBpbXBsZW1lbnRlZFxuICAgIHJldHVybiA1NiAqIDEwMjQgKiAxMDI0ICogMTAyNDtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRmlsZSBPcGVyYXRpb25zICAgLS0tLVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZpbGVcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUZpbGUoZGF0YTogQ3JlYXRlRmlsZUR0byk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU+IHtcbiAgICBjb25zdCBmaWxlSWQgPSBhd2FpdCB0aGlzLmRvY3VtZW50U2VydmljZS5pbnNlcnRPbmUoZGF0YSk7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldE9uZShmaWxlSWQpO1xuICAgIHJldHVybiB0aGlzLm1hcEZpbGVUb05vZGUoZmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBmaWxlXG4gICAqL1xuICBhc3luYyB1cGRhdGVGaWxlKGZpbGVJZDogc3RyaW5nLCBkYXRhOiBVcGRhdGVGaWxlRHRvKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZT4ge1xuICAgIGNvbnN0IHVwZGF0ZWRGaWxlID0gYXdhaXQgdGhpcy5kb2N1bWVudFNlcnZpY2UudXBkYXRlT25lKGZpbGVJZCwgZGF0YSk7XG4gICAgcmV0dXJuIHRoaXMubWFwRmlsZVRvTm9kZSh1cGRhdGVkRmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhIGZpbGVcbiAgICovXG4gIGFzeW5jIGRlbGV0ZUZpbGUoZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmRvY3VtZW50U2VydmljZS5kZWxldGVPbmUoZmlsZUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGZpbGVcbiAgICovXG4gIGFzeW5jIG9wZW5GaWxlKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKSB7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldE9uZShub2RlLmlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZHMgYSBmaWxlXG4gICAqL1xuICBhc3luYyBkb3dubG9hZEZpbGUobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBjb25zdCBmaWxlID0gYXdhaXQgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0T25lKG5vZGUuaWQpO1xuICAgIGlmIChub2RlLmZpbGVJZCkge1xuICAgICAgaWYgKG5vZGUuZmlsZUlkLnNvdXJjZT8udmFsdWUgJiYgdHlwZW9mIG5vZGUuZmlsZUlkLnNvdXJjZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgbm9kZS5maWxlSWQuc291cmNlLnZhbHVlPy5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgbGluay5ocmVmID0gbm9kZS5maWxlSWQuc291cmNlLnZhbHVlO1xuICAgICAgICBsaW5rLmRvd25sb2FkID0gbm9kZS5uYW1lO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpbGVJbmZvID0gYXdhaXQgdGhpcy5maWxlU2VydmljZS5nZXRJbmZvKG5vZGUuZmlsZUlkLmlkID8/ICcnKTtcblxuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgIGxpbmsuaHJlZiA9IGZpbGVJbmZvLnVybCA/PyAnJztcbiAgICAgIGxpbmsuZG93bmxvYWQgPSBub2RlLm5hbWU7IC8vIFNldCB0aGUgZGVzaXJlZCBmaWxlIG5hbWVcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnaWQgaXMgbnVsbCcpO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgTm9kZSBPcGVyYXRpb25zICAgLS0tLVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIG11bHRpcGxlIG5vZGVzIChmaWxlcyBhbmQgZm9sZGVycylcbiAgICovXG4gIGFzeW5jIGRlbGV0ZU5vZGVzKG5vZGVzOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICBpZiAobm9kZS50eXBlID09ICdmb2xkZXInKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlRm9sZGVyKG5vZGUuaWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy5kZWxldGVGaWxlKG5vZGUuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgY29weSBvZiBhIG5vZGUgKGZpbGUgb3IgZm9sZGVyKVxuICAgKi9cbiAgYXN5bmMgY29weShub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU+IHtcbiAgICBpZiAoIW5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm9kZSB0byBjb3B5IGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhIG5hbWUgd2l0aCBcIiBjb3B5XCIgYmVmb3JlIHRoZSBleHRlbnNpb25cbiAgICBjb25zdCBuZXdOYW1lID0gdGhpcy5jcmVhdGVDb3B5TmFtZShub2RlLm5hbWUpO1xuXG4gICAgaWYgKG5vZGUudHlwZSA9PT0gJ2ZpbGUnKSB7XG4gICAgICAvLyBHZXQgdGhlIG9yaWdpbmFsIGZpbGUgdG8gY29weSBhbGwgaXRzIGRhdGFcbiAgICAgIGNvbnN0IG9yaWdpbmFsRmlsZSA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldE9uZShub2RlLmlkKTtcbiAgICAgIGlmICghb3JpZ2luYWxGaWxlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSB3aXRoIElEICR7bm9kZS5pZH0gbm90IGZvdW5kYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBhIGRvY3VtZW50IG1vZGVsIGZyb20gdGhlIG9yaWdpbmFsIHdpdGggdGhlIG5ldyBuYW1lXG4gICAgICAvLyBFeHRyYWN0IG5lZWRlZCBwcm9wZXJ0aWVzIHdpdGhvdXQgaWRcbiAgICAgIGNvbnN0IHsgaWQsIC4uLmZpbGVEYXRhV2l0aG91dElkIH0gPSBvcmlnaW5hbEZpbGU7XG4gICAgICBjb25zdCBmaWxlRGF0YTogQ3JlYXRlRmlsZUR0byA9IHtcbiAgICAgICAgLi4uZmlsZURhdGFXaXRob3V0SWQsXG4gICAgICAgIG5hbWU6IG5ld05hbWUsXG4gICAgICAgIHRpdGxlOiBuZXdOYW1lLFxuICAgICAgfTtcblxuICAgICAgLy8gQ3JlYXRlIHRoZSBuZXcgZmlsZVxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlRmlsZShmaWxlRGF0YSk7XG4gICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09ICdmb2xkZXInKSB7XG4gICAgICAvLyBHZXQgdGhlIG9yaWdpbmFsIGZvbGRlciB0byBjb3B5IGFsbCBpdHMgZGF0YVxuICAgICAgY29uc3Qgb3JpZ2luYWxGb2xkZXIgPSBhd2FpdCB0aGlzLmZvbGRlclNlcnZpY2UuZ2V0T25lKG5vZGUuaWQpO1xuICAgICAgaWYgKCFvcmlnaW5hbEZvbGRlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvbGRlciB3aXRoIElEICR7bm9kZS5pZH0gbm90IGZvdW5kYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBhIGZvbGRlciBtb2RlbCBmcm9tIHRoZSBvcmlnaW5hbCB3aXRoIHRoZSBuZXcgbmFtZVxuICAgICAgLy8gRXh0cmFjdCBuZWVkZWQgcHJvcGVydGllcyB3aXRob3V0IGlkXG4gICAgICBjb25zdCB7IGlkLCAuLi5mb2xkZXJEYXRhV2l0aG91dElkIH0gPSBvcmlnaW5hbEZvbGRlcjtcbiAgICAgIGNvbnN0IGZvbGRlckRhdGE6IEFYTURvY3VtZW50TWFuYWdlbWVudEZvbGRlckNyZWF0ZUR0byA9IHtcbiAgICAgICAgLi4uZm9sZGVyRGF0YVdpdGhvdXRJZCxcbiAgICAgICAgbmFtZTogbmV3TmFtZSxcbiAgICAgIH07XG5cbiAgICAgIC8vIENyZWF0ZSB0aGUgbmV3IGZvbGRlclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlRm9sZGVyKGZvbGRlckRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIG5vZGUgdHlwZTogJHtub2RlLnR5cGV9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIGEgbm9kZSB0byBhbm90aGVyIGxvY2F0aW9uXG4gICAqL1xuICBhc3luYyBtb3ZlVG8ob3B0aW9uczoge1xuICAgIG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlO1xuICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlO1xuICAgIGJyb3dzZU1vZGU/OiBBWE1Eb2N1bWVudEV4cGxvcmVyQnJvd3NlTW9kZTtcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjb21wID0gKGF3YWl0IGltcG9ydCgnLi4vZHJpdmUtY2hvb3NlL2RyaXZlLWNob29zZS5jb21wb25lbnQnKSkuQVhNRG9jdW1lbnREcml2ZUNob29zZUNvbXBvbmVudDtcbiAgICBjb25zdCBwb3B1cCA9IGF3YWl0IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tcCwge1xuICAgICAgdGl0bGU6IGBDaG9vc2UgJHtvcHRpb25zLmJyb3dzZU1vZGUgPT0gJ2ZpbGUnID8gJ0ZpbGUnIDogJ0ZvbGRlcid9YCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgc2VsZWN0aW9uTW9kZTogb3B0aW9ucy5tdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJyxcbiAgICAgICAgYnJvd3NlTW9kZTogb3B0aW9ucy5icm93c2VNb2RlID8/ICdmaWxlJyxcbiAgICAgICAgc2NvcGU6IG9wdGlvbnMuc2NvcGUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRGb2xkZXJzID0gcG9wdXAuZGF0YS5yZXN1bHQgPyAocG9wdXAuZGF0YT8uaXRlbXMgPz8gW10pIDogW107XG4gICAgaWYgKHNlbGVjdGVkRm9sZGVycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZEZvbGRlciA9IHNlbGVjdGVkRm9sZGVyc1swXTtcbiAgICAgIGlmIChzZWxlY3RlZEZvbGRlcikge1xuICAgICAgICBpZiAob3B0aW9ucy5ub2RlLnR5cGUgPT09ICdmb2xkZXInKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVGb2xkZXIob3B0aW9ucy5ub2RlLmlkLCB7IHBhcmVudElkOiBzZWxlY3RlZEZvbGRlci5pZCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZUZpbGUob3B0aW9ucy5ub2RlLmlkLCB7IHBhcmVudElkOiBzZWxlY3RlZEZvbGRlci5pZCB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb3BpZXMgYSBub2RlIHRvIGFub3RoZXIgbG9jYXRpb25cbiAgICovXG4gIGFzeW5jIGNvcHlUbyhvcHRpb25zOiB7XG4gICAgbm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU7XG4gICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGU7XG4gICAgYnJvd3NlTW9kZT86IEFYTURvY3VtZW50RXhwbG9yZXJCcm93c2VNb2RlO1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNvbXAgPSAoYXdhaXQgaW1wb3J0KCcuLi9kcml2ZS1jaG9vc2UvZHJpdmUtY2hvb3NlLmNvbXBvbmVudCcpKS5BWE1Eb2N1bWVudERyaXZlQ2hvb3NlQ29tcG9uZW50O1xuICAgIGNvbnN0IHBvcHVwID0gYXdhaXQgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICB0aXRsZTogYENob29zZSAke29wdGlvbnMuYnJvd3NlTW9kZSA9PSAnZmlsZScgPyAnRmlsZScgOiAnRm9sZGVyJ31gLFxuICAgICAgZGF0YToge1xuICAgICAgICBzZWxlY3Rpb25Nb2RlOiBvcHRpb25zLm11bHRpcGxlID8gJ211bHRpcGxlJyA6ICdzaW5nbGUnLFxuICAgICAgICBicm93c2VNb2RlOiBvcHRpb25zLmJyb3dzZU1vZGUgPz8gJ2ZpbGUnLFxuICAgICAgICBzY29wZTogb3B0aW9ucy5zY29wZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzZWxlY3RlZEZvbGRlcnMgPSBwb3B1cC5kYXRhLnJlc3VsdCA/IChwb3B1cC5kYXRhPy5pdGVtcyA/PyBbXSkgOiBbXTtcbiAgICBpZiAoc2VsZWN0ZWRGb2xkZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRm9sZGVyID0gc2VsZWN0ZWRGb2xkZXJzWzBdO1xuICAgICAgaWYgKHNlbGVjdGVkRm9sZGVyKSB7XG4gICAgICAgIGlmIChvcHRpb25zLm5vZGUudHlwZSA9PT0gJ2ZvbGRlcicpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNyZWF0ZUZvbGRlcih7XG4gICAgICAgICAgICBuYW1lOiBvcHRpb25zLm5vZGUubmFtZSxcbiAgICAgICAgICAgIHBhcmVudElkOiBzZWxlY3RlZEZvbGRlci5pZCxcbiAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICBzaXplOiBvcHRpb25zLm5vZGUuc2l6ZSxcbiAgICAgICAgICAgIGluaGVyaXQ6IG9wdGlvbnMubm9kZS5pbmhlcml0ID8/ICdOb25lJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNyZWF0ZUZpbGUoe1xuICAgICAgICAgICAgdGl0bGU6IG9wdGlvbnMubm9kZS5uYW1lLFxuICAgICAgICAgICAgbmFtZTogb3B0aW9ucy5ub2RlLm5hbWUsXG4gICAgICAgICAgICBwYXJlbnRJZDogc2VsZWN0ZWRGb2xkZXIuaWQsXG4gICAgICAgICAgICAvL1RPRE8gdXBsb2FkIGZpbGUgdG8gZmlsZSBzdG9yYWdlXG4gICAgICAgICAgICBmaWxlSWQ6ICcnLFxuICAgICAgICAgICAgc2l6ZTogMCxcbiAgICAgICAgICAgIGRvY3VtZW50VHlwZTogb3B0aW9ucy5ub2RlLmRvY3VtZW50VHlwZXNbMF0sXG4gICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICBzdGF0dXM6ICdEcmFmdCcsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFNlYXJjaCBPcGVyYXRpb25zICAgLS0tLVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyBmb3IgZm9sZGVycyBieSB0ZXJtIHdpdGhpbiBhIHNjb3BlXG4gICAqL1xuICBhc3luYyBzZWFyY2hGb2xkZXJzKFxuICAgIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZSxcbiAgICBvcHRpb25zPzogeyB0ZW5hbnRJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nOyBmb2xkZXJJZD86IHN0cmluZyB9LFxuICApOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+IHtcbiAgICBjb25zdCB7IHJlc3VsdDogcm9vdE5vZGUgfSA9IG9wdGlvbnM/LmZvbGRlcklkXG4gICAgICA/IGF3YWl0IHRoaXMuZ2V0Rm9sZGVyKHNjb3BlLCBvcHRpb25zLmZvbGRlcklkLCBvcHRpb25zKVxuICAgICAgOiBhd2FpdCB0aGlzLmdldFJvb3Qoc2NvcGUsIG9wdGlvbnMpO1xuXG4gICAgY29uc3QgZm9sZGVycyA9IGF3YWl0IHRoaXMuZm9sZGVyU2VydmljZS5zZWFyY2hGb2xkZXJzKHNlYXJjaFRlcm0sIHJvb3ROb2RlLmlkKTtcblxuICAgIHJldHVybiBmb2xkZXJzLm1hcCgoZm9sZGVyKSA9PiB0aGlzLm1hcEZvbGRlckR0b1RvRm9sZGVyTm9kZShmb2xkZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyBmb3IgZmlsZXMgYnkgdGVybSB3aXRoaW4gYSBzY29wZVxuICAgKi9cbiAgYXN5bmMgc2VhcmNoRmlsZXMoXG4gICAgc2VhcmNoVGVybTogc3RyaW5nLFxuICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLFxuICAgIG9wdGlvbnM/OiB7IHRlbmFudElkPzogc3RyaW5nOyB1c2VySWQ/OiBzdHJpbmc7IGZvbGRlcklkPzogc3RyaW5nIH0sXG4gICk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0OiByb290Tm9kZSB9ID0gb3B0aW9ucz8uZm9sZGVySWRcbiAgICAgID8gYXdhaXQgdGhpcy5nZXRGb2xkZXIoc2NvcGUsIG9wdGlvbnMuZm9sZGVySWQsIG9wdGlvbnMpXG4gICAgICA6IGF3YWl0IHRoaXMuZ2V0Um9vdChzY29wZSwgb3B0aW9ucyk7XG5cbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLnNlYXJjaEZpbGVzKHNlYXJjaFRlcm0sIHJvb3ROb2RlLmlkKTtcblxuICAgIHJldHVybiBmaWxlcy5tYXAoKGZpbGUpID0+IHRoaXMubWFwRmlsZVRvTm9kZShmaWxlKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9yIGJvdGggZmlsZXMgYW5kIGZvbGRlcnMgYnkgdGVybSB3aXRoaW4gYSBzY29wZVxuICAgKi9cbiAgYXN5bmMgc2VhcmNoTm9kZXMoXG4gICAgc2VhcmNoVGVybTogc3RyaW5nLFxuICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLFxuICAgIG9wdGlvbnM/OiB7IHRlbmFudElkPzogc3RyaW5nOyB1c2VySWQ/OiBzdHJpbmc7IGZvbGRlcklkPzogc3RyaW5nIH0sXG4gICk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXT4ge1xuICAgIGNvbnN0IFtmb2xkZXJzLCBmaWxlc10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICB0aGlzLnNlYXJjaEZvbGRlcnMoc2VhcmNoVGVybSwgc2NvcGUsIG9wdGlvbnMpLFxuICAgICAgdGhpcy5zZWFyY2hGaWxlcyhzZWFyY2hUZXJtLCBzY29wZSwgb3B0aW9ucyksXG4gICAgXSk7XG5cbiAgICByZXR1cm4gWy4uLmZvbGRlcnMsIC4uLmZpbGVzXTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRGF0YSBSZXRyaWV2YWwgT3BlcmF0aW9ucyAgIC0tLS1cblxuICAvKipcbiAgICogR2V0cyBhbGwgZm9sZGVyc1xuICAgKi9cbiAgYXN5bmMgZ2V0QWxsRm9sZGVycygpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+IHtcbiAgICAvL1RPRE8gZmlsdGVyIGJ5IHNjb3BlXG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmZvbGRlclNlcnZpY2UucXVlcnkoKSkuaXRlbXMubWFwKHRoaXMubWFwRm9sZGVyRHRvVG9Gb2xkZXJOb2RlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBmaWxlcyB3aXRoIG9wdGlvbmFsIHF1ZXJ5XG4gICAqL1xuICBhc3luYyBnZXRBbGxGaWxlcyhyZXF1ZXN0PzogQVhQUXVlcnlSZXF1ZXN0KTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdPiB7XG4gICAgLy9UT0RPIGZpbHRlciBieSBzY29wZVxuICAgIHJldHVybiAoYXdhaXQgdGhpcy5kb2N1bWVudFNlcnZpY2UucXVlcnkocmVxdWVzdCkpLml0ZW1zLm1hcCh0aGlzLm1hcEZpbGVUb05vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIG5vZGVzIChmaWxlcyBhbmQgZm9sZGVycylcbiAgICovXG4gIGFzeW5jIGdldEFsbE5vZGVzKCk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXT4ge1xuICAgIHJldHVybiBbLi4uKGF3YWl0IHRoaXMuZ2V0QWxsRm9sZGVycygpKSwgLi4uKGF3YWl0IHRoaXMuZ2V0QWxsRmlsZXMoKSldO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBGaWxlIFVwbG9hZCBPcGVyYXRpb25zICAgLS0tLVxuXG4gIC8qKlxuICAgKiBVcGxvYWRzIGZpbGUgYnkgZG9jdW1lbnQgdHlwZSB0byBhIHNwZWNpZmljIGZvbGRlclxuICAgKi9cbiAgYXN5bmMgdXBsb2FkRmlsZUJ5VHlwZShmb2xkZXJJZDogc3RyaW5nLCBkb2NUeXBlSWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYXR0YWNobWVudHNTZXJ2aWNlLmF0dGFjaEZpbGUoZG9jVHlwZUlkLCB7XG4gICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgIGZvbGRlcklkOiBmb2xkZXJJZCxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZHMgZmlsZSBieSBkb2N1bWVudCB0eXBlIHRvIGEgc3BlY2lmaWMgZm9sZGVyXG4gICAqL1xuICBhc3luYyB1cGRhdGVVcGxvYWRGaWxlQnlUeXBlKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5hdHRhY2htZW50c1NlcnZpY2UudXBkYXRlQXR0YWNoZWRGaWxlKG5vZGUuaWQsIHtcbiAgICAgIGZvbGRlcklkOiBub2RlLnBhcmVudElkID8/ICcnLFxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogTWFuYWdlIHZlcnNpb25zOiBVcGxvYWQgYSBuZXcgdmVyc2lvbiBmb3IgYSBzcGVjaWZpYyBkb2N1bWVudFxuICAgKi9cbiAgYXN5bmMgdXBsb2FkTmV3VmVyc2lvbihub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmF0dGFjaG1lbnRzU2VydmljZS51cGxvYWROZXdWZXJzaW9uKG5vZGUuaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHZlcnNpb24gaGlzdG9yeSBwb3B1cCB1c2luZyBjb21tb24gdmVyc2lvbi1oaXN0b3J5IHdvcmtmbG93XG4gICAqL1xuICBhc3luYyBzaG93VmVyc2lvbkhpc3Rvcnkobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ3Nob3ctdmVyc2lvbi1oaXN0b3J5LXBvcHVwJywge1xuICAgICAgb3B0aW9uczoge1xuICAgICAgICByZWZJZDogbm9kZS5pZCxcbiAgICAgICAgcmVmVHlwZTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50Lm5hbWV9YCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgLy8jcmVnaW9uIC0tLS0gICBEaWFsb2cgT3BlcmF0aW9ucyAgIC0tLS1cblxuICAvKipcbiAgICogU2hvd3Mgc2hhcmUgZGlhbG9nIGZvciBhIG5vZGVcbiAgICovXG4gIGFzeW5jIHNob3dTaGFyZURpYWxvZyhub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbXAgPSAoYXdhaXQgaW1wb3J0KCcuL2NvbXBvbmVudHMvc2hhcmUtZGlhbG9nL3NoYXJlLWRpYWxvZy5jb21wb25lbnQnKSkuQVhNU2hhcmVEaWFsb2dDb21wb25lbnQ7XG4gICAgY29uc3QgcG9wdXAgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbXAsIHtcbiAgICAgIHRpdGxlOiAnU2hhcmUnLFxuICAgICAgZGF0YToge1xuICAgICAgICBub2RlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChwb3B1cC5kYXRhPy5yZXN1bHQpIHtcbiAgICAgIC8vIEhhbmRsZSB0aGUgc2hhcmUgYWN0aW9uIHdpdGggcG9wdXAuZGF0YS5kYXRhXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIHNoYXJlIHZpYSBlbWFpbCBkaWFsb2cgZm9yIGEgbm9kZVxuICAgKi9cbiAgYXN5bmMgc2hvd1NoYXJlV2l0aEVtYWlsRGlhbG9nKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29tcCA9IChhd2FpdCBpbXBvcnQoJy4vY29tcG9uZW50cy9zaGFyZS1lbWFpbC1kaWFsb2cvc2hhcmUtZW1haWwtZGlhbG9nLmNvbXBvbmVudCcpKVxuICAgICAgLkFYTVNoYXJlRW1haWxEaWFsb2dDb21wb25lbnQ7XG4gICAgY29uc3QgcG9wdXAgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbXAsIHtcbiAgICAgIHRpdGxlOiAnU2hhcmUgdmlhIEVtYWlsJyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbm9kZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAocG9wdXAuZGF0YT8ucmVzdWx0KSB7XG4gICAgICAvLyBIYW5kbGUgdGhlIHNoYXJlIHZpYSBlbWFpbCBhY3Rpb24gd2l0aCBwb3B1cC5kYXRhLmRhdGFcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgbGluayBkaWFsb2cgZm9yIGEgbm9kZVxuICAgKi9cbiAgYXN5bmMgc2hvd0xpbmtEaWFsb2cobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21wID0gKGF3YWl0IGltcG9ydCgnLi9jb21wb25lbnRzL2xpbmstZGlhbG9nL2xpbmstZGlhbG9nLmNvbXBvbmVudCcpKS5BWE1MaW5rRGlhbG9nQ29tcG9uZW50O1xuICAgIGNvbnN0IHBvcHVwID0gYXdhaXQgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICB0aXRsZTogJ1NoYXJlIExpbmsnLFxuICAgICAgZGF0YToge1xuICAgICAgICBub2RlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChwb3B1cC5kYXRhPy5yZXN1bHQpIHtcbiAgICAgIC8vIEhhbmRsZSB0aGUgbGluayBnZW5lcmF0aW9uIHdpdGggcG9wdXAuZGF0YS5kYXRhXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIGxvY2sgZGlhbG9nIGZvciBhIGRvY3VtZW50XG4gICAqL1xuICBhc3luYyBzaG93TG9ja0RpYWxvZyhub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnbG9jay1wb3B1cCcsIHtcbiAgICAgIHJlZklkOiBub2RlLmlkLFxuICAgICAgcmVmVHlwZTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtub2RlLnR5cGUgPT09ICdmb2xkZXInID8gUm9vdENvbmZpZy5lbnRpdGllcy5mb2xkZXIubmFtZSA6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaXNDYW5jZWxlZCA9IHJlc3VsdC5nZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnKSBhcyBib29sZWFuO1xuICAgIHJldHVybiAhaXNDYW5jZWxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93cyB1bmxvY2sgZGlhbG9nIGZvciBhIGRvY3VtZW50XG4gICAqL1xuICBhc3luYyBzaG93VW5sb2NrRGlhbG9nKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCd1bmxvY2stY29uZmlybScsIHtcbiAgICAgIHJlZklkOiBub2RlLmlkLFxuICAgICAgcmVmVHlwZTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtub2RlLnR5cGUgPT09ICdmb2xkZXInID8gUm9vdENvbmZpZy5lbnRpdGllcy5mb2xkZXIubmFtZSA6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdW5sb2NrZWQgPSByZXN1bHQuZ2V0T3V0cHV0KCd1bmxvY2tlZCcpIGFzIGJvb2xlYW47XG4gICAgcmV0dXJuIHVubG9ja2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIGZvbGRlciBlZGl0IGRpYWxvZ1xuICAgKi9cbiAgYXN5bmMgc2hvd0ZvbGRlckVkaXREaWFsb2cobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBMb2FkIGRvY3VtZW50IHR5cGVzIGZvciBzZWxlY3Rpb25cbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmRvY3VtZW50VHlwZVNlcnZpY2UucXVlcnkoKTtcbiAgICBjb25zdCBpdGVtcyA9IChyZXMgYXMgYW55KT8uaXRlbXMgPz8gW107XG5cbiAgICBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgIC5jcmVhdGUoKVxuICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICBkaWFsb2dcbiAgICAgICAgICAuc2V0VGl0bGUoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmFjdGlvbnMudXBkYXRlLWZvbGRlcicpXG4gICAgICAgICAgLnNldENvbnRleHQoe1xuICAgICAgICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IG5vZGUuZGVzY3JpcHRpb24gPz8gJycsXG4gICAgICAgICAgICBpbmhlcml0OiBub2RlLmluaGVyaXQgPz8gJ05vbmUnLFxuICAgICAgICAgICAgZG9jdW1lbnRUeXBlczogbm9kZS5kb2N1bWVudFR5cGVzID8/IFtdLFxuICAgICAgICAgICAgY29sb3I6ICcjRkZGRkZGJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jb250ZW50KGZsZXggPT4ge1xuICAgICAgICAgICAgZmxleFxuICAgICAgICAgICAgICAuc2V0RGlyZWN0aW9uKCdjb2x1bW4nKVxuICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAZ2VuZXJhbDp0ZXJtcy5jb21tb24ubmFtZScsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKCduYW1lJyk7XG4gICAgICAgICAgICAgICAgZmllbGQudGV4dEJveCh7IHZhbGlkYXRpb25zOiBbeyBydWxlOiAncmVxdWlyZWQnIH1dIH0pO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAZ2VuZXJhbDp0ZXJtcy5jb21tb24uZGVzY3JpcHRpb24nLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aCgnZGVzY3JpcHRpb24nKTtcbiAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe30pO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAZG9jdW1lbnQtbWFuYWdlbWVudDp0ZXJtcy5jb21tb24uaW5oZXJpdGVkJywgZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ2luaGVyaXQnKTtcbiAgICAgICAgICAgICAgICBmaWVsZC5zZWxlY3Rpb25MaXN0KHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ05vbmUnLCB0ZXh0OiAnTm9uZScgfSxcbiAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ0luaGVyaXRlZCcsIHRleHQ6ICdJbmhlcml0ZWQnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdFeHRlbmRzJywgdGV4dDogJ0V4dGVuZHMnIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAZG9jdW1lbnQtbWFuYWdlbWVudDplbnRpdGllcy5kb2N1bWVudC10eXBlcy50aXRsZS1wbHVyYWwnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aCgnZG9jdW1lbnRUeXBlcycpO1xuICAgICAgICAgICAgICAgIGZpZWxkLnNlbGVjdEJveCh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0aXRsZScsXG4gICAgICAgICAgICAgICAgICBkYXRhU291cmNlOiBpdGVtcyxcbiAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgYWxsb3dTZWFyY2g6IHRydWUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5jb2xvcicsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKCdjb2xvcicpO1xuICAgICAgICAgICAgICAgIGZpZWxkLmNvbG9yQm94KHt9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc2V0QWN0aW9ucyhhY3Rpb25zID0+IHtcbiAgICAgICAgICAgIGFjdGlvbnMuY2FuY2VsKCdAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScpLnN1Ym1pdCgnQGdlbmVyYWw6YWN0aW9ucy5zYXZlLnRpdGxlJyk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLnNob3coKTtcblxuICAgIGNvbnN0IGZvcm0gPSBkaWFsb2dSZWYuY29udGV4dCgpIGFzIGFueTtcbiAgICBjb25zdCBhY3Rpb24gPSBkaWFsb2dSZWYuYWN0aW9uKCk7XG4gICAgaWYgKGFjdGlvbiAhPT0gJ3N1Ym1pdCcpIHtcbiAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGRpYWxvZ1JlZi5zZXRMb2FkaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZWxlY3RlZCA9IEFycmF5LmlzQXJyYXkoZm9ybS5kb2N1bWVudFR5cGVzKSA/IGZvcm0uZG9jdW1lbnRUeXBlcyA6IFtdO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRUeXBlcyA9IHNlbGVjdGVkLm1hcCgodjogYW55KSA9PlxuICAgICAgICB0eXBlb2YgdiA9PT0gJ29iamVjdCcgPyB2IDogaXRlbXMuZmluZCgoaXQ6IGFueSkgPT4gaXQubmFtZSA9PT0gdikgfHwgeyBuYW1lOiB2LCB0aXRsZTogdiB9LFxuICAgICAgKTtcblxuICAgICAgYXdhaXQgdGhpcy51cGRhdGVGb2xkZXIobm9kZS5pZCwge1xuICAgICAgICBuYW1lOiBmb3JtLm5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBmb3JtLmRlc2NyaXB0aW9uLFxuICAgICAgICBpbmhlcml0OiBmb3JtLmluaGVyaXQsXG4gICAgICAgIGRvY3VtZW50VHlwZXM6IHNlbGVjdGVkVHlwZXMsXG4gICAgICAgIGNvbG9yOiBmb3JtLmNvbG9yLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgZGlhbG9nUmVmLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIGNyZWF0ZSBmb2xkZXIgZGlhbG9nXG4gICAqL1xuICBhc3luYyBzaG93Q3JlYXRlRm9sZGVyRGlhbG9nKHBhcmVudElkPzogc3RyaW5nKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSB8IG51bGw+IHtcbiAgICAvLyBMb2FkIGRvY3VtZW50IHR5cGVzIGZvciBzZWxlY3Rpb25cbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmRvY3VtZW50VHlwZVNlcnZpY2UucXVlcnkoKTtcbiAgICBjb25zdCBpdGVtcyA9IChyZXMgYXMgYW55KT8uaXRlbXMgPz8gW107XG5cbiAgICBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgIC5jcmVhdGUoKVxuICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICBkaWFsb2dcbiAgICAgICAgICAuc2V0VGl0bGUoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmFjdGlvbnMuY3JlYXRlLWZvbGRlcicpXG4gICAgICAgICAgLnNldENvbnRleHQoeyBuYW1lOiAnJywgZGVzY3JpcHRpb246ICcnLCBpbmhlcml0OiAnTm9uZScsIGRvY3VtZW50VHlwZXM6IFtdLCBjb2xvcjogJyNGRkZGRkYnIH0pXG4gICAgICAgICAgLmNvbnRlbnQoZmxleCA9PiB7XG4gICAgICAgICAgICBmbGV4XG4gICAgICAgICAgICAgIC5zZXREaXJlY3Rpb24oJ2NvbHVtbicpXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5uYW1lJywgZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ25hbWUnKTtcbiAgICAgICAgICAgICAgICBmaWVsZC50ZXh0Qm94KHsgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0gfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5kZXNjcmlwdGlvbicsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKCdkZXNjcmlwdGlvbicpO1xuICAgICAgICAgICAgICAgIGZpZWxkLmxhcmdlVGV4dEJveCh7fSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OnRlcm1zLmNvbW1vbi5pbmhlcml0ZWQnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aCgnaW5oZXJpdCcpO1xuICAgICAgICAgICAgICAgIGZpZWxkLnNlbGVjdGlvbkxpc3Qoe1xuICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogW1xuICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnTm9uZScsIHRleHQ6ICdOb25lJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnSW5oZXJpdGVkJywgdGV4dDogJ0luaGVyaXRlZCcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ0V4dGVuZHMnLCB0ZXh0OiAnRXh0ZW5kcycgfSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmVudGl0aWVzLmRvY3VtZW50LXR5cGVzLnRpdGxlLXBsdXJhbCcsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKCdkb2N1bWVudFR5cGVzJyk7XG4gICAgICAgICAgICAgICAgZmllbGQuc2VsZWN0Qm94KHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IGl0ZW1zLFxuICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBhbGxvd1NlYXJjaDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGdlbmVyYWw6dGVybXMuY29tbW9uLmNvbG9yJywgZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ2NvbG9yJyk7XG4gICAgICAgICAgICAgICAgZmllbGQuY29sb3JCb3goe30pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5zZXRBY3Rpb25zKGFjdGlvbnMgPT4ge1xuICAgICAgICAgICAgYWN0aW9ucy5jYW5jZWwoJ0BnZW5lcmFsOmFjdGlvbnMuY2FuY2VsLnRpdGxlJykuc3VibWl0KCdAZ2VuZXJhbDphY3Rpb25zLnNhdmUudGl0bGUnKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuc2hvdygpO1xuXG4gICAgY29uc3QgZm9ybSA9IGRpYWxvZ1JlZi5jb250ZXh0KCkgYXMgYW55O1xuICAgIGNvbnN0IGFjdGlvbiA9IGRpYWxvZ1JlZi5hY3Rpb24oKTtcbiAgICBpZiAoYWN0aW9uICE9PSAnc3VibWl0Jykge1xuICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBkaWFsb2dSZWYuc2V0TG9hZGluZyh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBBcnJheS5pc0FycmF5KGZvcm0uZG9jdW1lbnRUeXBlcykgPyBmb3JtLmRvY3VtZW50VHlwZXMgOiBbXTtcbiAgICAgIGNvbnN0IHNlbGVjdGVkVHlwZXMgPSBzZWxlY3RlZC5tYXAoKHY6IGFueSkgPT5cbiAgICAgICAgdHlwZW9mIHYgPT09ICdvYmplY3QnID8gdiA6IGl0ZW1zLmZpbmQoKGl0OiBhbnkpID0+IGl0Lm5hbWUgPT09IHYpIHx8IHsgbmFtZTogdiwgdGl0bGU6IHYgfSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGZvbGRlciA9IGF3YWl0IHRoaXMuY3JlYXRlRm9sZGVyKHtcbiAgICAgICAgbmFtZTogZm9ybS5uYW1lLFxuICAgICAgICBjb2xvcjogZm9ybS5jb2xvcixcbiAgICAgICAgcGFyZW50SWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBmb3JtLmRlc2NyaXB0aW9uLFxuICAgICAgICBkb2N1bWVudFR5cGVzOiBzZWxlY3RlZFR5cGVzLFxuICAgICAgICBzaXplOiAwLFxuICAgICAgICBpbmhlcml0OiBmb3JtLmluaGVyaXQsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGRpYWxvZ1JlZi5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93cyByZW5hbWUgcG9wdXAgZm9yIGEgbm9kZSB1c2luZyBkeW5hbWljIGZvcm0gYnVpbGRlclxuICAgKi9cbiAgYXN5bmMgc2hvd1JlbmFtZVBvcHVwKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IGF3YWl0IHRoaXMubGF5b3V0QnVpbGRlclxuICAgICAgLmNyZWF0ZSgpXG4gICAgICAuZGlhbG9nKGRpYWxvZyA9PiB7XG4gICAgICAgIGRpYWxvZ1xuICAgICAgICAgIC5zZXRUaXRsZSgnQGRvY3VtZW50LW1hbmFnZW1lbnQ6YWN0aW9ucy5yZW5hbWUnKVxuICAgICAgICAgIC5zZXRDb250ZXh0KHsgbmFtZTogbm9kZS5uYW1lIH0pXG4gICAgICAgICAgLmNvbnRlbnQoZmxleCA9PiB7XG4gICAgICAgICAgICBmbGV4XG4gICAgICAgICAgICAgIC5zZXREaXJlY3Rpb24oJ2NvbHVtbicpXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmRpYWxvZ3MucmVuYW1lLm5hbWUnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aCgnbmFtZScpO1xuICAgICAgICAgICAgICAgIGZpZWxkLnRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAZG9jdW1lbnQtbWFuYWdlbWVudDpkaWFsb2dzLnJlbmFtZS5uYW1lLXBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbeyBydWxlOiAncmVxdWlyZWQnIH1dXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnNldEFjdGlvbnMoYWN0aW9ucyA9PiB7XG4gICAgICAgICAgICBhY3Rpb25zLmNhbmNlbCgpLnN1Ym1pdCgnQGdlbmVyYWw6YWN0aW9ucy5zYXZlLnRpdGxlJyk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLnNob3coKTtcblxuICAgIC8vIEdldCBmb3JtIGRhdGEgYW5kIGFjdGlvblxuICAgIGNvbnN0IGZvcm1EYXRhID0gZGlhbG9nUmVmLmNvbnRleHQoKTtcbiAgICBjb25zdCBhY3Rpb24gPSBkaWFsb2dSZWYuYWN0aW9uKCk7XG5cbiAgICBpZiAoYWN0aW9uID09PSAnc3VibWl0JyAmJiBmb3JtRGF0YT8ubmFtZSkge1xuICAgICAgLy8gU2V0IGxvYWRpbmcgc3RhdGVcbiAgICAgIGRpYWxvZ1JlZi5zZXRMb2FkaW5nKHRydWUpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBsZXQgdXBkYXRlZE5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdmb2xkZXInKSB7XG4gICAgICAgICAgdXBkYXRlZE5vZGUgPSBhd2FpdCB0aGlzLnVwZGF0ZUZvbGRlcihub2RlLmlkLCB7XG4gICAgICAgICAgICBuYW1lOiBmb3JtRGF0YS5uYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlRmlsZU5hbWUobm9kZSwgZm9ybURhdGEubmFtZSk7XG4gICAgICAgICAgdXBkYXRlZE5vZGUgPSBhd2FpdCB0aGlzLnVwZGF0ZUZpbGUobm9kZS5pZCwge1xuICAgICAgICAgICAgbmFtZTogZm9ybURhdGEubmFtZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cGRhdGVkTm9kZTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHVwZGF0aW5nIG5vZGU6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgZGVsZXRlIG5vZGVzIGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAgICovXG4gIGFzeW5jIHNob3dEZWxldGVOb2Rlc0RpYWxvZyhub2RlSWRzOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdkZWxldGUtZW50aXR5Jywge1xuICAgICAgZW50aXRpZXM6IG5vZGVJZHMubWFwKChub2RlKSA9PiAoe1xuICAgICAgICBzb3VyY2U6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7bm9kZS50eXBlID09ICdmb2xkZXInID8gUm9vdENvbmZpZy5lbnRpdGllcy5mb2xkZXIubmFtZSA6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQubmFtZVxuICAgICAgICAgIH1gLFxuICAgICAgICBpZHM6IFtub2RlLmlkXSxcbiAgICAgIH0pKSxcbiAgICB9KTtcbiAgICByZXR1cm4gKHJlc3VsdC5nZXRPdXRwdXQoJ3Jlc3VsdCcpIGFzIGJvb2xlYW4pID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIGNob29zZSBmaWxlIGRpYWxvZ1xuICAgKi9cbiAgYXN5bmMgc2hvd0Nob29zZUZpbGVEaWFsb2coc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+IHtcbiAgICBjb25zdCBjb21wID0gKGF3YWl0IGltcG9ydCgnLi4vZHJpdmUtY2hvb3NlL2RyaXZlLWNob29zZS5jb21wb25lbnQnKSkuQVhNRG9jdW1lbnREcml2ZUNob29zZUNvbXBvbmVudDtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbXAsIHtcbiAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGVBc3luYygnQGRvY3VtZW50LW1hbmFnZW1lbnQ6YWN0aW9ucy5jaG9vc2UtZnJvbS1kcml2ZScpLFxuICAgICAgZGF0YToge1xuICAgICAgICBzY29wZTogc2NvcGUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZGF0YT8ucmVzdWx0KSB7XG4gICAgICByZXR1cm4gY2FzdEFycmF5KHJlc3VsdC5kYXRhLml0ZW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIGZpbGUgdmlld2VyIHBvcHVwXG4gICAqL1xuICBhc3luYyBzaG93RmlsZVZpZXdlclBvcHVwKFxuICAgIG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlLFxuICAgIG9wdGlvbnM/OiB7IGluZGV4PzogbnVtYmVyOyBmb2xkZXJWaXJ0dWFsRmlsZXM/OiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdIH0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlzVmlydHVhbEZvbGRlciA9IG5vZGUucGFyZW50SWQgPT09ICd2aXJ0dWFsJztcbiAgICBjb25zdCBwYXJlbnRGb2xkZXJOYW1lID0gaXNWaXJ0dWFsRm9sZGVyID8gJ1ZpcnR1YWwnIDogKGF3YWl0IHRoaXMuZm9sZGVyU2VydmljZS5nZXRPbmUobm9kZS5wYXJlbnRJZCEpKS5uYW1lO1xuXG4gICAgY29uc3QgZG9jdW1lbnRzID0gaXNWaXJ0dWFsRm9sZGVyXG4gICAgICA/IChvcHRpb25zPy5mb2xkZXJWaXJ0dWFsRmlsZXMgPz8gW10pXG4gICAgICA6ICgoYXdhaXQgdGhpcy5mb2xkZXJTZXJ2aWNlLmdldE9uZShub2RlLnBhcmVudElkISkpLmRvY3VtZW50cyA/PyBbXSk7XG5cbiAgICAvLyBGaWx0ZXIgZG9jdW1lbnRzIGZpcnN0XG4gICAgY29uc3QgZmlsdGVyZWREb2N1bWVudHMgPSBkb2N1bWVudHMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICBpZiAoIWl0ZW0ubmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3QgZXh0ID0gaXRlbS5uYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XG4gICAgICByZXR1cm4gZXh0ICYmIFsnanBnJywgJ2pwZWcnLCAncG5nJywgJ2dpZicsICdibXAnLCAnd2VicCcsICdwZGYnXS5pbmNsdWRlcyhleHQpO1xuICAgIH0pO1xuXG4gICAgLy8gQ29sbGVjdCBhbGwgZmlsZUlkcyB0aGF0IG5lZWQgdG8gYmUgZmV0Y2hlZFxuICAgIGNvbnN0IGZpbGVJZHMgPSBmaWx0ZXJlZERvY3VtZW50c1xuICAgICAgLmZpbHRlcigoZG9jKSA9PiBkb2MuZmlsZUlkPy5zb3VyY2U/LmtpbmQgPT09ICdmaWxlSWQnKVxuICAgICAgLm1hcCgoZG9jKSA9PiBkb2MuZmlsZUlkLnNvdXJjZS52YWx1ZSk7XG5cbiAgICAvLyBGZXRjaCBhbGwgZmlsZSBpbmZvIGF0IG9uY2UgKG5lZWQgVVJMIGZvciBtZWRpYSB2aWV3ZXIpXG4gICAgY29uc3QgZmlsZUluZm9zTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFYUEZpbGVTdG9yYWdlSW5mbz4oKTtcbiAgICBpZiAoZmlsZUlkcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpbmZvcyA9IGF3YWl0IFByb21pc2UuYWxsKGZpbGVJZHMubWFwKChpZCkgPT4gdGhpcy5maWxlU2VydmljZS5nZXRJbmZvKGlkKSkpO1xuICAgICAgaW5mb3MuZm9yRWFjaCgoaW5mbykgPT4ge1xuICAgICAgICBpZiAoaW5mbz8uZmlsZUlkKSB7XG4gICAgICAgICAgZmlsZUluZm9zTWFwLnNldChpbmZvLmZpbGVJZCwgaW5mbyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBmaWx0ZXJlZERvY3VtZW50cy5tYXAoKGRvYykgPT4gdGhpcy5tYXBEb2N1bWVudFRvTWVkaWFWaWV3ZXJEYXRhKGRvYywgZmlsZUluZm9zTWFwKSksXG4gICAgKTtcblxuICAgIGNvbnN0IGNvbXAgPSAoYXdhaXQgaW1wb3J0KCcuL2NvbXBvbmVudHMvZmlsZS12aWV3ZXItcG9wdXAvZmlsZS12aWV3ZXItcG9wdXAuY29tcG9uZW50JykpXG4gICAgICAuQVhNRmlsZVZpZXdlclBvcHVwQ29tcG9uZW50O1xuXG4gICAgYXdhaXQgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICB0aXRsZTogcGFyZW50Rm9sZGVyTmFtZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbm9kZXMsXG4gICAgICAgIGluZGV4OiBpc1ZpcnR1YWxGb2xkZXJcbiAgICAgICAgICA/IChvcHRpb25zPy5mb2xkZXJWaXJ0dWFsRmlsZXM/LmZpbmRJbmRleCgoZikgPT4gZi5pZCA9PT0gbm9kZS5pZCkgPz8gMClcbiAgICAgICAgICA6IChvcHRpb25zPy5pbmRleCA/PyAwKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBhIGZpbGUgbmFtZVxuICAgKi9cbiAgYXN5bmMgdXBkYXRlRmlsZU5hbWUobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU+IHtcbiAgICBpZiAobm9kZS5zdG9yYWdlVHlwZSA9PSAncGh5c2ljYWwnKSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXBGaWxlVG9Ob2RlKGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLnVwZGF0ZU9uZShub2RlLmlkLCB7IG5hbWUgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLm5hbWUgPSBuYW1lO1xuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIFNjb3BlZCBEcml2ZSBTZXJ2aWNlICAgLS0tLVxuXG4vKipcbiAqIFNjb3BlZCBkcml2ZSBzZXJ2aWNlIGZvciBzcGVjaWZpYyBwbGF0Zm9ybSBzY29wZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFNjb3BlZERyaXZlU2VydmljZSB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29uc3RydWN0b3IgICAtLS0tXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwYXJlbnQ6IEFYTURvY3VtZW50TWFuYWdlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzY29wZTogQVhQUGxhdGZvcm1TY29wZSxcbiAgICBwcml2YXRlIG9wdGlvbnM/OiB7IHRlbmFudElkPzogc3RyaW5nOyB1c2VySWQ/OiBzdHJpbmcgfSxcbiAgKSB7XG4gICAgdGhpcy52YWxpZGF0ZVNjb3BlT3B0aW9ucygpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBWYWxpZGF0aW9uIE1ldGhvZHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgc2NvcGUgb3B0aW9ucyBhcmUgYXBwcm9wcmlhdGUgZm9yIHRoZSBzZWxlY3RlZCBzY29wZVxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNjb3BlT3B0aW9ucygpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2NvcGUpIHtcbiAgICAgIGNhc2UgQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQ6XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zPy50ZW5hbnRJZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGVuYW50IElEIGlzIHJlcXVpcmVkIGZvciB0ZW5hbnQgc2NvcGUnKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQVhQUGxhdGZvcm1TY29wZS5Vc2VyOlxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucz8udGVuYW50SWQgfHwgIXRoaXMub3B0aW9ucz8udXNlcklkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb3RoIFRlbmFudCBJRCBhbmQgVXNlciBJRCBhcmUgcmVxdWlyZWQgZm9yIHVzZXIgc2NvcGUnKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFNjb3BlZCBPcGVyYXRpb25zICAgLS0tLVxuXG4gIC8qKlxuICAgKiBHZXRzIHJvb3QgZm9sZGVyIGZvciB0aGlzIHNjb3BlXG4gICAqL1xuICBhc3luYyBnZXRSb290KCk6IFByb21pc2U8e1xuICAgIHBhdGg6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW107XG4gICAgcmVzdWx0OiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZTtcbiAgfT4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5nZXRSb290KHRoaXMuc2NvcGUsIHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBmb2xkZXIgZm9yIHRoaXMgc2NvcGVcbiAgICovXG4gIGFzeW5jIGdldEZvbGRlcihmb2xkZXJJZDogc3RyaW5nKTogUHJvbWlzZTx7XG4gICAgcGF0aDogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXTtcbiAgICByZXN1bHQ6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlO1xuICB9PiB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmdldEZvbGRlcih0aGlzLnNjb3BlLCBmb2xkZXJJZCwgdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGZvbGRlciBpbiB0aGlzIHNjb3BlXG4gICAqL1xuICBhc3luYyBjcmVhdGVGb2xkZXIoXG4gICAgZGF0YTogT21pdDxBWE1Eb2N1bWVudE1hbmFnZW1lbnRGb2xkZXJDcmVhdGVEdG8sICd0ZW5hbnRJZCcgfCAndXNlcklkJz4sXG4gICk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU+IHtcbiAgICBjb25zdCBmb2xkZXJEYXRhOiBBWE1Eb2N1bWVudE1hbmFnZW1lbnRGb2xkZXJDcmVhdGVEdG8gPSB7XG4gICAgICAuLi5kYXRhLFxuICAgICAgdGVuYW50SWQ6IHRoaXMub3B0aW9ucz8udGVuYW50SWQsXG4gICAgICB1c2VySWQ6IHRoaXMub3B0aW9ucz8udXNlcklkLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmNyZWF0ZUZvbGRlcihmb2xkZXJEYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIGZvbGRlciBpbiB0aGlzIHNjb3BlXG4gICAqL1xuICBhc3luYyB1cGRhdGVGb2xkZXIoZm9sZGVySWQ6IHN0cmluZywgZGF0YTogVXBkYXRlRm9sZGVyRHRvKTogUHJvbWlzZTxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZT4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC51cGRhdGVGb2xkZXIoZm9sZGVySWQsIGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgZm9sZGVyIGluIHRoaXMgc2NvcGVcbiAgICovXG4gIGFzeW5jIGRlbGV0ZUZvbGRlcihmb2xkZXJJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmRlbGV0ZUZvbGRlcihmb2xkZXJJZCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhdmFpbGFibGUgc3BhY2UgZm9yIHRoaXMgc2NvcGVcbiAgICovXG4gIGFzeW5jIGdldEF2YWlsYWJsZVNwYWNlKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmdldEF2YWlsYWJsZVNwYWNlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9sZGVycyBpbiB0aGlzIHNjb3BlXG4gICAqL1xuICBhc3luYyBzZWFyY2hGb2xkZXJzKHNlYXJjaFRlcm06IHN0cmluZyk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXT4ge1xuICAgIHRoaXMudmFsaWRhdGVTY29wZU9wdGlvbnMoKTtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuc2VhcmNoRm9sZGVycyhzZWFyY2hUZXJtLCB0aGlzLnNjb3BlLCB0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaGVzIGZpbGVzIGluIHRoaXMgc2NvcGVcbiAgICovXG4gIGFzeW5jIHNlYXJjaEZpbGVzKHNlYXJjaFRlcm06IHN0cmluZyk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXT4ge1xuICAgIHRoaXMudmFsaWRhdGVTY29wZU9wdGlvbnMoKTtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuc2VhcmNoRmlsZXMoc2VhcmNoVGVybSwgdGhpcy5zY29wZSwgdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyBub2RlcyBpbiB0aGlzIHNjb3BlXG4gICAqL1xuICBhc3luYyBzZWFyY2hOb2RlcyhzZWFyY2hUZXJtOiBzdHJpbmcpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10+IHtcbiAgICB0aGlzLnZhbGlkYXRlU2NvcGVPcHRpb25zKCk7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LnNlYXJjaE5vZGVzKHNlYXJjaFRlcm0sIHRoaXMuc2NvcGUsIHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGNvcHkgb2YgYSBub2RlIGluIHRoaXMgc2NvcGVcbiAgICovXG4gIGFzeW5jIGNvcHkobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPEFYTURvY3VtZW50RXhwbG9yZXJOb2RlPiB7XG4gICAgdGhpcy52YWxpZGF0ZVNjb3BlT3B0aW9ucygpO1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5jb3B5KG5vZGUpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXMediaViewerContainerComponent, AXMediaViewerModule, } from '@acorex/components/media-viewer';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { afterNextRender, ChangeDetectionStrategy, Component, viewChild } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/media-viewer\";\nexport class AXMFileViewerPopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.index = 0;\n this.mediaViewer = viewChild(AXMediaViewerContainerComponent, ...(ngDevMode ? [{ debugName: \"mediaViewer\" }] : []));\n this.f = afterNextRender(() => {\n setTimeout(() => {\n this.mediaViewer()?.goToIndex(this.index, 0);\n });\n });\n }\n ngAfterViewInit() {\n console.log(this.index);\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\n //Add 'implements AfterViewInit' to the class.\n this.mediaViewer()?.goToIndex(this.index, 0);\n }\n onClose() {\n this.close();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileViewerPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.12\", type: AXMFileViewerPopupComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"mediaViewer\", first: true, predicate: AXMediaViewerContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<ax-content>\\n <ax-media-viewer-container [thumbnail]=\\\"true\\\" #c [dataArray]=\\\"nodes\\\">\\n <ax-header>\\n <ax-prefix>\\n <ax-file-info></ax-file-info>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-fullscreen-button></ax-fullscreen-button>\\n </ax-suffix>\\n </ax-header>\\n <ax-prefix>\\n <ax-button (click)=\\\"c.next()\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-chevron-right\\\"> </ax-icon>\\n </ax-button>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-button (click)=\\\"c.prev()\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-chevron-left\\\"> </ax-icon>\\n </ax-button>\\n </ax-suffix>\\n </ax-media-viewer-container>\\n</ax-content>\\n<ax-footer>\\n <ax-suffix>\\n <ax-button [text]=\\\"'close'\\\" (click)=\\\"onClose()\\\" />\\n </ax-suffix>\\n</ax-footer>\\n\", styles: [\"ax-media-viewer-container{--ax-sys-border-radius:0 }\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: i1.AXDecoratorFullScreenButtonComponent, selector: \"ax-fullscreen-button\", inputs: [\"isActive\"], outputs: [\"isActiveChange\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXMediaViewerModule }, { kind: \"component\", type: i3.AXMediaViewerContainerComponent, selector: \"ax-media-viewer-container\", inputs: [\"dataArray\", \"thumbnail\"] }, { kind: \"component\", type: i3.AXFileInfoComponent, selector: \"ax-file-info\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFileViewerPopupComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXDecoratorModule, AXButtonModule, AXMediaViewerModule], template: \"<ax-content>\\n <ax-media-viewer-container [thumbnail]=\\\"true\\\" #c [dataArray]=\\\"nodes\\\">\\n <ax-header>\\n <ax-prefix>\\n <ax-file-info></ax-file-info>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-fullscreen-button></ax-fullscreen-button>\\n </ax-suffix>\\n </ax-header>\\n <ax-prefix>\\n <ax-button (click)=\\\"c.next()\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-chevron-right\\\"> </ax-icon>\\n </ax-button>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-button (click)=\\\"c.prev()\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-chevron-left\\\"> </ax-icon>\\n </ax-button>\\n </ax-suffix>\\n </ax-media-viewer-container>\\n</ax-content>\\n<ax-footer>\\n <ax-suffix>\\n <ax-button [text]=\\\"'close'\\\" (click)=\\\"onClose()\\\" />\\n </ax-suffix>\\n</ax-footer>\\n\", styles: [\"ax-media-viewer-container{--ax-sys-border-radius:0 }\\n\"] }]\n }], propDecorators: { mediaViewer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXMediaViewerContainerComponent), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3ZXItcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9zaGFyZWQvY29tcG9uZW50cy9maWxlLXZpZXdlci1wb3B1cC9maWxlLXZpZXdlci1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3NoYXJlZC9jb21wb25lbnRzL2ZpbGUtdmlld2VyLXBvcHVwL2ZpbGUtdmlld2VyLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsK0JBQStCLEVBRS9CLG1CQUFtQixHQUNwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRL0YsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQU5wRTs7UUFPRSxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsU0FBUyxDQUFDLCtCQUErQix1REFBQyxDQUFDO1FBRXpELE1BQUMsR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7S0FlSjtJQWJDLGVBQWU7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4Qiw2R0FBNkc7UUFDN0csOENBQThDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7K0dBcEJVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHFIQUVkLCtCQUErQix1RkNsQnpELDB4QkEyQkEsK0dEYlksaUJBQWlCLGlmQUFFLGNBQWMsNlhBQUUsbUJBQW1COzs0RkFFckQsMkJBQTJCO2tCQU52QyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sV0FHdEMsQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUM7NkZBSXpDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7XG4gIEFYTWVkaWFWaWV3ZXJDb250YWluZXJDb21wb25lbnQsXG4gIEFYTWVkaWFWaWV3ZXJEYXRhLFxuICBBWE1lZGlhVmlld2VyTW9kdWxlLFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVkaWEtdmlld2VyJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXZpZXdlci1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9maWxlLXZpZXdlci1wb3B1cC5zY3NzJyxcbiAgaW1wb3J0czogW0FYRGVjb3JhdG9yTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhNZWRpYVZpZXdlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUZpbGVWaWV3ZXJQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBpbmRleDogbnVtYmVyID0gMDtcbiAgbWVkaWFWaWV3ZXIgPSB2aWV3Q2hpbGQoQVhNZWRpYVZpZXdlckNvbnRhaW5lckNvbXBvbmVudCk7XG5cbiAgZiA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lZGlhVmlld2VyKCk/LmdvVG9JbmRleCh0aGlzLmluZGV4LCAwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuaW5kZXgpO1xuXG4gICAgLy9DYWxsZWQgYWZ0ZXIgbmdBZnRlckNvbnRlbnRJbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQnIHRvIHRoZSBjbGFzcy5cbiAgICB0aGlzLm1lZGlhVmlld2VyKCk/LmdvVG9JbmRleCh0aGlzLmluZGV4LCAwKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgbm9kZXMhOiBBWE1lZGlhVmlld2VyRGF0YVtdO1xufVxuIiwiPGF4LWNvbnRlbnQ+XG4gIDxheC1tZWRpYS12aWV3ZXItY29udGFpbmVyIFt0aHVtYm5haWxdPVwidHJ1ZVwiICNjIFtkYXRhQXJyYXldPVwibm9kZXNcIj5cbiAgICA8YXgtaGVhZGVyPlxuICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgPGF4LWZpbGUtaW5mbz48L2F4LWZpbGUtaW5mbz5cbiAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGF4LWZ1bGxzY3JlZW4tYnV0dG9uPjwvYXgtZnVsbHNjcmVlbi1idXR0b24+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICA8L2F4LWhlYWRlcj5cbiAgICA8YXgtcHJlZml4PlxuICAgICAgPGF4LWJ1dHRvbiAoY2xpY2spPVwiYy5uZXh0KClcIj5cbiAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1yaWdodFwiPiA8L2F4LWljb24+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICA8L2F4LXByZWZpeD5cbiAgICA8YXgtc3VmZml4PlxuICAgICAgPGF4LWJ1dHRvbiAoY2xpY2spPVwiYy5wcmV2KClcIj5cbiAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1sZWZ0XCI+IDwvYXgtaWNvbj5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvYXgtc3VmZml4PlxuICA8L2F4LW1lZGlhLXZpZXdlci1jb250YWluZXI+XG48L2F4LWNvbnRlbnQ+XG48YXgtZm9vdGVyPlxuICA8YXgtc3VmZml4PlxuICAgIDxheC1idXR0b24gW3RleHRdPVwiJ2Nsb3NlJ1wiIChjbGljayk9XCJvbkNsb3NlKClcIiAvPlxuICA8L2F4LXN1ZmZpeD5cbjwvYXgtZm9vdGVyPlxuIl19","export var AXPDocumentExplorerSettings;\n(function (AXPDocumentExplorerSettings) {\n AXPDocumentExplorerSettings[\"ViewMode\"] = \"document-explorer:layout:view-mode\";\n AXPDocumentExplorerSettings[\"SortField\"] = \"document-explorer:layout:sort-field\";\n AXPDocumentExplorerSettings[\"SortDirection\"] = \"document-explorer:layout:sort-direction\";\n})(AXPDocumentExplorerSettings || (AXPDocumentExplorerSettings = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mua2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZG9jdW1lbnQtZXhwbG9yZXIvc2V0dGluZ3Mua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSwyQkFJWDtBQUpELFdBQVksMkJBQTJCO0lBQ25DLDhFQUErQyxDQUFBO0lBQy9DLGdGQUFpRCxDQUFBO0lBQ2pELHdGQUF5RCxDQUFBO0FBQzdELENBQUMsRUFKVywyQkFBMkIsS0FBM0IsMkJBQTJCLFFBSXRDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQVhQRG9jdW1lbnRFeHBsb3JlclNldHRpbmdzIHtcbiAgICBWaWV3TW9kZSA9ICdkb2N1bWVudC1leHBsb3JlcjpsYXlvdXQ6dmlldy1tb2RlJyxcbiAgICBTb3J0RmllbGQgPSAnZG9jdW1lbnQtZXhwbG9yZXI6bGF5b3V0OnNvcnQtZmllbGQnLFxuICAgIFNvcnREaXJlY3Rpb24gPSAnZG9jdW1lbnQtZXhwbG9yZXI6bGF5b3V0OnNvcnQtZGlyZWN0aW9uJ1xufVxuXG4iXX0=","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPFileTypeProviderService, AXPLockService, AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentTypeService } from '../../entities';\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport { AXPDocumentExplorerSettings } from './settings.keys';\nexport const AXPDocumentExplorerViewModel = signalStore({ providedIn: 'root' }, withState(() => ({\n // View State\n viewMode: 'large-tiles',\n isLoading: false,\n scope: AXPPlatformScope.User,\n // Navigation State\n currentPath: [],\n currentNode: null,\n loadingFolderId: null,\n navigatingFolderId: null,\n backHistory: [],\n // Selection State\n selectionMode: 'none',\n selectedNodes: [],\n // Browse State\n browseMode: 'file',\n // Sort State\n sortField: 'name',\n sortDirection: 'asc',\n // Content State\n folders: [],\n files: [],\n itemsCount: 0,\n availableSpace: 0,\n // Drive State\n currentDrive: null,\n // File Type State\n fileTypes: [],\n // Detail Panel State\n detailPanel: false,\n})), withComputed((store) => ({\n isRoot: computed(() => {\n const path = store.currentPath();\n return path.length === 1;\n }),\n isVirtual: computed(() => {\n const node = store.currentNode();\n return node?.storageType === 'virtual';\n }),\n currentFolder: computed(() => store.currentNode()),\n currentFolderContents: computed(() => ({\n folders: store.folders(),\n files: store.files(),\n })),\n isLargeTilesView: computed(() => store.viewMode() === 'large-tiles'),\n isSmallTilesView: computed(() => store.viewMode() === 'small-tiles'),\n isListView: computed(() => store.viewMode() === 'list'),\n isDetailsView: computed(() => store.viewMode() === 'details'),\n isLargeIconsView: computed(() => store.viewMode() === 'large-icons'),\n isSmallIconsView: computed(() => store.viewMode() === 'small-icons'),\n isBackAvailable: computed(() => store.backHistory().length > 0),\n isUpAvailable: computed(() => {\n const node = store.currentNode();\n return node?.parentId != null;\n }),\n selectedCount: computed(() => store.selectedNodes().length),\n hasSelectedItems: computed(() => store.selectedNodes().length > 0),\n hasMultipleSelectedItems: computed(() => store.selectedNodes().length > 1),\n isMultiSelect: computed(() => store.selectionMode() === 'multiple'),\n selectedNode: computed(() => store.selectedNodes()[0] ?? null),\n isDetailPanelOpen: computed(() => store.detailPanel()),\n})), withMethods((store, fileTypeService = inject(AXPFileTypeProviderService), documentTypeService = inject(AXMDocumentTypeService), driveService = inject(AXMDocumentManagerService), settingService = inject(AXPSettingService), sessionService = inject(AXPSessionService), translateService = inject(AXTranslationService), lockService = inject(AXPLockService)) => ({\n async initialize(options) {\n // Load file types\n const fileTypes = await fileTypeService.items();\n patchState(store, { fileTypes });\n // Load initial settings\n const viewMode = await settingService\n .scope(options?.scope || AXPPlatformScope.User)\n .get(AXPDocumentExplorerSettings.ViewMode);\n const sortField = await settingService\n .scope(options?.scope || AXPPlatformScope.User)\n .get(AXPDocumentExplorerSettings.SortField);\n const sortDirection = await settingService\n .scope(options?.scope || AXPPlatformScope.User)\n .get(AXPDocumentExplorerSettings.SortDirection);\n patchState(store, {\n viewMode: viewMode || 'list',\n sortField: sortField || 'name',\n sortDirection: sortDirection || 'asc',\n browseMode: options?.browseMode || 'file',\n scope: options?.scope || AXPPlatformScope.User,\n });\n },\n _load: async (folderId) => {\n patchState(store, { loadingFolderId: folderId, isLoading: true });\n await new Promise((resolve) => setTimeout(resolve, 100));\n try {\n const node = await driveService.getFolder(store.scope(), folderId, {\n tenantId: sessionService.tenant?.id,\n userId: sessionService.user?.id,\n });\n // Sort with direction\n const sortField = store.sortField();\n const sortDirection = store.sortDirection();\n const directionMultiplier = sortDirection === 'asc' ? 1 : -1;\n switch (sortField) {\n case 'name':\n node.result.children = node.result.children?.sort((a, b) => directionMultiplier * a.name.localeCompare(b.name));\n break;\n case 'modified':\n node.result.children = node.result.children?.sort((a, b) => directionMultiplier * ((a.modifiedAt?.getTime() ?? 0) - (b.modifiedAt?.getTime() ?? 0)));\n break;\n case 'size':\n node.result.children = node.result.children?.sort((a, b) => directionMultiplier * ((a.size ?? 0) - (b.size ?? 0)));\n break;\n default:\n node.result.children = node.result.children?.sort((a, b) => directionMultiplier * a.name.localeCompare(b.name));\n break;\n }\n patchState(store, {\n currentNode: node.result,\n currentPath: node.path,\n folders: node.result.children?.filter((item) => item.type === 'folder') || [],\n files: node.result.children?.filter((item) => store.browseMode() == 'file' && item.type === 'file') || [],\n itemsCount: node.result.children?.length || 0,\n availableSpace: await driveService.getAvailableSpace(),\n loadingFolderId: null,\n isLoading: false,\n navigatingFolderId: null,\n });\n }\n catch (error) {\n patchState(store, {\n loadingFolderId: null,\n isLoading: false,\n });\n throw error;\n }\n },\n navigateToFolder(folderId) {\n const currentNode = store.currentNode();\n if (currentNode) {\n patchState(store, {\n backHistory: [...store.backHistory(), { folderId: currentNode.id, path: store.currentPath() }],\n });\n }\n patchState(store, { navigatingFolderId: folderId });\n },\n async loadFolderContents(folderId) {\n await this._load(folderId);\n this.deselectAll();\n },\n async virtualFolder(files = [], options) {\n const id = 'virtual';\n patchState(store, {\n loadingFolderId: id,\n isLoading: true,\n });\n await new Promise((resolve) => setTimeout(resolve, 100));\n const node = {\n id: id,\n name: options?.name || 'virtual',\n type: 'folder',\n children: files,\n parentId: options?.parentId || null,\n size: 0,\n // TODO\n documentTypes: [],\n storageType: 'virtual',\n };\n patchState(store, {\n currentNode: node,\n currentPath: [node],\n folders: files.filter((item) => item.type === 'folder'),\n files: files.filter((item) => item.type === 'file'),\n itemsCount: files.length,\n availableSpace: await driveService.getAvailableSpace(),\n loadingFolderId: null,\n isLoading: false,\n navigatingFolderId: null,\n });\n },\n setViewMode(mode) {\n patchState(store, { viewMode: mode });\n settingService.scope(AXPPlatformScope.User).set(AXPDocumentExplorerSettings.ViewMode, mode);\n },\n isViewMode(mode) {\n return store.viewMode() === mode;\n },\n setSortField(field) {\n patchState(store, { sortField: field });\n settingService.scope(AXPPlatformScope.User).set(AXPDocumentExplorerSettings.SortField, field);\n this.refresh();\n },\n setSortDirection(direction) {\n patchState(store, { sortDirection: direction });\n settingService.scope(AXPPlatformScope.User).set(AXPDocumentExplorerSettings.SortDirection, direction);\n this.refresh();\n },\n setSelectionMode(mode) {\n patchState(store, { selectionMode: mode });\n },\n setDrive(scope) {\n patchState(store, { currentDrive: scope });\n },\n isLoadingFolder(folderId) {\n return store.loadingFolderId() === folderId;\n },\n getFileInfo(fileName) {\n const fileTypes = store.fileTypes();\n const extension = fileName.split('.').pop()?.toLowerCase() || '';\n const extensions = fileTypes.flatMap((type) => type.extensions);\n const fileType = extensions.find((e) => e.name === extension);\n return {\n icon: fileType?.icon || 'fa-light fa-file',\n type: fileType?.name || 'Unknown',\n };\n },\n getNodeInfo(node) {\n // If no node, return a default object\n if (!node) {\n return {\n name: '---',\n icon: 'fa-light fa-folder',\n type: 'Folder',\n sections: [\n {\n title: 'Details',\n details: [],\n },\n ],\n };\n }\n // If the node is a file, return the file info\n if (node.type === 'file') {\n const fileTypes = store.fileTypes();\n const extension = node.name.split('.').pop()?.toLowerCase() || '';\n const extensions = fileTypes.flatMap((type) => type.extensions);\n const fileType = extensions.find((e) => e.name === extension);\n return {\n name: node.name,\n icon: fileType?.icon || 'fa-light fa-file',\n type: 'File',\n sections: [\n {\n title: 'Details',\n details: [\n {\n title: 'Description',\n content: node.description,\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Size',\n content: node.size || 0,\n format: 'filesize',\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Created at',\n content: node.createdAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n {\n title: 'Modified at',\n content: node.modifiedAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n ],\n },\n {\n title: 'Metadata',\n details: node.meta\n ? node.meta.map((meta) => ({\n title: meta.title,\n content: meta.value,\n }))\n : [],\n },\n ],\n };\n }\n // If the node is a folder, return the folder info\n else {\n return {\n name: node.name,\n icon: 'fa-light fa-folder ax-text-yellow-500',\n type: 'Folder',\n sections: [\n {\n title: 'Details',\n details: [\n {\n title: 'Description',\n content: node.description,\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Items',\n content: node.childrenCount,\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Size',\n content: node.size || 0,\n format: 'filesize',\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Created at',\n content: node.createdAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n {\n title: 'Modified at',\n content: node.modifiedAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n ],\n },\n ],\n };\n }\n },\n sortItems(items) {\n const field = store.sortField();\n const direction = store.sortDirection();\n return [...items].sort((a, b) => {\n let comparison = 0;\n switch (field) {\n case 'name':\n comparison = a.name.localeCompare(b.name);\n break;\n case 'modified':\n const aDate = a.modifiedAt ? new Date(a.modifiedAt) : new Date(0);\n const bDate = b.modifiedAt ? new Date(b.modifiedAt) : new Date(0);\n comparison = aDate.getTime() - bDate.getTime();\n break;\n case 'size':\n comparison = (a.size || 0) - (b.size || 0);\n break;\n }\n return direction === 'asc' ? comparison : -comparison;\n });\n },\n async refresh() {\n if (!store.isVirtual()) {\n const currentFolder = store.currentNode();\n if (currentFolder) {\n await this._load(currentFolder.id);\n }\n }\n else {\n patchState(store, { loadingFolderId: 'fake' });\n patchState(store, { loadingFolderId: null });\n }\n },\n navigateToUp() {\n const currentNode = store.currentNode();\n const parentId = currentNode?.parentId;\n if (parentId && currentNode) {\n patchState(store, {\n backHistory: [...store.backHistory(), { folderId: currentNode.id, path: store.currentPath() }],\n });\n patchState(store, { navigatingFolderId: parentId });\n this.loadFolderContents(parentId);\n }\n },\n async navigateBack() {\n const history = store.backHistory();\n if (history.length === 0) {\n return;\n }\n const lastEntry = history[history.length - 1];\n patchState(store, { backHistory: history.slice(0, history.length - 1) });\n patchState(store, { navigatingFolderId: lastEntry.folderId });\n await this.loadFolderContents(lastEntry.folderId);\n },\n async openGalleryWithFolderId() {\n const folder = store.currentNode();\n const files = folder?.children?.filter((item) => item.type === 'file') || [];\n await driveService.showFileViewerPopup(files[0]);\n },\n //TODO: Delete only one node at a time\n async deleteNodes(nodes = store.selectedNodes()) {\n if (store.isVirtual()) {\n patchState(store, {\n files: store.currentFolderContents().files.filter((file) => !nodes.some((node) => node.name === file.name)),\n });\n this.deselectAll();\n }\n else {\n const result = await driveService.showDeleteNodesDialog(nodes);\n if (result) {\n this.deselectAll();\n await this.refresh();\n }\n }\n },\n toggleSelect(node) {\n if (store.selectionMode() === 'multiple') {\n patchState(store, {\n selectedNodes: store.selectedNodes().includes(node)\n ? store.selectedNodes().filter((n) => n.id !== node.id)\n : [...store.selectedNodes(), node],\n });\n }\n else {\n patchState(store, { selectedNodes: [node] });\n }\n },\n isItemSelected(node) {\n return store.selectedNodes().some((selectedNode) => selectedNode.id === node.id);\n },\n selectAll() {\n patchState(store, { selectedNodes: [...store.folders(), ...store.files()] });\n },\n deselectAll() {\n patchState(store, { selectedNodes: [] });\n },\n openDetailPanel() {\n patchState(store, { detailPanel: true });\n },\n closeDetailPanel() {\n patchState(store, { detailPanel: false });\n },\n toggleDetailPanel() {\n patchState(store, { detailPanel: !store.detailPanel() });\n },\n //#region Menu Items\n async getFolderAddMenuItems() {\n return [\n {\n title: await translateService.translateAsync('@document-management:actions.create-folder'),\n icon: 'fa-light fa-folder-plus',\n break: true,\n command: {\n name: 'new-folder',\n options: {\n folderId: store.currentFolder()?.id,\n },\n },\n },\n ...(store.currentFolder()?.documentTypes?.map((type) => ({\n title: type.title,\n //icon: type.icon,\n icon: 'fa-light fa-file-arrow-up',\n break: true,\n command: {\n name: `upload.${type.name}`,\n options: {\n folderId: store.currentFolder()?.id,\n documentType: type,\n },\n },\n })) ?? []),\n {\n title: await translateService.translateAsync('@document-management:actions.open-gallery'),\n icon: 'fa-light fa-images',\n break: true,\n command: {\n name: 'open-gallery',\n options: {\n folderId: store.currentFolder()?.id,\n },\n },\n },\n ];\n },\n async getFolderActionMenuItems() {\n return [\n {\n name: 'refresh',\n title: await translateService.translateAsync('@document-management:actions.refresh'),\n icon: 'fa-light fa-rotate-right',\n // break: true,\n },\n // {\n // name: 'delete',\n // title: await translateService.translateAsync('delete'),\n // color: 'danger',\n // icon: 'fa-light fa-trash',\n // },\n ];\n },\n //#endregion\n //#region Context Menu Items\n async getContextMenuItems() {\n return [...(await this.getFolderAddMenuItems()), ...(await this.getFolderActionMenuItems())];\n },\n //#endregion\n //#region ---- Menu Items ----\n /**\n * Returns menu items for file context menu\n */\n async getFileContextMenuItems(node) {\n const trans = async (key) => await translateService.translateAsync(`@document-management:${key}`);\n const isLocked = async () => await this.isLocked(node);\n // const isNodeLocked = false;\n const menuItems = [\n {\n name: 'open-file',\n text: await trans('menus.context.open'),\n icon: this.getFileInfo(node.name).icon,\n data: node,\n },\n {\n name: 'download',\n text: await trans('menus.context.download'),\n icon: 'fa-light fa-download',\n data: node,\n },\n {\n name: 'share',\n text: await trans('menus.context.share.share'),\n icon: 'fa-light fa-share-nodes',\n items: [\n {\n name: 'share',\n text: await trans('menus.context.share.share'),\n icon: 'fa-light fa-users',\n data: node,\n },\n {\n name: 'share-with-email',\n text: await trans('menus.context.share.email'),\n icon: 'fa-light fa-envelope',\n data: node,\n },\n {\n name: 'link',\n text: await trans('menus.context.share.link'),\n icon: 'fa-light fa-link',\n data: node,\n },\n ],\n break: true,\n },\n ];\n // Manage versions (only if document type has versioning enabled)\n const docType = node.documentTypes?.[0];\n if (docType?.enableVersioning) {\n menuItems.push({\n name: 'manage-versions',\n text: await trans('menus.context.manage-versions'),\n icon: 'fa-light fa-clock-rotate-left',\n items: [\n {\n name: 'upload-new-version',\n text: await trans('menus.context.upload-new-version'),\n icon: 'fa-light fa-file-circle-plus',\n data: node,\n },\n {\n name: 'show-version-history',\n text: await trans('menus.context.show-version-history'),\n icon: 'fa-light fa-timeline',\n data: node,\n },\n ],\n break: true,\n });\n }\n // Information submenu items\n const infoSubItems = [\n {\n name: 'properties',\n text: await trans('menus.context.properties'),\n icon: 'fa-light fa-memo-circle-info',\n break: true,\n data: node,\n },\n ];\n // Add rename only if not locked\n // if (!isNodeLocked) {\n // infoSubItems.unshift({\n // name: 'rename',\n // text: await trans('menu.rename'),\n // icon: 'fa-light fa-pencil',\n // data: node,\n // });\n // }\n //Add lock or unlock based on current state\n // if (isNodeLocked) {\n infoSubItems.push({\n name: 'unlock',\n text: await trans('menus.context.unlock'),\n icon: 'fa-light fa-unlock',\n data: node,\n });\n // } else {\n infoSubItems.push({\n name: 'lock',\n text: await trans('menus.context.lock'),\n icon: 'fa-light fa-lock',\n data: node,\n });\n // }\n menuItems.push({\n name: 'file-info',\n text: await trans('menus.context.information'),\n icon: 'fa-light fa-circle-info',\n items: infoSubItems,\n break: true,\n });\n // Add copy/move/delete operations only if not locked\n menuItems.push({\n name: 'copy',\n text: await trans('menus.context.make-copy'),\n icon: 'fa-light fa-copy',\n data: node,\n }, {\n name: 'copy-to',\n text: await trans('menus.context.copy-to'),\n icon: 'fa-light fa-copy',\n data: node,\n }, {\n name: 'move-to',\n text: await trans('menus.context.move-to'),\n icon: 'fa-light fa-arrow-right-arrow-left',\n break: true,\n data: node,\n }, {\n name: 'delete',\n text: await trans('menus.context.delete'),\n icon: 'fa-light fa-trash',\n data: node,\n });\n return menuItems;\n },\n /**\n * Returns menu items for folder context menu\n */\n async getFolderContextMenuItems(node) {\n const trans = async (key) => await translateService.translateAsync(`@document-management:${key}`);\n // const isNodeLocked = await this.isLocked(node);\n const isNodeLocked = false;\n const items = [\n {\n name: 'open-folder',\n text: await trans('menus.context.open'),\n icon: 'fa-light fa-folder-open',\n data: node,\n },\n ];\n // Add upload menu only if not locked\n if (!isNodeLocked && node?.documentTypes?.length) {\n items.push({\n text: await trans('menus.context.upload'),\n icon: 'fa-light fa-file-arrow-up',\n break: true,\n items: node.documentTypes.map((type, index, array) => ({\n name: `upload.${type.name}`,\n text: type.title,\n icon: 'fa-light fa-file-arrow-up',\n break: index !== array.length - 1,\n data: {\n node,\n documentType: type,\n },\n })),\n });\n }\n // Information submenu items\n const infoSubItems = [\n {\n name: 'properties',\n text: await trans('menus.context.properties'),\n icon: 'fa-light fa-memo-circle-info',\n break: true,\n data: node,\n },\n ];\n // Add rename only if not locked\n if (!isNodeLocked) {\n infoSubItems.unshift({\n name: 'rename',\n text: await trans('menus.context.rename'),\n icon: 'fa-light fa-pencil',\n data: node,\n });\n }\n // Add lock or unlock based on current state\n if (isNodeLocked) {\n infoSubItems.push({\n name: 'unlock',\n text: await trans('menus.context.unlock'),\n icon: 'fa-light fa-unlock',\n data: node,\n });\n }\n else {\n infoSubItems.push({\n name: 'lock',\n text: await trans('menus.context.lock'),\n icon: 'fa-light fa-lock',\n data: node,\n });\n }\n items.push({\n name: 'folder-info',\n text: await trans('menus.context.information'),\n icon: 'fa-light fa-circle-info',\n items: infoSubItems,\n break: true,\n });\n // Add copy/move/delete operations only if not locked\n if (!isNodeLocked) {\n items.push({\n name: 'copy',\n text: await trans('menus.context.make-copy'),\n icon: 'fa-light fa-copy',\n data: node,\n }, {\n name: 'copy-to',\n text: await trans('menus.context.copy-to'),\n icon: 'fa-light fa-copy',\n data: node,\n }, {\n name: 'move-to',\n text: await trans('menus.context.move-to'),\n icon: 'fa-light fa-arrow-right-arrow-left',\n break: true,\n data: node,\n }, {\n name: 'delete',\n text: await trans('menus.context.delete'),\n icon: 'fa-light fa-trash',\n data: node,\n });\n }\n return items;\n },\n /**\n * Returns context menu items based on node type\n */\n async getNodeContextMenuItems(node) {\n if (node.type === 'file') {\n return await this.getFileContextMenuItems(node);\n }\n else {\n return await this.getFolderContextMenuItems(node);\n }\n },\n //#endregion\n //#region ---- Menu Actions ----\n /**\n * Opens a file\n */\n async openFile(node) {\n await driveService.openFile(node);\n },\n /**\n * Handles all menu item clicks\n */\n async handleMenuItemClick(name, data) {\n const node = data;\n switch (name) {\n case 'open-folder':\n this.navigateToFolder(node.id);\n break;\n case 'open-file':\n await this.openFile(node);\n break;\n case 'open-gallery':\n if (data.folderId != null) {\n await this.openGalleryWithFolderId();\n }\n else {\n await this.openGallery(node);\n }\n break;\n case 'download':\n this.downloadFile(node);\n break;\n case 'new-folder':\n await this.createFolder(node);\n break;\n case 'paste':\n //TODO: Handle paste operation\n break;\n case 'move-to':\n await this.moveTo(node);\n break;\n case 'copy-to':\n await this.copyTo(node);\n break;\n case 'rename':\n await this.renameNode(node);\n break;\n case 'properties':\n await this.showFolderProperty(node);\n break;\n case 'delete':\n await this.deleteNodes([node]);\n break;\n case 'refresh':\n await this.refresh();\n break;\n case 'upload-new-version':\n await driveService.uploadNewVersion(node);\n await this.refresh();\n break;\n case 'show-version-history':\n await driveService.showVersionHistory(node);\n break;\n case 'copy':\n await this.makeCopy(node);\n break;\n /*\n case 'share':\n await this.share(node);\n break;\n case 'share-with-email':\n await this.shareWithEmail(node);\n break;\n case 'link':\n await this.link(node);\n break;\n */\n case 'lock':\n await this.lock(node);\n break;\n case 'unlock':\n await this.unlock(node);\n break;\n default:\n if (name?.startsWith('upload.')) {\n await this.uploadFileByType(data.node?.id ?? store.currentNode()?.id, data.documentType.id);\n await this.refresh();\n }\n break;\n }\n },\n /**\n * Downloads the specified file\n */\n downloadFile(node) {\n driveService.downloadFile(node);\n },\n /**\n * Opens the gallery for a folder\n */\n async openGallery(node) {\n await driveService.showFileViewerPopup(node, {\n folderVirtualFiles: store.files(),\n index: store.files().findIndex((f) => f.id === node.id),\n });\n },\n /**\n * Shows properties for a folder\n */\n async showFolderProperty(node) {\n if (node.type == 'folder') {\n if (await driveService.showFolderEditDialog(node)) {\n await this.refresh();\n }\n }\n else {\n if (await driveService.updateUploadFileByType(node)) {\n await this.refresh();\n }\n }\n },\n /**\n * Creates a new folder\n */\n async createFolder(node) {\n const parentId = node?.id ?? store.currentNode()?.id;\n if (parentId) {\n const result = await driveService.showCreateFolderDialog(parentId);\n if (result) {\n await this.refresh();\n }\n }\n },\n /**\n * Renames a node\n */\n async renameNode(node) {\n if (node) {\n const result = await driveService.showRenamePopup(node);\n if (result) {\n if (node.storageType == 'virtual') {\n const files = store.files();\n const updatedFiles = files.map((file) => {\n if (file.id === result.id) {\n return result;\n }\n return file;\n });\n this.virtualFolder(updatedFiles);\n }\n await this.refresh();\n }\n return result;\n }\n return;\n },\n /**\n * Makes a copy of a node\n */\n async makeCopy(node) {\n if (node) {\n try {\n await driveService.copy(node);\n await this.refresh();\n }\n catch (error) {\n console.error('Error copying node:', error);\n }\n }\n },\n /**\n * Checks if a node is locked\n */\n async isLocked(node) {\n try {\n return lockService.check({\n refId: node.id,\n refType: `${RootConfig.module.name}.${node.type === 'folder' ? RootConfig.entities.folder.name : RootConfig.entities.document.name}`,\n });\n }\n catch (error) {\n console.error('Error checking lock status:', error);\n return false;\n }\n },\n /**\n * Locks a node\n */\n async lock(node) {\n const locked = await driveService.showLockDialog(node);\n if (locked) {\n await this.refresh();\n }\n },\n /**\n * Unlocks a node\n */\n async unlock(node) {\n const unlocked = await driveService.showUnlockDialog(node);\n if (unlocked) {\n await this.refresh();\n }\n },\n /**\n * Moves a node to a different location\n */\n async moveTo(node) {\n if (node) {\n const result = await driveService.moveTo({ browseMode: 'folder', node: node, scope: store.scope() });\n if (result) {\n await this.refresh();\n }\n }\n },\n /**\n * Copies a node to a different location\n */\n async copyTo(node) {\n if (node) {\n const result = await driveService.copyTo({ browseMode: 'folder', node: node, scope: store.scope() });\n if (result) {\n await this.refresh();\n }\n }\n },\n /**\n * Uploads a file by type\n */\n async uploadFileByType(folderId, documentTypeId) {\n await driveService.uploadFileByType(folderId, documentTypeId);\n await this.refresh();\n },\n //#endregion\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZXhwbG9yZXIudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9kb2N1bWVudC1leHBsb3Jlci9kb2N1bWVudC1leHBsb3Jlci52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFlLDBCQUEwQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JILE9BQU8sRUFBcUIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBTy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLFdBQVcsQ0FDckQsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBRXRCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2YsYUFBYTtJQUNiLFFBQVEsRUFBRSxhQUE0QztJQUN0RCxTQUFTLEVBQUUsS0FBSztJQUNo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QUFDO1lBQ3JHLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxjQUFzQjtRQUM3RCxNQUFNLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFlBQVk7Q0FDYixDQUFDLENBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNZW51SXRlbSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEZpbGVUeXBlLCBBWFBGaWxlVHlwZVByb3ZpZGVyU2VydmljZSwgQVhQTG9ja1NlcnZpY2UsIEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGF0Y2hTdGF0ZSwgc2lnbmFsU3RvcmUsIHdpdGhDb21wdXRlZCwgd2l0aE1ldGhvZHMsIHdpdGhTdGF0ZSB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTURvY3VtZW50VHlwZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbnRpdGllcyc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2RvY3VtZW50LW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBBWE1Eb2N1bWVudEV4cGxvcmVyQnJvd3NlTW9kZSxcbiAgQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUsXG4gIEFYTURvY3VtZW50U2VsZWN0aW9uTW9kZSxcbiAgQVhQRG9jdW1lbnRFeHBsb3JlclZpZXdNb2RlLFxufSBmcm9tICcuLi9zaGFyZWQvZG9jdW1lbnQtbWFuYWdlci50eXBlcyc7XG5pbXBvcnQgeyBBWFBEb2N1bWVudEV4cGxvcmVyU2V0dGluZ3MgfSBmcm9tICcuL3NldHRpbmdzLmtleXMnO1xuXG5leHBvcnQgY29uc3QgQVhQRG9jdW1lbnRFeHBsb3JlclZpZXdNb2RlbCA9IHNpZ25hbFN0b3JlKFxuICB7IHByb3ZpZGVkSW46ICdyb290JyB9LFxuXG4gIHdpdGhTdGF0ZSgoKSA9PiAoe1xuICAgIC8vIFZpZXcgU3RhdGVcbiAgICB2aWV3TW9kZTogJ2xhcmdlLXRpbGVzJyBhcyBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGUsXG4gICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZS5Vc2VyLFxuXG4gICAgLy8gTmF2aWdhdGlvbiBTdGF0ZVxuICAgIGN1cnJlbnRQYXRoOiBbXSBhcyBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdLFxuICAgIGN1cnJlbnROb2RlOiBudWxsIGFzIEFYTURvY3VtZW50RXhwbG9yZXJOb2RlIHwgbnVsbCxcbiAgICBsb2FkaW5nRm9sZGVySWQ6IG51bGwgYXMgc3RyaW5nIHwgbnVsbCxcbiAgICBuYXZpZ2F0aW5nRm9sZGVySWQ6IG51bGwgYXMgc3RyaW5nIHwgbnVsbCxcbiAgICBiYWNrSGlzdG9yeTogW10gYXMgeyBmb2xkZXJJZDogc3RyaW5nOyBwYXRoOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdIH1bXSxcblxuICAgIC8vIFNlbGVjdGlvbiBTdGF0ZVxuICAgIHNlbGVjdGlvbk1vZGU6ICdub25lJyBhcyBBWE1Eb2N1bWVudFNlbGVjdGlvbk1vZGUsXG4gICAgc2VsZWN0ZWROb2RlczogW10gYXMgQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGVbXSxcblxuICAgIC8vIEJyb3dzZSBTdGF0ZVxuICAgIGJyb3dzZU1vZGU6ICdmaWxlJyBhcyBBWE1Eb2N1bWVudEV4cGxvcmVyQnJvd3NlTW9kZSxcblxuICAgIC8vIFNvcnQgU3RhdGVcbiAgICBzb3J0RmllbGQ6ICduYW1lJyxcbiAgICBzb3J0RGlyZWN0aW9uOiAnYXNjJyxcblxuICAgIC8vIENvbnRlbnQgU3RhdGVcbiAgICBmb2xkZXJzOiBbXSBhcyBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdLFxuICAgIGZpbGVzOiBbXSBhcyBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdLFxuICAgIGl0ZW1zQ291bnQ6IDAsXG4gICAgYXZhaWxhYmxlU3BhY2U6IDAsXG5cbiAgICAvLyBEcml2ZSBTdGF0ZVxuICAgIGN1cnJlbnREcml2ZTogbnVsbCBhcyBBWFBQbGF0Zm9ybVNjb3BlIHwgbnVsbCxcblxuICAgIC8vIEZpbGUgVHlwZSBTdGF0ZVxuICAgIGZpbGVUeXBlczogW10gYXMgQVhQRmlsZVR5cGVbXSxcbiAgICAvLyBEZXRhaWwgUGFuZWwgU3RhdGVcbiAgICBkZXRhaWxQYW5lbDogZmFsc2UsXG4gIH0pKSxcblxuICB3aXRoQ29tcHV0ZWQoKHN0b3JlKSA9PiAoe1xuICAgIGlzUm9vdDogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgcGF0aCA9IHN0b3JlLmN1cnJlbnRQYXRoKCk7XG4gICAgICByZXR1cm4gcGF0aC5sZW5ndGggPT09IDE7XG4gICAgfSksXG5cbiAgICBpc1ZpcnR1YWw6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBzdG9yZS5jdXJyZW50Tm9kZSgpO1xuICAgICAgcmV0dXJuIG5vZGU/LnN0b3JhZ2VUeXBlID09PSAndmlydHVhbCc7XG4gICAgfSksXG5cbiAgICBjdXJyZW50Rm9sZGVyOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5jdXJyZW50Tm9kZSgpKSxcblxuICAgIGN1cnJlbnRGb2xkZXJDb250ZW50czogY29tcHV0ZWQoKCkgPT4gKHtcbiAgICAgIGZvbGRlcnM6IHN0b3JlLmZvbGRlcnMoKSxcbiAgICAgIGZpbGVzOiBzdG9yZS5maWxlcygpLFxuICAgIH0pKSxcblxuICAgIGlzTGFyZ2VUaWxlc1ZpZXc6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnZpZXdNb2RlKCkgPT09ICdsYXJnZS10aWxlcycpLFxuICAgIGlzU21hbGxUaWxlc1ZpZXc6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnZpZXdNb2RlKCkgPT09ICdzbWFsbC10aWxlcycpLFxuICAgIGlzTGlzdFZpZXc6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnZpZXdNb2RlKCkgPT09ICdsaXN0JyksXG4gICAgaXNEZXRhaWxzVmlldzogY29tcHV0ZWQoKCkgPT4gc3RvcmUudmlld01vZGUoKSA9PT0gJ2RldGFpbHMnKSxcbiAgICBpc0xhcmdlSWNvbnNWaWV3OiBjb21wdXRlZCgoKSA9PiBzdG9yZS52aWV3TW9kZSgpID09PSAnbGFyZ2UtaWNvbnMnKSxcbiAgICBpc1NtYWxsSWNvbnNWaWV3OiBjb21wdXRlZCgoKSA9PiBzdG9yZS52aWV3TW9kZSgpID09PSAnc21hbGwtaWNvbnMnKSxcblxuICAgIGlzQmFja0F2YWlsYWJsZTogY29tcHV0ZWQoKCkgPT4gc3RvcmUuYmFja0hpc3RvcnkoKS5sZW5ndGggPiAwKSxcbiAgICBpc1VwQXZhaWxhYmxlOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gc3RvcmUuY3VycmVudE5vZGUoKTtcbiAgICAgIHJldHVybiBub2RlPy5wYXJlbnRJZCAhPSBudWxsO1xuICAgIH0pLFxuXG4gICAgc2VsZWN0ZWRDb3VudDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc2VsZWN0ZWROb2RlcygpLmxlbmd0aCksXG4gICAgaGFzU2VsZWN0ZWRJdGVtczogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc2VsZWN0ZWROb2RlcygpLmxlbmd0aCA+IDApLFxuICAgIGhhc011bHRpcGxlU2VsZWN0ZWRJdGVtczogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc2VsZWN0ZWROb2RlcygpLmxlbmd0aCA+IDEpLFxuICAgIGlzTXVsdGlTZWxlY3Q6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnNlbGVjdGlvbk1vZGUoKSA9PT0gJ211bHRpcGxlJyksXG4gICAgc2VsZWN0ZWROb2RlOiBjb21wdXRlZDxBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSB8IG51bGw+KCgpID0+IHN0b3JlLnNlbGVjdGVkTm9kZXMoKVswXSA/PyBudWxsKSxcblxuICAgIGlzRGV0YWlsUGFuZWxPcGVuOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5kZXRhaWxQYW5lbCgpKSxcbiAgfSkpLFxuXG4gIHdpdGhNZXRob2RzKFxuICAgIChcbiAgICAgIHN0b3JlLFxuICAgICAgZmlsZVR5cGVTZXJ2aWNlID0gaW5qZWN0KEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlKSxcbiAgICAgIGRvY3VtZW50VHlwZVNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRUeXBlU2VydmljZSksXG4gICAgICBkcml2ZVNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSksXG4gICAgICBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSksXG4gICAgICBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSksXG4gICAgICB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKSxcbiAgICAgIGxvY2tTZXJ2aWNlID0gaW5qZWN0KEFYUExvY2tTZXJ2aWNlKSxcbiAgICApID0+ICh7XG4gICAgICBhc3luYyBpbml0aWFsaXplKG9wdGlvbnM/OiB7XG4gICAgICAgIHNjb3BlPzogQVhQUGxhdGZvcm1TY29wZTtcbiAgICAgICAgYnJvd3NlTW9kZT86IEFYTURvY3VtZW50RXhwbG9yZXJCcm93c2VNb2RlO1xuICAgICAgICBmaWx0ZXI/OiBhbnk7XG4gICAgICB9KSB7XG4gICAgICAgIC8vIExvYWQgZmlsZSB0eXBlc1xuICAgICAgICBjb25zdCBmaWxlVHlwZXMgPSBhd2FpdCBmaWxlVHlwZVNlcnZpY2UuaXRlbXMoKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBmaWxlVHlwZXMgfSk7XG4gICAgICAgIC8vIExvYWQgaW5pdGlhbCBzZXR0aW5nc1xuICAgICAgICBjb25zdCB2aWV3TW9kZSA9IGF3YWl0IHNldHRpbmdTZXJ2aWNlXG4gICAgICAgICAgLnNjb3BlKG9wdGlvbnM/LnNjb3BlIHx8IEFYUFBsYXRmb3JtU2NvcGUuVXNlcilcbiAgICAgICAgICAuZ2V0KEFYUERvY3VtZW50RXhwbG9yZXJTZXR0aW5ncy5WaWV3TW9kZSk7XG4gICAgICAgIGNvbnN0IHNvcnRGaWVsZCA9IGF3YWl0IHNldHRpbmdTZXJ2aWNlXG4gICAgICAgICAgLnNjb3BlKG9wdGlvbnM/LnNjb3BlIHx8IEFYUFBsYXRmb3JtU2NvcGUuVXNlcilcbiAgICAgICAgICAuZ2V0KEFYUERvY3VtZW50RXhwbG9yZXJTZXR0aW5ncy5Tb3J0RmllbGQpO1xuICAgICAgICBjb25zdCBzb3J0RGlyZWN0aW9uID0gYXdhaXQgc2V0dGluZ1NlcnZpY2VcbiAgICAgICAgICAuc2NvcGUob3B0aW9ucz8uc2NvcGUgfHwgQVhQUGxhdGZvcm1TY29wZS5Vc2VyKVxuICAgICAgICAgIC5nZXQoQVhQRG9jdW1lbnRFeHBsb3JlclNldHRpbmdzLlNvcnREaXJlY3Rpb24pO1xuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICB2aWV3TW9kZTogdmlld01vZGUgfHwgJ2xpc3QnLFxuICAgICAgICAgIHNvcnRGaWVsZDogc29ydEZpZWxkIHx8ICduYW1lJyxcbiAgICAgICAgICBzb3J0RGlyZWN0aW9uOiBzb3J0RGlyZWN0aW9uIHx8ICdhc2MnLFxuICAgICAgICAgIGJyb3dzZU1vZGU6IG9wdGlvbnM/LmJyb3dzZU1vZGUgfHwgJ2ZpbGUnLFxuICAgICAgICAgIHNjb3BlOiBvcHRpb25zPy5zY29wZSB8fCBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICAgIH0pO1xuICAgICAgfSxcblxuICAgICAgX2xvYWQ6IGFzeW5jIChmb2xkZXJJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgbG9hZGluZ0ZvbGRlcklkOiBmb2xkZXJJZCwgaXNMb2FkaW5nOiB0cnVlIH0pO1xuXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwMCkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3Qgbm9kZSA9IGF3YWl0IGRyaXZlU2VydmljZS5nZXRGb2xkZXIoc3RvcmUuc2NvcGUoKSwgZm9sZGVySWQsIHtcbiAgICAgICAgICAgIHRlbmFudElkOiBzZXNzaW9uU2VydmljZS50ZW5hbnQ/LmlkLFxuICAgICAgICAgICAgdXNlcklkOiBzZXNzaW9uU2VydmljZS51c2VyPy5pZCxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIFNvcnQgd2l0aCBkaXJlY3Rpb25cbiAgICAgICAgICBjb25zdCBzb3J0RmllbGQgPSBzdG9yZS5zb3J0RmllbGQoKTtcbiAgICAgICAgICBjb25zdCBzb3J0RGlyZWN0aW9uID0gc3RvcmUuc29ydERpcmVjdGlvbigpO1xuICAgICAgICAgIGNvbnN0IGRpcmVjdGlvbk11bHRpcGxpZXIgPSBzb3J0RGlyZWN0aW9uID09PSAnYXNjJyA/IDEgOiAtMTtcblxuICAgICAgICAgIHN3aXRjaCAoc29ydEZpZWxkKSB7XG4gICAgICAgICAgICBjYXNlICduYW1lJzpcbiAgICAgICAgICAgICAgbm9kZS5yZXN1bHQuY2hpbGRyZW4gPSBub2RlLnJlc3VsdC5jaGlsZHJlbj8uc29ydChcbiAgICAgICAgICAgICAgICAoYSwgYikgPT4gZGlyZWN0aW9uTXVsdGlwbGllciAqIGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbW9kaWZpZWQnOlxuICAgICAgICAgICAgICBub2RlLnJlc3VsdC5jaGlsZHJlbiA9IG5vZGUucmVzdWx0LmNoaWxkcmVuPy5zb3J0KFxuICAgICAgICAgICAgICAgIChhLCBiKSA9PiBkaXJlY3Rpb25NdWx0aXBsaWVyICogKChhLm1vZGlmaWVkQXQ/LmdldFRpbWUoKSA/PyAwKSAtIChiLm1vZGlmaWVkQXQ/LmdldFRpbWUoKSA/PyAwKSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2l6ZSc6XG4gICAgICAgICAgICAgIG5vZGUucmVzdWx0LmNoaWxkcmVuID0gbm9kZS5yZXN1bHQuY2hpbGRyZW4/LnNvcnQoXG4gICAgICAgICAgICAgICAgKGEsIGIpID0+IGRpcmVjdGlvbk11bHRpcGxpZXIgKiAoKGEuc2l6ZSA/PyAwKSAtIChiLnNpemUgPz8gMCkpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIG5vZGUucmVzdWx0LmNoaWxkcmVuID0gbm9kZS5yZXN1bHQuY2hpbGRyZW4/LnNvcnQoXG4gICAgICAgICAgICAgICAgKGEsIGIpID0+IGRpcmVjdGlvbk11bHRpcGxpZXIgKiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBjdXJyZW50Tm9kZTogbm9kZS5yZXN1bHQsXG4gICAgICAgICAgICBjdXJyZW50UGF0aDogbm9kZS5wYXRoLFxuXG4gICAgICAgICAgICBmb2xkZXJzOiBub2RlLnJlc3VsdC5jaGlsZHJlbj8uZmlsdGVyKChpdGVtOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSkgPT4gaXRlbS50eXBlID09PSAnZm9sZGVyJykgfHwgW10sXG4gICAgICAgICAgICBmaWxlczpcbiAgICAgICAgICAgICAgbm9kZS5yZXN1bHQuY2hpbGRyZW4/LmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpID0+IHN0b3JlLmJyb3dzZU1vZGUoKSA9PSAnZmlsZScgJiYgaXRlbS50eXBlID09PSAnZmlsZScsXG4gICAgICAgICAgICAgICkgfHwgW10sXG4gICAgICAgICAgICBpdGVtc0NvdW50OiBub2RlLnJlc3VsdC5jaGlsZHJlbj8ubGVuZ3RoIHx8IDAsXG4gICAgICAgICAgICBhdmFpbGFibGVTcGFjZTogYXdhaXQgZHJpdmVTZXJ2aWNlLmdldEF2YWlsYWJsZVNwYWNlKCksXG4gICAgICAgICAgICBsb2FkaW5nRm9sZGVySWQ6IG51bGwsXG4gICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgbmF2aWdhdGluZ0ZvbGRlcklkOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIGxvYWRpbmdGb2xkZXJJZDogbnVsbCxcbiAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIG5hdmlnYXRlVG9Gb2xkZXIoZm9sZGVySWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IHN0b3JlLmN1cnJlbnROb2RlKCk7XG4gICAgICAgIGlmIChjdXJyZW50Tm9kZSkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIGJhY2tIaXN0b3J5OiBbLi4uc3RvcmUuYmFja0hpc3RvcnkoKSwgeyBmb2xkZXJJZDogY3VycmVudE5vZGUuaWQsIHBhdGg6IHN0b3JlLmN1cnJlbnRQYXRoKCkgfV0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBuYXZpZ2F0aW5nRm9sZGVySWQ6IGZvbGRlcklkIH0pO1xuICAgICAgfSxcblxuICAgICAgYXN5bmMgbG9hZEZvbGRlckNvbnRlbnRzKGZvbGRlcklkOiBzdHJpbmcpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5fbG9hZChmb2xkZXJJZCk7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RBbGwoKTtcbiAgICAgIH0sXG5cbiAgICAgIGFzeW5jIHZpcnR1YWxGb2xkZXIoXG4gICAgICAgIGZpbGVzOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdID0gW10sXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICBwYXJlbnRJZD86IHN0cmluZztcbiAgICAgICAgfSxcbiAgICAgICkge1xuICAgICAgICBjb25zdCBpZCA9ICd2aXJ0dWFsJztcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIGxvYWRpbmdGb2xkZXJJZDogaWQsXG4gICAgICAgICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMTAwKSk7XG5cbiAgICAgICAgY29uc3Qgbm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUgPSB7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIG5hbWU6IG9wdGlvbnM/Lm5hbWUgfHwgJ3ZpcnR1YWwnLFxuICAgICAgICAgIHR5cGU6ICdmb2xkZXInLFxuICAgICAgICAgIGNoaWxkcmVuOiBmaWxlcyxcbiAgICAgICAgICBwYXJlbnRJZDogb3B0aW9ucz8ucGFyZW50SWQgfHwgbnVsbCxcbiAgICAgICAgICBzaXplOiAwLFxuICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICBkb2N1bWVudFR5cGVzOiBbXSxcbiAgICAgICAgICBzdG9yYWdlVHlwZTogJ3ZpcnR1YWwnLFxuICAgICAgICB9O1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgY3VycmVudE5vZGU6IG5vZGUsXG4gICAgICAgICAgY3VycmVudFBhdGg6IFtub2RlXSxcbiAgICAgICAgICBmb2xkZXJzOiBmaWxlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gJ2ZvbGRlcicpLFxuICAgICAgICAgIGZpbGVzOiBmaWxlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gJ2ZpbGUnKSxcbiAgICAgICAgICBpdGVtc0NvdW50OiBmaWxlcy5sZW5ndGgsXG4gICAgICAgICAgYXZhaWxhYmxlU3BhY2U6IGF3YWl0IGRyaXZlU2VydmljZS5nZXRBdmFpbGFibGVTcGFjZSgpLFxuICAgICAgICAgIGxvYWRpbmdGb2xkZXJJZDogbnVsbCxcbiAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIG5hdmlnYXRpbmdGb2xkZXJJZDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuXG4gICAgICBzZXRWaWV3TW9kZShtb2RlOiBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGUgfCBzdHJpbmcpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyB2aWV3TW9kZTogbW9kZSBhcyBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGUgfSk7XG4gICAgICAgIHNldHRpbmdTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcikuc2V0KEFYUERvY3VtZW50RXhwbG9yZXJTZXR0aW5ncy5WaWV3TW9kZSwgbW9kZSk7XG4gICAgICB9LFxuICAgICAgaXNWaWV3TW9kZShtb2RlOiBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGUgfCBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHN0b3JlLnZpZXdNb2RlKCkgPT09IG1vZGU7XG4gICAgICB9LFxuXG4gICAgICBzZXRTb3J0RmllbGQoZmllbGQ6IHN0cmluZykge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNvcnRGaWVsZDogZmllbGQgfSk7XG4gICAgICAgIHNldHRpbmdTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcikuc2V0KEFYUERvY3VtZW50RXhwbG9yZXJTZXR0aW5ncy5Tb3J0RmllbGQsIGZpZWxkKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9LFxuXG4gICAgICBzZXRTb3J0RGlyZWN0aW9uKGRpcmVjdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc29ydERpcmVjdGlvbjogZGlyZWN0aW9uIH0pO1xuICAgICAgICBzZXR0aW5nU2VydmljZS5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlVzZXIpLnNldChBWFBEb2N1bWVudEV4cGxvcmVyU2V0dGluZ3MuU29ydERpcmVjdGlvbiwgZGlyZWN0aW9uKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9LFxuICAgICAgc2V0U2VsZWN0aW9uTW9kZShtb2RlOiBBWE1Eb2N1bWVudFNlbGVjdGlvbk1vZGUgfCBzdHJpbmcpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3Rpb25Nb2RlOiBtb2RlIGFzIEFYTURvY3VtZW50U2VsZWN0aW9uTW9kZSB9KTtcbiAgICAgIH0sXG5cbiAgICAgIHNldERyaXZlKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgY3VycmVudERyaXZlOiBzY29wZSB9KTtcbiAgICAgIH0sXG5cbiAgICAgIGlzTG9hZGluZ0ZvbGRlcihmb2xkZXJJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBzdG9yZS5sb2FkaW5nRm9sZGVySWQoKSA9PT0gZm9sZGVySWQ7XG4gICAgICB9LFxuXG4gICAgICBnZXRGaWxlSW5mbyhmaWxlTmFtZTogc3RyaW5nKTogeyBpY29uOiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3QgZmlsZVR5cGVzID0gc3RvcmUuZmlsZVR5cGVzKCk7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCkgfHwgJyc7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBmaWxlVHlwZXMuZmxhdE1hcCgodHlwZSkgPT4gdHlwZS5leHRlbnNpb25zKTtcbiAgICAgICAgY29uc3QgZmlsZVR5cGUgPSBleHRlbnNpb25zLmZpbmQoKGUpID0+IGUubmFtZSA9PT0gZXh0ZW5zaW9uKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGljb246IGZpbGVUeXBlPy5pY29uIHx8ICdmYS1saWdodCBmYS1maWxlJyxcbiAgICAgICAgICB0eXBlOiBmaWxlVHlwZT8ubmFtZSB8fCAnVW5rbm93bicsXG4gICAgICAgIH07XG4gICAgICB9LFxuXG4gICAgICBnZXROb2RlSW5mbyhub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICBpY29uOiBzdHJpbmc7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgc2VjdGlvbnM6IHtcbiAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICAgIGRldGFpbHM6IHtcbiAgICAgICAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICAgICAgICBjb250ZW50PzogYW55O1xuICAgICAgICAgICAgaWNvbj86IHN0cmluZztcbiAgICAgICAgICAgIGZvcm1hdD86ICdkYXRldGltZScgfCAnZmlsZXNpemUnIHwgJ251bWJlcicgfCAnc3RyaW5nJztcbiAgICAgICAgICB9W107XG4gICAgICAgIH1bXTtcbiAgICAgIH0ge1xuICAgICAgICAvLyBJZiBubyBub2RlLCByZXR1cm4gYSBkZWZhdWx0IG9iamVjdFxuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogJy0tLScsXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZm9sZGVyJyxcbiAgICAgICAgICAgIHR5cGU6ICdGb2xkZXInLFxuICAgICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgICAgZGV0YWlsczogW10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgbm9kZSBpcyBhIGZpbGUsIHJldHVybiB0aGUgZmlsZSBpbmZvXG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdmaWxlJykge1xuICAgICAgICAgIGNvbnN0IGZpbGVUeXBlcyA9IHN0b3JlLmZpbGVUeXBlcygpO1xuICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IG5vZGUubmFtZS5zcGxpdCgnLicpLnBvcCgpPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBmaWxlVHlwZXMuZmxhdE1hcCgodHlwZSkgPT4gdHlwZS5leHRlbnNpb25zKTtcbiAgICAgICAgICBjb25zdCBmaWxlVHlwZSA9IGV4dGVuc2lvbnMuZmluZCgoZSkgPT4gZS5uYW1lID09PSBleHRlbnNpb24pO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBub2RlLm5hbWUsXG4gICAgICAgICAgICBpY29uOiBmaWxlVHlwZT8uaWNvbiB8fCAnZmEtbGlnaHQgZmEtZmlsZScsXG4gICAgICAgICAgICB0eXBlOiAnRmlsZScsXG4gICAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdEZXRhaWxzJyxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub2RlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtc29saWQgZmEtZmlsZS1saW5lcycsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NpemUnLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub2RlLnNpemUgfHwgMCxcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAnZmlsZXNpemUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtc29saWQgZmEtZmlsZS1saW5lcycsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0NyZWF0ZWQgYXQnLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub2RlLmNyZWF0ZWRBdCB8fCBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICdkYXRldGltZScsXG4gICAgICAgICAgICAgICAgICAgIGljb246ICdmYS1zb2xpZCBmYS1jYWxlbmRhci1kYXlzJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnTW9kaWZpZWQgYXQnLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub2RlLm1vZGlmaWVkQXQgfHwgbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAnZGF0ZXRpbWUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtc29saWQgZmEtY2FsZW5kYXItZGF5cycsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ01ldGFkYXRhJyxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiBub2RlLm1ldGFcbiAgICAgICAgICAgICAgICAgID8gbm9kZS5tZXRhLm1hcCgobWV0YSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogbWV0YS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtZXRhLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhlIG5vZGUgaXMgYSBmb2xkZXIsIHJldHVybiB0aGUgZm9sZGVyIGluZm9cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1mb2xkZXIgYXgtdGV4dC15ZWxsb3ctNTAwJyxcbiAgICAgICAgICAgIHR5cGU6ICdGb2xkZXInLFxuICAgICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgICAgZGV0YWlsczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9kZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWZpbGUtbGluZXMnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdJdGVtcycsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vZGUuY2hpbGRyZW5Db3VudCxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWZpbGUtbGluZXMnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdTaXplJyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9kZS5zaXplIHx8IDAsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2ZpbGVzaXplJyxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWZpbGUtbGluZXMnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGVkIGF0JyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9kZS5jcmVhdGVkQXQgfHwgbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAnZGF0ZXRpbWUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtc29saWQgZmEtY2FsZW5kYXItZGF5cycsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ01vZGlmaWVkIGF0JyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9kZS5tb2RpZmllZEF0IHx8IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RhdGV0aW1lJyxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWNhbGVuZGFyLWRheXMnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBzb3J0SXRlbXMoaXRlbXM6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10pOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZVtdIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBzdG9yZS5zb3J0RmllbGQoKTtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gc3RvcmUuc29ydERpcmVjdGlvbigpO1xuXG4gICAgICAgIHJldHVybiBbLi4uaXRlbXNdLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICBsZXQgY29tcGFyaXNvbiA9IDA7XG5cbiAgICAgICAgICBzd2l0Y2ggKGZpZWxkKSB7XG4gICAgICAgICAgICBjYXNlICduYW1lJzpcbiAgICAgICAgICAgICAgY29tcGFyaXNvbiA9IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbW9kaWZpZWQnOlxuICAgICAgICAgICAgICBjb25zdCBhRGF0ZSA9IGEubW9kaWZpZWRBdCA/IG5ldyBEYXRlKGEubW9kaWZpZWRBdCkgOiBuZXcgRGF0ZSgwKTtcbiAgICAgICAgICAgICAgY29uc3QgYkRhdGUgPSBiLm1vZGlmaWVkQXQgPyBuZXcgRGF0ZShiLm1vZGlmaWVkQXQpIDogbmV3IERhdGUoMCk7XG4gICAgICAgICAgICAgIGNvbXBhcmlzb24gPSBhRGF0ZS5nZXRUaW1lKCkgLSBiRGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2l6ZSc6XG4gICAgICAgICAgICAgIGNvbXBhcmlzb24gPSAoYS5zaXplIHx8IDApIC0gKGIuc2l6ZSB8fCAwKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gJ2FzYycgPyBjb21wYXJpc29uIDogLWNvbXBhcmlzb247XG4gICAgICAgIH0pO1xuICAgICAgfSxcblxuICAgICAgYXN5bmMgcmVmcmVzaCgpIHtcbiAgICAgICAgaWYgKCFzdG9yZS5pc1ZpcnR1YWwoKSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb2xkZXIgPSBzdG9yZS5jdXJyZW50Tm9kZSgpO1xuICAgICAgICAgIGlmIChjdXJyZW50Rm9sZGVyKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9sb2FkKGN1cnJlbnRGb2xkZXIuaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGxvYWRpbmdGb2xkZXJJZDogJ2Zha2UnIH0pO1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgbG9hZGluZ0ZvbGRlcklkOiBudWxsIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBuYXZpZ2F0ZVRvVXAoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnROb2RlID0gc3RvcmUuY3VycmVudE5vZGUoKTtcbiAgICAgICAgY29uc3QgcGFyZW50SWQgPSBjdXJyZW50Tm9kZT8ucGFyZW50SWQ7XG4gICAgICAgIGlmIChwYXJlbnRJZCAmJiBjdXJyZW50Tm9kZSkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIGJhY2tIaXN0b3J5OiBbLi4uc3RvcmUuYmFja0hpc3RvcnkoKSwgeyBmb2xkZXJJZDogY3VycmVudE5vZGUuaWQsIHBhdGg6IHN0b3JlLmN1cnJlbnRQYXRoKCkgfV0sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBuYXZpZ2F0aW5nRm9sZGVySWQ6IHBhcmVudElkIH0pO1xuICAgICAgICAgIHRoaXMubG9hZEZvbGRlckNvbnRlbnRzKHBhcmVudElkKTtcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgYXN5bmMgbmF2aWdhdGVCYWNrKCkge1xuICAgICAgICBjb25zdCBoaXN0b3J5ID0gc3RvcmUuYmFja0hpc3RvcnkoKTtcbiAgICAgICAgaWYgKGhpc3RvcnkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxhc3RFbnRyeSA9IGhpc3RvcnlbaGlzdG9yeS5sZW5ndGggLSAxXTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBiYWNrSGlzdG9yeTogaGlzdG9yeS5zbGljZSgwLCBoaXN0b3J5Lmxlbmd0aCAtIDEpIH0pO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IG5hdmlnYXRpbmdGb2xkZXJJZDogbGFzdEVudHJ5LmZvbGRlcklkIH0pO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRGb2xkZXJDb250ZW50cyhsYXN0RW50cnkuZm9sZGVySWQpO1xuICAgICAgfSxcblxuICAgICAgYXN5bmMgb3BlbkdhbGxlcnlXaXRoRm9sZGVySWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGZvbGRlciA9IHN0b3JlLmN1cnJlbnROb2RlKCk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZm9sZGVyPy5jaGlsZHJlbj8uZmlsdGVyKChpdGVtOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSkgPT4gaXRlbS50eXBlID09PSAnZmlsZScpIHx8IFtdO1xuICAgICAgICBhd2FpdCBkcml2ZVNlcnZpY2Uuc2hvd0ZpbGVWaWV3ZXJQb3B1cChmaWxlc1swXSk7XG4gICAgICB9LFxuXG4gICAgICAvL1RPRE86IERlbGV0ZSBvbmx5IG9uZSBub2RlIGF0IGEgdGltZVxuICAgICAgYXN5bmMgZGVsZXRlTm9kZXMobm9kZXM6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlW10gPSBzdG9yZS5zZWxlY3RlZE5vZGVzKCkpIHtcbiAgICAgICAgaWYgKHN0b3JlLmlzVmlydHVhbCgpKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgZmlsZXM6IHN0b3JlLmN1cnJlbnRGb2xkZXJDb250ZW50cygpLmZpbGVzLmZpbHRlcigoZmlsZSkgPT4gIW5vZGVzLnNvbWUoKG5vZGUpID0+IG5vZGUubmFtZSA9PT0gZmlsZS5uYW1lKSksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5kZXNlbGVjdEFsbCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRyaXZlU2VydmljZS5zaG93RGVsZXRlTm9kZXNEaWFsb2cobm9kZXMpO1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzZWxlY3RBbGwoKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgdG9nZ2xlU2VsZWN0KG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKSB7XG4gICAgICAgIGlmIChzdG9yZS5zZWxlY3Rpb25Nb2RlKCkgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBzZWxlY3RlZE5vZGVzOiBzdG9yZS5zZWxlY3RlZE5vZGVzKCkuaW5jbHVkZXMobm9kZSlcbiAgICAgICAgICAgICAgPyBzdG9yZS5zZWxlY3RlZE5vZGVzKCkuZmlsdGVyKChuKSA9PiBuLmlkICE9PSBub2RlLmlkKVxuICAgICAgICAgICAgICA6IFsuLi5zdG9yZS5zZWxlY3RlZE5vZGVzKCksIG5vZGVdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWROb2RlczogW25vZGVdIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBpc0l0ZW1TZWxlY3RlZChub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gc3RvcmUuc2VsZWN0ZWROb2RlcygpLnNvbWUoKHNlbGVjdGVkTm9kZSkgPT4gc2VsZWN0ZWROb2RlLmlkID09PSBub2RlLmlkKTtcbiAgICAgIH0sXG5cbiAgICAgIHNlbGVjdEFsbCgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZE5vZGVzOiBbLi4uc3RvcmUuZm9sZGVycygpLCAuLi5zdG9yZS5maWxlcygpXSB9KTtcbiAgICAgIH0sXG5cbiAgICAgIGRlc2VsZWN0QWxsKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkTm9kZXM6IFtdIH0pO1xuICAgICAgfSxcblxuICAgICAgb3BlbkRldGFpbFBhbmVsKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGRldGFpbFBhbmVsOiB0cnVlIH0pO1xuICAgICAgfSxcblxuICAgICAgY2xvc2VEZXRhaWxQYW5lbCgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBkZXRhaWxQYW5lbDogZmFsc2UgfSk7XG4gICAgICB9LFxuXG4gICAgICB0b2dnbGVEZXRhaWxQYW5lbCgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBkZXRhaWxQYW5lbDogIXN0b3JlLmRldGFpbFBhbmVsKCkgfSk7XG4gICAgICB9LFxuXG4gICAgICAvLyNyZWdpb24gTWVudSBJdGVtc1xuXG4gICAgICBhc3luYyBnZXRGb2xkZXJBZGRNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmFjdGlvbnMuY3JlYXRlLWZvbGRlcicpLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbGRlci1wbHVzJyxcbiAgICAgICAgICAgIGJyZWFrOiB0cnVlLFxuICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICBuYW1lOiAnbmV3LWZvbGRlcicsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBmb2xkZXJJZDogc3RvcmUuY3VycmVudEZvbGRlcigpPy5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi4oc3RvcmUuY3VycmVudEZvbGRlcigpPy5kb2N1bWVudFR5cGVzPy5tYXAoKHR5cGUpID0+ICh7XG4gICAgICAgICAgICB0aXRsZTogdHlwZS50aXRsZSxcbiAgICAgICAgICAgIC8vaWNvbjogdHlwZS5pY29uLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtYXJyb3ctdXAnLFxuICAgICAgICAgICAgYnJlYWs6IHRydWUsXG4gICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgIG5hbWU6IGB1cGxvYWQuJHt0eXBlLm5hbWV9YCxcbiAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGZvbGRlcklkOiBzdG9yZS5jdXJyZW50Rm9sZGVyKCk/LmlkLFxuICAgICAgICAgICAgICAgIGRvY3VtZW50VHlwZTogdHlwZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSkpID8/IFtdKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGRvY3VtZW50LW1hbmFnZW1lbnQ6YWN0aW9ucy5vcGVuLWdhbGxlcnknKSxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1pbWFnZXMnLFxuICAgICAgICAgICAgYnJlYWs6IHRydWUsXG4gICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgIG5hbWU6ICdvcGVuLWdhbGxlcnknLFxuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZm9sZGVySWQ6IHN0b3JlLmN1cnJlbnRGb2xkZXIoKT8uaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9LFxuXG4gICAgICBhc3luYyBnZXRGb2xkZXJBY3Rpb25NZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3JlZnJlc2gnLFxuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmFjdGlvbnMucmVmcmVzaCcpLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXJvdGF0ZS1yaWdodCcsXG4gICAgICAgICAgICAvLyBicmVhazogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIHtcbiAgICAgICAgICAvLyAgIG5hbWU6ICdkZWxldGUnLFxuICAgICAgICAgIC8vICAgdGl0bGU6IGF3YWl0IHRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ2RlbGV0ZScpLFxuICAgICAgICAgIC8vICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICAgIC8vICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXRyYXNoJyxcbiAgICAgICAgICAvLyB9LFxuICAgICAgICBdO1xuICAgICAgfSxcblxuICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgIC8vI3JlZ2lvbiBDb250ZXh0IE1lbnUgSXRlbXNcblxuICAgICAgYXN5bmMgZ2V0Q29udGV4dE1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFsuLi4oYXdhaXQgdGhpcy5nZXRGb2xkZXJBZGRNZW51SXRlbXMoKSksIC4uLihhd2FpdCB0aGlzLmdldEZvbGRlckFjdGlvbk1lbnVJdGVtcygpKV07XG4gICAgICB9LFxuXG4gICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgLy8jcmVnaW9uIC0tLS0gICBNZW51IEl0ZW1zICAgLS0tLVxuXG4gICAgICAvKipcbiAgICAgICAqIFJldHVybnMgbWVudSBpdGVtcyBmb3IgZmlsZSBjb250ZXh0IG1lbnVcbiAgICAgICAqL1xuICAgICAgYXN5bmMgZ2V0RmlsZUNvbnRleHRNZW51SXRlbXMobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPEFYTWVudUl0ZW1bXT4ge1xuICAgICAgICBjb25zdCB0cmFucyA9IGFzeW5jIChrZXk6IHN0cmluZykgPT4gYXdhaXQgdHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhgQGRvY3VtZW50LW1hbmFnZW1lbnQ6JHtrZXl9YCk7XG4gICAgICAgIGNvbnN0IGlzTG9ja2VkID0gYXN5bmMgKCkgPT4gYXdhaXQgdGhpcy5pc0xvY2tlZChub2RlKTtcbiAgICAgICAgLy8gIGNvbnN0IGlzTm9kZUxvY2tlZCA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IG1lbnVJdGVtczogQVhNZW51SXRlbVtdID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdvcGVuLWZpbGUnLFxuICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQub3BlbicpLFxuICAgICAgICAgICAgaWNvbjogdGhpcy5nZXRGaWxlSW5mbyhub2RlLm5hbWUpLmljb24sXG4gICAgICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2Rvd25sb2FkJyxcbiAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0LmRvd25sb2FkJyksXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZG93bmxvYWQnLFxuICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdzaGFyZScsXG4gICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC5zaGFyZS5zaGFyZScpLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXNoYXJlLW5vZGVzJyxcbiAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnc2hhcmUnLFxuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0LnNoYXJlLnNoYXJlJyksXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVzZXJzJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3NoYXJlLXdpdGgtZW1haWwnLFxuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0LnNoYXJlLmVtYWlsJyksXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWVudmVsb3BlJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2xpbmsnLFxuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0LnNoYXJlLmxpbmsnKSxcbiAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbGluaycsXG4gICAgICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBicmVhazogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIC8vIE1hbmFnZSB2ZXJzaW9ucyAob25seSBpZiBkb2N1bWVudCB0eXBlIGhhcyB2ZXJzaW9uaW5nIGVuYWJsZWQpXG4gICAgICAgIGNvbnN0IGRvY1R5cGUgPSBub2RlLmRvY3VtZW50VHlwZXM/LlswXTtcbiAgICAgICAgaWYgKGRvY1R5cGU/LmVuYWJsZVZlcnNpb25pbmcpIHtcbiAgICAgICAgICBtZW51SXRlbXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiAnbWFuYWdlLXZlcnNpb25zJyxcbiAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0Lm1hbmFnZS12ZXJzaW9ucycpLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNsb2NrLXJvdGF0ZS1sZWZ0JyxcbiAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndXBsb2FkLW5ldy12ZXJzaW9uJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC51cGxvYWQtbmV3LXZlcnNpb24nKSxcbiAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1jaXJjbGUtcGx1cycsXG4gICAgICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdzaG93LXZlcnNpb24taGlzdG9yeScsXG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQuc2hvdy12ZXJzaW9uLWhpc3RvcnknKSxcbiAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdGltZWxpbmUnLFxuICAgICAgICAgICAgICAgIGRhdGE6IG5vZGUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYnJlYWs6IHRydWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmZvcm1hdGlvbiBzdWJtZW51IGl0ZW1zXG4gICAgICAgIGNvbnN0IGluZm9TdWJJdGVtczogQVhNZW51SXRlbVtdID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdwcm9wZXJ0aWVzJyxcbiAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0LnByb3BlcnRpZXMnKSxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1tZW1vLWNpcmNsZS1pbmZvJyxcbiAgICAgICAgICAgIGJyZWFrOiB0cnVlLFxuICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIC8vIEFkZCByZW5hbWUgb25seSBpZiBub3QgbG9ja2VkXG4gICAgICAgIC8vIGlmICghaXNOb2RlTG9ja2VkKSB7XG4gICAgICAgIC8vICAgaW5mb1N1Ykl0ZW1zLnVuc2hpZnQoe1xuICAgICAgICAvLyAgICAgbmFtZTogJ3JlbmFtZScsXG4gICAgICAgIC8vICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudS5yZW5hbWUnKSxcbiAgICAgICAgLy8gICAgIGljb246ICdmYS1saWdodCBmYS1wZW5jaWwnLFxuICAgICAgICAvLyAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgLy8gICB9KTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vQWRkIGxvY2sgb3IgdW5sb2NrIGJhc2VkIG9uIGN1cnJlbnQgc3RhdGVcbiAgICAgICAgLy8gaWYgKGlzTm9kZUxvY2tlZCkge1xuICAgICAgICBpbmZvU3ViSXRlbXMucHVzaCh7XG4gICAgICAgICAgbmFtZTogJ3VubG9jaycsXG4gICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQudW5sb2NrJyksXG4gICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVubG9jaycsXG4gICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vICB9IGVsc2Uge1xuICAgICAgICBpbmZvU3ViSXRlbXMucHVzaCh7XG4gICAgICAgICAgbmFtZTogJ2xvY2snLFxuICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0LmxvY2snKSxcbiAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbG9jaycsXG4gICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vICAgfVxuXG4gICAgICAgIG1lbnVJdGVtcy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiAnZmlsZS1pbmZvJyxcbiAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC5pbmZvcm1hdGlvbicpLFxuICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaXJjbGUtaW5mbycsXG4gICAgICAgICAgaXRlbXM6IGluZm9TdWJJdGVtcyxcbiAgICAgICAgICBicmVhazogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIGNvcHkvbW92ZS9kZWxldGUgb3BlcmF0aW9ucyBvbmx5IGlmIG5vdCBsb2NrZWRcbiAgICAgICAgbWVudUl0ZW1zLnB1c2goXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvcHknLFxuICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQubWFrZS1jb3B5JyksXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY29weScsXG4gICAgICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvcHktdG8nLFxuICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQuY29weS10bycpLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNvcHknLFxuICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdtb3ZlLXRvJyxcbiAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0Lm1vdmUtdG8nKSxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0JyxcbiAgICAgICAgICAgIGJyZWFrOiB0cnVlLFxuICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdkZWxldGUnLFxuICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQuZGVsZXRlJyksXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdHJhc2gnLFxuICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBtZW51SXRlbXM7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFJldHVybnMgbWVudSBpdGVtcyBmb3IgZm9sZGVyIGNvbnRleHQgbWVudVxuICAgICAgICovXG4gICAgICBhc3luYyBnZXRGb2xkZXJDb250ZXh0TWVudUl0ZW1zKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxBWE1lbnVJdGVtW10+IHtcbiAgICAgICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoYEBkb2N1bWVudC1tYW5hZ2VtZW50OiR7a2V5fWApO1xuICAgICAgICAvLyBjb25zdCBpc05vZGVMb2NrZWQgPSBhd2FpdCB0aGlzLmlzTG9ja2VkKG5vZGUpO1xuICAgICAgICBjb25zdCBpc05vZGVMb2NrZWQgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBpdGVtczogQVhNZW51SXRlbVtdID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdvcGVuLWZvbGRlcicsXG4gICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC5vcGVuJyksXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZm9sZGVyLW9wZW4nLFxuICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIC8vIEFkZCB1cGxvYWQgbWVudSBvbmx5IGlmIG5vdCBsb2NrZWRcbiAgICAgICAgaWYgKCFpc05vZGVMb2NrZWQgJiYgbm9kZT8uZG9jdW1lbnRUeXBlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC51cGxvYWQnKSxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWFycm93LXVwJyxcbiAgICAgICAgICAgIGJyZWFrOiB0cnVlLFxuICAgICAgICAgICAgaXRlbXM6IG5vZGUuZG9jdW1lbnRUeXBlcy5tYXAoKHR5cGUsIGluZGV4LCBhcnJheSkgPT4gKHtcbiAgICAgICAgICAgICAgbmFtZTogYHVwbG9hZC4ke3R5cGUubmFtZX1gLFxuICAgICAgICAgICAgICB0ZXh0OiB0eXBlLnRpdGxlLFxuICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1hcnJvdy11cCcsXG4gICAgICAgICAgICAgIGJyZWFrOiBpbmRleCAhPT0gYXJyYXkubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRUeXBlOiB0eXBlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5mb3JtYXRpb24gc3VibWVudSBpdGVtc1xuICAgICAgICBjb25zdCBpbmZvU3ViSXRlbXM6IEFYTWVudUl0ZW1bXSA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncHJvcGVydGllcycsXG4gICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC5wcm9wZXJ0aWVzJyksXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbWVtby1jaXJjbGUtaW5mbycsXG4gICAgICAgICAgICBicmVhazogdHJ1ZSxcbiAgICAgICAgICAgIGRhdGE6IG5vZGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcblxuICAgICAgICAvLyBBZGQgcmVuYW1lIG9ubHkgaWYgbm90IGxvY2tlZFxuICAgICAgICBpZiAoIWlzTm9kZUxvY2tlZCkge1xuICAgICAgICAgIGluZm9TdWJJdGVtcy51bnNoaWZ0KHtcbiAgICAgICAgICAgIG5hbWU6ICdyZW5hbWUnLFxuICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQucmVuYW1lJyksXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcGVuY2lsJyxcbiAgICAgICAgICAgIGRhdGE6IG5vZGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgbG9jayBvciB1bmxvY2sgYmFzZWQgb24gY3VycmVudCBzdGF0ZVxuICAgICAgICBpZiAoaXNOb2RlTG9ja2VkKSB7XG4gICAgICAgICAgaW5mb1N1Ykl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgbmFtZTogJ3VubG9jaycsXG4gICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC51bmxvY2snKSxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS11bmxvY2snLFxuICAgICAgICAgICAgZGF0YTogbm9kZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbmZvU3ViSXRlbXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiAnbG9jaycsXG4gICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC5sb2NrJyksXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbG9jaycsXG4gICAgICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgbmFtZTogJ2ZvbGRlci1pbmZvJyxcbiAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC5pbmZvcm1hdGlvbicpLFxuICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaXJjbGUtaW5mbycsXG4gICAgICAgICAgaXRlbXM6IGluZm9TdWJJdGVtcyxcbiAgICAgICAgICBicmVhazogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIGNvcHkvbW92ZS9kZWxldGUgb3BlcmF0aW9ucyBvbmx5IGlmIG5vdCBsb2NrZWRcbiAgICAgICAgaWYgKCFpc05vZGVMb2NrZWQpIHtcbiAgICAgICAgICBpdGVtcy5wdXNoKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnY29weScsXG4gICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0Lm1ha2UtY29weScpLFxuICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY29weScsXG4gICAgICAgICAgICAgIGRhdGE6IG5vZGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnY29weS10bycsXG4gICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdtZW51cy5jb250ZXh0LmNvcHktdG8nKSxcbiAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNvcHknLFxuICAgICAgICAgICAgICBkYXRhOiBub2RlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ21vdmUtdG8nLFxuICAgICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygnbWVudXMuY29udGV4dC5tb3ZlLXRvJyksXG4gICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0JyxcbiAgICAgICAgICAgICAgYnJlYWs6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGE6IG5vZGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ21lbnVzLmNvbnRleHQuZGVsZXRlJyksXG4gICAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS10cmFzaCcsXG4gICAgICAgICAgICAgIGRhdGE6IG5vZGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFJldHVybnMgY29udGV4dCBtZW51IGl0ZW1zIGJhc2VkIG9uIG5vZGUgdHlwZVxuICAgICAgICovXG4gICAgICBhc3luYyBnZXROb2RlQ29udGV4dE1lbnVJdGVtcyhub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8QVhNZW51SXRlbVtdPiB7XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdmaWxlJykge1xuICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmdldEZpbGVDb250ZXh0TWVudUl0ZW1zKG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmdldEZvbGRlckNvbnRleHRNZW51SXRlbXMobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAvLyNyZWdpb24gLS0tLSAgIE1lbnUgQWN0aW9ucyAgIC0tLS1cblxuICAgICAgLyoqXG4gICAgICAgKiBPcGVucyBhIGZpbGVcbiAgICAgICAqL1xuICAgICAgYXN5bmMgb3BlbkZpbGUobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgZHJpdmVTZXJ2aWNlLm9wZW5GaWxlKG5vZGUpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBIYW5kbGVzIGFsbCBtZW51IGl0ZW0gY2xpY2tzXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIGhhbmRsZU1lbnVJdGVtQ2xpY2sobmFtZTogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IGRhdGEgYXMgQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGU7XG4gICAgICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgICAgIGNhc2UgJ29wZW4tZm9sZGVyJzpcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0ZvbGRlcihub2RlLmlkKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ29wZW4tZmlsZSc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm9wZW5GaWxlKG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnb3Blbi1nYWxsZXJ5JzpcbiAgICAgICAgICAgIGlmIChkYXRhLmZvbGRlcklkICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vcGVuR2FsbGVyeVdpdGhGb2xkZXJJZCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vcGVuR2FsbGVyeShub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgIHRoaXMuZG93bmxvYWRGaWxlKG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbmV3LWZvbGRlcic6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNyZWF0ZUZvbGRlcihub2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3Bhc3RlJzpcbiAgICAgICAgICAgIC8vVE9ETzogSGFuZGxlIHBhc3RlIG9wZXJhdGlvblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbW92ZS10byc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm1vdmVUbyhub2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvcHktdG8nOlxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb3B5VG8obm9kZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdyZW5hbWUnOlxuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZW5hbWVOb2RlKG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAncHJvcGVydGllcyc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNob3dGb2xkZXJQcm9wZXJ0eShub2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZU5vZGVzKFtub2RlXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdyZWZyZXNoJzpcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAndXBsb2FkLW5ldy12ZXJzaW9uJzpcbiAgICAgICAgICAgIGF3YWl0IGRyaXZlU2VydmljZS51cGxvYWROZXdWZXJzaW9uKG5vZGUpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdzaG93LXZlcnNpb24taGlzdG9yeSc6XG4gICAgICAgICAgICBhd2FpdCBkcml2ZVNlcnZpY2Uuc2hvd1ZlcnNpb25IaXN0b3J5KG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnY29weSc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm1ha2VDb3B5KG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgLypcbiAgICAgICAgICBjYXNlICdzaGFyZSc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNoYXJlKG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnc2hhcmUtd2l0aC1lbWFpbCc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNoYXJlV2l0aEVtYWlsKG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxpbmsobm9kZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAqL1xuICAgICAgICAgIGNhc2UgJ2xvY2snOlxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NrKG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAndW5sb2NrJzpcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudW5sb2NrKG5vZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChuYW1lPy5zdGFydHNXaXRoKCd1cGxvYWQuJykpIHtcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy51cGxvYWRGaWxlQnlUeXBlKGRhdGEubm9kZT8uaWQgPz8gc3RvcmUuY3VycmVudE5vZGUoKT8uaWQsIGRhdGEuZG9jdW1lbnRUeXBlLmlkKTtcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBEb3dubG9hZHMgdGhlIHNwZWNpZmllZCBmaWxlXG4gICAgICAgKi9cbiAgICAgIGRvd25sb2FkRmlsZShub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IHZvaWQge1xuICAgICAgICBkcml2ZVNlcnZpY2UuZG93bmxvYWRGaWxlKG5vZGUpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBPcGVucyB0aGUgZ2FsbGVyeSBmb3IgYSBmb2xkZXJcbiAgICAgICAqL1xuICAgICAgYXN5bmMgb3BlbkdhbGxlcnkobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgZHJpdmVTZXJ2aWNlLnNob3dGaWxlVmlld2VyUG9wdXAobm9kZSwge1xuICAgICAgICAgIGZvbGRlclZpcnR1YWxGaWxlczogc3RvcmUuZmlsZXMoKSxcbiAgICAgICAgICBpbmRleDogc3RvcmUuZmlsZXMoKS5maW5kSW5kZXgoKGY6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKSA9PiBmLmlkID09PSBub2RlLmlkKSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFNob3dzIHByb3BlcnRpZXMgZm9yIGEgZm9sZGVyXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIHNob3dGb2xkZXJQcm9wZXJ0eShub2RlOiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAobm9kZS50eXBlID09ICdmb2xkZXInKSB7XG4gICAgICAgICAgaWYgKGF3YWl0IGRyaXZlU2VydmljZS5zaG93Rm9sZGVyRWRpdERpYWxvZyhub2RlKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChhd2FpdCBkcml2ZVNlcnZpY2UudXBkYXRlVXBsb2FkRmlsZUJ5VHlwZShub2RlKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIENyZWF0ZXMgYSBuZXcgZm9sZGVyXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIGNyZWF0ZUZvbGRlcihub2RlPzogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcGFyZW50SWQgPSBub2RlPy5pZCA/PyBzdG9yZS5jdXJyZW50Tm9kZSgpPy5pZDtcbiAgICAgICAgaWYgKHBhcmVudElkKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZHJpdmVTZXJ2aWNlLnNob3dDcmVhdGVGb2xkZXJEaWFsb2cocGFyZW50SWQpO1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW5hbWVzIGEgbm9kZVxuICAgICAgICovXG4gICAgICBhc3luYyByZW5hbWVOb2RlKG5vZGU/OiBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSk6IFByb21pc2U8QVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkcml2ZVNlcnZpY2Uuc2hvd1JlbmFtZVBvcHVwKG5vZGUpO1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIGlmIChub2RlLnN0b3JhZ2VUeXBlID09ICd2aXJ0dWFsJykge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IHN0b3JlLmZpbGVzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRGaWxlcyA9IGZpbGVzLm1hcCgoZmlsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWxlLmlkID09PSByZXN1bHQuaWQpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmaWxlO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy52aXJ0dWFsRm9sZGVyKHVwZGF0ZWRGaWxlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIE1ha2VzIGEgY29weSBvZiBhIG5vZGVcbiAgICAgICAqL1xuICAgICAgYXN5bmMgbWFrZUNvcHkobm9kZT86IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGRyaXZlU2VydmljZS5jb3B5KG5vZGUpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNvcHlpbmcgbm9kZTonLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrcyBpZiBhIG5vZGUgaXMgbG9ja2VkXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIGlzTG9ja2VkKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIGxvY2tTZXJ2aWNlLmNoZWNrKHtcbiAgICAgICAgICAgIHJlZklkOiBub2RlLmlkLFxuICAgICAgICAgICAgcmVmVHlwZTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtub2RlLnR5cGUgPT09ICdmb2xkZXInID8gUm9vdENvbmZpZy5lbnRpdGllcy5mb2xkZXIubmFtZSA6IFJvb3RDb25maWcuZW50aXRpZXMuZG9jdW1lbnQubmFtZX1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNoZWNraW5nIGxvY2sgc3RhdHVzOicsIGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogTG9ja3MgYSBub2RlXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIGxvY2sobm9kZTogQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgbG9ja2VkID0gYXdhaXQgZHJpdmVTZXJ2aWNlLnNob3dMb2NrRGlhbG9nKG5vZGUpO1xuICAgICAgICBpZiAobG9ja2VkKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogVW5sb2NrcyBhIG5vZGVcbiAgICAgICAqL1xuICAgICAgYXN5bmMgdW5sb2NrKG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHVubG9ja2VkID0gYXdhaXQgZHJpdmVTZXJ2aWNlLnNob3dVbmxvY2tEaWFsb2cobm9kZSk7XG4gICAgICAgIGlmICh1bmxvY2tlZCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIE1vdmVzIGEgbm9kZSB0byBhIGRpZmZlcmVudCBsb2NhdGlvblxuICAgICAgICovXG4gICAgICBhc3luYyBtb3ZlVG8obm9kZT86IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZHJpdmVTZXJ2aWNlLm1vdmVUbyh7IGJyb3dzZU1vZGU6ICdmb2xkZXInLCBub2RlOiBub2RlLCBzY29wZTogc3RvcmUuc2NvcGUoKSB9KTtcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ29waWVzIGEgbm9kZSB0byBhIGRpZmZlcmVudCBsb2NhdGlvblxuICAgICAgICovXG4gICAgICBhc3luYyBjb3B5VG8obm9kZT86IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZHJpdmVTZXJ2aWNlLmNvcHlUbyh7IGJyb3dzZU1vZGU6ICdmb2xkZXInLCBub2RlOiBub2RlLCBzY29wZTogc3RvcmUuc2NvcGUoKSB9KTtcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogVXBsb2FkcyBhIGZpbGUgYnkgdHlwZVxuICAgICAgICovXG4gICAgICBhc3luYyB1cGxvYWRGaWxlQnlUeXBlKGZvbGRlcklkOiBzdHJpbmcsIGRvY3VtZW50VHlwZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgZHJpdmVTZXJ2aWNlLnVwbG9hZEZpbGVCeVR5cGUoZm9sZGVySWQsIGRvY3VtZW50VHlwZUlkKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9LFxuXG4gICAgICAvLyNlbmRyZWdpb25cbiAgICB9KSxcbiAgKSxcbik7XG4iXX0=","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule, } from '@acorex/components/menu';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPStateMessageComponent } from '@acorex/platform/layout/components';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { Component, effect, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { get } from 'lodash-es';\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport { AXPDocumentExplorerViewModel } from './document-explorer.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/menu\";\nexport class AXMDocumentExplorerComponent {\n constructor() {\n this.vm = inject(AXPDocumentExplorerViewModel);\n this.contextMenu = viewChild('itemsContextMenu', ...(ngDevMode ? [{ debugName: \"contextMenu\" }] : []));\n this.rootContextMenu = viewChild('rootContextMenu', ...(ngDevMode ? [{ debugName: \"rootContextMenu\" }] : []));\n this.driveService = inject(AXMDocumentManagerService);\n this.translateService = inject(AXTranslationService);\n this.layout = inject(AXPLayoutThemeService);\n this.browseMode = input('file', ...(ngDevMode ? [{ debugName: \"browseMode\" }] : []));\n this.viewMode = input(...(ngDevMode ? [undefined, { debugName: \"viewMode\" }] : []));\n this.selectionMode = input('none', ...(ngDevMode ? [{ debugName: \"selectionMode\" }] : []));\n this.showContextMenu = input(true, ...(ngDevMode ? [{ debugName: \"showContextMenu\" }] : []));\n this.view = signal(null, ...(ngDevMode ? [{ debugName: \"view\" }] : []));\n this.viewMap = {\n list: async () => (await import('./views/list/list-view.component')).AXMDocumentExplorerListViewComponent,\n 'small-tiles': async () => (await import('./views/small-tiles/small-tiles-view.component')).AXMDocumentExplorerSmallTilesViewComponent,\n 'large-tiles': async () => (await import('./views/large-tiles/large-tiles-view.component')).AXMDocumentExplorerLargeTilesViewComponent,\n details: async () => (await import('./views/details/details-view.component')).AXMDocumentExplorerDetailsViewComponent,\n 'large-icons': async () => (await import('./views/large-icons/large-icons-view.component')).AXMDocumentExplorerLargeIconsViewComponent,\n 'small-icons': async () => (await import('./views/small-icons/small-icons-view.component')).AXMDocumentExplorerSmallIconsViewComponent,\n 'attachment': async () => (await import('./views/attachement-widget/attachment-widget.component')).AXMDocumentExplorerAttachmentComponent,\n };\n this.#effect = effect(() => {\n if (this.vm.loadingFolderId() == null) {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n this.rootContextMenu()?.refresh();\n }, 300);\n }\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n this.#effect2 = effect(() => {\n if (this.viewMode()) {\n this.vm.setViewMode(this.viewMode());\n }\n if (this.selectionMode()) {\n this.vm.setSelectionMode(this.selectionMode());\n }\n }, ...(ngDevMode ? [{ debugName: \"#effect2\" }] : []));\n this.#effect3 = effect(async () => {\n const func = get(this.viewMap, this.vm.viewMode()) ?? this.viewMap['large-tiles'];\n const comp = await func();\n this.view.set(comp);\n }, ...(ngDevMode ? [{ debugName: \"#effect3\" }] : []));\n }\n #effect;\n #effect2;\n #effect3;\n //#region Menu and Context Menu\n async handleContextMenuOnOpening(e) {\n const node = get(e.targetElement, '__data__');\n if (!node) {\n return;\n }\n // Get menu items from ViewModel\n const items = await this.vm.getNodeContextMenuItems(node);\n // Set items directly to the context menu\n e.items.push(...items);\n }\n async handleContextMenuRootOnOpening(e) {\n //TODO: check async translate method in acorex\n const items = [\n ...(await this.vm.getFolderAddMenuItems()).map((m) => ({\n ...m,\n name: m.command?.name,\n data: m.command?.options,\n })),\n ...(await this.vm.getFolderActionMenuItems()),\n ];\n const mappedItems = items.map((m) => ({\n ...m,\n text: m.title,\n }));\n e.items.push(...mappedItems);\n e.items[e.items.length - 1].break = false;\n }\n async handleContextMenuItemClick(e) {\n if (e.item.name) {\n await this.vm.handleMenuItemClick(e.item.name, e.item.data);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentExplorerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMDocumentExplorerComponent, isStandalone: true, selector: \"axm-document-explorer\", inputs: { browseMode: { classPropertyName: \"browseMode\", publicName: \"browseMode\", isSignal: true, isRequired: false, transformFunction: null }, viewMode: { classPropertyName: \"viewMode\", publicName: \"viewMode\", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: \"selectionMode\", publicName: \"selectionMode\", isSignal: true, isRequired: false, transformFunction: null }, showContextMenu: { classPropertyName: \"showContextMenu\", publicName: \"showContextMenu\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"contextMenu\", first: true, predicate: [\"itemsContextMenu\"], descendants: true, isSignal: true }, { propertyName: \"rootContextMenu\", first: true, predicate: [\"rootContextMenu\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<!-- Empty State -->\\n<div class=\\\"view-container\\\">\\n @if (vm.folders().length === 0 && vm.files().length === 0) {\\n <axp-state-message\\n icon=\\\"fa-light fa-folder-open\\\"\\n [title]=\\\"'@document-management:empty-states.no-items.title'\\\"\\n [description]=\\\"'@document-management:empty-states.no-items.description'\\\"\\n >\\n </axp-state-message>\\n } @else {\\n <ng-container [ngComponentOutlet]=\\\"view()\\\"></ng-container>\\n }\\n</div>\\n\\n<!-- Context Menu -->\\n@if (showContextMenu()) {\\n <!-- Item Context Menu-->\\n <ax-context-menu\\n #itemsContextMenu\\n [target]=\\\"'.__explorer-item'\\\"\\n [orientation]=\\\"'vertical'\\\"\\n [closeOn]=\\\"'leave'\\\"\\n (onItemClick)=\\\"handleContextMenuItemClick($event)\\\"\\n (onOpening)=\\\"handleContextMenuOnOpening($event)\\\"\\n >\\n </ax-context-menu>\\n <!-- Root Context Menu-->\\n <ax-context-menu\\n #rootContextMenu\\n [target]=\\\"'.view-container'\\\"\\n [orientation]=\\\"'vertical'\\\"\\n [closeOn]=\\\"'leave'\\\"\\n (onItemClick)=\\\"handleContextMenuItemClick($event)\\\"\\n (onOpening)=\\\"handleContextMenuRootOnOpening($event)\\\"\\n >\\n </ax-context-menu>\\n}\\n\", styles: [\"axm-document-explorer{display:flex;height:max-content;min-height:100%;width:100%;flex-direction:row;gap:1rem}axm-document-explorer>.view-container{display:flex;flex:1 1 0%;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;flex-direction:column;gap:1rem}axm-document-explorer .animation-duration-2s{--fa-animation-duration: 2s}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXDateTimeModule }, { kind: \"ngmodule\", type: AXMenuModule }, { kind: \"component\", type: i2.AXContextMenuComponent, selector: \"ax-context-menu\", inputs: [\"orientation\", \"openOn\", \"closeOn\", \"items\", \"target\"], outputs: [\"onItemClick\", \"onOpening\"] }, { kind: \"component\", type: AXPStateMessageComponent, selector: \"axp-state-message\", inputs: [\"mode\", \"icon\", \"title\", \"description\", \"variant\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentExplorerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-document-explorer', standalone: true, encapsulation: ViewEncapsulation.None, imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXFormatModule,\n AXDateTimeModule,\n AXMenuModule,\n AXPStateMessageComponent,\n ], template: \"<!-- Empty State -->\\n<div class=\\\"view-container\\\">\\n @if (vm.folders().length === 0 && vm.files().length === 0) {\\n <axp-state-message\\n icon=\\\"fa-light fa-folder-open\\\"\\n [title]=\\\"'@document-management:empty-states.no-items.title'\\\"\\n [description]=\\\"'@document-management:empty-states.no-items.description'\\\"\\n >\\n </axp-state-message>\\n } @else {\\n <ng-container [ngComponentOutlet]=\\\"view()\\\"></ng-container>\\n }\\n</div>\\n\\n<!-- Context Menu -->\\n@if (showContextMenu()) {\\n <!-- Item Context Menu-->\\n <ax-context-menu\\n #itemsContextMenu\\n [target]=\\\"'.__explorer-item'\\\"\\n [orientation]=\\\"'vertical'\\\"\\n [closeOn]=\\\"'leave'\\\"\\n (onItemClick)=\\\"handleContextMenuItemClick($event)\\\"\\n (onOpening)=\\\"handleContextMenuOnOpening($event)\\\"\\n >\\n </ax-context-menu>\\n <!-- Root Context Menu-->\\n <ax-context-menu\\n #rootContextMenu\\n [target]=\\\"'.view-container'\\\"\\n [orientation]=\\\"'vertical'\\\"\\n [closeOn]=\\\"'leave'\\\"\\n (onItemClick)=\\\"handleContextMenuItemClick($event)\\\"\\n (onOpening)=\\\"handleContextMenuRootOnOpening($event)\\\"\\n >\\n </ax-context-menu>\\n}\\n\", styles: [\"axm-document-explorer{display:flex;height:max-content;min-height:100%;width:100%;flex-direction:row;gap:1rem}axm-document-explorer>.view-container{display:flex;flex:1 1 0%;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;flex-direction:column;gap:1rem}axm-document-explorer .animation-duration-2s{--fa-animation-duration: 2s}\\n\"] }]\n }], propDecorators: { contextMenu: [{ type: i0.ViewChild, args: ['itemsContextMenu', { isSignal: true }] }], rootContextMenu: [{ type: i0.ViewChild, args: ['rootContextMenu', { isSignal: true }] }], browseMode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"browseMode\", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"viewMode\", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"selectionMode\", required: false }] }], showContextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: \"showContextMenu\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZXhwbG9yZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9kb2N1bWVudC1leHBsb3Jlci9kb2N1bWVudC1leHBsb3Jlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RvY3VtZW50LWV4cGxvcmVyL2RvY3VtZW50LWV4cGxvcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBS0wsWUFBWSxHQUNiLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBUSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FB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QUNaLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWix3QkFBd0I7cUJBQ3pCO3lFQUl5RCxrQkFBa0IseUVBQ2QsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQge1xuICBBWENvbnRleHRNZW51Q29tcG9uZW50LFxuICBBWENvbnRleHRNZW51SXRlbXNDbGlja0V2ZW50LFxuICBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50LFxuICBBWE1lbnVJdGVtLFxuICBBWE1lbnVNb2R1bGUsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IEFYRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFN0YXRlTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsLCBUeXBlLCB2aWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYTURvY3VtZW50TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZG9jdW1lbnQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYTURvY3VtZW50RXhwbG9yZXJCcm93c2VNb2RlLFxuICBBWE1Eb2N1bWVudEV4cGxvcmVyTm9kZSxcbiAgQVhNRG9jdW1lbnRTZWxlY3Rpb25Nb2RlLFxuICBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGUsXG59IGZyb20gJy4uL3NoYXJlZC9kb2N1bWVudC1tYW5hZ2VyLnR5cGVzJztcbmltcG9ydCB7IEFYUERvY3VtZW50RXhwbG9yZXJWaWV3TW9kZWwgfSBmcm9tICcuL2RvY3VtZW50LWV4cGxvcmVyLnZpZXdtb2RlbCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheG0tZG9jdW1lbnQtZXhwbG9yZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnQtZXhwbG9yZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1leHBsb3Jlci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgQVhEYXRlVGltZU1vZHVsZSxcbiAgICBBWE1lbnVNb2R1bGUsXG4gICAgQVhQU3RhdGVNZXNzYWdlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudEV4cGxvcmVyQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHZtID0gaW5qZWN0KEFYUERvY3VtZW50RXhwbG9yZXJWaWV3TW9kZWwpO1xuICBwcm90ZWN0ZWQgY29udGV4dE1lbnUgPSB2aWV3Q2hpbGQ8QVhDb250ZXh0TWVudUNvbXBvbmVudD4oJ2l0ZW1zQ29udGV4dE1lbnUnKTtcbiAgcHJvdGVjdGVkIHJvb3RDb250ZXh0TWVudSA9IHZpZXdDaGlsZDxBWENvbnRleHRNZW51Q29tcG9uZW50Pigncm9vdENvbnRleHRNZW51Jyk7XG4gIHByb3RlY3RlZCBkcml2ZVNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxheW91dCA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuXG4gIGJyb3dzZU1vZGUgPSBpbnB1dDxBWE1Eb2N1bWVudEV4cGxvcmVyQnJvd3NlTW9kZT4oJ2ZpbGUnKTtcbiAgdmlld01vZGUgPSBpbnB1dDxBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGU+KCk7XG4gIHNlbGVjdGlvbk1vZGUgPSBpbnB1dDxBWE1Eb2N1bWVudFNlbGVjdGlvbk1vZGU+KCdub25lJyk7XG4gIHNob3dDb250ZXh0TWVudSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHByb3RlY3RlZCB2aWV3ID0gc2lnbmFsPFR5cGU8YW55PiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgdmlld01hcCA9IHtcbiAgICBsaXN0OiBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KCcuL3ZpZXdzL2xpc3QvbGlzdC12aWV3LmNvbXBvbmVudCcpKS5BWE1Eb2N1bWVudEV4cGxvcmVyTGlzdFZpZXdDb21wb25lbnQsXG4gICAgJ3NtYWxsLXRpbGVzJzogYXN5bmMgKCkgPT5cbiAgICAgIChhd2FpdCBpbXBvcnQoJy4vdmlld3Mvc21hbGwtdGlsZXMvc21hbGwtdGlsZXMtdmlldy5jb21wb25lbnQnKSkuQVhNRG9jdW1lbnRFeHBsb3JlclNtYWxsVGlsZXNWaWV3Q29tcG9uZW50LFxuICAgICdsYXJnZS10aWxlcyc6IGFzeW5jICgpID0+XG4gICAgICAoYXdhaXQgaW1wb3J0KCcuL3ZpZXdzL2xhcmdlLXRpbGVzL2xhcmdlLXRpbGVzLXZpZXcuY29tcG9uZW50JykpLkFYTURvY3VtZW50RXhwbG9yZXJMYXJnZVRpbGVzVmlld0NvbXBvbmVudCxcbiAgICBkZXRhaWxzOiBhc3luYyAoKSA9PlxuICAgICAgKGF3YWl0IGltcG9ydCgnLi92aWV3cy9kZXRhaWxzL2RldGFpbHMtdmlldy5jb21wb25lbnQnKSkuQVhNRG9jdW1lbnRFeHBsb3JlckRldGFpbHNWaWV3Q29tcG9uZW50LFxuICAgICdsYXJnZS1pY29ucyc6IGFzeW5jICgpID0+XG4gICAgICAoYXdhaXQgaW1wb3J0KCcuL3ZpZXdzL2xhcmdlLWljb25zL2xhcmdlLWljb25zLXZpZXcuY29tcG9uZW50JykpLkFYTURvY3VtZW50RXhwbG9yZXJMYXJnZUljb25zVmlld0NvbXBvbmVudCxcbiAgICAnc21hbGwtaWNvbnMnOiBhc3luYyAoKSA9PlxuICAgICAgKGF3YWl0IGltcG9ydCgnLi92aWV3cy9zbWFsbC1pY29ucy9zbWFsbC1pY29ucy12aWV3LmNvbXBvbmVudCcpKS5BWE1Eb2N1bWVudEV4cGxvcmVyU21hbGxJY29uc1ZpZXdDb21wb25lbnQsXG4gICAgJ2F0dGFjaG1lbnQnOiBhc3luYyAoKSA9PlxuICAgICAgKGF3YWl0IGltcG9ydCgnLi92aWV3cy9hdHRhY2hlbWVudC13aWRnZXQvYXR0YWNobWVudC13aWRnZXQuY29tcG9uZW50JykpLkFYTURvY3VtZW50RXhwbG9yZXJBdHRhY2htZW50Q29tcG9uZW50LFxuICB9O1xuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLnZtLmxvYWRpbmdGb2xkZXJJZCgpID09IG51bGwpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51KCk/LnJlZnJlc2goKTtcbiAgICAgICAgdGhpcy5yb290Q29udGV4dE1lbnUoKT8ucmVmcmVzaCgpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH0pO1xuXG4gICNlZmZlY3QyID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy52aWV3TW9kZSgpKSB7XG4gICAgICB0aGlzLnZtLnNldFZpZXdNb2RlKHRoaXMudmlld01vZGUoKSEpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlKCkpIHtcbiAgICAgIHRoaXMudm0uc2V0U2VsZWN0aW9uTW9kZSh0aGlzLnNlbGVjdGlvbk1vZGUoKSEpO1xuICAgIH1cbiAgfSk7XG5cbiAgI2VmZmVjdDMgPSBlZmZlY3QoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZ1bmMgPSBnZXQodGhpcy52aWV3TWFwLCB0aGlzLnZtLnZpZXdNb2RlKCkgYXMgc3RyaW5nKSA/PyB0aGlzLnZpZXdNYXBbJ2xhcmdlLXRpbGVzJ107XG4gICAgY29uc3QgY29tcCA9IGF3YWl0IGZ1bmMoKTtcbiAgICB0aGlzLnZpZXcuc2V0KGNvbXApO1xuICB9KTtcblxuICAvLyNyZWdpb24gTWVudSBhbmQgQ29udGV4dCBNZW51XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNvbnRleHRNZW51T25PcGVuaW5nKGU6IEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQpIHtcbiAgICBjb25zdCBub2RlID0gZ2V0KGUudGFyZ2V0RWxlbWVudCwgJ19fZGF0YV9fJykgYXMgYW55IGFzIEFYTURvY3VtZW50RXhwbG9yZXJOb2RlO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEdldCBtZW51IGl0ZW1zIGZyb20gVmlld01vZGVsXG4gICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLnZtLmdldE5vZGVDb250ZXh0TWVudUl0ZW1zKG5vZGUpO1xuXG4gICAgLy8gU2V0IGl0ZW1zIGRpcmVjdGx5IHRvIHRoZSBjb250ZXh0IG1lbnVcbiAgICBlLml0ZW1zLnB1c2goLi4uaXRlbXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNvbnRleHRNZW51Um9vdE9uT3BlbmluZyhlOiBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50KSB7XG4gICAgLy9UT0RPOiBjaGVjayBhc3luYyB0cmFuc2xhdGUgbWV0aG9kIGluIGFjb3JleFxuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgLi4uKGF3YWl0IHRoaXMudm0uZ2V0Rm9sZGVyQWRkTWVudUl0ZW1zKCkpLm1hcCgobSkgPT4gKHtcbiAgICAgICAgLi4ubSxcbiAgICAgICAgbmFtZTogbS5jb21tYW5kPy5uYW1lLFxuICAgICAgICBkYXRhOiBtLmNvbW1hbmQ/Lm9wdGlvbnMsXG4gICAgICB9KSksXG4gICAgICAuLi4oYXdhaXQgdGhpcy52bS5nZXRGb2xkZXJBY3Rpb25NZW51SXRlbXMoKSksXG4gICAgXTtcbiAgICBjb25zdCBtYXBwZWRJdGVtcyA9IGl0ZW1zLm1hcCgobSkgPT4gKHtcbiAgICAgIC4uLm0sXG4gICAgICB0ZXh0OiBtLnRpdGxlLFxuICAgIH0pKSBhcyBBWE1lbnVJdGVtW107XG4gICAgZS5pdGVtcy5wdXNoKC4uLm1hcHBlZEl0ZW1zKTtcblxuICAgIGUuaXRlbXNbZS5pdGVtcy5sZW5ndGggLSAxXS5icmVhayA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNvbnRleHRNZW51SXRlbUNsaWNrKGU6IEFYQ29udGV4dE1lbnVJdGVtc0NsaWNrRXZlbnQpIHtcbiAgICBpZiAoZS5pdGVtLm5hbWUpIHtcbiAgICAgIGF3YWl0IHRoaXMudm0uaGFuZGxlTWVudUl0ZW1DbGljayhlLml0ZW0ubmFtZSwgZS5pdGVtLmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vINiq2YXYp9mFINmF2KrYr9mH2KfbjCDYstuM2LEg2KjZhyBWaWV3TW9kZWwg2YXZhtiq2YLZhCDYtNiv2YfigIzYp9mG2K8g2Ygg2K/bjNqv2LEg2YXZiNix2K8g2YbbjNin2LIg2YbbjNiz2KrZhtivXG5cbn1cbiIsIjwhLS0gRW1wdHkgU3RhdGUgLS0+XG48ZGl2IGNsYXNzPVwidmlldy1jb250YWluZXJcIj5cbiAgQGlmICh2bS5mb2xkZXJzKCkubGVuZ3RoID09PSAwICYmIHZtLmZpbGVzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgPGF4cC1zdGF0ZS1tZXNzYWdlXG4gICAgICBpY29uPVwiZmEtbGlnaHQgZmEtZm9sZGVyLW9wZW5cIlxuICAgICAgW3RpdGxlXT1cIidAZG9jdW1lbnQtbWFuYWdlbWVudDplbXB0eS1zdGF0ZXMubm8taXRlbXMudGl0bGUnXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCInQGRvY3VtZW50LW1hbmFnZW1lbnQ6ZW1wdHktc3RhdGVzLm5vLWl0ZW1zLmRlc2NyaXB0aW9uJ1wiXG4gICAgPlxuICAgIDwvYXhwLXN0YXRlLW1lc3NhZ2U+XG4gIH0gQGVsc2Uge1xuICAgIDxuZy1jb250YWluZXIgW25nQ29tcG9uZW50T3V0bGV0XT1cInZpZXcoKVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cblxuPCEtLSBDb250ZXh0IE1lbnUgLS0+XG5AaWYgKHNob3dDb250ZXh0TWVudSgpKSB7XG4gIDwhLS0gSXRlbSBDb250ZXh0IE1lbnUtLT5cbiAgPGF4LWNvbnRleHQtbWVudVxuICAgICNpdGVtc0NvbnRleHRNZW51XG4gICAgW3RhcmdldF09XCInLl9fZXhwbG9yZXItaXRlbSdcIlxuICAgIFtvcmllbnRhdGlvbl09XCIndmVydGljYWwnXCJcbiAgICBbY2xvc2VPbl09XCInbGVhdmUnXCJcbiAgICAob25JdGVtQ2xpY2spPVwiaGFuZGxlQ29udGV4dE1lbnVJdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKG9uT3BlbmluZyk9XCJoYW5kbGVDb250ZXh0TWVudU9uT3BlbmluZygkZXZlbnQpXCJcbiAgPlxuICA8L2F4LWNvbnRleHQtbWVudT5cbiAgPCEtLSBSb290IENvbnRleHQgTWVudS0tPlxuICA8YXgtY29udGV4dC1tZW51XG4gICAgI3Jvb3RDb250ZXh0TWVudVxuICAgIFt0YXJnZXRdPVwiJy52aWV3LWNvbnRhaW5lcidcIlxuICAgIFtvcmllbnRhdGlvbl09XCIndmVydGljYWwnXCJcbiAgICBbY2xvc2VPbl09XCInbGVhdmUnXCJcbiAgICAob25JdGVtQ2xpY2spPVwiaGFuZGxlQ29udGV4dE1lbnVJdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKG9uT3BlbmluZyk9XCJoYW5kbGVDb250ZXh0TWVudVJvb3RPbk9wZW5pbmcoJGV2ZW50KVwiXG4gID5cbiAgPC9heC1jb250ZXh0LW1lbnU+XG59XG4iXX0=","import { AXButtonModule } from \"@acorex/components/button\";\nimport { AXDecoratorModule } from \"@acorex/components/decorators\";\nimport { AXPDocumentExplorerViewModel } from \"../../../document-explorer\";\nimport { Component, inject } from \"@angular/core\";\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nexport class AXMFolderPathBreadcrumbsComponent {\n constructor() {\n this.vm = inject(AXPDocumentExplorerViewModel);\n this.layout = inject(AXPLayoutThemeService);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderPathBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMFolderPathBreadcrumbsComponent, isStandalone: true, selector: \"axm-folder-path-breadcrumbs\", ngImport: i0, template: \"<!-- Breadcrumbs Section -->\\n<div class=\\\"__breadcrumb ax-xs\\\">\\n <!-- Desktop Breadcrumb -->\\n @for (item of vm.currentPath(); track item.id; let i = $index;let last = $last) {\\n <!-- Navigation Button -->\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"vm.navigateToFolder(item.id)\\\" [text]=\\\"item.name\\\" [disabled]=\\\"last\\\">\\n @if(i === 0) {\\n <ax-icon icon=\\\"fa-light fa-cloud\\\"></ax-icon>\\n }@else {\\n <ax-icon icon=\\\"fa-light fa-folder-closed\\\"></ax-icon>\\n }\\n </ax-button>\\n <!-- Separator -->\\n @if(!last) {\\n <i class=\\\"far fa-chevron-right rtl:ax-rotate-180 fa-fw fa-xs ax-me-2\\\"></i>\\n }\\n <!-- End Navigation Button -->\\n }\\n</div>\\n\", styles: [\":host{display:flex;width:100%;align-items:center}:host .__nav{display:flex;flex-direction:row;align-items:center;gap:.25rem;border-inline-end-width:1px;padding-inline-start:.25rem;padding-inline-end:.5rem}:host .__breadcrumb{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;padding-inline-start:.5rem;padding-inline-end:.25rem}:host .__breadcrumb .ax-state-disabled button,:host .__breadcrumb .ax-state-loading button{cursor:default!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMFolderPathBreadcrumbsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-folder-path-breadcrumbs', standalone: true, imports: [\n AXButtonModule,\n AXDecoratorModule,\n ], template: \"<!-- Breadcrumbs Section -->\\n<div class=\\\"__breadcrumb ax-xs\\\">\\n <!-- Desktop Breadcrumb -->\\n @for (item of vm.currentPath(); track item.id; let i = $index;let last = $last) {\\n <!-- Navigation Button -->\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"vm.navigateToFolder(item.id)\\\" [text]=\\\"item.name\\\" [disabled]=\\\"last\\\">\\n @if(i === 0) {\\n <ax-icon icon=\\\"fa-light fa-cloud\\\"></ax-icon>\\n }@else {\\n <ax-icon icon=\\\"fa-light fa-folder-closed\\\"></ax-icon>\\n }\\n </ax-button>\\n <!-- Separator -->\\n @if(!last) {\\n <i class=\\\"far fa-chevron-right rtl:ax-rotate-180 fa-fw fa-xs ax-me-2\\\"></i>\\n }\\n <!-- End Navigation Button -->\\n }\\n</div>\\n\", styles: [\":host{display:flex;width:100%;align-items:center}:host .__nav{display:flex;flex-direction:row;align-items:center;gap:.25rem;border-inline-end-width:1px;padding-inline-start:.25rem;padding-inline-end:.5rem}:host .__breadcrumb{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;padding-inline-start:.5rem;padding-inline-end:.25rem}:host .__breadcrumb .ax-state-disabled button,:host .__breadcrumb .ax-state-loading button{cursor:default!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXBhdGgtYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9zaGFyZWQvY29tcG9uZW50cy9mb2xkZXItcGF0aC1icmVhZGNydW1icy9mb2xkZXItcGF0aC1icmVhZGNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3NoYXJlZC9jb21wb25lbnRzL2ZvbGRlci1wYXRoLWJyZWFkY3J1bWJzL2ZvbGRlci1wYXRoLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQWF2RSxNQUFNLE9BQU8saUNBQWlDO0lBVjlDO1FBV1ksT0FBRSxHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUNsRDsrR0FIWSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx1RkNsQjlDLDJwQkFtQkEsdWdCRExJLGNBQWMsNlhBQ2QsaUJBQWlCOzs0RkFHUixpQ0FBaUM7a0JBVjdDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBRzNCLElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uXCI7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQVhQRG9jdW1lbnRFeHBsb3JlclZpZXdNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9kb2N1bWVudC1leHBsb3JlclwiO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUgfSBmcm9tIFwiLi4vLi4vZG9jdW1lbnQtbWFuYWdlci50eXBlc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheG0tZm9sZGVyLXBhdGgtYnJlYWRjcnVtYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9sZGVyLXBhdGgtYnJlYWRjcnVtYnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb2xkZXItcGF0aC1icmVhZGNydW1icy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUZvbGRlclBhdGhCcmVhZGNydW1ic0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCB2bSA9IGluamVjdChBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsKTtcbiAgcHJvdGVjdGVkIGxheW91dCA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xufVxuIiwiPCEtLSBCcmVhZGNydW1icyBTZWN0aW9uIC0tPlxuPGRpdiBjbGFzcz1cIl9fYnJlYWRjcnVtYiBheC14c1wiPlxuICA8IS0tIERlc2t0b3AgQnJlYWRjcnVtYiAtLT5cbiAgQGZvciAoaXRlbSBvZiB2bS5jdXJyZW50UGF0aCgpOyB0cmFjayBpdGVtLmlkOyBsZXQgaSA9ICRpbmRleDtsZXQgbGFzdCA9ICRsYXN0KSB7XG4gIDwhLS0gTmF2aWdhdGlvbiBCdXR0b24gLS0+XG4gIDxheC1idXR0b24gbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwidm0ubmF2aWdhdGVUb0ZvbGRlcihpdGVtLmlkKVwiIFt0ZXh0XT1cIml0ZW0ubmFtZVwiIFtkaXNhYmxlZF09XCJsYXN0XCI+XG4gICAgQGlmKGkgPT09IDApIHtcbiAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtY2xvdWRcIj48L2F4LWljb24+XG4gICAgfUBlbHNlIHtcbiAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtZm9sZGVyLWNsb3NlZFwiPjwvYXgtaWNvbj5cbiAgICB9XG4gIDwvYXgtYnV0dG9uPlxuICA8IS0tIFNlcGFyYXRvciAtLT5cbiAgQGlmKCFsYXN0KSB7XG4gIDxpIGNsYXNzPVwiZmFyIGZhLWNoZXZyb24tcmlnaHQgcnRsOmF4LXJvdGF0ZS0xODAgZmEtZncgZmEteHMgYXgtbWUtMlwiPjwvaT5cbiAgfVxuICA8IS0tIEVuZCBOYXZpZ2F0aW9uIEJ1dHRvbiAtLT5cbiAgfVxuPC9kaXY+XG4iXX0=","import { inject } from '@angular/core';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { AXMDocumentManagerService } from '../../../shared';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXDialogService } from '@acorex/components/dialog';\nexport const UploadFromDriveHookProvider = {\n key: 'file-uploader.actions',\n priority: 0,\n execute: (payload) => {\n const driveService = inject(AXMDocumentManagerService);\n const fileStorageService = inject(AXPFileStorageService);\n const translationService = inject(AXTranslationService);\n const dialogService = inject(AXDialogService);\n payload.actions = [\n ...payload.actions,\n {\n plugin: 'upload-document-from-drive',\n global: true,\n textKey: '@document-management:actions.choose-from-drive',\n icon: 'fa-light fa-file-arrow-up',\n run: async ({ host }) => {\n const result = await driveService.showChooseFileDialog(AXPPlatformScope.Tenant);\n if (!result || result.length === 0) {\n return;\n }\n // Show confirm dialog for clone option\n // Yes/Okay -> clone, No/Cancel -> by-reference\n const dialogTitle = await translationService.translateAsync('@document-management:actions.upload-options.title');\n const dialogMessage = await translationService.translateAsync('@document-management:actions.upload-options.confirm-message');\n const dialogResult = await dialogService.confirm(dialogTitle, dialogMessage, 'primary', 'horizontal', false, 'cancel');\n // Yes/Okay -> clone, No/Cancel -> by-reference\n const attachmentType = dialogResult.result ? 'clone' : 'by-reference';\n // Add files to host with uploading status\n host.setValue([\n ...(host.getValue() ?? []),\n ...result.map((item) => ({\n ...(item.fileId ?? {}),\n status: 'uploading',\n })),\n ]);\n // Process files based on attachment type\n for await (const item of result) {\n if (!item.fileId?.id || item.type === 'folder') {\n continue;\n }\n const currentFiles = host.getValue();\n const fileIndex = currentFiles.findIndex((f) => f.id === (item.fileId?.id ?? ''));\n if (fileIndex === -1) {\n continue;\n }\n if (attachmentType === 'by-reference') {\n // By reference: just set documentId\n const updatedFiles = [...currentFiles];\n updatedFiles[fileIndex] = {\n ...updatedFiles[fileIndex],\n status: 'attached',\n source: {\n kind: 'reference',\n value: {\n id: item.id,\n type: 'document',\n },\n },\n };\n host.setValue(updatedFiles);\n }\n else {\n // Clone: get file info and create blob\n try {\n const storageInfo = await fileStorageService.getInfo(item.fileId.id);\n if (!storageInfo) {\n const currentFiles = host.getValue();\n host.setValue(currentFiles.filter((f) => f.id !== (item.fileId?.id ?? '')));\n continue;\n }\n const updatedFiles = [...currentFiles];\n updatedFiles[fileIndex] = {\n ...updatedFiles[fileIndex],\n id: AXPDataGenerator.uuid(),\n status: 'attached',\n source: {\n kind: 'blob',\n value: new Blob([storageInfo.binary], { type: storageInfo.mimeType }),\n },\n };\n host.setValue(updatedFiles);\n }\n catch {\n const currentFiles = host.getValue();\n host.setValue(currentFiles.filter((f) => f.id !== (item.fileId?.id ?? '')));\n }\n }\n }\n },\n },\n ];\n return payload;\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZyb20tZHJpdmUuaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZHJpdmUtY2hvb3NlL3Nsb3RzL2ZpbGUtdXBsb2FkZXItd2lkZ2V0LWV4dGVuc2lvbi91cGxvYWQtZnJvbS1kcml2ZS5ob29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUF1QyxNQUFNLHVCQUF1QixDQUFDO0FBQzlGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBa0Q7SUFDeEYsR0FBRyxFQUFFLHVCQUF1QjtJQUM1QixRQUFRLEVBQUUsQ0FBQztJQUNYLE9BQU8sRUFBRSxDQUFDLE9BQXNDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN2RCxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTlDLE9BQU8sQ0FBQyxPQUFPLEdBQUc7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QUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDbkYsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQzthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBEYXRhR2VuZXJhdG9yLCBBWFBEaXN0cmlidXRlZEV2ZW50TGlzdGVuZXJQcm92aWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IEFYUEZpbGVTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQRmlsZUxpc3RJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuXG5leHBvcnQgY29uc3QgVXBsb2FkRnJvbURyaXZlSG9va1Byb3ZpZGVyOiBBWFBEaXN0cmlidXRlZEV2ZW50TGlzdGVuZXJQcm92aWRlcjxhbnksIGFueT4gPSB7XG4gIGtleTogJ2ZpbGUtdXBsb2FkZXIuYWN0aW9ucycsXG4gIHByaW9yaXR5OiAwLFxuICBleGVjdXRlOiAocGF5bG9hZDogeyBob3N0OiBhbnk7IGFjdGlvbnM6IGFueVtdIH0pID0+IHtcbiAgICBjb25zdCBkcml2ZVNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSk7XG4gICAgY29uc3QgZmlsZVN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEZpbGVTdG9yYWdlU2VydmljZSk7XG4gICAgY29uc3QgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgICBjb25zdCBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG5cbiAgICBwYXlsb2FkLmFjdGlvbnMgPSBbXG4gICAgICAuLi5wYXlsb2FkLmFjdGlvbnMsXG4gICAgICB7XG4gICAgICAgIHBsdWdpbjogJ3VwbG9hZC1kb2N1bWVudC1mcm9tLWRyaXZlJyxcbiAgICAgICAgZ2xvYmFsOiB0cnVlLFxuICAgICAgICB0ZXh0S2V5OiAnQGRvY3VtZW50LW1hbmFnZW1lbnQ6YWN0aW9ucy5jaG9vc2UtZnJvbS1kcml2ZScsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWFycm93LXVwJyxcbiAgICAgICAgcnVuOiBhc3luYyAoeyBob3N0IH06IHsgaG9zdDogYW55IH0pID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkcml2ZVNlcnZpY2Uuc2hvd0Nob29zZUZpbGVEaWFsb2coQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQpO1xuXG4gICAgICAgICAgaWYgKCFyZXN1bHQgfHwgcmVzdWx0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFNob3cgY29uZmlybSBkaWFsb2cgZm9yIGNsb25lIG9wdGlvblxuICAgICAgICAgIC8vIFllcy9Pa2F5IC0+IGNsb25lLCBOby9DYW5jZWwgLT4gYnktcmVmZXJlbmNlXG4gICAgICAgICAgY29uc3QgZGlhbG9nVGl0bGUgPSBhd2FpdCB0cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoXG4gICAgICAgICAgICAnQGRvY3VtZW50LW1hbmFnZW1lbnQ6YWN0aW9ucy51cGxvYWQtb3B0aW9ucy50aXRsZScsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBkaWFsb2dNZXNzYWdlID0gYXdhaXQgdHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgICAgICAgJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmFjdGlvbnMudXBsb2FkLW9wdGlvbnMuY29uZmlybS1tZXNzYWdlJyxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgZGlhbG9nVGl0bGUsXG4gICAgICAgICAgICBkaWFsb2dNZXNzYWdlLFxuICAgICAgICAgICAgJ3ByaW1hcnknLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJyxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgLy8gWWVzL09rYXkgLT4gY2xvbmUsIE5vL0NhbmNlbCAtPiBieS1yZWZlcmVuY2VcbiAgICAgICAgICBjb25zdCBhdHRhY2htZW50VHlwZSA9IGRpYWxvZ1Jlc3VsdC5yZXN1bHQgPyAnY2xvbmUnIDogJ2J5LXJlZmVyZW5jZSc7XG5cbiAgICAgICAgICAvLyBBZGQgZmlsZXMgdG8gaG9zdCB3aXRoIHVwbG9hZGluZyBzdGF0dXNcbiAgICAgICAgICBob3N0LnNldFZhbHVlKFtcbiAgICAgICAgICAgIC4uLihob3N0LmdldFZhbHVlKCkgPz8gW10pLFxuICAgICAgICAgICAgLi4ucmVzdWx0Lm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAuLi4oaXRlbS5maWxlSWQgPz8ge30pLFxuICAgICAgICAgICAgICBzdGF0dXM6ICd1cGxvYWRpbmcnLFxuICAgICAgICAgICAgfSkpIGFzIEFYUEZpbGVMaXN0SXRlbVtdLFxuICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgLy8gUHJvY2VzcyBmaWxlcyBiYXNlZCBvbiBhdHRhY2htZW50IHR5cGVcbiAgICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IGl0ZW0gb2YgcmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0uZmlsZUlkPy5pZCB8fCBpdGVtLnR5cGUgPT09ICdmb2xkZXInKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RmlsZXMgPSBob3N0LmdldFZhbHVlKCk7XG4gICAgICAgICAgICBjb25zdCBmaWxlSW5kZXggPSBjdXJyZW50RmlsZXMuZmluZEluZGV4KChmOiBhbnkpID0+IGYuaWQgPT09IChpdGVtLmZpbGVJZD8uaWQgPz8gJycpKTtcblxuICAgICAgICAgICAgaWYgKGZpbGVJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChhdHRhY2htZW50VHlwZSA9PT0gJ2J5LXJlZmVyZW5jZScpIHtcbiAgICAgICAgICAgICAgLy8gQnkgcmVmZXJlbmNlOiBqdXN0IHNldCBkb2N1bWVudElkXG4gICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRGaWxlcyA9IFsuLi5jdXJyZW50RmlsZXNdO1xuICAgICAgICAgICAgICB1cGRhdGVkRmlsZXNbZmlsZUluZGV4XSA9IHtcbiAgICAgICAgICAgICAgICAuLi51cGRhdGVkRmlsZXNbZmlsZUluZGV4XSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICdhdHRhY2hlZCcsXG4gICAgICAgICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICBraW5kOiAncmVmZXJlbmNlJyxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZG9jdW1lbnQnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBob3N0LnNldFZhbHVlKHVwZGF0ZWRGaWxlcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBDbG9uZTogZ2V0IGZpbGUgaW5mbyBhbmQgY3JlYXRlIGJsb2JcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdG9yYWdlSW5mbyA9IGF3YWl0IGZpbGVTdG9yYWdlU2VydmljZS5nZXRJbmZvKGl0ZW0uZmlsZUlkLmlkKTtcbiAgICAgICAgICAgICAgICBpZiAoIXN0b3JhZ2VJbmZvKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RmlsZXMgPSBob3N0LmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICBob3N0LnNldFZhbHVlKGN1cnJlbnRGaWxlcy5maWx0ZXIoKGY6IGFueSkgPT4gZi5pZCAhPT0gKGl0ZW0uZmlsZUlkPy5pZCA/PyAnJykpKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRGaWxlcyA9IFsuLi5jdXJyZW50RmlsZXNdO1xuICAgICAgICAgICAgICAgIHVwZGF0ZWRGaWxlc1tmaWxlSW5kZXhdID0ge1xuICAgICAgICAgICAgICAgICAgLi4udXBkYXRlZEZpbGVzW2ZpbGVJbmRleF0sXG4gICAgICAgICAgICAgICAgICBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCksXG4gICAgICAgICAgICAgICAgICBzdGF0dXM6ICdhdHRhY2hlZCcsXG4gICAgICAgICAgICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogJ2Jsb2InLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbmV3IEJsb2IoW3N0b3JhZ2VJbmZvLmJpbmFyeSBhcyBCbG9iUGFydF0sIHsgdHlwZTogc3RvcmFnZUluZm8ubWltZVR5cGUgfSksXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaG9zdC5zZXRWYWx1ZSh1cGRhdGVkRmlsZXMpO1xuICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RmlsZXMgPSBob3N0LmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgaG9zdC5zZXRWYWx1ZShjdXJyZW50RmlsZXMuZmlsdGVyKChmOiBhbnkpID0+IGYuaWQgIT09IChpdGVtLmZpbGVJZD8uaWQgPz8gJycpKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSxcbn07XG5cblxuIl19","import { NgModule } from \"@angular/core\";\nimport { AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER } from \"@acorex/platform/core\";\nimport { UploadFromDriveHookProvider } from \"./slots/file-uploader-widget-extension\";\nimport * as i0 from \"@angular/core\";\nexport class AXMDriveChooseModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDriveChooseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDriveChooseModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDriveChooseModule, providers: [\n { provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, useValue: UploadFromDriveHookProvider, multi: true }\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDriveChooseModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n providers: [\n { provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, useValue: UploadFromDriveHookProvider, multi: true }\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmUtY2hvb3NlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZHJpdmUtY2hvb3NlL2RyaXZlLWNob29zZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFTckYsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixhQUpsQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1NBQzNHOzs0RkFFUSxvQkFBb0I7a0JBUGhDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFDLEVBQ1A7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUMzRztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUF9ESVNUUklCVVRFRF9FVkVOVF9MSVNURU5FUl9QUk9WSURFUiB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvcmVcIjtcbmltcG9ydCB7IFVwbG9hZEZyb21Ecml2ZUhvb2tQcm92aWRlciB9IGZyb20gXCIuL3Nsb3RzL2ZpbGUtdXBsb2FkZXItd2lkZ2V0LWV4dGVuc2lvblwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6W1xuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQVhQX0RJU1RSSUJVVEVEX0VWRU5UX0xJU1RFTkVSX1BST1ZJREVSLCB1c2VWYWx1ZTogVXBsb2FkRnJvbURyaXZlSG9va1Byb3ZpZGVyLCBtdWx0aTogdHJ1ZSB9XG4gICAgXVxufSkgIFxuZXhwb3J0IGNsYXNzIEFYTURyaXZlQ2hvb3NlTW9kdWxlIHsgXG5cbn0iXX0=","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMDocumentService } from '../../../entities';\nimport { AXMDistributionService } from '../../../entities/distribution/distribution.service';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport * as i0 from \"@angular/core\";\n/**\n * Action to show document distribution popup\n */\nexport class AXMDocumentDistributionPopupAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.translationService = inject(AXTranslationService);\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n }\n async execute(context) {\n const documentId = context.getVariable('options.id');\n const documentTitle = context.getVariable('options.title');\n const dialogTitle = await this.translationService.translateAsync('@document-management:workflows.document-distribution.title', { params: { title: documentTitle } });\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle(dialogTitle)\n .setSize('md')\n .setContext({ assignedTo: [] })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@document-management:actions.distribute', field => {\n field.path('assignedTo');\n field.lookupBox({\n entity: 'SecurityManagement.User',\n multiple: true,\n look: 'lookup',\n validations: [{ rule: 'required' }],\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title');\n const submitAction = {\n title: '@document-management:actions.distribute',\n color: 'primary',\n command: { name: 'submit', options: { validate: true } },\n };\n actions.custom(submitAction);\n });\n })\n .show();\n const action = dialogRef.action();\n if (action === 'cancel') {\n context.setOutput('confirmed', false);\n return;\n }\n const ctx = dialogRef.context();\n const confirmed = Array.isArray(ctx?.assignedTo) && ctx.assignedTo.length > 0;\n context.setOutput('confirmed', confirmed);\n if (confirmed) {\n context.setOutput('assignedTo', ctx.assignedTo);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentDistributionPopupAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentDistributionPopupAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentDistributionPopupAction, decorators: [{\n type: Injectable\n }] });\n/**\n * Action to create distribution records and update document status\n */\nexport class AXMCreateDistributionRecordsAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.documentService = inject(AXMDocumentService);\n this.distributionService = inject(AXMDistributionService);\n }\n async execute(context) {\n try {\n const documentId = context.getVariable('options.id');\n const assignedTo = context.getOutput('assignedTo');\n const document = await this.documentService.getOne(documentId);\n this.distributionService.insertOne({\n documentId,\n version: document.version,\n assignedTo,\n });\n // Update document status to Distributed\n await this.documentService.updateOne(documentId, {\n status: 'Distributed',\n });\n context.setOutput('success', true);\n context.setOutput('distributionCount', assignedTo.length);\n }\n catch (error) {\n context.setOutput('success', false);\n context.setOutput('error', error);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMCreateDistributionRecordsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMCreateDistributionRecordsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMCreateDistributionRecordsAction, decorators: [{\n type: Injectable\n }] });\n/**\n * Workflow for distributing documents to users\n */\nexport const AXMDocumentDistributionWorkflow = {\n startStepId: 'show-distribution-popup',\n steps: {\n 'show-distribution-popup': {\n id: 'show-distribution-popup',\n action: 'AXMDocumentDistributionPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"confirmed\") == true' }],\n nextStepId: 'create-distributions',\n },\n ],\n },\n 'create-distributions': {\n id: 'create-distributions',\n action: 'AXMCreateDistributionRecordsAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"success\") == true' }],\n nextStepId: 'show-success',\n },\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"success\") == false' }],\n nextStepId: 'show-error',\n },\n ],\n },\n 'show-success': {\n id: 'show-success',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'document-distribution.success.title',\n content: 'document-distribution.success.message',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'reload-entity',\n },\n ],\n },\n 'show-error': {\n id: 'show-error',\n action: 'AXPToastAction',\n input: {\n color: 'danger',\n title: 'document-distribution.error.title',\n content: 'document-distribution.error.message',\n },\n },\n 'reload-entity': {\n id: 'reload-entity',\n action: 'reload',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZGlzdHJpYnV0aW9uLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy93b3JrZmxvdy9kb2N1bWVudC1kaXN0cmlidXRpb24vZG9jdW1lbnQtZGlzdHJpYnV0aW9uLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQTRCLE1BQU0sbUJBQW1CLENBQUM7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRzFFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLGlCQUFpQjtJQUR6RTs7UUFFVSx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0tBd0RsRTtJQXREQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUzRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQzlELDREQUE0RCxFQUM1RCxFQUFFLE1B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RUFBRSxvQ0FBb0M7WUFDNUMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsc0NBQXNDLEVBQUUsQ0FBQztvQkFDcEYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2dCQUNEO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQztvQkFDckYsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCO2FBQ0Y7U0FDRjtRQUNELGNBQWMsRUFBRTtZQUNkLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUscUNBQXFDO2dCQUM1QyxPQUFPLEVBQUUsdUNBQXVDO2FBQ2pEO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxlQUFlO2lCQUM1QjthQUNGO1NBQ0Y7UUFDRCxZQUFZLEVBQUU7WUFDWixFQUFFLEVBQUUsWUFBWTtZQUNoQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsUUFBUTtnQkFDZixLQUFLLEVBQUUsbUNBQW1DO2dCQUMxQyxPQUFPLEVBQUUscUNBQXFDO2FBQy9DO1NBQ0Y7UUFDRCxlQUFlLEVBQUU7WUFDZixFQUFFLEVBQUUsZUFBZTtZQUNuQixNQUFNLEVBQUUsUUFBUTtTQUNqQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTURvY3VtZW50U2VydmljZSwgQVhNRG9jdW1lbnRXb3JrZmxvd1BoYXNlIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMnO1xuaW1wb3J0IHsgQVhNRGlzdHJpYnV0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VudGl0aWVzL2Rpc3RyaWJ1dGlvbi9kaXN0cmlidXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG4vKipcbiAqIEFjdGlvbiB0byBzaG93IGRvY3VtZW50IGRpc3RyaWJ1dGlvbiBwb3B1cFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnREaXN0cmlidXRpb25Qb3B1cEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxheW91dEJ1aWxkZXIgPSBpbmplY3QoQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UpO1xuXG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZG9jdW1lbnRJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMuaWQnKTtcbiAgICBjb25zdCBkb2N1bWVudFRpdGxlID0gY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy50aXRsZScpO1xuXG4gICAgY29uc3QgZGlhbG9nVGl0bGUgPSBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyhcbiAgICAgICdAZG9jdW1lbnQtbWFuYWdlbWVudDp3b3JrZmxvd3MuZG9jdW1lbnQtZGlzdHJpYnV0aW9uLnRpdGxlJyxcbiAgICAgIHsgcGFyYW1zOiB7IHRpdGxlOiBkb2N1bWVudFRpdGxlIH0gfSxcbiAgICApO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgdGhpcy5sYXlvdXRCdWlsZGVyXG4gICAgICAuY3JlYXRlKClcbiAgICAgIC5kaWFsb2coZGlhbG9nID0+IHtcbiAgICAgICAgZGlhbG9nXG4gICAgICAgICAgLnNldFRpdGxlKGRpYWxvZ1RpdGxlKVxuICAgICAgICAgIC5zZXRTaXplKCdtZCcpXG4gICAgICAgICAgLnNldENvbnRleHQoeyBhc3NpZ25lZFRvOiBbXSB9KVxuICAgICAgICAgIC5jb250ZW50KGZsZXggPT4ge1xuICAgICAgICAgICAgZmxleFxuICAgICAgICAgICAgICAuc2V0RGlyZWN0aW9uKCdjb2x1bW4nKVxuICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAZG9jdW1lbnQtbWFuYWdlbWVudDphY3Rpb25zLmRpc3RyaWJ1dGUnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aCgnYXNzaWduZWRUbycpO1xuICAgICAgICAgICAgICAgIGZpZWxkLmxvb2t1cEJveCh7XG4gICAgICAgICAgICAgICAgICBlbnRpdHk6ICdTZWN1cml0eU1hbmFnZW1lbnQuVXNlcicsXG4gICAgICAgICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGxvb2s6ICdsb29rdXAnLFxuICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnNldEFjdGlvbnMoYWN0aW9ucyA9PiB7XG4gICAgICAgICAgICBhY3Rpb25zLmNhbmNlbCgnQGdlbmVyYWw6YWN0aW9ucy5jYW5jZWwudGl0bGUnKTtcbiAgICAgICAgICAgIGNvbnN0IHN1Ym1pdEFjdGlvbjogQVhQQWN0aW9uTWVudUl0ZW0gPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnQGRvY3VtZW50LW1hbmFnZW1lbnQ6YWN0aW9ucy5kaXN0cmlidXRlJyxcbiAgICAgICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgY29tbWFuZDogeyBuYW1lOiAnc3VibWl0Jywgb3B0aW9uczogeyB2YWxpZGF0ZTogdHJ1ZSB9IH0sXG4gICAgICAgICAgICB9IGFzIEFYUEFjdGlvbk1lbnVJdGVtO1xuICAgICAgICAgICAgYWN0aW9ucy5jdXN0b20oc3VibWl0QWN0aW9uKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuc2hvdygpO1xuXG4gICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgIGlmIChhY3Rpb24gPT09ICdjYW5jZWwnKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnY29uZmlybWVkJywgZmFsc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN0eCA9IGRpYWxvZ1JlZi5jb250ZXh0KCkgYXMgeyBhc3NpZ25lZFRvPzogYW55W10gfTtcbiAgICBjb25zdCBjb25maXJtZWQgPSBBcnJheS5pc0FycmF5KGN0eD8uYXNzaWduZWRUbykgJiYgY3R4LmFzc2lnbmVkVG8ubGVuZ3RoID4gMDtcbiAgICBjb250ZXh0LnNldE91dHB1dCgnY29uZmlybWVkJywgY29uZmlybWVkKTtcbiAgICBpZiAoY29uZmlybWVkKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnYXNzaWduZWRUbycsIGN0eC5hc3NpZ25lZFRvKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBY3Rpb24gdG8gY3JlYXRlIGRpc3RyaWJ1dGlvbiByZWNvcmRzIGFuZCB1cGRhdGUgZG9jdW1lbnQgc3RhdHVzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1DcmVhdGVEaXN0cmlidXRpb25SZWNvcmRzQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIGRvY3VtZW50U2VydmljZSA9IGluamVjdChBWE1Eb2N1bWVudFNlcnZpY2UpO1xuICBwcml2YXRlIGRpc3RyaWJ1dGlvblNlcnZpY2UgPSBpbmplY3QoQVhNRGlzdHJpYnV0aW9uU2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZG9jdW1lbnRJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5pZCcpO1xuICAgICAgY29uc3QgYXNzaWduZWRUbyA9IGNvbnRleHQuZ2V0T3V0cHV0PGFueVtdPignYXNzaWduZWRUbycpO1xuXG4gICAgICBjb25zdCBkb2N1bWVudCA9IGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldE9uZShkb2N1bWVudElkKTtcblxuICAgICAgdGhpcy5kaXN0cmlidXRpb25TZXJ2aWNlLmluc2VydE9uZSh7XG4gICAgICAgIGRvY3VtZW50SWQsXG4gICAgICAgIHZlcnNpb246IGRvY3VtZW50LnZlcnNpb24sXG4gICAgICAgIGFzc2lnbmVkVG8sXG4gICAgICB9KTtcblxuICAgICAgLy8gVXBkYXRlIGRvY3VtZW50IHN0YXR1cyB0byBEaXN0cmlidXRlZFxuICAgICAgYXdhaXQgdGhpcy5kb2N1bWVudFNlcnZpY2UudXBkYXRlT25lKGRvY3VtZW50SWQsIHtcbiAgICAgICAgc3RhdHVzOiAnRGlzdHJpYnV0ZWQnIGFzIEFYTURvY3VtZW50V29ya2Zsb3dQaGFzZSxcbiAgICAgIH0pO1xuXG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnc3VjY2VzcycsIHRydWUpO1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Rpc3RyaWJ1dGlvbkNvdW50JywgYXNzaWduZWRUby5sZW5ndGgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnc3VjY2VzcycsIGZhbHNlKTtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBXb3JrZmxvdyBmb3IgZGlzdHJpYnV0aW5nIGRvY3VtZW50cyB0byB1c2Vyc1xuICovXG5leHBvcnQgY29uc3QgQVhNRG9jdW1lbnREaXN0cmlidXRpb25Xb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAnc2hvdy1kaXN0cmlidXRpb24tcG9wdXAnLFxuICBzdGVwczoge1xuICAgICdzaG93LWRpc3RyaWJ1dGlvbi1wb3B1cCc6IHtcbiAgICAgIGlkOiAnc2hvdy1kaXN0cmlidXRpb24tcG9wdXAnLFxuICAgICAgYWN0aW9uOiAnQVhNRG9jdW1lbnREaXN0cmlidXRpb25Qb3B1cEFjdGlvbicsXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJjb25maXJtZWRcIikgPT0gdHJ1ZScgfV0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ2NyZWF0ZS1kaXN0cmlidXRpb25zJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICAnY3JlYXRlLWRpc3RyaWJ1dGlvbnMnOiB7XG4gICAgICBpZDogJ2NyZWF0ZS1kaXN0cmlidXRpb25zJyxcbiAgICAgIGFjdGlvbjogJ0FYTUNyZWF0ZURpc3RyaWJ1dGlvblJlY29yZHNBY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwic3VjY2Vzc1wiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJzdWNjZXNzXCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1lcnJvcicsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgJ3Nob3ctc3VjY2Vzcyc6IHtcbiAgICAgIGlkOiAnc2hvdy1zdWNjZXNzJyxcbiAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnZG9jdW1lbnQtZGlzdHJpYnV0aW9uLnN1Y2Nlc3MudGl0bGUnLFxuICAgICAgICBjb250ZW50OiAnZG9jdW1lbnQtZGlzdHJpYnV0aW9uLnN1Y2Nlc3MubWVzc2FnZScsXG4gICAgICB9LFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAncmVsb2FkLWVudGl0eScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgJ3Nob3ctZXJyb3InOiB7XG4gICAgICBpZDogJ3Nob3ctZXJyb3InLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICB0aXRsZTogJ2RvY3VtZW50LWRpc3RyaWJ1dGlvbi5lcnJvci50aXRsZScsXG4gICAgICAgIGNvbnRlbnQ6ICdkb2N1bWVudC1kaXN0cmlidXRpb24uZXJyb3IubWVzc2FnZScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgJ3JlbG9hZC1lbnRpdHknOiB7XG4gICAgICBpZDogJ3JlbG9hZC1lbnRpdHknLFxuICAgICAgYWN0aW9uOiAncmVsb2FkJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { RootConfig } from '../../../const';\nimport { AXMDocumentService, AXMReviewService } from '../../../entities';\nimport * as i0 from \"@angular/core\";\n/**\n * Action to show confirmation dialog for sending document to review\n */\nexport class AXMSendToReviewConfirmAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.translationService = inject(AXTranslationService);\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n }\n async execute(context) {\n const documentId = context.getVariable('options.id');\n const documentTitle = context.getVariable('options.title');\n const dialogTitle = await this.translationService.translateAsync('@document-management:workflows.document-review.confirm-send.title', { params: { title: documentTitle } });\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle(dialogTitle)\n .setSize('sm')\n .setContext({ assignedTo: undefined })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@document-management:workflows.document-review.send-review.title', field => {\n field.path('assignedTo');\n field.lookupBox({\n entity: 'SecurityManagement.User',\n multiple: false,\n look: 'lookup',\n validations: [{ rule: 'required' }],\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title');\n const submitAction = {\n title: '@document-management:workflows.document-review.send-review.title',\n color: 'primary',\n command: { name: 'submit', options: { validate: true } },\n };\n actions.custom(submitAction);\n });\n })\n .show();\n const action = dialogRef.action();\n if (action === 'cancel') {\n context.setOutput('confirmed', false);\n return;\n }\n const ctx = dialogRef.context();\n context.setOutput('confirmed', true);\n dialogRef.close();\n context.setVariable('assignTo', ctx?.assignedTo);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSendToReviewConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSendToReviewConfirmAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSendToReviewConfirmAction, decorators: [{\n type: Injectable\n }] });\n/**\n * Action to update document status to PendingReview\n */\nexport class AXMUpdateDocumentStatusAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.documentService = inject(AXMDocumentService);\n this.reviewService = inject(AXMReviewService);\n }\n async execute(context) {\n try {\n const documentId = context.getVariable('options.id');\n const document = await this.documentService.getOne(documentId);\n const reviewRecordID = await this.reviewService.insertOne({\n documentId: documentId,\n reviewStatus: 'Pending',\n version: document.version ?? 0,\n modifiedAt: document?.updated?.at,\n modifiedBy: document?.updated?.user?.id ?? '',\n reviewerId: context.getVariable('assignTo'),\n });\n await this.documentService.updateOne(documentId, {\n status: 'PendingReview',\n reviewRecordId: reviewRecordID,\n });\n context.setOutput('success', true);\n }\n catch (error) {\n context.setOutput('success', false);\n context.setOutput('error', error);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUpdateDocumentStatusAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUpdateDocumentStatusAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUpdateDocumentStatusAction, decorators: [{\n type: Injectable\n }] });\n// Note: Using AXPToastAction from platform/common instead of custom toast action\n/**\n * Workflow for sending document to review\n */\nexport const AXMSendToReviewWorkflow = {\n startStepId: 'confirm-send',\n steps: {\n 'confirm-send': {\n id: 'confirm-send',\n action: 'AXMSendToReviewConfirmAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"confirmed\") == true' }],\n nextStepId: 'update-status',\n },\n ],\n },\n 'update-status': {\n id: 'update-status',\n action: 'AXMUpdateDocumentStatusAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"success\") == true' }],\n nextStepId: 'reload-entity',\n },\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"success\") == false' }],\n nextStepId: 'show-error',\n },\n ],\n },\n 'reload-entity': {\n id: 'reload-entity',\n action: 'reload',\n },\n 'show-success': {\n id: 'show-success',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'document-review.send-review.success',\n content: 'document-review.send-review.success',\n },\n },\n 'show-error': {\n id: 'show-error',\n action: 'AXPToastAction',\n input: {\n color: 'danger',\n title: 'document-review.send-review.error',\n content: 'document-review.send-review.error',\n },\n },\n },\n};\nexport class AXMChangeEntityAction extends AXPWorkflowAction {\n async execute(context) {\n context.setVariable('entity', `${RootConfig.module.name}.${RootConfig.entities.document.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMChangeEntityAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMChangeEntityAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMChangeEntityAction, decorators: [{\n type: Injectable\n }] });\n/**\n * Workflow for submitting review\n */\nexport const AXMSubmitReviewWorkflow = {\n startStepId: 'open-review-entity',\n steps: {\n 'open-review-entity': {\n action: 'start-workflow',\n input: {\n workflow: 'quick-modify-entity',\n context: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.review.name}`,\n data: {\n id: '{{ context.getVariable(\"options.id\") }}',\n },\n },\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'change-entity',\n },\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == false' }],\n nextStepId: 'show-error',\n },\n ],\n },\n 'change-entity': {\n id: 'change-entity',\n action: 'AXMChangeEntityAction',\n nextSteps: [\n {\n nextStepId: 'reload-entity',\n conditions: [],\n },\n ],\n },\n 'reload-entity': {\n id: 'reload-entity',\n action: 'reload',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtcmV2aWV3LndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy93b3JrZmxvdy9kb2N1bWVudC1yZXZpZXcvZG9jdW1lbnQtcmV2aWV3LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUNuRzs7R0FFRztBQUVILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxpQkFBaUI7SUFEbkU7O1FBRVUsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekMsa0JBQWEsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQXNEbEU7SUFwREMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUM5RCxtRUFBbUUsRUFDbkUsRUFBRSxNQUFNLEVBQUUs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QixHQUFnQjtJQUNsRCxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRTtRQUNMLG9CQUFvQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLE9BQU8sRUFBRTtvQkFDUCxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7b0JBQ3RFLElBQUksRUFBRTt3QkFDSixFQUFFLEVBQUUseUNBQXlDO3FCQUM5QztpQkFDRjthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUscUNBQXFDLEVBQUUsQ0FBQztvQkFDbkYsVUFBVSxFQUFFLGVBQWU7aUJBQzVCO2dCQUNEO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsc0NBQXNDLEVBQUUsQ0FBQztvQkFDcEYsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCO2FBQ0Y7U0FDRjtRQUNELGVBQWUsRUFBRTtZQUNmLEVBQUUsRUFBRSxlQUFlO1lBQ25CLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxlQUFlO29CQUMzQixVQUFVLEVBQUUsRUFBRTtpQkFDZjthQUNGO1NBQ0Y7UUFDRCxlQUFlLEVBQUU7WUFDZixFQUFFLEVBQUUsZUFBZTtZQUNuQixNQUFNLEVBQUUsUUFBUTtTQUNqQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRTZXJ2aWNlLCBBWE1Eb2N1bWVudFdvcmtmbG93UGhhc2UsIEFYTVJldmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcyc7XG4vKipcbiAqIEFjdGlvbiB0byBzaG93IGNvbmZpcm1hdGlvbiBkaWFsb2cgZm9yIHNlbmRpbmcgZG9jdW1lbnQgdG8gcmV2aWV3XG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1TZW5kVG9SZXZpZXdDb25maXJtQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0QnVpbGRlciA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkb2N1bWVudElkID0gY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5pZCcpO1xuICAgIGNvbnN0IGRvY3VtZW50VGl0bGUgPSBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLnRpdGxlJyk7XG5cbiAgICBjb25zdCBkaWFsb2dUaXRsZSA9IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OndvcmtmbG93cy5kb2N1bWVudC1yZXZpZXcuY29uZmlybS1zZW5kLnRpdGxlJyxcbiAgICAgIHsgcGFyYW1zOiB7IHRpdGxlOiBkb2N1bWVudFRpdGxlIH0gfSxcbiAgICApO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgdGhpcy5sYXlvdXRCdWlsZGVyXG4gICAgICAuY3JlYXRlKClcbiAgICAgIC5kaWFsb2coZGlhbG9nID0+IHtcbiAgICAgICAgZGlhbG9nXG4gICAgICAgICAgLnNldFRpdGxlKGRpYWxvZ1RpdGxlKVxuICAgICAgICAgIC5zZXRTaXplKCdzbScpXG4gICAgICAgICAgLnNldENvbnRleHQoeyBhc3NpZ25lZFRvOiB1bmRlZmluZWQgfSlcbiAgICAgICAgICAuY29udGVudChmbGV4ID0+IHtcbiAgICAgICAgICAgIGZsZXhcbiAgICAgICAgICAgICAgLnNldERpcmVjdGlvbignY29sdW1uJylcbiAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGRvY3VtZW50LW1hbmFnZW1lbnQ6d29ya2Zsb3dzLmRvY3VtZW50LXJldmlldy5zZW5kLXJldmlldy50aXRsZScsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKCdhc3NpZ25lZFRvJyk7XG4gICAgICAgICAgICAgICAgZmllbGQubG9va3VwQm94KHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eTogJ1NlY3VyaXR5TWFuYWdlbWVudC5Vc2VyJyxcbiAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIGxvb2s6ICdsb29rdXAnLFxuICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnNldEFjdGlvbnMoYWN0aW9ucyA9PiB7XG4gICAgICAgICAgICBhY3Rpb25zLmNhbmNlbCgnQGdlbmVyYWw6YWN0aW9ucy5jYW5jZWwudGl0bGUnKTtcbiAgICAgICAgICAgIGNvbnN0IHN1Ym1pdEFjdGlvbjogQVhQQWN0aW9uTWVudUl0ZW0gPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnQGRvY3VtZW50LW1hbmFnZW1lbnQ6d29ya2Zsb3dzLmRvY3VtZW50LXJldmlldy5zZW5kLXJldmlldy50aXRsZScsXG4gICAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogJ3N1Ym1pdCcsIG9wdGlvbnM6IHsgdmFsaWRhdGU6IHRydWUgfSB9LFxuICAgICAgICAgICAgfSBhcyBBWFBBY3Rpb25NZW51SXRlbTtcbiAgICAgICAgICAgIGFjdGlvbnMuY3VzdG9tKHN1Ym1pdEFjdGlvbik7XG4gICAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLnNob3coKTtcblxuICAgIGNvbnN0IGFjdGlvbiA9IGRpYWxvZ1JlZi5hY3Rpb24oKTtcbiAgICBpZiAoYWN0aW9uID09PSAnY2FuY2VsJykge1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2NvbmZpcm1lZCcsIGZhbHNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdHggPSBkaWFsb2dSZWYuY29udGV4dCgpIGFzIHsgYXNzaWduZWRUbz86IHN0cmluZyB9O1xuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdjb25maXJtZWQnLCB0cnVlKTtcbiAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdhc3NpZ25UbycsIGN0eD8uYXNzaWduZWRUbyk7XG4gIH1cbn1cblxuLyoqXG4gKiBBY3Rpb24gdG8gdXBkYXRlIGRvY3VtZW50IHN0YXR1cyB0byBQZW5kaW5nUmV2aWV3XG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1VcGRhdGVEb2N1bWVudFN0YXR1c0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBkb2N1bWVudFNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZXZpZXdTZXJ2aWNlID0gaW5qZWN0KEFYTVJldmlld1NlcnZpY2UpO1xuXG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRvY3VtZW50SWQgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMuaWQnKTtcblxuICAgICAgY29uc3QgZG9jdW1lbnQgPSBhd2FpdCB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRPbmUoZG9jdW1lbnRJZCk7XG5cbiAgICAgIGNvbnN0IHJldmlld1JlY29yZElEID0gYXdhaXQgdGhpcy5yZXZpZXdTZXJ2aWNlLmluc2VydE9uZSh7XG4gICAgICAgIGRvY3VtZW50SWQ6IGRvY3VtZW50SWQsXG4gICAgICAgIHJldmlld1N0YXR1czogJ1BlbmRpbmcnLFxuICAgICAgICB2ZXJzaW9uOiBkb2N1bWVudC52ZXJzaW9uID8/IDAsXG4gICAgICAgIG1vZGlmaWVkQXQ6IChkb2N1bWVudCBhcyBhbnkpPy51cGRhdGVkPy5hdCxcbiAgICAgICAgbW9kaWZpZWRCeTogKGRvY3VtZW50IGFzIGFueSk/LnVwZGF0ZWQ/LnVzZXI/LmlkID8/ICcnLFxuICAgICAgICByZXZpZXdlcklkOiBjb250ZXh0LmdldFZhcmlhYmxlKCdhc3NpZ25UbycpLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLnVwZGF0ZU9uZShkb2N1bWVudElkLCB7XG4gICAgICAgIHN0YXR1czogJ1BlbmRpbmdSZXZpZXcnIGFzIEFYTURvY3VtZW50V29ya2Zsb3dQaGFzZSxcbiAgICAgICAgcmV2aWV3UmVjb3JkSWQ6IHJldmlld1JlY29yZElELFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdzdWNjZXNzJywgdHJ1ZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdzdWNjZXNzJywgZmFsc2UpO1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOb3RlOiBVc2luZyBBWFBUb2FzdEFjdGlvbiBmcm9tIHBsYXRmb3JtL2NvbW1vbiBpbnN0ZWFkIG9mIGN1c3RvbSB0b2FzdCBhY3Rpb25cblxuLyoqXG4gKiBXb3JrZmxvdyBmb3Igc2VuZGluZyBkb2N1bWVudCB0byByZXZpZXdcbiAqL1xuZXhwb3J0IGNvbnN0IEFYTVNlbmRUb1Jldmlld1dvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdjb25maXJtLXNlbmQnLFxuICBzdGVwczoge1xuICAgICdjb25maXJtLXNlbmQnOiB7XG4gICAgICBpZDogJ2NvbmZpcm0tc2VuZCcsXG4gICAgICBhY3Rpb246ICdBWE1TZW5kVG9SZXZpZXdDb25maXJtQWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcImNvbmZpcm1lZFwiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAndXBkYXRlLXN0YXR1cycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgJ3VwZGF0ZS1zdGF0dXMnOiB7XG4gICAgICBpZDogJ3VwZGF0ZS1zdGF0dXMnLFxuICAgICAgYWN0aW9uOiAnQVhNVXBkYXRlRG9jdW1lbnRTdGF0dXNBY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwic3VjY2Vzc1wiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAncmVsb2FkLWVudGl0eScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwic3VjY2Vzc1wiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3Nob3ctZXJyb3InLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgICdyZWxvYWQtZW50aXR5Jzoge1xuICAgICAgaWQ6ICdyZWxvYWQtZW50aXR5JyxcbiAgICAgIGFjdGlvbjogJ3JlbG9hZCcsXG4gICAgfSxcbiAgICAnc2hvdy1zdWNjZXNzJzoge1xuICAgICAgaWQ6ICdzaG93LXN1Y2Nlc3MnLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgdGl0bGU6ICdkb2N1bWVudC1yZXZpZXcuc2VuZC1yZXZpZXcuc3VjY2VzcycsXG4gICAgICAgIGNvbnRlbnQ6ICdkb2N1bWVudC1yZXZpZXcuc2VuZC1yZXZpZXcuc3VjY2VzcycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgJ3Nob3ctZXJyb3InOiB7XG4gICAgICBpZDogJ3Nob3ctZXJyb3InLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICB0aXRsZTogJ2RvY3VtZW50LXJldmlldy5zZW5kLXJldmlldy5lcnJvcicsXG4gICAgICAgIGNvbnRlbnQ6ICdkb2N1bWVudC1yZXZpZXcuc2VuZC1yZXZpZXcuZXJyb3InLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufTtcblxuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1DaGFuZ2VFbnRpdHlBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29udGV4dC5zZXRWYXJpYWJsZSgnZW50aXR5JywgYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmRvY3VtZW50Lm5hbWV9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXb3JrZmxvdyBmb3Igc3VibWl0dGluZyByZXZpZXdcbiAqL1xuZXhwb3J0IGNvbnN0IEFYTVN1Ym1pdFJldmlld1dvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdvcGVuLXJldmlldy1lbnRpdHknLFxuICBzdGVwczoge1xuICAgICdvcGVuLXJldmlldy1lbnRpdHknOiB7XG4gICAgICBhY3Rpb246ICdzdGFydC13b3JrZmxvdycsXG4gICAgICBpbnB1dDoge1xuICAgICAgICB3b3JrZmxvdzogJ3F1aWNrLW1vZGlmeS1lbnRpdHknLFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMucmV2aWV3Lm5hbWV9YCxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBpZDogJ3t7IGNvbnRleHQuZ2V0VmFyaWFibGUoXCJvcHRpb25zLmlkXCIpIH19JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInJlc3VsdFwiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnY2hhbmdlLWVudGl0eScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicmVzdWx0XCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1lcnJvcicsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgJ2NoYW5nZS1lbnRpdHknOiB7XG4gICAgICBpZDogJ2NoYW5nZS1lbnRpdHknLFxuICAgICAgYWN0aW9uOiAnQVhNQ2hhbmdlRW50aXR5QWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3JlbG9hZC1lbnRpdHknLFxuICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgICdyZWxvYWQtZW50aXR5Jzoge1xuICAgICAgaWQ6ICdyZWxvYWQtZW50aXR5JyxcbiAgICAgIGFjdGlvbjogJ3JlbG9hZCcsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMDistributionInteractionService } from '../../../entities/distribution-interaction/distribution-interaction.service';\nimport * as i0 from \"@angular/core\";\n/**\n * Action to show document signature popup\n */\nexport class AXMDocumentSignaturePopupAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const documentId = context.getVariable('options.id');\n const documentTitle = context.getVariable('options.title');\n const fileId = context.getVariable('options.fileId');\n const comp = await import('./document-signature-popup.component')\n .then(x => x.AXMDocumentSignaturePopupComponent);\n console.log(fileId);\n const result = await this.popupService.open(comp, {\n title: await this.translationService.translateAsync('@document-management:workflows.document-signature.title', {\n params: { title: documentTitle }\n }),\n size: 'md',\n data: {\n documentId,\n documentTitle,\n fileId\n }\n });\n context.setOutput('confirmed', result.data?.confirmed || false);\n if (result.data?.confirmed) {\n context.setOutput('signature', result.data.signature);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentSignaturePopupAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentSignaturePopupAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentSignaturePopupAction, decorators: [{\n type: Injectable\n }] });\n/**\n * Action to save signature interaction to database\n */\nexport class AXMSaveSignatureInteractionAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.distributionInteractionService = inject(AXMDistributionInteractionService);\n }\n async execute(context) {\n try {\n const documentId = context.getVariable('options.id');\n const signature = context.getOutput('signature');\n // TODO: Get current user ID from auth service or context\n // For now using a placeholder - this should be replaced with actual user service\n const currentUserId = 'current-user-id';\n // Create signature interaction record\n const distributionInteractionData = {\n documentDistributionId: documentId, // TODO: This should map to actual distribution ID\n userId: currentUserId,\n action: 'Signed',\n actionTime: new Date(),\n signatureType: 'Digital',\n signatureData: signature,\n };\n await this.distributionInteractionService.insertOne(distributionInteractionData);\n context.setOutput('success', true);\n }\n catch (error) {\n context.setOutput('success', false);\n context.setOutput('error', error);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSaveSignatureInteractionAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSaveSignatureInteractionAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMSaveSignatureInteractionAction, decorators: [{\n type: Injectable\n }] });\n/**\n * Workflow for document signature process\n */\nexport const AXMDocumentSignatureWorkflow = {\n startStepId: 'show-signature-popup',\n steps: {\n 'show-signature-popup': {\n id: 'show-signature-popup',\n action: 'AXMDocumentSignaturePopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"confirmed\") == true' }],\n nextStepId: 'save-signature',\n },\n ],\n },\n 'save-signature': {\n id: 'save-signature',\n action: 'AXMSaveSignatureInteractionAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"success\") == true' }],\n nextStepId: 'show-success',\n },\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"success\") == false' }],\n nextStepId: 'show-error',\n },\n ],\n },\n 'show-success': {\n id: 'show-success',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'document-signature.success.title',\n content: 'document-signature.success.message',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'reload-entity',\n },\n ],\n },\n 'show-error': {\n id: 'show-error',\n action: 'AXPToastAction',\n input: {\n color: 'danger',\n title: 'document-signature.error.title',\n content: 'document-signature.error.message',\n },\n },\n 'reload-entity': {\n id: 'reload-entity',\n action: 'reload',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtc2lnbmF0dXJlLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy93b3JrZmxvdy9kb2N1bWVudC1zaWduYXR1cmUvZG9jdW1lbnQtc2lnbmF0dXJlLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7O0FBRWhJOztHQUVHO0FBRUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGlCQUFpQjtJQUR0RTs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQThCM0Q7SUE1QkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXJELE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLHNDQUFzQyxDQUFDO2FBQzlELElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxD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QU0sRUFBRSxtQ0FBbUM7WUFDM0MsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsc0NBQXNDLEVBQUUsQ0FBQztvQkFDcEYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2dCQUNEO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQztvQkFDckYsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCO2FBQ0Y7U0FDRjtRQUNELGNBQWMsRUFBRTtZQUNkLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsa0NBQWtDO2dCQUN6QyxPQUFPLEVBQUUsb0NBQW9DO2FBQzlDO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxlQUFlO2lCQUM1QjthQUNGO1NBQ0Y7UUFDRCxZQUFZLEVBQUU7WUFDWixFQUFFLEVBQUUsWUFBWTtZQUNoQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsUUFBUTtnQkFDZixLQUFLLEVBQUUsZ0NBQWdDO2dCQUN2QyxPQUFPLEVBQUUsa0NBQWtDO2FBQzVDO1NBQ0Y7UUFDRCxlQUFlLEVBQUU7WUFDZixFQUFFLEVBQUUsZUFBZTtZQUNuQixNQUFNLEVBQUUsUUFBUTtTQUNqQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1EaXN0cmlidXRpb25JbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9kaXN0cmlidXRpb24taW50ZXJhY3Rpb24vZGlzdHJpYnV0aW9uLWludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqIEFjdGlvbiB0byBzaG93IGRvY3VtZW50IHNpZ25hdHVyZSBwb3B1cFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnRTaWduYXR1cmVQb3B1cEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkb2N1bWVudElkID0gY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5pZCcpO1xuICAgIGNvbnN0IGRvY3VtZW50VGl0bGUgPSBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLnRpdGxlJyk7XG4gICAgY29uc3QgZmlsZUlkID0gY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5maWxlSWQnKTtcblxuICAgIGNvbnN0IGNvbXAgPSBhd2FpdCBpbXBvcnQoJy4vZG9jdW1lbnQtc2lnbmF0dXJlLXBvcHVwLmNvbXBvbmVudCcpXG4gICAgICAudGhlbih4ID0+IHguQVhNRG9jdW1lbnRTaWduYXR1cmVQb3B1cENvbXBvbmVudCk7XG5cbiAgICAgIGNvbnNvbGUubG9nKGZpbGVJZCk7XG4gICAgICBcbiAgICAgIFxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tcCwge1xuICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZG9jdW1lbnQtbWFuYWdlbWVudDp3b3JrZmxvd3MuZG9jdW1lbnQtc2lnbmF0dXJlLnRpdGxlJywge1xuICAgICAgICBwYXJhbXM6IHsgdGl0bGU6IGRvY3VtZW50VGl0bGUgfVxuICAgICAgfSksXG4gICAgICBzaXplOiAnbWQnLFxuICAgICAgZGF0YToge1xuICAgICAgICBkb2N1bWVudElkLFxuICAgICAgICBkb2N1bWVudFRpdGxlLFxuICAgICAgICBmaWxlSWRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdjb25maXJtZWQnLCByZXN1bHQuZGF0YT8uY29uZmlybWVkIHx8IGZhbHNlKTtcbiAgICBpZiAocmVzdWx0LmRhdGE/LmNvbmZpcm1lZCkge1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3NpZ25hdHVyZScsIHJlc3VsdC5kYXRhLnNpZ25hdHVyZSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWN0aW9uIHRvIHNhdmUgc2lnbmF0dXJlIGludGVyYWN0aW9uIHRvIGRhdGFiYXNlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1TYXZlU2lnbmF0dXJlSW50ZXJhY3Rpb25BY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZGlzdHJpYnV0aW9uSW50ZXJhY3Rpb25TZXJ2aWNlID0gaW5qZWN0KEFYTURpc3RyaWJ1dGlvbkludGVyYWN0aW9uU2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZG9jdW1lbnRJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMuaWQnKTtcbiAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IGNvbnRleHQuZ2V0T3V0cHV0KCdzaWduYXR1cmUnKTtcbiAgICAgIFxuICAgICAgLy8gVE9ETzogR2V0IGN1cnJlbnQgdXNlciBJRCBmcm9tIGF1dGggc2VydmljZSBvciBjb250ZXh0XG4gICAgICAvLyBGb3Igbm93IHVzaW5nIGEgcGxhY2Vob2xkZXIgLSB0aGlzIHNob3VsZCBiZSByZXBsYWNlZCB3aXRoIGFjdHVhbCB1c2VyIHNlcnZpY2VcbiAgICAgIGNvbnN0IGN1cnJlbnRVc2VySWQgPSAnY3VycmVudC11c2VyLWlkJztcbiAgICAgIFxuICAgICAgLy8gQ3JlYXRlIHNpZ25hdHVyZSBpbnRlcmFjdGlvbiByZWNvcmRcbiAgICAgIGNvbnN0IGRpc3RyaWJ1dGlvbkludGVyYWN0aW9uRGF0YSA9IHtcbiAgICAgICAgZG9jdW1lbnREaXN0cmlidXRpb25JZDogZG9jdW1lbnRJZCwgLy8gVE9ETzogVGhpcyBzaG91bGQgbWFwIHRvIGFjdHVhbCBkaXN0cmlidXRpb24gSURcbiAgICAgICAgdXNlcklkOiBjdXJyZW50VXNlcklkLFxuICAgICAgICBhY3Rpb246ICdTaWduZWQnIGFzIGNvbnN0LFxuICAgICAgICBhY3Rpb25UaW1lOiBuZXcgRGF0ZSgpLFxuICAgICAgICBzaWduYXR1cmVUeXBlOiAnRGlnaXRhbCcgYXMgY29uc3QsXG4gICAgICAgIHNpZ25hdHVyZURhdGE6IHNpZ25hdHVyZSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHRoaXMuZGlzdHJpYnV0aW9uSW50ZXJhY3Rpb25TZXJ2aWNlLmluc2VydE9uZShkaXN0cmlidXRpb25JbnRlcmFjdGlvbkRhdGEpO1xuICAgICAgXG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnc3VjY2VzcycsIHRydWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnc3VjY2VzcycsIGZhbHNlKTtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBXb3JrZmxvdyBmb3IgZG9jdW1lbnQgc2lnbmF0dXJlIHByb2Nlc3NcbiAqL1xuZXhwb3J0IGNvbnN0IEFYTURvY3VtZW50U2lnbmF0dXJlV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICBzdGFydFN0ZXBJZDogJ3Nob3ctc2lnbmF0dXJlLXBvcHVwJyxcbiAgc3RlcHM6IHtcbiAgICAnc2hvdy1zaWduYXR1cmUtcG9wdXAnOiB7XG4gICAgICBpZDogJ3Nob3ctc2lnbmF0dXJlLXBvcHVwJyxcbiAgICAgIGFjdGlvbjogJ0FYTURvY3VtZW50U2lnbmF0dXJlUG9wdXBBY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiY29uZmlybWVkXCIpID09IHRydWUnIH1dLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdzYXZlLXNpZ25hdHVyZScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgJ3NhdmUtc2lnbmF0dXJlJzoge1xuICAgICAgaWQ6ICdzYXZlLXNpZ25hdHVyZScsXG4gICAgICBhY3Rpb246ICdBWE1TYXZlU2lnbmF0dXJlSW50ZXJhY3Rpb25BY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwic3VjY2Vzc1wiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJzdWNjZXNzXCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1lcnJvcicsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgJ3Nob3ctc3VjY2Vzcyc6IHtcbiAgICAgIGlkOiAnc2hvdy1zdWNjZXNzJyxcbiAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnZG9jdW1lbnQtc2lnbmF0dXJlLnN1Y2Nlc3MudGl0bGUnLFxuICAgICAgICBjb250ZW50OiAnZG9jdW1lbnQtc2lnbmF0dXJlLnN1Y2Nlc3MubWVzc2FnZScsXG4gICAgICB9LFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAncmVsb2FkLWVudGl0eScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgJ3Nob3ctZXJyb3InOiB7XG4gICAgICBpZDogJ3Nob3ctZXJyb3InLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICB0aXRsZTogJ2RvY3VtZW50LXNpZ25hdHVyZS5lcnJvci50aXRsZScsXG4gICAgICAgIGNvbnRlbnQ6ICdkb2N1bWVudC1zaWduYXR1cmUuZXJyb3IubWVzc2FnZScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgJ3JlbG9hZC1lbnRpdHknOiB7XG4gICAgICBpZDogJ3JlbG9hZC1lbnRpdHknLFxuICAgICAgYWN0aW9uOiAncmVsb2FkJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==","import { AXUploaderService } from '@acorex/cdk/uploader';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nimport { AXMDocumentTypeService } from '../../../entities';\nimport { AXMDocumentDialogService } from '../../shared/services/document-dialog.service';\nexport class AXMCheckDocumentTypeWorkflowAction extends AXPWorkflowAction {\n async execute(context) {\n const documentType = context.getVariable('documentType');\n if (documentType) {\n context.setOutput('need-choose-document-type', false);\n }\n else {\n context.setOutput('need-choose-document-type', true);\n }\n }\n}\nexport class AXMChooseDocumentTypeWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.documentDialog = inject(AXMDocumentDialogService);\n }\n async execute(context) {\n const result = await this.documentDialog.chooseDocumentType();\n if (result.cancelled) {\n context.setOutput('isCanceled', true);\n return;\n }\n context.setVariable('documentTypeId', result.documentTypeId);\n context.setOutput('isCanceled', false);\n }\n}\nexport class AXMChooseFileWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.documentTypeService = inject(AXMDocumentTypeService);\n this.uploadService = inject(AXUploaderService);\n }\n async execute(context) {\n var doc = context.getVariable('documentType');\n if (!doc) {\n const docId = context.getVariable('documentTypeId');\n doc = await this.documentTypeService.getOne(docId);\n }\n this.uploadService.browse({\n //accept: doc.type,\n multiple: false,\n });\n }\n}\nexport const AXMUploadWorkflow = {\n startStepId: 'check-document-type',\n steps: {\n 'check-document-type': {\n action: 'AXMCheckDocumentTypeWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"need-choose-document-type\") == true' }],\n nextStepId: 'choose-document-type',\n },\n ],\n },\n 'choose-document-type': {\n action: 'AXMChooseDocumentTypeWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'file-browser',\n },\n ],\n },\n 'file-browser': {\n action: 'AXMChooseFileWorkflowAction',\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'dispatch-event',\n },\n ],\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy93b3JrZmxvdy91cGxvYWQvdXBsb2FkLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBZ0Qsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixNQUFNLE9BQU8sa0NBQW1DLFNBQVEsaUJBQWlCO0lBQzlELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsU0FBUyxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsaUJBQWlCO0lBQTFFOztRQUNtQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBV3JFLENBQUM7SUFUVSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlELElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLE9BQU87UUFDVCxDQUFDO1FBQ0QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGlCQUFpQjtJQUFsRTs7UUFDRSx3QkFBbUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBYzVDLENBQUM7SUFaVSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ2hELElBQUksR0FBRyxHQUFpRCxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNwRCxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN4QixtQkFBbUI7WUFDbkIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWdCO0lBQzVDLFdBQVcsRUFBRSxxQkFBcUI7SUFDbEMsS0FBSyxFQUFFO1FBQ0wscUJBQXFCLEVBQUU7WUFDckIsTUFBTSxFQUFFLG9DQUFvQztZQUM1QyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSx3REFBd0QsRUFBRSxDQUFDO29CQUN0RyxVQUFVLEVBQUUsc0JBQXNCO2lCQUNuQzthQUNGO1NBQ0Y7UUFDRCxzQkFBc0IsRUFBRTtZQUN0QixNQUFNLEVBQUUscUNBQXFDO1lBQzdDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLENBQUM7b0JBQ3hGLFVBQVUsRUFBRSxjQUFjO2lCQUMzQjthQUNGO1NBQ0Y7UUFDRCxjQUFjLEVBQUU7WUFDZCxNQUFNLEVBQUUsNkJBQTZCO1lBQ3JDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsZ0JBQWdCO2lCQUM3QjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFVwbG9hZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY2RrL3VwbG9hZGVyJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZUVudGl0eU1vZGVsLCBBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2RvY3VtZW50LWRpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCBjbGFzcyBBWE1DaGVja0RvY3VtZW50VHlwZVdvcmtmbG93QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRvY3VtZW50VHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ2RvY3VtZW50VHlwZScpO1xuICAgIGlmIChkb2N1bWVudFR5cGUpIHtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCduZWVkLWNob29zZS1kb2N1bWVudC10eXBlJywgZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnbmVlZC1jaG9vc2UtZG9jdW1lbnQtdHlwZScsIHRydWUpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhNQ2hvb3NlRG9jdW1lbnRUeXBlV29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnREaWFsb2cgPSBpbmplY3QoQVhNRG9jdW1lbnREaWFsb2dTZXJ2aWNlKTtcblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZG9jdW1lbnREaWFsb2cuY2hvb3NlRG9jdW1lbnRUeXBlKCk7XG4gICAgaWYgKHJlc3VsdC5jYW5jZWxsZWQpIHtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ2RvY3VtZW50VHlwZUlkJywgcmVzdWx0LmRvY3VtZW50VHlwZUlkKTtcbiAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhNQ2hvb3NlRmlsZVdvcmtmbG93QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBkb2N1bWVudFR5cGVTZXJ2aWNlID0gaW5qZWN0KEFYTURvY3VtZW50VHlwZVNlcnZpY2UpO1xuICB1cGxvYWRTZXJ2aWNlID0gaW5qZWN0KEFYVXBsb2FkZXJTZXJ2aWNlKTtcblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHZhciBkb2M6IEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZUVudGl0eU1vZGVsID0gY29udGV4dC5nZXRWYXJpYWJsZSgnZG9jdW1lbnRUeXBlJyk7XG4gICAgaWYgKCFkb2MpIHtcbiAgICAgIGNvbnN0IGRvY0lkID0gY29udGV4dC5nZXRWYXJpYWJsZSgnZG9jdW1lbnRUeXBlSWQnKTtcbiAgICAgIGRvYyA9IGF3YWl0IHRoaXMuZG9jdW1lbnRUeXBlU2VydmljZS5nZXRPbmUoZG9jSWQpO1xuICAgIH1cblxuICAgIHRoaXMudXBsb2FkU2VydmljZS5icm93c2Uoe1xuICAgICAgLy9hY2NlcHQ6IGRvYy50eXBlLFxuICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1VcGxvYWRXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAnY2hlY2stZG9jdW1lbnQtdHlwZScsXG4gIHN0ZXBzOiB7XG4gICAgJ2NoZWNrLWRvY3VtZW50LXR5cGUnOiB7XG4gICAgICBhY3Rpb246ICdBWE1DaGVja0RvY3VtZW50VHlwZVdvcmtmbG93QWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcIm5lZWQtY2hvb3NlLWRvY3VtZW50LXR5cGVcIikgPT0gdHJ1ZScgfV0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ2Nob29zZS1kb2N1bWVudC10eXBlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICAnY2hvb3NlLWRvY3VtZW50LXR5cGUnOiB7XG4gICAgICBhY3Rpb246ICdBWE1DaG9vc2VEb2N1bWVudFR5cGVXb3JrZmxvd0FjdGlvbicsXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJpc0NhbmNlbGVkXCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnZmlsZS1icm93c2VyJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICAnZmlsZS1icm93c2VyJzoge1xuICAgICAgYWN0aW9uOiAnQVhNQ2hvb3NlRmlsZVdvcmtmbG93QWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ2Rpc3BhdGNoLWV2ZW50JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { actionExists, ensureListActions } from '@acorex/platform/layout/entity';\n/**\n * attachments plugin\n * Notes:\n * - Always ensures an 'attachments' group and single-view section\n * - Always ensures the property exists if missing\n * - Uses provided accept/multiple/fileEditable; others are fixed\n */\nexport const attachmentsPlugin = {\n name: 'attachments',\n order: 50,\n apply: (ctx, options) => {\n const opts = options ?? {};\n const field = opts.field && opts.field.trim().length > 0 ? opts.field : 'attachments';\n const displayTitle = opts.title && opts.title.trim().length > 0 ? opts.title : 'Attachments';\n // Ensure group and section ids (unique per field)\n const sectionId = `attachments-${field}`;\n const groupIdForProperty = `attachments-${field}`;\n const existingGroups = ctx.groups.list() ?? [];\n if (!existingGroups.some((g) => g.id === groupIdForProperty)) {\n ctx.groups.add({ id: groupIdForProperty, title: displayTitle });\n }\n // Ensure property exists (using a generic file-uploader interface)\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === field)) {\n ctx.properties.add({\n name: field,\n title: displayTitle,\n groupId: groupIdForProperty,\n schema: {\n dataType: 'string',\n interface: {\n type: 'file-uploader',\n options: {\n multiple: opts.multiple ?? true,\n accept: opts.accept,\n fileEditable: opts.fileEditable ?? true,\n fileIds: `{{ Array.isArray(context.eval(\"${field}\")) ? context.eval(\"${field}\") : [context.eval(\"${field}\")] }}`,\n plugins: opts.plugins ?? [],\n },\n },\n },\n });\n }\n // Ensure column exists\n const cols = ctx.columns.list() ?? [];\n if (!cols?.some((c) => c.name === field)) {\n ctx.columns.add({ name: field });\n }\n // Ensure single view section and property layout exists\n const sectionOrder = 8;\n const colSpan = 12;\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === sectionId)) {\n next.sections.push({ id: sectionId, title: displayTitle, order: 100 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n label: { visible: false },\n positions: { lg: { colSpan, order: sectionOrder } },\n },\n });\n }\n return next;\n });\n // Ensure create view includes the section and property layout\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === sectionId)) {\n next.sections.push({ id: sectionId, title: displayTitle });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n label: { visible: false },\n positions: { lg: { colSpan, order: 6 } },\n },\n });\n }\n return next;\n });\n // Ensure update view includes the section and property layout\n ctx.interfaces.master.modify.update((modify) => {\n const next = modify ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === sectionId)) {\n next.sections.push({ id: sectionId, title: displayTitle });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n positions: { lg: { colSpan, order: 6 } },\n },\n });\n }\n return next;\n });\n // Ensure list action to open file uploader popup exists\n ensureListActions(ctx);\n ctx.interfaces.update((i) => {\n const actions = i.master.list.actions;\n const cmdName = 'show-file-uploader-popup';\n const actionName = `attachments-${field}`;\n if (!actionExists(actions, cmdName, actionName)) {\n actions.push({\n name: actionName,\n title: opts.titleKey ?? opts.label ?? '@document-management:actions.uploadFiles',\n command: {\n name: cmdName,\n options: {\n id: '{{ context.eval(\"id\") }}',\n files: `{{ Array.isArray(context.eval(\"${field}\")) ? context.eval(\"${field}\") : [context.eval(\"${field}\")] }}`,\n multiple: opts.multiple ?? true,\n accept: opts.accept ?? '.jpg,.jpeg,.png,.gif,.webp',\n key: field,\n fileEditable: opts.fileEditable ?? true,\n },\n },\n priority: 'secondary',\n type: 'upload',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n return i;\n });\n // Stamp normalized config for middleware\n ctx.entity.extensions ??= {};\n ctx.entity.extensions.attachments ??= {};\n ctx.entity.extensions.attachments[field] = { title: displayTitle };\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9zaGFyZWQvYXR0YWNobWVudHMucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXlCLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFzQnhHOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUEwQjtJQUN0RCxJQUFJLEVBQUUsYUFBYTtJQUNuQixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFrQyxFQUFFLEVBQUU7UUFDakQsTUFBTSxJQUFJLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ3RGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFN0Ysa0RBQWtEO1FBQ2xELE1BQU0sU0FBUyxHQUFHLGVBQWUsS0FBSyxFQUFFLENBQUM7UUFDekMsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEtBQUssRUFBRSxDQUFDO1FBQ2xELE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxN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QUk7eUJBQ3hDO3FCQUNGO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDeEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sQ0FBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBRUgseUNBQXlDO1FBQ3hDLEdBQUcsQ0FBQyxNQUFjLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQztRQUNyQyxHQUFHLENBQUMsTUFBYyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEtBQUssRUFBRSxDQUFDO1FBQ2pELEdBQUcsQ0FBQyxNQUFjLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRTY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGFjdGlvbkV4aXN0cywgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRzUGx1Z2luT3B0aW9ucyA9IHtcbiAgLy8gcHJvcGVydHkgbmFtZSB0byBob2xkIGZpbGUgbGlzdCwgZS5nLiwgZGVmYXVsdCBpcyAnYXR0YWNobWVudHMnXG4gIGZpZWxkPzogc3RyaW5nO1xuICAvLyBmaWVsZCBhbmQgZ3JvdXAgdGl0bGVcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8vIGFjY2VwdDogc3RyaW5nIChlLmcuLCAnLmpwZywucG5nJylcbiAgYWNjZXB0Pzogc3RyaW5nO1xuICAvLyBtdWx0aXBsZTogYm9vbGVhbiAoZGVmYXVsdCB0cnVlKVxuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIC8vIHRpdGxlS2V5OiBzdHJpbmcgKGkxOG4ga2V5IGZvciBhY3Rpb24gdGl0bGUpXG4gIHRpdGxlS2V5Pzogc3RyaW5nO1xuICAvLyBsYWJlbDogc3RyaW5nIChmYWxsYmFjayBhY3Rpb24gbGFiZWwpXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvLyBmaWxlRWRpdGFibGU6IGJvb2xlYW4gKGRlZmF1bHQgdHJ1ZSlcbiAgZmlsZUVkaXRhYmxlPzogYm9vbGVhbjtcbiAgLy8gZmlsZS11cGxvYWRlciBwbHVnaW5zXG4gIHBsdWdpbnM/OiB7IG5hbWU6IHN0cmluZzsgb3B0aW9ucz86IHVua25vd24gfVtdO1xuICBleGNsdWRlUGx1Z2lucz86IHN0cmluZ1tdO1xufTtcblxuLyoqXG4gKiBhdHRhY2htZW50cyBwbHVnaW5cbiAqIE5vdGVzOlxuICogLSBBbHdheXMgZW5zdXJlcyBhbiAnYXR0YWNobWVudHMnIGdyb3VwIGFuZCBzaW5nbGUtdmlldyBzZWN0aW9uXG4gKiAtIEFsd2F5cyBlbnN1cmVzIHRoZSBwcm9wZXJ0eSBleGlzdHMgaWYgbWlzc2luZ1xuICogLSBVc2VzIHByb3ZpZGVkIGFjY2VwdC9tdWx0aXBsZS9maWxlRWRpdGFibGU7IG90aGVycyBhcmUgZml4ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGF0dGFjaG1lbnRzUGx1Z2luOiBBWFBFbnRpdHlBY3Rpb25QbHVnaW4gPSB7XG4gIG5hbWU6ICdhdHRhY2htZW50cycsXG4gIG9yZGVyOiA1MCxcbiAgYXBwbHk6IChjdHgsIG9wdGlvbnM/OiBBdHRhY2htZW50c1BsdWdpbk9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBvcHRzID0gb3B0aW9ucyA/PyB7fTtcbiAgICBjb25zdCBmaWVsZCA9IG9wdHMuZmllbGQgJiYgb3B0cy5maWVsZC50cmltKCkubGVuZ3RoID4gMCA/IG9wdHMuZmllbGQgOiAnYXR0YWNobWVudHMnO1xuICAgIGNvbnN0IGRpc3BsYXlUaXRsZSA9IG9wdHMudGl0bGUgJiYgb3B0cy50aXRsZS50cmltKCkubGVuZ3RoID4gMCA/IG9wdHMudGl0bGUgOiAnQXR0YWNobWVudHMnO1xuXG4gICAgLy8gRW5zdXJlIGdyb3VwIGFuZCBzZWN0aW9uIGlkcyAodW5pcXVlIHBlciBmaWVsZClcbiAgICBjb25zdCBzZWN0aW9uSWQgPSBgYXR0YWNobWVudHMtJHtmaWVsZH1gO1xuICAgIGNvbnN0IGdyb3VwSWRGb3JQcm9wZXJ0eSA9IGBhdHRhY2htZW50cy0ke2ZpZWxkfWA7XG4gICAgY29uc3QgZXhpc3RpbmdHcm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICBpZiAoIWV4aXN0aW5nR3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gZ3JvdXBJZEZvclByb3BlcnR5KSkge1xuICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZEZvclByb3BlcnR5LCB0aXRsZTogZGlzcGxheVRpdGxlIH0gYXMgYW55KTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgcHJvcGVydHkgZXhpc3RzICh1c2luZyBhIGdlbmVyaWMgZmlsZS11cGxvYWRlciBpbnRlcmZhY2UpXG4gICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgaWYgKCFwcm9wcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICBjdHgucHJvcGVydGllcy5hZGQoe1xuICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgdGl0bGU6IGRpc3BsYXlUaXRsZSxcbiAgICAgICAgZ3JvdXBJZDogZ3JvdXBJZEZvclByb3BlcnR5LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnZmlsZS11cGxvYWRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIG11bHRpcGxlOiBvcHRzLm11bHRpcGxlID8/IHRydWUsXG4gICAgICAgICAgICAgIGFjY2VwdDogb3B0cy5hY2NlcHQsXG4gICAgICAgICAgICAgIGZpbGVFZGl0YWJsZTogb3B0cy5maWxlRWRpdGFibGUgPz8gdHJ1ZSxcbiAgICAgICAgICAgICAgZmlsZUlkczogYHt7IEFycmF5LmlzQXJyYXkoY29udGV4dC5ldmFsKFwiJHtmaWVsZH1cIikpID8gY29udGV4dC5ldmFsKFwiJHtmaWVsZH1cIikgOiBbY29udGV4dC5ldmFsKFwiJHtmaWVsZH1cIildIH19YCxcbiAgICAgICAgICAgICAgcGx1Z2luczogb3B0cy5wbHVnaW5zID8/IFtdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnkpO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSBjb2x1bW4gZXhpc3RzXG4gICAgY29uc3QgY29scyA9IGN0eC5jb2x1bW5zLmxpc3QoKSA/PyBbXTtcbiAgICBpZiAoIWNvbHM/LnNvbWUoKGM6IGFueSkgPT4gYy5uYW1lID09PSBmaWVsZCkpIHtcbiAgICAgIGN0eC5jb2x1bW5zLmFkZCh7IG5hbWU6IGZpZWxkIH0gYXMgYW55KTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgc2luZ2xlIHZpZXcgc2VjdGlvbiBhbmQgcHJvcGVydHkgbGF5b3V0IGV4aXN0c1xuICAgIGNvbnN0IHNlY3Rpb25PcmRlciA9IDg7XG4gICAgY29uc3QgY29sU3BhbiA9IDEyO1xuICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcbiAgICAgIGNvbnN0IG5leHQ6IGFueSA9IHNpbmdsZSA/PyB7IHRpdGxlOiBjdHguZW50aXR5LnRpdGxlLCBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IHNlY3Rpb25JZCkpIHtcbiAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IHNlY3Rpb25JZCwgdGl0bGU6IGRpc3BsYXlUaXRsZSwgb3JkZXI6IDEwMCB9KTtcbiAgICAgIH1cbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSBmaWVsZCkpIHtcbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLFxuICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgbGFiZWw6IHsgdmlzaWJsZTogZmFsc2UgfSxcbiAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuLCBvcmRlcjogc2VjdGlvbk9yZGVyIH0gfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH0pO1xuXG4gICAgLy8gRW5zdXJlIGNyZWF0ZSB2aWV3IGluY2x1ZGVzIHRoZSBzZWN0aW9uIGFuZCBwcm9wZXJ0eSBsYXlvdXRcbiAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuY3JlYXRlLnVwZGF0ZSgoY3JlYXRlKSA9PiB7XG4gICAgICBjb25zdCBuZXh0OiBhbnkgPSBjcmVhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IHNlY3Rpb25JZCkpIHtcbiAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IHNlY3Rpb25JZCwgdGl0bGU6IGRpc3BsYXlUaXRsZSB9KTtcbiAgICAgIH1cbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSBmaWVsZCkpIHtcbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLFxuICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgbGFiZWw6IHsgdmlzaWJsZTogZmFsc2UgfSxcbiAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuLCBvcmRlcjogNiB9IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9KTtcblxuICAgIC8vIEVuc3VyZSB1cGRhdGUgdmlldyBpbmNsdWRlcyB0aGUgc2VjdGlvbiBhbmQgcHJvcGVydHkgbGF5b3V0XG4gICAgY3R4LmludGVyZmFjZXMubWFzdGVyLm1vZGlmeS51cGRhdGUoKG1vZGlmeSkgPT4ge1xuICAgICAgY29uc3QgbmV4dDogYW55ID0gbW9kaWZ5ID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBzZWN0aW9uSWQpKSB7XG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBzZWN0aW9uSWQsIHRpdGxlOiBkaXNwbGF5VGl0bGUgfSk7XG4gICAgICB9XG4gICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuLCBvcmRlcjogNiB9IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9KTtcblxuICAgIC8vIEVuc3VyZSBsaXN0IGFjdGlvbiB0byBvcGVuIGZpbGUgdXBsb2FkZXIgcG9wdXAgZXhpc3RzXG4gICAgZW5zdXJlTGlzdEFjdGlvbnMoY3R4KTtcbiAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgYW55W107XG4gICAgICBjb25zdCBjbWROYW1lID0gJ3Nob3ctZmlsZS11cGxvYWRlci1wb3B1cCc7XG4gICAgICBjb25zdCBhY3Rpb25OYW1lID0gYGF0dGFjaG1lbnRzLSR7ZmllbGR9YDtcbiAgICAgIGlmICghYWN0aW9uRXhpc3RzKGFjdGlvbnMsIGNtZE5hbWUsIGFjdGlvbk5hbWUpKSB7XG4gICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgbmFtZTogYWN0aW9uTmFtZSxcbiAgICAgICAgICB0aXRsZTogb3B0cy50aXRsZUtleSA/PyBvcHRzLmxhYmVsID8/ICdAZG9jdW1lbnQtbWFuYWdlbWVudDphY3Rpb25zLnVwbG9hZEZpbGVzJyxcbiAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICBuYW1lOiBjbWROYW1lLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBpZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgZmlsZXM6IGB7eyBBcnJheS5pc0FycmF5KGNvbnRleHQuZXZhbChcIiR7ZmllbGR9XCIpKSA/IGNvbnRleHQuZXZhbChcIiR7ZmllbGR9XCIpIDogW2NvbnRleHQuZXZhbChcIiR7ZmllbGR9XCIpXSB9fWAsXG4gICAgICAgICAgICAgIG11bHRpcGxlOiBvcHRzLm11bHRpcGxlID8/IHRydWUsXG4gICAgICAgICAgICAgIGFjY2VwdDogb3B0cy5hY2NlcHQgPz8gJy5qcGcsLmpwZWcsLnBuZywuZ2lmLC53ZWJwJyxcbiAgICAgICAgICAgICAga2V5OiBmaWVsZCxcbiAgICAgICAgICAgICAgZmlsZUVkaXRhYmxlOiBvcHRzLmZpbGVFZGl0YWJsZSA/PyB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICB0eXBlOiAndXBsb2FkJyxcbiAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgIH0pO1xuXG4gICAgLy8gU3RhbXAgbm9ybWFsaXplZCBjb25maWcgZm9yIG1pZGRsZXdhcmVcbiAgICAoY3R4LmVudGl0eSBhcyBhbnkpLmV4dGVuc2lvbnMgPz89IHt9O1xuICAgIChjdHguZW50aXR5IGFzIGFueSkuZXh0ZW5zaW9ucy5hdHRhY2htZW50cyA/Pz0ge307XG4gICAgKGN0eC5lbnRpdHkgYXMgYW55KS5leHRlbnNpb25zLmF0dGFjaG1lbnRzW2ZpZWxkXSA9IHsgdGl0bGU6IGRpc3BsYXlUaXRsZSB9O1xuICB9LFxufTtcbiJdfQ==","import { AXPWorkflowTaskProvider, } from '@acorex/modules/task-management';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDistributionService } from '../../entities';\nexport class AXMDocumentDistributionTaskProvider extends AXPWorkflowTaskProvider {\n constructor() {\n super(...arguments);\n this.documentService = inject(AXMDistributionService);\n this.workflowService = inject(AXPWorkflowService);\n }\n get name() {\n return 'document-distribution';\n }\n get title() {\n return 'Document Distribution';\n }\n get icon() {\n return 'fa-light fa-file-pen';\n }\n /**\n * Retrieves a list of tasks, optionally filtered by a date range.\n * If a date range is provided in the options, only tasks that overlap with that range will be returned.\n * @param options Filtering options, primarily containing a date range.\n * @returns An array of filtered tasks.\n */\n async getTasks(options) {\n const baseFilter = {\n logic: 'and',\n filters: [],\n };\n if (options?.range?.from) {\n baseFilter.filters?.push({\n field: 'distributionDate',\n operator: { type: 'gte' },\n value: options.range.from,\n });\n }\n if (options?.range?.end) {\n baseFilter.filters?.push({\n field: 'distributionDate',\n operator: { type: 'lte' },\n value: options.range.end,\n });\n }\n const filteredList = await this.documentService.query({\n skip: options?.skip ?? 0,\n take: options?.take ?? 10,\n filter: baseFilter,\n });\n return {\n items: filteredList.items.map((item) => ({\n id: item.id,\n title: item.document?.title ?? '' + ' - ' + item.version,\n startDate: item.auditInfo?.created?.at ?? new Date(),\n endDate: item.dueDate ?? new Date(),\n index: 0,\n status: {\n id: 0,\n title: 'Pending',\n },\n priority: 'high',\n reporter: {\n id: item.auditInfo?.created?.by?.id ?? '',\n type: 'user',\n fullName: item.auditInfo?.created?.by?.fullName ?? '',\n },\n data: item,\n })),\n total: filteredList.total,\n };\n }\n /**\n * Updates one or more tasks in the provider's list.\n * This method finds each task by its ID and applies the new properties from the input.\n * It also automatically recalculates the `allDay` flag based on the task's duration.\n * @param tasksToUpdate An array of task objects to update. Each object must have an `id`.\n * @returns An array of the tasks that were successfully updated.\n */\n async updateTasks(tasksToUpdate) {\n console.log(tasksToUpdate);\n return tasksToUpdate;\n }\n async executeCommand(command) {\n if (command.name === 'document-signature') {\n this.workflowService.execute(command.name, command);\n }\n return { success: true };\n }\n async getActions(task) {\n const edit = {\n title: `@${RootConfig.config.i18n}:workflows.documentDistribution.sign`,\n command: {\n name: 'document-signature',\n options: {\n id: task?.id,\n title: task?.title,\n fileId: task?.data?.document?.fileId,\n },\n },\n };\n return [edit];\n }\n async getExtraFields() {\n return [];\n }\n async getStatuses() {\n return [\n { index: 0, key: 'pending', title: 'Pending' },\n { index: 1, key: 'in-progress', title: 'In Progress' },\n { index: 2, key: 'done', title: 'Done' },\n { index: 3, key: 'canceled', title: 'Canceled' },\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLnRhc2sucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3Rhc2svZGlzdHJpYnV0aW9uLnRhc2sucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUtMLHVCQUF1QixHQUN4QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQWdELE1BQU0sZ0JBQWdCLENBQUM7QUFFdEcsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLHVCQUFxRTtJQUE5SDs7UUFDVSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUEwSHZELENBQUM7SUF4SEMsSUFBSSxJQUFJO1FBQ04sT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsUUFBUSxDQUNaLE9BQXNCO1FBRXRCLE1BQU0sVUFBVSxHQUE2QjtZQUMzQyxLQUFLLEVBQUUsS0FBSztZQUNaLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUVGLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsT0FB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O29CQUNsQixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTTtpQkFDckM7YUFDRjtTQUNGLENBQUM7UUFFRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsT0FBTztZQUNMLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDOUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtZQUN0RCxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ3hDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7U0FDakQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWFBFeHRyYUZpZWxkLFxuICBBWFBUYXNrLFxuICBBWFBUYXNrRmlsdGVyLFxuICBBWFBUYXNrU3RhdHVzLFxuICBBWFBXb3JrZmxvd1Rhc2tQcm92aWRlcixcbn0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL3Rhc2stbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQsIEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRGlzdHJpYnV0aW9uU2VydmljZSwgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RGlzdHJpYnV0aW9uRW50aXR5TW9kZWwgfSBmcm9tICcuLi8uLi9lbnRpdGllcyc7XG5cbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudERpc3RyaWJ1dGlvblRhc2tQcm92aWRlciBleHRlbmRzIEFYUFdvcmtmbG93VGFza1Byb3ZpZGVyPEFYTURvY3VtZW50TWFuYWdlbWVudERpc3RyaWJ1dGlvbkVudGl0eU1vZGVsPiB7XG4gIHByaXZhdGUgZG9jdW1lbnRTZXJ2aWNlID0gaW5qZWN0KEFYTURpc3RyaWJ1dGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdkb2N1bWVudC1kaXN0cmlidXRpb24nO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdEb2N1bWVudCBEaXN0cmlidXRpb24nO1xuICB9XG5cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2ZhLWxpZ2h0IGZhLWZpbGUtcGVuJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IGEgZGF0ZSByYW5nZS5cbiAgICogSWYgYSBkYXRlIHJhbmdlIGlzIHByb3ZpZGVkIGluIHRoZSBvcHRpb25zLCBvbmx5IHRhc2tzIHRoYXQgb3ZlcmxhcCB3aXRoIHRoYXQgcmFuZ2Ugd2lsbCBiZSByZXR1cm5lZC5cbiAgICogQHBhcmFtIG9wdGlvbnMgRmlsdGVyaW5nIG9wdGlvbnMsIHByaW1hcmlseSBjb250YWluaW5nIGEgZGF0ZSByYW5nZS5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgZmlsdGVyZWQgdGFza3MuXG4gICAqL1xuICBhc3luYyBnZXRUYXNrcyhcbiAgICBvcHRpb25zOiBBWFBUYXNrRmlsdGVyLFxuICApOiBQcm9taXNlPHsgaXRlbXM6IEFYUFRhc2s8QVhNRG9jdW1lbnRNYW5hZ2VtZW50RGlzdHJpYnV0aW9uRW50aXR5TW9kZWw+W107IHRvdGFsOiBudW1iZXIgfT4ge1xuICAgIGNvbnN0IGJhc2VGaWx0ZXI6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcbiAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgIGZpbHRlcnM6IFtdLFxuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucz8ucmFuZ2U/LmZyb20pIHtcbiAgICAgIGJhc2VGaWx0ZXIuZmlsdGVycz8ucHVzaCh7XG4gICAgICAgIGZpZWxkOiAnZGlzdHJpYnV0aW9uRGF0ZScsXG4gICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdndGUnIH0sXG4gICAgICAgIHZhbHVlOiBvcHRpb25zIS5yYW5nZSEuZnJvbSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ucmFuZ2U/LmVuZCkge1xuICAgICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHtcbiAgICAgICAgZmllbGQ6ICdkaXN0cmlidXRpb25EYXRlJyxcbiAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2x0ZScgfSxcbiAgICAgICAgdmFsdWU6IG9wdGlvbnMhLnJhbmdlIS5lbmQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJlZExpc3QgPSBhd2FpdCB0aGlzLmRvY3VtZW50U2VydmljZS5xdWVyeSh7XG4gICAgICBza2lwOiBvcHRpb25zPy5za2lwID8/IDAsXG4gICAgICB0YWtlOiBvcHRpb25zPy50YWtlID8/IDEwLFxuICAgICAgZmlsdGVyOiBiYXNlRmlsdGVyLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiBmaWx0ZXJlZExpc3QuaXRlbXMubWFwPEFYUFRhc2s8QVhNRG9jdW1lbnRNYW5hZ2VtZW50RGlzdHJpYnV0aW9uRW50aXR5TW9kZWw+PigoaXRlbSkgPT4gKHtcbiAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgIHRpdGxlOiBpdGVtLmRvY3VtZW50Py50aXRsZSA/PyAnJyArICcgLSAnICsgaXRlbS52ZXJzaW9uLFxuICAgICAgICBzdGFydERhdGU6IGl0ZW0uYXVkaXRJbmZvPy5jcmVhdGVkPy5hdCA/PyBuZXcgRGF0ZSgpLFxuICAgICAgICBlbmREYXRlOiBpdGVtLmR1ZURhdGUgPz8gbmV3IERhdGUoKSxcbiAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgIHN0YXR1czoge1xuICAgICAgICAgIGlkOiAwLFxuICAgICAgICAgIHRpdGxlOiAnUGVuZGluZycsXG4gICAgICAgIH0sXG4gICAgICAgIHByaW9yaXR5OiAnaGlnaCcsXG4gICAgICAgIHJlcG9ydGVyOiB7XG4gICAgICAgICAgaWQ6IGl0ZW0uYXVkaXRJbmZvPy5jcmVhdGVkPy5ieT8uaWQgPz8gJycsXG4gICAgICAgICAgdHlwZTogJ3VzZXInLFxuICAgICAgICAgIGZ1bGxOYW1lOiBpdGVtLmF1ZGl0SW5mbz8uY3JlYXRlZD8uYnk/LmZ1bGxOYW1lID8/ICcnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBpdGVtLFxuICAgICAgfSkpLFxuICAgICAgdG90YWw6IGZpbHRlcmVkTGlzdC50b3RhbCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgb25lIG9yIG1vcmUgdGFza3MgaW4gdGhlIHByb3ZpZGVyJ3MgbGlzdC5cbiAgICogVGhpcyBtZXRob2QgZmluZHMgZWFjaCB0YXNrIGJ5IGl0cyBJRCBhbmQgYXBwbGllcyB0aGUgbmV3IHByb3BlcnRpZXMgZnJvbSB0aGUgaW5wdXQuXG4gICAqIEl0IGFsc28gYXV0b21hdGljYWxseSByZWNhbGN1bGF0ZXMgdGhlIGBhbGxEYXlgIGZsYWcgYmFzZWQgb24gdGhlIHRhc2sncyBkdXJhdGlvbi5cbiAgICogQHBhcmFtIHRhc2tzVG9VcGRhdGUgQW4gYXJyYXkgb2YgdGFzayBvYmplY3RzIHRvIHVwZGF0ZS4gRWFjaCBvYmplY3QgbXVzdCBoYXZlIGFuIGBpZGAuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHRoZSB0YXNrcyB0aGF0IHdlcmUgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuXG4gICAqL1xuICBhc3luYyB1cGRhdGVUYXNrcyhcbiAgICB0YXNrc1RvVXBkYXRlOiBBWFBUYXNrPEFYTURvY3VtZW50TWFuYWdlbWVudERpc3RyaWJ1dGlvbkVudGl0eU1vZGVsPltdLFxuICApOiBQcm9taXNlPEFYUFRhc2s8QVhNRG9jdW1lbnRNYW5hZ2VtZW50RGlzdHJpYnV0aW9uRW50aXR5TW9kZWw+W10+IHtcbiAgICBjb25zb2xlLmxvZyh0YXNrc1RvVXBkYXRlKTtcblxuICAgIHJldHVybiB0YXNrc1RvVXBkYXRlO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0PiB7XG4gICAgaWYgKGNvbW1hbmQubmFtZSA9PT0gJ2RvY3VtZW50LXNpZ25hdHVyZScpIHtcbiAgICAgIHRoaXMud29ya2Zsb3dTZXJ2aWNlLmV4ZWN1dGUoY29tbWFuZC5uYW1lLCBjb21tYW5kKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0QWN0aW9ucyh0YXNrPzogQVhQVGFzazxBWE1Eb2N1bWVudE1hbmFnZW1lbnREaXN0cmlidXRpb25FbnRpdHlNb2RlbD4pOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBjb25zdCBlZGl0OiBBWFBBY3Rpb25NZW51SXRlbSA9IHtcbiAgICAgIHRpdGxlOiBgQCR7Um9vdENvbmZpZy5jb25maWcuaTE4bn06d29ya2Zsb3dzLmRvY3VtZW50RGlzdHJpYnV0aW9uLnNpZ25gLFxuICAgICAgY29tbWFuZDoge1xuICAgICAgICBuYW1lOiAnZG9jdW1lbnQtc2lnbmF0dXJlJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGlkOiB0YXNrPy5pZCxcbiAgICAgICAgICB0aXRsZTogdGFzaz8udGl0bGUsXG4gICAgICAgICAgZmlsZUlkOiB0YXNrPy5kYXRhPy5kb2N1bWVudD8uZmlsZUlkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtlZGl0XTtcbiAgfVxuXG4gIGFzeW5jIGdldEV4dHJhRmllbGRzKCk6IFByb21pc2U8QVhQRXh0cmFGaWVsZFtdPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RhdHVzZXMoKTogUHJvbWlzZTxBWFBUYXNrU3RhdHVzW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAgeyBpbmRleDogMCwga2V5OiAncGVuZGluZycsIHRpdGxlOiAnUGVuZGluZycgfSxcbiAgICAgIHsgaW5kZXg6IDEsIGtleTogJ2luLXByb2dyZXNzJywgdGl0bGU6ICdJbiBQcm9ncmVzcycgfSxcbiAgICAgIHsgaW5kZXg6IDIsIGtleTogJ2RvbmUnLCB0aXRsZTogJ0RvbmUnIH0sXG4gICAgICB7IGluZGV4OiAzLCBrZXk6ICdjYW5jZWxlZCcsIHRpdGxlOiAnQ2FuY2VsZWQnIH0sXG4gICAgXTtcbiAgfVxufVxuIl19","import { AXCalendarService } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowTaskProvider, } from '@acorex/modules/task-management';\nimport { AXPDistributedEventListenerService, } from '@acorex/platform/core';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nimport { AXMReviewService } from '../../entities';\nexport class AXMDocumentReviewTaskProvider extends AXPWorkflowTaskProvider {\n constructor() {\n super(...arguments);\n this.documentReviewService = inject(AXMReviewService);\n this.commandExecutor = inject(AXPCommandExecutor);\n this.translationService = inject(AXTranslationService);\n this.calendarService = inject(AXCalendarService);\n this.workflowService = inject(AXPWorkflowService);\n this.eventService = inject(AXPDistributedEventListenerService);\n //#endregion\n }\n get name() {\n return 'document-review';\n }\n get title() {\n return '@document-management:review.plural-title';\n }\n get icon() {\n return 'fa-light fa-file-pen';\n }\n async getTasks(options) {\n try {\n const baseFilter = { logic: 'and', filters: [] };\n // Exclude completed items from task board\n baseFilter.filters?.push({\n field: 'reviewStatus',\n operator: { type: 'equal', negative: true },\n value: 'Approved'\n });\n baseFilter.filters?.push({\n field: 'reviewStatus',\n operator: { type: 'equal', negative: true },\n value: 'Rejected'\n });\n // Handle date range filtering\n if (options?.range?.from) {\n baseFilter.filters?.push({\n field: 'auditInfo.created.at',\n operator: { type: 'gte' },\n value: options.range.from\n });\n }\n if (options?.range?.end) {\n baseFilter.filters?.push({\n field: 'auditInfo.created.at',\n operator: { type: 'lte' },\n value: options.range.end\n });\n }\n // Handle assignee filtering\n if (options?.assigneeIds && options.assigneeIds.length > 0) {\n baseFilter.filters?.push({\n field: 'reviewerId',\n operator: { type: 'in' },\n value: options.assigneeIds\n });\n }\n const { items, total } = await this.documentReviewService.query({\n skip: options?.skip ?? 0,\n take: options?.take ?? 20,\n filter: baseFilter,\n });\n const tasks = await Promise.all(items.map(async (item) => ({\n id: item.id,\n title: `${item.document?.title ?? 'Document'} - v${item.version}`,\n description: item.document?.description ?? 'Document Review',\n startDate: this.calendarService.create(item?.auditInfo?.created?.at ?? new Date()).startOf('day').date,\n endDate: this.calendarService.create(item?.auditInfo?.created?.at ?? new Date()).endOf('day').date,\n assignee: {\n id: item.reviewerId ?? '',\n type: 'user',\n fullName: item.reviewer?.displayName ?? 'Unassigned',\n },\n index: this.getTaskIndex(item.reviewStatus),\n status: {\n id: item.reviewStatus ?? 'Pending',\n title: await this.getStatusTitle(item.reviewStatus ?? 'Pending'),\n },\n priority: this.getTaskPriority(item.reviewStatus),\n reporter: {\n id: item?.auditInfo?.created?.by?.id ?? '',\n type: 'user',\n fullName: item?.auditInfo?.created?.by?.displayName ?? 'Unknown',\n },\n payload: item,\n })));\n return { items: tasks, total };\n }\n catch (error) {\n console.error('Error fetching document review tasks:', error);\n return { items: [], total: 0 };\n }\n }\n async updateTasks(tasksToUpdate) {\n return tasksToUpdate;\n }\n async executeCommand(command) {\n if (!command?.name)\n return { success: true };\n const id = command.options?.['id'] ?? '';\n const title = command.options?.['title'] ?? '';\n switch (command.name) {\n case 'submitReview':\n return (await this.commandExecutor.execute('DocumentManagement.Review:Submit', { id, title })) ?? { success: true };\n case 'approveReview':\n return (await this.commandExecutor.execute('DocumentManagement.Review:Approve', { id, title })) ?? { success: true };\n case 'rejectReview':\n return (await this.commandExecutor.execute('DocumentManagement.Review:Reject', { id, title })) ?? { success: true };\n case 'open':\n return ((await this.commandExecutor.execute('Entity:OpenDetails', {\n entity: 'DocumentManagement.Review',\n data: { id },\n })) ?? { success: true });\n }\n return { success: true };\n }\n async getActions(task) {\n const actions = [];\n actions.push({\n name: 'open',\n title: this.translationService.translateSync('@general:actions.view.title'),\n icon: 'fa-light fa-eye',\n color: 'primary',\n break: true,\n command: { name: 'open', options: { id: task?.id ?? '' } },\n });\n // Submit review action - available for pending reviews\n if (task?.status?.id === 'Pending') {\n actions.push({\n name: 'submitReview',\n title: this.translationService.translateSync('@document-management:review.actions.submit'),\n icon: 'fa-light fa-pen-to-square',\n color: 'primary',\n command: { name: 'submitReview', options: { id: task?.id ?? '' } },\n });\n }\n // Approve action - available for pending reviews\n if (task?.status?.id === 'Pending') {\n actions.push({\n name: 'approveReview',\n title: this.translationService.translateSync('@general:actions.approve.title'),\n icon: 'fa-light fa-check',\n color: 'success',\n command: { name: 'approveReview', options: { id: task?.id ?? '' } },\n });\n }\n // Reject action - available for pending reviews\n if (task?.status?.id === 'Pending') {\n actions.push({\n name: 'rejectReview',\n title: this.translationService.translateSync('@general:actions.reject.title'),\n icon: 'fa-light fa-xmark',\n color: 'danger',\n command: { name: 'rejectReview', options: { id: task?.id ?? '' } },\n });\n }\n return actions;\n }\n async getExtraFields() {\n return [];\n }\n async getStatuses() {\n return [\n {\n index: 0,\n key: 'Pending',\n title: await this.translationService.translateAsync('@document-management:review.pending'),\n color: 'warning',\n },\n {\n index: 1,\n key: 'Approved',\n title: await this.translationService.translateAsync('@document-management:review.approved'),\n color: 'success',\n },\n {\n index: 2,\n key: 'Rejected',\n title: await this.translationService.translateAsync('@document-management:review.rejected'),\n color: 'danger',\n },\n ];\n }\n //#region ---- Helper Methods ----\n /**\n * Get task index based on status for ordering\n */\n getTaskIndex(status) {\n switch (status) {\n case 'Pending':\n return 0;\n case 'Approved':\n return 1;\n case 'Rejected':\n return 2;\n default:\n return 0;\n }\n }\n /**\n * Get task priority based on status\n */\n getTaskPriority(status) {\n switch (status) {\n case 'Pending':\n return 'high';\n case 'Approved':\n return 'lowest';\n case 'Rejected':\n return 'medium';\n default:\n return 'medium';\n }\n }\n /**\n * Get translated status title\n */\n async getStatusTitle(status) {\n switch (status) {\n case 'Pending':\n return await this.translationService.translateAsync('@document-management:review.pending');\n case 'Approved':\n return await this.translationService.translateAsync('@document-management:review.approved');\n case 'Rejected':\n return await this.translationService.translateAsync('@document-management:review.rejected');\n default:\n return status;\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LnRhc2sucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3Rhc2svcmV2aWV3LnRhc2sucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUtMLHVCQUF1QixHQUN4QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFFTCxrQ0FBa0MsR0FHbkMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBMEMsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQStEO0lBQWxIOztRQUNtQiwwQkFBcUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBMlAzRSxZQUFZO0lBQ2QsQ0FBQztJQTFQQyxJQUFJ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QUNILENBQUM7SUFFRDs7T0FFRztJQUNLLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBYztRQUN6QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxTQUFTO2dCQUNaLE9BQU8sTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7WUFDN0YsS0FBSyxVQUFVO2dCQUNiLE9BQU8sTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDOUYsS0FBSyxVQUFVO2dCQUNiLE9BQU8sTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDOUY7Z0JBQ0UsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgQVhQRXh0cmFGaWVsZCxcbiAgQVhQVGFzayxcbiAgQVhQVGFza0ZpbHRlcixcbiAgQVhQVGFza1N0YXR1cyxcbiAgQVhQV29ya2Zsb3dUYXNrUHJvdmlkZXIsXG59IGZyb20gJ0BhY29yZXgvbW9kdWxlcy90YXNrLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHtcbiAgQVhQQWN0aW9uTWVudUl0ZW0sXG4gIEFYUERpc3RyaWJ1dGVkRXZlbnRMaXN0ZW5lclNlcnZpY2UsXG4gIEFYUEV4ZWN1dGVDb21tYW5kLFxuICBBWFBFeGVjdXRlQ29tbWFuZFJlc3VsdCxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUENvbW1hbmRFeGVjdXRvciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VtZW50UmV2aWV3RW50aXR5TW9kZWwsIEFYTVJldmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9lbnRpdGllcyc7XG5cbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudFJldmlld1Rhc2tQcm92aWRlciBleHRlbmRzIEFYUFdvcmtmbG93VGFza1Byb3ZpZGVyPEFYTURvY3VtZW50TWFuYWdlbWVudFJldmlld0VudGl0eU1vZGVsPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZXZpZXdTZXJ2aWNlID0gaW5qZWN0KEFYTVJldmlld1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmRFeGVjdXRvciA9IGluamVjdChBWFBDb21tYW5kRXhlY3V0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXJTZXJ2aWNlID0gaW5qZWN0KEFYQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvd1NlcnZpY2UgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudFNlcnZpY2UgPSBpbmplY3QoQVhQRGlzdHJpYnV0ZWRFdmVudExpc3RlbmVyU2VydmljZSk7XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2RvY3VtZW50LXJldmlldyc7XG4gIH1cblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OnJldmlldy5wbHVyYWwtdGl0bGUnO1xuICB9XG5cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2ZhLWxpZ2h0IGZhLWZpbGUtcGVuJztcbiAgfVxuXG4gIGFzeW5jIGdldFRhc2tzKFxuICAgIG9wdGlvbnM6IEFYUFRhc2tGaWx0ZXIsXG4gICk6IFByb21pc2U8eyBpdGVtczogQVhQVGFzazxBWE1Eb2N1bWVudE1hbmFnZW1lbnRSZXZpZXdFbnRpdHlNb2RlbD5bXTsgdG90YWw6IG51bWJlciB9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJhc2VGaWx0ZXI6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHsgbG9naWM6ICdhbmQnLCBmaWx0ZXJzOiBbXSB9O1xuXG4gICAgICAvLyBFeGNsdWRlIGNvbXBsZXRlZCBpdGVtcyBmcm9tIHRhc2sgYm9hcmRcbiAgICAgIGJhc2VGaWx0ZXIuZmlsdGVycz8ucHVzaCh7IFxuICAgICAgICBmaWVsZDogJ3Jldmlld1N0YXR1cycsIFxuICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnLCBuZWdhdGl2ZTogdHJ1ZSB9LCBcbiAgICAgICAgdmFsdWU6ICdBcHByb3ZlZCcgXG4gICAgICB9KTtcbiAgICAgIGJhc2VGaWx0ZXIuZmlsdGVycz8ucHVzaCh7IFxuICAgICAgICBmaWVsZDogJ3Jldmlld1N0YXR1cycsIFxuICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnLCBuZWdhdGl2ZTogdHJ1ZSB9LCBcbiAgICAgICAgdmFsdWU6ICdSZWplY3RlZCcgXG4gICAgICB9KTtcblxuICAgICAgLy8gSGFuZGxlIGRhdGUgcmFuZ2UgZmlsdGVyaW5nXG4gICAgICBpZiAob3B0aW9ucz8ucmFuZ2U/LmZyb20pIHtcbiAgICAgICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHsgXG4gICAgICAgICAgZmllbGQ6ICdhdWRpdEluZm8uY3JlYXRlZC5hdCcsIFxuICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdndGUnIH0sIFxuICAgICAgICAgIHZhbHVlOiBvcHRpb25zLnJhbmdlLmZyb20gXG4gICAgICAgIH0gYXMgYW55KTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zPy5yYW5nZT8uZW5kKSB7XG4gICAgICAgIGJhc2VGaWx0ZXIuZmlsdGVycz8ucHVzaCh7IFxuICAgICAgICAgIGZpZWxkOiAnYXVkaXRJbmZvLmNyZWF0ZWQuYXQnLCBcbiAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnbHRlJyB9LCBcbiAgICAgICAgICB2YWx1ZTogb3B0aW9ucy5yYW5nZS5lbmQgXG4gICAgICAgIH0gYXMgYW55KTtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIGFzc2lnbmVlIGZpbHRlcmluZ1xuICAgICAgaWYgKG9wdGlvbnM/LmFzc2lnbmVlSWRzICYmIG9wdGlvbnMuYXNzaWduZWVJZHMubGVuZ3RoID4gMCkge1xuICAgICAgICBiYXNlRmlsdGVyLmZpbHRlcnM/LnB1c2goeyBcbiAgICAgICAgICBmaWVsZDogJ3Jldmlld2VySWQnLCBcbiAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnaW4nIH0sIFxuICAgICAgICAgIHZhbHVlOiBvcHRpb25zLmFzc2lnbmVlSWRzIFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBpdGVtcywgdG90YWwgfSA9IGF3YWl0IHRoaXMuZG9jdW1lbnRSZXZpZXdTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgICAgc2tpcDogb3B0aW9ucz8uc2tpcCA/PyAwLFxuICAgICAgICB0YWtlOiBvcHRpb25zPy50YWtlID8/IDIwLFxuICAgICAgICBmaWx0ZXI6IGJhc2VGaWx0ZXIsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgdGFza3M6IEFYUFRhc2s8QVhNRG9jdW1lbnRNYW5hZ2VtZW50UmV2aWV3RW50aXR5TW9kZWw+W10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgaXRlbXMubWFwKGFzeW5jIChpdGVtKSA9PiAoe1xuICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgIHRpdGxlOiBgJHtpdGVtLmRvY3VtZW50Py50aXRsZSA/PyAnRG9jdW1lbnQnfSAtIHYke2l0ZW0udmVyc2lvbn1gLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRvY3VtZW50Py5kZXNjcmlwdGlvbiA/PyAnRG9jdW1lbnQgUmV2aWV3JyxcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZSgoaXRlbSBhcyBhbnkpPy5hdWRpdEluZm8/LmNyZWF0ZWQ/LmF0ID8/IG5ldyBEYXRlKCkpLnN0YXJ0T2YoJ2RheScpLmRhdGUsXG4gICAgICAgICAgZW5kRGF0ZTogdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKChpdGVtIGFzIGFueSk/LmF1ZGl0SW5mbz8uY3JlYXRlZD8uYXQgPz8gbmV3IERhdGUoKSkuZW5kT2YoJ2RheScpLmRhdGUsXG4gICAgICAgICAgYXNzaWduZWU6IHtcbiAgICAgICAgICAgIGlkOiBpdGVtLnJldmlld2VySWQgPz8gJycsXG4gICAgICAgICAgICB0eXBlOiAndXNlcicsXG4gICAgICAgICAgICBmdWxsTmFtZTogKGl0ZW0gYXMgYW55KS5yZXZpZXdlcj8uZGlzcGxheU5hbWUgPz8gJ1VuYXNzaWduZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5kZXg6IHRoaXMuZ2V0VGFza0luZGV4KGl0ZW0ucmV2aWV3U3RhdHVzKSxcbiAgICAgICAgICBzdGF0dXM6IHtcbiAgICAgICAgICAgIGlkOiBpdGVtLnJldmlld1N0YXR1cyA/PyAnUGVuZGluZycsXG4gICAgICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy5nZXRTdGF0dXNUaXRsZShpdGVtLnJldmlld1N0YXR1cyA/PyAnUGVuZGluZycpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcHJpb3JpdHk6IHRoaXMuZ2V0VGFza1ByaW9yaXR5KGl0ZW0ucmV2aWV3U3RhdHVzKSxcbiAgICAgICAgICByZXBvcnRlcjoge1xuICAgICAgICAgICAgaWQ6IChpdGVtIGFzIGFueSk/LmF1ZGl0SW5mbz8uY3JlYXRlZD8uYnk/LmlkID8/ICcnLFxuICAgICAgICAgICAgdHlwZTogJ3VzZXInLFxuICAgICAgICAgICAgZnVsbE5hbWU6IChpdGVtIGFzIGFueSk/LmF1ZGl0SW5mbz8uY3JlYXRlZD8uYnk/LmRpc3BsYXlOYW1lID8/ICdVbmtub3duJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBheWxvYWQ6IGl0ZW0sXG4gICAgICAgIH0pKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4geyBpdGVtczogdGFza3MsIHRvdGFsIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGRvY3VtZW50IHJldmlldyB0YXNrczonLCBlcnJvcik7XG4gICAgICByZXR1cm4geyBpdGVtczogW10sIHRvdGFsOiAwIH07XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlVGFza3MoXG4gICAgdGFza3NUb1VwZGF0ZTogQVhQVGFzazxBWE1Eb2N1bWVudE1hbmFnZW1lbnRSZXZpZXdFbnRpdHlNb2RlbD5bXSxcbiAgKTogUHJvbWlzZTxBWFBUYXNrPEFYTURvY3VtZW50TWFuYWdlbWVudFJldmlld0VudGl0eU1vZGVsPltdPiB7XG4gICAgcmV0dXJuIHRhc2tzVG9VcGRhdGU7XG4gIH1cblxuICBhc3luYyBleGVjdXRlQ29tbWFuZChjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ+IHtcbiAgICBpZiAoIWNvbW1hbmQ/Lm5hbWUpIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICBjb25zdCBpZCA9IGNvbW1hbmQub3B0aW9ucz8uWydpZCddID8/ICcnO1xuICAgIGNvbnN0IHRpdGxlID0gY29tbWFuZC5vcHRpb25zPy5bJ3RpdGxlJ10gPz8gJyc7XG5cbiAgICBzd2l0Y2ggKGNvbW1hbmQubmFtZSkge1xuICAgICAgY2FzZSAnc3VibWl0UmV2aWV3JzpcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmNvbW1hbmRFeGVjdXRvci5leGVjdXRlKCdEb2N1bWVudE1hbmFnZW1lbnQuUmV2aWV3OlN1Ym1pdCcsIHsgaWQsIHRpdGxlIH0pKSA/PyB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgIGNhc2UgJ2FwcHJvdmVSZXZpZXcnOlxuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ0RvY3VtZW50TWFuYWdlbWVudC5SZXZpZXc6QXBwcm92ZScsIHsgaWQsIHRpdGxlIH0pKSA/PyB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgIGNhc2UgJ3JlamVjdFJldmlldyc6XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZSgnRG9jdW1lbnRNYW5hZ2VtZW50LlJldmlldzpSZWplY3QnLCB7IGlkLCB0aXRsZSB9KSkgPz8geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAoYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZSgnRW50aXR5Ok9wZW5EZXRhaWxzJywge1xuICAgICAgICAgICAgZW50aXR5OiAnRG9jdW1lbnRNYW5hZ2VtZW50LlJldmlldycsXG4gICAgICAgICAgICBkYXRhOiB7IGlkIH0sXG4gICAgICAgICAgfSkpID8/IHsgc3VjY2VzczogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0QWN0aW9ucyh0YXNrPzogQVhQVGFzazxBWE1Eb2N1bWVudE1hbmFnZW1lbnRSZXZpZXdFbnRpdHlNb2RlbD4pOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBjb25zdCBhY3Rpb25zOiBBWFBBY3Rpb25NZW51SXRlbVtdID0gW107XG5cbiAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgbmFtZTogJ29wZW4nLFxuICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMudmlldy50aXRsZScpLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWV5ZScsXG4gICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgYnJlYWs6IHRydWUsXG4gICAgICBjb21tYW5kOiB7IG5hbWU6ICdvcGVuJywgb3B0aW9uczogeyBpZDogdGFzaz8uaWQgPz8gJycgfSB9LFxuICAgIH0pO1xuXG4gICAgLy8gU3VibWl0IHJldmlldyBhY3Rpb24gLSBhdmFpbGFibGUgZm9yIHBlbmRpbmcgcmV2aWV3c1xuICAgIGlmICh0YXNrPy5zdGF0dXM/LmlkID09PSAnUGVuZGluZycpIHtcbiAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdzdWJtaXRSZXZpZXcnLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlU3luYygnQGRvY3VtZW50LW1hbmFnZW1lbnQ6cmV2aWV3LmFjdGlvbnMuc3VibWl0JyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wZW4tdG8tc3F1YXJlJyxcbiAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgY29tbWFuZDogeyBuYW1lOiAnc3VibWl0UmV2aWV3Jywgb3B0aW9uczogeyBpZDogdGFzaz8uaWQgPz8gJycgfSB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQXBwcm92ZSBhY3Rpb24gLSBhdmFpbGFibGUgZm9yIHBlbmRpbmcgcmV2aWV3c1xuICAgIGlmICh0YXNrPy5zdGF0dXM/LmlkID09PSAnUGVuZGluZycpIHtcbiAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdhcHByb3ZlUmV2aWV3JyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYXBwcm92ZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY2hlY2snLFxuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICBjb21tYW5kOiB7IG5hbWU6ICdhcHByb3ZlUmV2aWV3Jywgb3B0aW9uczogeyBpZDogdGFzaz8uaWQgPz8gJycgfSB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUmVqZWN0IGFjdGlvbiAtIGF2YWlsYWJsZSBmb3IgcGVuZGluZyByZXZpZXdzXG4gICAgaWYgKHRhc2s/LnN0YXR1cz8uaWQgPT09ICdQZW5kaW5nJykge1xuICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3JlamVjdFJldmlldycsXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVTeW5jKCdAZ2VuZXJhbDphY3Rpb25zLnJlamVjdC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEteG1hcmsnLFxuICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogJ3JlamVjdFJldmlldycsIG9wdGlvbnM6IHsgaWQ6IHRhc2s/LmlkID8/ICcnIH0gfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhY3Rpb25zO1xuICB9XG5cbiAgYXN5bmMgZ2V0RXh0cmFGaWVsZHMoKTogUHJvbWlzZTxBWFBFeHRyYUZpZWxkW10+IHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBhc3luYyBnZXRTdGF0dXNlcygpOiBQcm9taXNlPEFYUFRhc2tTdGF0dXNbXT4ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgICBrZXk6ICdQZW5kaW5nJyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZG9jdW1lbnQtbWFuYWdlbWVudDpyZXZpZXcucGVuZGluZycpLFxuICAgICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXg6IDEsXG4gICAgICAgIGtleTogJ0FwcHJvdmVkJyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZG9jdW1lbnQtbWFuYWdlbWVudDpyZXZpZXcuYXBwcm92ZWQnKSxcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4OiAyLFxuICAgICAgICBrZXk6ICdSZWplY3RlZCcsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGRvY3VtZW50LW1hbmFnZW1lbnQ6cmV2aWV3LnJlamVjdGVkJyksXG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIE1ldGhvZHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEdldCB0YXNrIGluZGV4IGJhc2VkIG9uIHN0YXR1cyBmb3Igb3JkZXJpbmdcbiAgICovXG4gIHByaXZhdGUgZ2V0VGFza0luZGV4KHN0YXR1cz86IHN0cmluZyk6IG51bWJlciB7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgIGNhc2UgJ1BlbmRpbmcnOlxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIGNhc2UgJ0FwcHJvdmVkJzpcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICBjYXNlICdSZWplY3RlZCc6XG4gICAgICAgIHJldHVybiAyO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0YXNrIHByaW9yaXR5IGJhc2VkIG9uIHN0YXR1c1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRUYXNrUHJpb3JpdHkoc3RhdHVzPzogc3RyaW5nKTogJ2hpZ2hlc3QnIHwgJ2hpZ2gnIHwgJ21lZGl1bScgfCAnbG93JyB8ICdsb3dlc3QnIHtcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgY2FzZSAnUGVuZGluZyc6XG4gICAgICAgIHJldHVybiAnaGlnaCc7XG4gICAgICBjYXNlICdBcHByb3ZlZCc6XG4gICAgICAgIHJldHVybiAnbG93ZXN0JztcbiAgICAgIGNhc2UgJ1JlamVjdGVkJzpcbiAgICAgICAgcmV0dXJuICdtZWRpdW0nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdtZWRpdW0nO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNsYXRlZCBzdGF0dXMgdGl0bGVcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0U3RhdHVzVGl0bGUoc3RhdHVzOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICBjYXNlICdQZW5kaW5nJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZG9jdW1lbnQtbWFuYWdlbWVudDpyZXZpZXcucGVuZGluZycpO1xuICAgICAgY2FzZSAnQXBwcm92ZWQnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OnJldmlldy5hcHByb3ZlZCcpO1xuICAgICAgY2FzZSAnUmVqZWN0ZWQnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OnJldmlldy5yZWplY3RlZCcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==","import { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injector } from '@angular/core';\nimport { set } from 'lodash-es';\nimport { AXMDocumentService, AXMDocumentTypeService } from '../../entities';\nimport { AXMDocumentDialogService } from './services/document-dialog.service';\n// ---------------- Configure: set accept based on docTypeId ----------------\nexport const DocumentFileUploaderConfigureProvider = {\n key: 'file-uploader.configure',\n priority: 0,\n async execute(payload) {\n const isEnabled = Array.isArray(payload.plugins) && payload.plugins.some((p) => p.name === 'document');\n const isExcluded = Array.isArray(payload.excludePlugins) && payload.excludePlugins.includes('document');\n if (!isEnabled || isExcluded)\n return payload;\n const opts = (payload.plugins.find((p) => p.name === 'document')?.options ?? {});\n if (!opts.docTypeName)\n return payload;\n const documentTypeService = inject(AXMDocumentTypeService);\n const docType = await documentTypeService.getByName(opts.docTypeName);\n const selected = docType?.type?.selectedItems ?? [];\n const extensions = Array.from(new Set(selected\n .map((s) => s?.name)\n .filter((n) => typeof n === 'string' && n.includes('.'))\n .map((n) => `.${n.split('.').pop()?.toLowerCase()}`)));\n payload.overrides = payload.overrides || {};\n payload.overrides['accept'] = extensions.join(',');\n return payload;\n },\n};\n// --------------- After Files Added: scaffold for post-add processing ---------------\nexport const DocumentFileUploaderBeforeFilesAddedProvider = {\n key: 'file-uploader.beforeFilesAdded',\n priority: 0,\n async execute(payload) {\n const isEnabled = Array.isArray(payload.plugins) && payload.plugins.some((p) => p.name === 'document');\n const isExcluded = Array.isArray(payload.excludePlugins) && payload.excludePlugins.includes('document');\n if (!isEnabled || isExcluded)\n return payload;\n const opts = (payload.plugins.find((p) => p.name === 'document')?.options ?? {});\n if (!opts.docTypeName)\n return payload;\n const injector = inject(Injector);\n const documentTypeService = injector.get(AXMDocumentTypeService);\n const docType = await documentTypeService.getByName(opts.docTypeName);\n const documentDialogService = injector.get(AXMDocumentDialogService);\n const result = await documentDialogService.openAttachmentDialogWithoutSave('Document Type Choose File', {\n documentType: docType,\n files: payload.newFiles,\n });\n if (result.data?.cancel != null && !result.data.cancel && result.data?.files) {\n payload.newFiles.forEach((file, i) => {\n set(file, 'metaDataForm', result.data?.files?.[i]?.metaDataForm);\n });\n }\n return payload;\n },\n};\n// --------------- Per-File Actions: scaffold to add item-level actions ---------------\nexport const DocumentFileUploaderFileItemActionsProvider = {\n key: 'file-uploader.fileItem.actions',\n priority: 0,\n async execute(payload) {\n const isEnabled = Array.isArray(payload.plugins) && payload.plugins.some((p) => p.name === 'document');\n const isExcluded = Array.isArray(payload.excludePlugins) && payload.excludePlugins.includes('document');\n if (!isEnabled || isExcluded)\n return payload;\n const actions = [...(payload.actions ?? [])];\n actions.push({\n plugin: 'document',\n global: false,\n textKey: '@document-management:actions.edit-metadata',\n icon: 'fa-light fa-pen-to-square',\n run: async (_ctx) => { },\n });\n // Conditionally add Review / Distribute based on document type flags\n const opts = (payload.plugins.find((p) => p.name === 'document')?.options ?? {});\n if (opts.docTypeName) {\n const injector = inject(Injector);\n const docTypeService = injector.get(AXMDocumentTypeService);\n const documentService = injector.get(AXMDocumentService);\n const workflow = injector.get(AXPWorkflowService);\n const docType = await docTypeService.getByName(opts.docTypeName);\n const requiresReview = !!docType?.requiresReview;\n const requiresDistribution = !!docType?.requiresDistribution;\n // Show review/distribute actions only for uploaded/persisted files\n const isUploaded = payload.item?.status === 'uploaded' ||\n (payload.item?.source?.kind === 'fileId' && typeof payload.item?.source?.value === 'string');\n if (!isUploaded) {\n payload.actions = actions;\n return payload;\n }\n // Attempt to resolve owning document by fileId (when item is persisted)\n let document = payload.item?.documentData ?? null;\n const fileId = payload.item?.source?.kind === 'fileId' ? payload.item?.source?.value : undefined;\n if (!document && typeof fileId === 'string' && fileId) {\n const resp = await documentService.query({\n skip: 0,\n take: 1,\n filter: { field: 'fileId', operator: { type: 'equal' }, value: fileId },\n });\n document = resp?.items?.[0] ?? null;\n }\n const status = document?.status;\n // Gate actions by current document status when available\n if (requiresReview && payload.item?.status == 'uploaded') {\n if (!status || status === 'Draft') {\n actions.push({\n plugin: 'document',\n global: false,\n textKey: '@document-management:actions.send-to-review',\n icon: 'fa-light fa-share-from-square',\n run: async () => {\n await workflow.execute('send-to-review', {\n options: { id: document?.id ?? payload.item?.id, title: document?.title ?? payload.item?.name },\n });\n },\n });\n }\n else if (status === 'PendingReview') {\n actions.push({\n plugin: 'document',\n global: false,\n textKey: '@document-management:actions.submit-review',\n icon: 'fa-light fa-clipboard-check',\n run: async () => {\n await workflow.execute('submit-review', {\n options: { id: document?.reviewRecordId },\n });\n },\n });\n }\n }\n if (requiresDistribution &&\n (status === 'Reviewed' || status === 'Completed') &&\n payload.item?.status == 'uploaded') {\n actions.push({\n plugin: 'document',\n global: false,\n textKey: '@document-management:actions.distribute',\n icon: 'fa-light fa-diagram-project',\n run: async () => {\n await workflow.execute('distributed', {\n options: { id: document?.id ?? payload.item?.id, title: document?.title ?? payload.item?.name },\n });\n },\n });\n }\n }\n payload.actions = actions;\n return payload;\n },\n};\n// --------------- Edit Dialog: inject metadata group after 'form' ---------------\nexport const DocumentFileUploaderEditDialogAfterFormProvider = {\n key: 'file-uploader.edit-dialog.groups.after-form',\n priority: 0,\n async execute(payload) {\n const isEnabled = Array.isArray(payload.plugins) && payload.plugins.some((p) => p.name === 'document');\n const isExcluded = Array.isArray(payload.excludePlugins) && payload.excludePlugins.includes('document');\n if (!isEnabled || isExcluded)\n return payload;\n const metaObj = payload.file?.metaDataForm;\n // Load document type (similar to document-type-choose-file) when available via plugin options\n const opts = (payload.plugins.find((p) => p.name === 'document')?.options ?? {});\n const injector = inject(Injector);\n const documentTypeService = injector.get(AXMDocumentTypeService);\n const docType = opts.docTypeName ? await documentTypeService.getByName(opts.docTypeName) : undefined;\n if (!docType && (!metaObj || Object.keys(metaObj).length === 0))\n return payload;\n const fields = [\n {\n path: 'metaDataForm',\n title: '@document-management:terms.common.meta-data',\n widget: {\n name: 'metaDataForm',\n type: 'meta-data-form-editor',\n options: { definitions: docType?.metaDataList },\n defaultValue: metaObj,\n },\n },\n ];\n const group = {\n name: 'metadata',\n title: docType?.title ?? '@document-management:terms.common.meta-data',\n parameters: fields,\n };\n if (docType?.metaDataList?.length) {\n payload.groups = [...(payload.groups ?? []), group];\n }\n return payload;\n },\n};\n// --------------- Download Reference: handle reference-based file downloads ---------------\nexport const DocumentFileUploaderDownloadReferenceProvider = {\n key: 'file-uploader.fileItem.download-reference',\n priority: 0,\n async execute(payload) {\n // Only handle if reference type is 'document'\n if (payload.reference.type !== 'document') {\n return payload;\n }\n const injector = inject(Injector);\n const documentService = injector.get(AXMDocumentService);\n const fileStorageService = injector.get(AXPFileStorageService);\n console.log(documentService);\n try {\n // Get document by id\n const document = await documentService.getOne(payload.reference.id);\n if (!document) {\n console.error('Document not found for reference:', payload.reference);\n return payload;\n }\n // Extract fileId from document\n const fileId = typeof document.fileId === 'string' ? document.fileId : document.fileId?.id ?? document.fileId;\n if (!fileId || typeof fileId !== 'string') {\n console.error('Document does not have a valid fileId:', document);\n return payload;\n }\n // Get file info from file storage service\n const fileInfo = await fileStorageService.getInfo(fileId);\n if (fileInfo) {\n payload.fileInfo = {\n url: fileInfo.url,\n binary: fileInfo.binary,\n name: fileInfo.name ?? document.name ?? document.title,\n };\n }\n else {\n console.error('Could not retrieve file info from fileId:', fileId);\n }\n }\n catch (error) {\n console.error('Error processing reference download:', payload.reference, error);\n }\n return payload;\n },\n};\n// Convenience export to register all providers at once in a module\nexport const DocumentFileUploaderWidgetPluginProviders = [\n DocumentFileUploaderConfigureProvider,\n DocumentFileUploaderBeforeFilesAddedProvider,\n DocumentFileUploaderFileItemActionsProvider,\n DocumentFileUploaderEditDialogAfterFormProvider,\n DocumentFileUploaderDownloadReferenceProvider,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZmlsZS11cGxvYWRlci53aWRnZXQucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9zaGFyZWQvZG9jdW1lbnQtZmlsZS11cGxvYWRlci53aWRnZXQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUEwQjlFLDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBa0Q7SUFDbEcsR0FBRyxFQUFFLHlCQUF5QjtJQUM5QixRQUFRLEVBQUUsQ0FBQztJQUNYLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNkQ7UUFDekUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDdkcsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxD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TSxDQUFDLE1BQU0seUNBQXlDLEdBQUc7SUFDdkQscUNBQXFDO0lBQ3JDLDRDQUE0QztJQUM1QywyQ0FBMkM7SUFDM0MsK0NBQStDO0lBQy9DLDZDQUE2QztDQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRGlzdHJpYnV0ZWRFdmVudExpc3RlbmVyUHJvdmlkZXIsIEFYUEVudGl0eVJlZmVyZW5jZSwgQVhQRmlsZUxpc3RJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUER5bmFtaWNGb3JtRmllbGREZWZpbml0aW9uLCBBWFBEeW5hbWljRm9ybUdyb3VwRGVmaW5pdGlvbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQRmlsZVVwbG9hZGVyV2lkZ2V0RWRpdENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldHMnO1xuaW1wb3J0IHsgQVhQRmlsZVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRTZXJ2aWNlLCBBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kb2N1bWVudC1kaWFsb2cuc2VydmljZSc7XG5cbi8qKlxuICogRG9jdW1lbnQgRmlsZSBVcGxvYWRlciBXaWRnZXQgUGx1Z2luXG4gKlxuICogUHJvdmlkZXMgaG9vayBwcm92aWRlcnMgZm9yIHRoZSBGaWxlIFVwbG9hZGVyIHdpZGdldCB0byBpbnRlZ3JhdGUgRG9jdW1lbnQgTWFuYWdlbWVudCBiZWhhdmlvcnMuXG4gKiBLZXlzIGltcGxlbWVudGVkIGhlcmU6XG4gKiAtIGZpbGUtdXBsb2FkZXIuY29uZmlndXJlICAgICAgICAg4oaSIG92ZXJyaWRlIGFjY2VwdCBiYXNlZCBvbiBkb2NUeXBlSWRcbiAqIC0gZmlsZS11cGxvYWRlci5hZnRlckZpbGVzQWRkZWQgICDihpIgZW50cnkgcG9pbnQgZm9yIHBvc3QtYWRkIHByb2Nlc3NpbmcgKHNjYWZmb2xkKVxuICogLSBmaWxlLXVwbG9hZGVyLmZpbGVJdGVtLmFjdGlvbnMgIOKGkiBhZGQgcGVyLWZpbGUgYWN0aW9ucyAoZS5nLiwgRWRpdCBNZXRhZGF0YSkgKHNjYWZmb2xkKVxuICpcbiAqIENvbnZlbnRpb25zOlxuICogLSBwbHVnaW4gbmFtZTogJ2RvY3VtZW50J1xuICogLSBwbHVnaW5PcHRpb25zIGtleTogcGx1Z2luT3B0aW9uc1snZG9jdW1lbnQnXSBhcyB7IGRvY1R5cGVOYW1lOiBzdHJpbmcgfVxuICovXG5cbnR5cGUgRG9jdW1lbnRQbHVnaW5PcHRpb25zID0geyBkb2NUeXBlTmFtZTogc3RyaW5nIH07XG5cbnR5cGUgQmFzZVBheWxvYWQgPSB7XG4gIHBsdWdpbnM6IHsgbmFtZTogc3RyaW5nOyBvcHRpb25zPzogdW5rbm93biB9W107XG4gIGV4Y2x1ZGVQbHVnaW5zOiBzdHJpbmdbXTtcbiAgcGx1Z2luT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjYXBhYmlsaXRpZXM6IGFueTtcbiAgaG9zdDogQVhQRmlsZVVwbG9hZGVyV2lkZ2V0RWRpdENvbXBvbmVudDtcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0gQ29uZmlndXJlOiBzZXQgYWNjZXB0IGJhc2VkIG9uIGRvY1R5cGVJZCAtLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY29uc3QgRG9jdW1lbnRGaWxlVXBsb2FkZXJDb25maWd1cmVQcm92aWRlcjogQVhQRGlzdHJpYnV0ZWRFdmVudExpc3RlbmVyUHJvdmlkZXI8YW55LCBhbnk+ID0ge1xuICBrZXk6ICdmaWxlLXVwbG9hZGVyLmNvbmZpZ3VyZScsXG4gIHByaW9yaXR5OiAwLFxuICBhc3luYyBleGVjdXRlKHBheWxvYWQ6IEJhc2VQYXlsb2FkICYgeyBvdmVycmlkZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0pIHtcbiAgICBjb25zdCBpc0VuYWJsZWQgPSBBcnJheS5pc0FycmF5KHBheWxvYWQucGx1Z2lucykgJiYgcGF5bG9hZC5wbHVnaW5zLnNvbWUoKHApID0+IHAubmFtZSA9PT0gJ2RvY3VtZW50Jyk7XG4gICAgY29uc3QgaXNFeGNsdWRlZCA9IEFycmF5LmlzQXJyYXkocGF5bG9hZC5leGNsdWRlUGx1Z2lucykgJiYgcGF5bG9hZC5leGNsdWRlUGx1Z2lucy5pbmNsdWRlcygnZG9jdW1lbnQnKTtcbiAgICBpZiAoIWlzRW5hYmxlZCB8fCBpc0V4Y2x1ZGVkKSByZXR1cm4gcGF5bG9hZDtcblxuICAgIGNvbnN0IG9wdHMgPSAocGF5bG9hZC5wbHVnaW5zLmZpbmQoKHApID0+IHAubmFtZSA9PT0gJ2RvY3VtZW50Jyk/Lm9wdGlvbnMgPz8ge30pIGFzIERvY3VtZW50UGx1Z2luT3B0aW9ucztcbiAgICBpZiAoIW9wdHMuZG9jVHlwZU5hbWUpIHJldHVybiBwYXlsb2FkO1xuXG4gICAgY29uc3QgZG9jdW1lbnRUeXBlU2VydmljZSA9IGluamVjdChBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlKTtcbiAgICBjb25zdCBkb2NUeXBlID0gYXdhaXQgZG9jdW1lbnRUeXBlU2VydmljZS5nZXRCeU5hbWUob3B0cy5kb2NUeXBlTmFtZSk7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBkb2NUeXBlPy50eXBlPy5zZWxlY3RlZEl0ZW1zID8/IFtdO1xuXG4gICAgY29uc3QgZXh0ZW5zaW9uczogc3RyaW5nW10gPSBBcnJheS5mcm9tKFxuICAgICAgbmV3IFNldChcbiAgICAgICAgKHNlbGVjdGVkIGFzIGFueVtdKVxuICAgICAgICAgIC5tYXAoKHMpID0+IHM/Lm5hbWUpXG4gICAgICAgICAgLmZpbHRlcigobjogc3RyaW5nKSA9PiB0eXBlb2YgbiA9PT0gJ3N0cmluZycgJiYgbi5pbmNsdWRlcygnLicpKVxuICAgICAgICAgIC5tYXAoKG46IHN0cmluZykgPT4gYC4ke24uc3BsaXQoJy4nKS5wb3AoKT8udG9Mb3dlckNhc2UoKX1gKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHBheWxvYWQub3ZlcnJpZGVzID0gcGF5bG9hZC5vdmVycmlkZXMgfHwge307XG4gICAgcGF5bG9hZC5vdmVycmlkZXNbJ2FjY2VwdCddID0gZXh0ZW5zaW9ucy5qb2luKCcsJyk7XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH0sXG59O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0gQWZ0ZXIgRmlsZXMgQWRkZWQ6IHNjYWZmb2xkIGZvciBwb3N0LWFkZCBwcm9jZXNzaW5nIC0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNvbnN0IERvY3VtZW50RmlsZVVwbG9hZGVyQmVmb3JlRmlsZXNBZGRlZFByb3ZpZGVyOiBBWFBEaXN0cmlidXRlZEV2ZW50TGlzdGVuZXJQcm92aWRlcjxhbnksIGFueT4gPSB7XG4gIGtleTogJ2ZpbGUtdXBsb2FkZXIuYmVmb3JlRmlsZXNBZGRlZCcsXG4gIHByaW9yaXR5OiAwLFxuICBhc3luYyBleGVjdXRlKHBheWxvYWQ6IEJhc2VQYXlsb2FkICYgeyBuZXdGaWxlczogQVhQRmlsZUxpc3RJdGVtW10gfSkge1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IEFycmF5LmlzQXJyYXkocGF5bG9hZC5wbHVnaW5zKSAmJiBwYXlsb2FkLnBsdWdpbnMuc29tZSgocCkgPT4gcC5uYW1lID09PSAnZG9jdW1lbnQnKTtcbiAgICBjb25zdCBpc0V4Y2x1ZGVkID0gQXJyYXkuaXNBcnJheShwYXlsb2FkLmV4Y2x1ZGVQbHVnaW5zKSAmJiBwYXlsb2FkLmV4Y2x1ZGVQbHVnaW5zLmluY2x1ZGVzKCdkb2N1bWVudCcpO1xuICAgIGlmICghaXNFbmFibGVkIHx8IGlzRXhjbHVkZWQpIHJldHVybiBwYXlsb2FkO1xuXG4gICAgY29uc3Qgb3B0cyA9IChwYXlsb2FkLnBsdWdpbnMuZmluZCgocCkgPT4gcC5uYW1lID09PSAnZG9jdW1lbnQnKT8ub3B0aW9ucyA/PyB7fSkgYXMgRG9jdW1lbnRQbHVnaW5PcHRpb25zO1xuICAgIGlmICghb3B0cy5kb2NUeXBlTmFtZSkgcmV0dXJuIHBheWxvYWQ7XG5cbiAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgY29uc3QgZG9jdW1lbnRUeXBlU2VydmljZSA9IGluamVjdG9yLmdldChBWE1Eb2N1bWVudFR5cGVTZXJ2aWNlKTtcbiAgICBjb25zdCBkb2NUeXBlID0gYXdhaXQgZG9jdW1lbnRUeXBlU2VydmljZS5nZXRCeU5hbWUob3B0cy5kb2NUeXBlTmFtZSk7XG5cbiAgICBjb25zdCBkb2N1bWVudERpYWxvZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRG9jdW1lbnREaWFsb2dTZXJ2aWNlKSBhcyBBWE1Eb2N1bWVudERpYWxvZ1NlcnZpY2U7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkb2N1bWVudERpYWxvZ1NlcnZpY2Uub3BlbkF0dGFjaG1lbnREaWFsb2dXaXRob3V0U2F2ZSgnRG9jdW1lbnQgVHlwZSBDaG9vc2UgRmlsZScsIHtcbiAgICAgIGRvY3VtZW50VHlwZTogZG9jVHlwZSxcbiAgICAgIGZpbGVzOiBwYXlsb2FkLm5ld0ZpbGVzLFxuICAgIH0pO1xuXG4gICAgaWYgKHJlc3VsdC5kYXRhPy5jYW5jZWwgIT0gbnVsbCAmJiAhcmVzdWx0LmRhdGEuY2FuY2VsICYmIHJlc3VsdC5kYXRhPy5maWxlcykge1xuICAgICAgcGF5bG9hZC5uZXdGaWxlcy5mb3JFYWNoKChmaWxlLCBpKSA9PiB7XG4gICAgICAgIHNldChmaWxlLCAnbWV0YURhdGFGb3JtJywgcmVzdWx0LmRhdGE/LmZpbGVzPy5baV0/Lm1ldGFEYXRhRm9ybSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSxcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLSBQZXItRmlsZSBBY3Rpb25zOiBzY2FmZm9sZCB0byBhZGQgaXRlbS1sZXZlbCBhY3Rpb25zIC0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNvbnN0IERvY3VtZW50RmlsZVVwbG9hZGVyRmlsZUl0ZW1BY3Rpb25zUHJvdmlkZXI6IEFYUERpc3RyaWJ1dGVkRXZlbnRMaXN0ZW5lclByb3ZpZGVyPGFueSwgYW55PiA9IHtcbiAga2V5OiAnZmlsZS11cGxvYWRlci5maWxlSXRlbS5hY3Rpb25zJyxcbiAgcHJpb3JpdHk6IDAsXG4gIGFzeW5jIGV4ZWN1dGUocGF5bG9hZDogQmFzZVBheWxvYWQgJiB7IGl0ZW06IGFueTsgaW5kZXg6IG51bWJlcjsgYWN0aW9uczogYW55W10gfSkge1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IEFycmF5LmlzQXJyYXkocGF5bG9hZC5wbHVnaW5zKSAmJiBwYXlsb2FkLnBsdWdpbnMuc29tZSgocCkgPT4gcC5uYW1lID09PSAnZG9jdW1lbnQnKTtcbiAgICBjb25zdCBpc0V4Y2x1ZGVkID0gQXJyYXkuaXNBcnJheShwYXlsb2FkLmV4Y2x1ZGVQbHVnaW5zKSAmJiBwYXlsb2FkLmV4Y2x1ZGVQbHVnaW5zLmluY2x1ZGVzKCdkb2N1bWVudCcpO1xuICAgIGlmICghaXNFbmFibGVkIHx8IGlzRXhjbHVkZWQpIHJldHVybiBwYXlsb2FkO1xuXG4gICAgY29uc3QgYWN0aW9uczogYW55W10gPSBbLi4uKHBheWxvYWQuYWN0aW9ucyA/PyBbXSldO1xuXG4gICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgIHBsdWdpbjogJ2RvY3VtZW50JyxcbiAgICAgIGdsb2JhbDogZmFsc2UsXG4gICAgICB0ZXh0S2V5OiAnQGRvY3VtZW50LW1hbmFnZW1lbnQ6YWN0aW9ucy5lZGl0LW1ldGFkYXRhJyxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1wZW4tdG8tc3F1YXJlJyxcbiAgICAgIHJ1bjogYXN5bmMgKF9jdHg6IGFueSkgPT4ge30sXG4gICAgfSk7XG5cbiAgICAvLyBDb25kaXRpb25hbGx5IGFkZCBSZXZpZXcgLyBEaXN0cmlidXRlIGJhc2VkIG9uIGRvY3VtZW50IHR5cGUgZmxhZ3NcbiAgICBjb25zdCBvcHRzID0gKHBheWxvYWQucGx1Z2lucy5maW5kKChwKSA9PiBwLm5hbWUgPT09ICdkb2N1bWVudCcpPy5vcHRpb25zID8/IHt9KSBhcyBEb2N1bWVudFBsdWdpbk9wdGlvbnM7XG4gICAgaWYgKG9wdHMuZG9jVHlwZU5hbWUpIHtcbiAgICAgIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICAgIGNvbnN0IGRvY1R5cGVTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYTURvY3VtZW50VHlwZVNlcnZpY2UpO1xuICAgICAgY29uc3QgZG9jdW1lbnRTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYTURvY3VtZW50U2VydmljZSk7XG4gICAgICBjb25zdCB3b3JrZmxvdyA9IGluamVjdG9yLmdldChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuICAgICAgY29uc3QgZG9jVHlwZSA9IGF3YWl0IGRvY1R5cGVTZXJ2aWNlLmdldEJ5TmFtZShvcHRzLmRvY1R5cGVOYW1lKTtcbiAgICAgIGNvbnN0IHJlcXVpcmVzUmV2aWV3ID0gISEoZG9jVHlwZSBhcyBhbnkpPy5yZXF1aXJlc1JldmlldztcbiAgICAgIGNvbnN0IHJlcXVpcmVzRGlzdHJpYnV0aW9uID0gISEoZG9jVHlwZSBhcyBhbnkpPy5yZXF1aXJlc0Rpc3RyaWJ1dGlvbjtcblxuICAgICAgLy8gU2hvdyByZXZpZXcvZGlzdHJpYnV0ZSBhY3Rpb25zIG9ubHkgZm9yIHVwbG9hZGVkL3BlcnNpc3RlZCBmaWxlc1xuICAgICAgY29uc3QgaXNVcGxvYWRlZCA9XG4gICAgICAgIHBheWxvYWQuaXRlbT8uc3RhdHVzID09PSAndXBsb2FkZWQnIHx8XG4gICAgICAgIChwYXlsb2FkLml0ZW0/LnNvdXJjZT8ua2luZCA9PT0gJ2ZpbGVJZCcgJiYgdHlwZW9mIHBheWxvYWQuaXRlbT8uc291cmNlPy52YWx1ZSA9PT0gJ3N0cmluZycpO1xuICAgICAgaWYgKCFpc1VwbG9hZGVkKSB7XG4gICAgICAgIHBheWxvYWQuYWN0aW9ucyA9IGFjdGlvbnM7XG4gICAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgICAgfVxuXG4gICAgICAvLyBBdHRlbXB0IHRvIHJlc29sdmUgb3duaW5nIGRvY3VtZW50IGJ5IGZpbGVJZCAod2hlbiBpdGVtIGlzIHBlcnNpc3RlZClcbiAgICAgIGxldCBkb2N1bWVudDogYW55IHwgbnVsbCA9IChwYXlsb2FkLml0ZW0gYXMgYW55KT8uZG9jdW1lbnREYXRhID8/IG51bGw7XG4gICAgICBjb25zdCBmaWxlSWQgPSBwYXlsb2FkLml0ZW0/LnNvdXJjZT8ua2luZCA9PT0gJ2ZpbGVJZCcgPyBwYXlsb2FkLml0ZW0/LnNvdXJjZT8udmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoIWRvY3VtZW50ICYmIHR5cGVvZiBmaWxlSWQgPT09ICdzdHJpbmcnICYmIGZpbGVJZCkge1xuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgZG9jdW1lbnRTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgICAgICBza2lwOiAwLFxuICAgICAgICAgIHRha2U6IDEsXG4gICAgICAgICAgZmlsdGVyOiB7IGZpZWxkOiAnZmlsZUlkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LCB2YWx1ZTogZmlsZUlkIH0sXG4gICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgZG9jdW1lbnQgPSAocmVzcCBhcyBhbnkpPy5pdGVtcz8uWzBdID8/IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXR1czogc3RyaW5nIHwgdW5kZWZpbmVkID0gZG9jdW1lbnQ/LnN0YXR1cztcblxuICAgICAgLy8gR2F0ZSBhY3Rpb25zIGJ5IGN1cnJlbnQgZG9jdW1lbnQgc3RhdHVzIHdoZW4gYXZhaWxhYmxlXG4gICAgICBpZiAocmVxdWlyZXNSZXZpZXcgJiYgcGF5bG9hZC5pdGVtPy5zdGF0dXMgPT0gJ3VwbG9hZGVkJykge1xuICAgICAgICBpZiAoIXN0YXR1cyB8fCBzdGF0dXMgPT09ICdEcmFmdCcpIHtcbiAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgcGx1Z2luOiAnZG9jdW1lbnQnLFxuICAgICAgICAgICAgZ2xvYmFsOiBmYWxzZSxcbiAgICAgICAgICAgIHRleHRLZXk6ICdAZG9jdW1lbnQtbWFuYWdlbWVudDphY3Rpb25zLnNlbmQtdG8tcmV2aWV3JyxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1zaGFyZS1mcm9tLXNxdWFyZScsXG4gICAgICAgICAgICBydW46IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgYXdhaXQgd29ya2Zsb3cuZXhlY3V0ZSgnc2VuZC10by1yZXZpZXcnLCB7XG4gICAgICAgICAgICAgICAgb3B0aW9uczogeyBpZDogZG9jdW1lbnQ/LmlkID8/IHBheWxvYWQuaXRlbT8uaWQsIHRpdGxlOiBkb2N1bWVudD8udGl0bGUgPz8gcGF5bG9hZC5pdGVtPy5uYW1lIH0sXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09ICdQZW5kaW5nUmV2aWV3Jykge1xuICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICBwbHVnaW46ICdkb2N1bWVudCcsXG4gICAgICAgICAgICBnbG9iYWw6IGZhbHNlLFxuICAgICAgICAgICAgdGV4dEtleTogJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OmFjdGlvbnMuc3VibWl0LXJldmlldycsXG4gICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY2xpcGJvYXJkLWNoZWNrJyxcbiAgICAgICAgICAgIHJ1bjogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBhd2FpdCB3b3JrZmxvdy5leGVjdXRlKCdzdWJtaXQtcmV2aWV3Jywge1xuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgaWQ6IGRvY3VtZW50Py5yZXZpZXdSZWNvcmRJZCB9LFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICByZXF1aXJlc0Rpc3RyaWJ1dGlvbiAmJlxuICAgICAgICAoc3RhdHVzID09PSAnUmV2aWV3ZWQnIHx8IHN0YXR1cyA9PT0gJ0NvbXBsZXRlZCcpICYmXG4gICAgICAgIHBheWxvYWQuaXRlbT8uc3RhdHVzID09ICd1cGxvYWRlZCdcbiAgICAgICkge1xuICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgIHBsdWdpbjogJ2RvY3VtZW50JyxcbiAgICAgICAgICBnbG9iYWw6IGZhbHNlLFxuICAgICAgICAgIHRleHRLZXk6ICdAZG9jdW1lbnQtbWFuYWdlbWVudDphY3Rpb25zLmRpc3RyaWJ1dGUnLFxuICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1kaWFncmFtLXByb2plY3QnLFxuICAgICAgICAgIHJ1bjogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgd29ya2Zsb3cuZXhlY3V0ZSgnZGlzdHJpYnV0ZWQnLCB7XG4gICAgICAgICAgICAgIG9wdGlvbnM6IHsgaWQ6IGRvY3VtZW50Py5pZCA/PyBwYXlsb2FkLml0ZW0/LmlkLCB0aXRsZTogZG9jdW1lbnQ/LnRpdGxlID8/IHBheWxvYWQuaXRlbT8ubmFtZSB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGF5bG9hZC5hY3Rpb25zID0gYWN0aW9ucztcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9LFxufTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tIEVkaXQgRGlhbG9nOiBpbmplY3QgbWV0YWRhdGEgZ3JvdXAgYWZ0ZXIgJ2Zvcm0nIC0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNvbnN0IERvY3VtZW50RmlsZVVwbG9hZGVyRWRpdERpYWxvZ0FmdGVyRm9ybVByb3ZpZGVyOiBBWFBEaXN0cmlidXRlZEV2ZW50TGlzdGVuZXJQcm92aWRlcjxhbnksIGFueT4gPSB7XG4gIGtleTogJ2ZpbGUtdXBsb2FkZXIuZWRpdC1kaWFsb2cuZ3JvdXBzLmFmdGVyLWZvcm0nLFxuICBwcmlvcml0eTogMCxcbiAgYXN5bmMgZXhlY3V0ZShwYXlsb2FkOiBCYXNlUGF5bG9hZCAmIHsgZmlsZTogQVhQRmlsZUxpc3RJdGVtOyBncm91cHM6IEFYUER5bmFtaWNGb3JtR3JvdXBEZWZpbml0aW9uW10gfSkge1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IEFycmF5LmlzQXJyYXkocGF5bG9hZC5wbHVnaW5zKSAmJiBwYXlsb2FkLnBsdWdpbnMuc29tZSgocCkgPT4gcC5uYW1lID09PSAnZG9jdW1lbnQnKTtcbiAgICBjb25zdCBpc0V4Y2x1ZGVkID0gQXJyYXkuaXNBcnJheShwYXlsb2FkLmV4Y2x1ZGVQbHVnaW5zKSAmJiBwYXlsb2FkLmV4Y2x1ZGVQbHVnaW5zLmluY2x1ZGVzKCdkb2N1bWVudCcpO1xuICAgIGlmICghaXNFbmFibGVkIHx8IGlzRXhjbHVkZWQpIHJldHVybiBwYXlsb2FkO1xuXG4gICAgY29uc3QgbWV0YU9iaiA9IChwYXlsb2FkLmZpbGUgYXMgYW55KT8ubWV0YURhdGFGb3JtIGFzXG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHsgbmFtZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nOyB2YWx1ZTogYW55IH0+XG4gICAgICB8IHVuZGVmaW5lZDtcblxuICAgIC8vIExvYWQgZG9jdW1lbnQgdHlwZSAoc2ltaWxhciB0byBkb2N1bWVudC10eXBlLWNob29zZS1maWxlKSB3aGVuIGF2YWlsYWJsZSB2aWEgcGx1Z2luIG9wdGlvbnNcbiAgICBjb25zdCBvcHRzID0gKHBheWxvYWQucGx1Z2lucy5maW5kKChwKSA9PiBwLm5hbWUgPT09ICdkb2N1bWVudCcpPy5vcHRpb25zID8/IHt9KSBhcyBEb2N1bWVudFBsdWdpbk9wdGlvbnM7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIGNvbnN0IGRvY3VtZW50VHlwZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRG9jdW1lbnRUeXBlU2VydmljZSk7XG4gICAgY29uc3QgZG9jVHlwZSA9IG9wdHMuZG9jVHlwZU5hbWUgPyBhd2FpdCBkb2N1bWVudFR5cGVTZXJ2aWNlLmdldEJ5TmFtZShvcHRzLmRvY1R5cGVOYW1lKSA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghZG9jVHlwZSAmJiAoIW1ldGFPYmogfHwgT2JqZWN0LmtleXMobWV0YU9iaikubGVuZ3RoID09PSAwKSkgcmV0dXJuIHBheWxvYWQ7XG5cbiAgICBjb25zdCBmaWVsZHM6IEFYUER5bmFtaWNGb3JtRmllbGREZWZpbml0aW9uW10gPSBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdtZXRhRGF0YUZvcm0nLFxuICAgICAgICB0aXRsZTogJ0Bkb2N1bWVudC1tYW5hZ2VtZW50OnRlcm1zLmNvbW1vbi5tZXRhLWRhdGEnLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICBuYW1lOiAnbWV0YURhdGFGb3JtJyxcbiAgICAgICAgICB0eXBlOiAnbWV0YS1kYXRhLWZvcm0tZWRpdG9yJyxcbiAgICAgICAgICBvcHRpb25zOiB7IGRlZmluaXRpb25zOiBkb2NUeXBlPy5tZXRhRGF0YUxpc3QgfSxcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IG1ldGFPYmosXG4gICAgICAgIH0gYXMgYW55LFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgZ3JvdXA6IEFYUER5bmFtaWNGb3JtR3JvdXBEZWZpbml0aW9uID0ge1xuICAgICAgbmFtZTogJ21ldGFkYXRhJyxcbiAgICAgIHRpdGxlOiAoZG9jVHlwZSBhcyBhbnkpPy50aXRsZSA/PyAnQGRvY3VtZW50LW1hbmFnZW1lbnQ6dGVybXMuY29tbW9uLm1ldGEtZGF0YScsXG4gICAgICBwYXJhbWV0ZXJzOiBmaWVsZHMsXG4gICAgfTtcblxuICAgIGlmIChkb2NUeXBlPy5tZXRhRGF0YUxpc3Q/Lmxlbmd0aCkge1xuICAgICAgcGF5bG9hZC5ncm91cHMgPSBbLi4uKHBheWxvYWQuZ3JvdXBzID8/IFtdKSwgZ3JvdXBdO1xuICAgIH1cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSxcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLSBEb3dubG9hZCBSZWZlcmVuY2U6IGhhbmRsZSByZWZlcmVuY2UtYmFzZWQgZmlsZSBkb3dubG9hZHMgLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY29uc3QgRG9jdW1lbnRGaWxlVXBsb2FkZXJEb3dubG9hZFJlZmVyZW5jZVByb3ZpZGVyOiBBWFBEaXN0cmlidXRlZEV2ZW50TGlzdGVuZXJQcm92aWRlcjxhbnksIGFueT4gPSB7XG4gIGtleTogJ2ZpbGUtdXBsb2FkZXIuZmlsZUl0ZW0uZG93bmxvYWQtcmVmZXJlbmNlJyxcbiAgcHJpb3JpdHk6IDAsXG4gIGFzeW5jIGV4ZWN1dGUocGF5bG9hZDogQmFzZVBheWxvYWQgJiB7IGZpbGU6IEFYUEZpbGVMaXN0SXRlbTsgcmVmZXJlbmNlOiBBWFBFbnRpdHlSZWZlcmVuY2U7IGZpbGVJbmZvPzogeyB1cmw/OiBzdHJpbmc7IGJpbmFyeT86IEJsb2I7IG5hbWU/OiBzdHJpbmcgfSB9KSB7XG4gICAgLy8gT25seSBoYW5kbGUgaWYgcmVmZXJlbmNlIHR5cGUgaXMgJ2RvY3VtZW50J1xuICAgIGlmIChwYXlsb2FkLnJlZmVyZW5jZS50eXBlICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9XG5cbiAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgY29uc3QgZG9jdW1lbnRTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYTURvY3VtZW50U2VydmljZSk7XG4gICAgY29uc3QgZmlsZVN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYUEZpbGVTdG9yYWdlU2VydmljZSk7XG5cbiAgICBjb25zb2xlLmxvZyhkb2N1bWVudFNlcnZpY2UpO1xuICAgIFxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIEdldCBkb2N1bWVudCBieSBpZFxuICAgICAgY29uc3QgZG9jdW1lbnQgPSBhd2FpdCBkb2N1bWVudFNlcnZpY2UuZ2V0T25lKHBheWxvYWQucmVmZXJlbmNlLmlkKTtcbiAgICAgIFxuICAgICAgaWYgKCFkb2N1bWVudCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdEb2N1bWVudCBub3QgZm91bmQgZm9yIHJlZmVyZW5jZTonLCBwYXlsb2FkLnJlZmVyZW5jZSk7XG4gICAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRyYWN0IGZpbGVJZCBmcm9tIGRvY3VtZW50XG4gICAgICBjb25zdCBmaWxlSWQgPSB0eXBlb2YgZG9jdW1lbnQuZmlsZUlkID09PSAnc3RyaW5nJyA/IGRvY3VtZW50LmZpbGVJZCA6IChkb2N1bWVudC5maWxlSWQgYXMgYW55KT8uaWQgPz8gZG9jdW1lbnQuZmlsZUlkO1xuICAgICAgXG4gICAgICBpZiAoIWZpbGVJZCB8fCB0eXBlb2YgZmlsZUlkICE9PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdEb2N1bWVudCBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgZmlsZUlkOicsIGRvY3VtZW50KTtcbiAgICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIEdldCBmaWxlIGluZm8gZnJvbSBmaWxlIHN0b3JhZ2Ugc2VydmljZVxuICAgICAgY29uc3QgZmlsZUluZm8gPSBhd2FpdCBmaWxlU3RvcmFnZVNlcnZpY2UuZ2V0SW5mbyhmaWxlSWQpO1xuICAgICAgXG4gICAgICBpZiAoZmlsZUluZm8pIHtcbiAgICAgICAgcGF5bG9hZC5maWxlSW5mbyA9IHtcbiAgICAgICAgICB1cmw6IGZpbGVJbmZvLnVybCxcbiAgICAgICAgICBiaW5hcnk6IChmaWxlSW5mbyBhcyBhbnkpLmJpbmFyeSxcbiAgICAgICAgICBuYW1lOiBmaWxlSW5mby5uYW1lID8/IGRvY3VtZW50Lm5hbWUgPz8gZG9jdW1lbnQudGl0bGUsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgcmV0cmlldmUgZmlsZSBpbmZvIGZyb20gZmlsZUlkOicsIGZpbGVJZCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByb2Nlc3NpbmcgcmVmZXJlbmNlIGRvd25sb2FkOicsIHBheWxvYWQucmVmZXJlbmNlLCBlcnJvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH0sXG59O1xuXG4vLyBDb252ZW5pZW5jZSBleHBvcnQgdG8gcmVnaXN0ZXIgYWxsIHByb3ZpZGVycyBhdCBvbmNlIGluIGEgbW9kdWxlXG5leHBvcnQgY29uc3QgRG9jdW1lbnRGaWxlVXBsb2FkZXJXaWRnZXRQbHVnaW5Qcm92aWRlcnMgPSBbXG4gIERvY3VtZW50RmlsZVVwbG9hZGVyQ29uZmlndXJlUHJvdmlkZXIsXG4gIERvY3VtZW50RmlsZVVwbG9hZGVyQmVmb3JlRmlsZXNBZGRlZFByb3ZpZGVyLFxuICBEb2N1bWVudEZpbGVVcGxvYWRlckZpbGVJdGVtQWN0aW9uc1Byb3ZpZGVyLFxuICBEb2N1bWVudEZpbGVVcGxvYWRlckVkaXREaWFsb2dBZnRlckZvcm1Qcm92aWRlcixcbiAgRG9jdW1lbnRGaWxlVXBsb2FkZXJEb3dubG9hZFJlZmVyZW5jZVByb3ZpZGVyLFxuXTtcbiJdfQ==","import { AXP_PERMISSION_DEFINITION_PROVIDER, AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, } from '@acorex/platform/layout/entity';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMSettingProvider } from './settings.provider';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { ROUTES } from '@angular/router';\n// Entity Modules\nimport { AXMDistributionEntityModule, AXMDistributionInteractionEntityModule, AXMDocumentManagementDocumentEntityModule, AXMDocumentManagementDocumentTypeEntityModule, AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule, AXMDocumentManagementDocumentTypeMetaValueEntityModule, AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule, AXMFolderEntityModule, AXMReviewEntityModule, } from './entities';\nimport { AXmFileTypeExtensionWidget } from './features/file-type';\nimport { AXMFileTypeModule } from './features/file-type/file-type.module';\nimport { AXMediaViewerModule } from '@acorex/components/media-viewer';\nimport { AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';\nimport { AXMDocumentReviewBadgeProvider } from './badge.provider';\nimport { AXMDriveChooseModule } from './features/drive-choose/drive-choose.module';\nimport { AXMCreateDistributionRecordsAction, AXMDocumentDistributionPopupAction, AXMDocumentDistributionWorkflow, } from './features/workflow/document-distribution/document-distribution.workflow';\nimport { AXMChangeEntityAction, AXMSendToReviewConfirmAction, AXMSendToReviewWorkflow, AXMSubmitReviewWorkflow, AXMUpdateDocumentStatusAction, } from './features/workflow/document-review/document-review.workflow';\nimport { AXMDocumentSignaturePopupAction, AXMDocumentSignatureWorkflow, AXMSaveSignatureInteractionAction, } from './features/workflow/document-signature/document-signature.workflow';\nimport { AXMCheckDocumentTypeWorkflowAction, AXMChooseDocumentTypeWorkflowAction, AXMChooseFileWorkflowAction, AXMUploadWorkflow, } from './features/workflow/upload/upload.workflow';\nimport { attachmentsPlugin } from './features/shared/attachments.plugin';\nimport { AXMDocumentDistributionTaskProvider } from './features/task/distribution.task.provider';\nimport { AXMDocumentReviewTaskProvider } from './features/task/review.task.provider';\nimport { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';\nimport { AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER } from '@acorex/platform/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { DocumentFileUploaderWidgetPluginProviders } from './features/shared/document-file-uploader.widget.plugin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/layout/widget-core\";\nimport * as i2 from \"@acorex/components/media-viewer\";\nimport * as i3 from \"@acorex/platform/workflow\";\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes = [\n {\n path: ':app/drive/:scope',\n loadComponent: () => {\n return config.viewers.root();\n },\n canActivate: [AXPAuthGuard],\n data: { reuse: true },\n children: [\n {\n path: '',\n loadComponent: () => import('./features/drive/drive.component').then((c) => c.AXMDocumentDriveComponent),\n },\n {\n path: ':id',\n loadComponent: () => import('./features/drive/drive.component').then((c) => c.AXMDocumentDriveComponent),\n },\n ],\n },\n ];\n return routes;\n}\nexport class AXMDocumentManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementModule, imports: [AXMDriveChooseModule,\n // Entity Modules\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeMetaValueEntityModule,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeEntityModule,\n AXMDocumentManagementDocumentEntityModule,\n AXMFolderEntityModule,\n AXMReviewEntityModule,\n AXMDistributionEntityModule,\n AXMDistributionInteractionEntityModule, i1.AXPWidgetCoreModule, AXMFileTypeModule, i2.AXMediaViewerModule, i3.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementModule, providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMDocumentReviewBadgeProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMDocumentReviewTaskProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMDocumentDistributionTaskProvider,\n multi: true,\n },\n //{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: attachmentsUploadMiddleware },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: attachmentsPlugin },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ...DocumentFileUploaderWidgetPluginProviders.map((p) => ({\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: p,\n multi: true,\n })),\n ], imports: [AXMDriveChooseModule,\n // Entity Modules\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeMetaValueEntityModule,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeEntityModule,\n AXMDocumentManagementDocumentEntityModule,\n AXMFolderEntityModule,\n AXMReviewEntityModule,\n AXMDistributionEntityModule,\n AXMDistributionInteractionEntityModule,\n AXPWidgetCoreModule.forChild({\n widgets: [AXmFileTypeExtensionWidget],\n }),\n AXMFileTypeModule,\n AXMediaViewerModule.forRoot(),\n AXPWorkflowModule.forChild({\n actions: {\n AXMCheckDocumentTypeWorkflowAction,\n AXMChooseDocumentTypeWorkflowAction,\n AXMChooseFileWorkflowAction,\n AXMSendToReviewConfirmAction,\n AXMUpdateDocumentStatusAction,\n AXMDocumentDistributionPopupAction,\n AXMCreateDistributionRecordsAction,\n AXMDocumentSignaturePopupAction,\n AXMSaveSignatureInteractionAction,\n AXMChangeEntityAction,\n },\n workflows: {\n 'upload-document': AXMUploadWorkflow,\n 'send-to-review': AXMSendToReviewWorkflow,\n 'submit-review': AXMSubmitReviewWorkflow,\n distributed: AXMDocumentDistributionWorkflow,\n 'document-signature': AXMDocumentSignatureWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDocumentManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXMDriveChooseModule,\n // Entity Modules\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeMetaValueEntityModule,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeEntityModule,\n AXMDocumentManagementDocumentEntityModule,\n AXMFolderEntityModule,\n AXMReviewEntityModule,\n AXMDistributionEntityModule,\n AXMDistributionInteractionEntityModule,\n AXPWidgetCoreModule.forChild({\n widgets: [AXmFileTypeExtensionWidget],\n }),\n AXMFileTypeModule,\n AXMediaViewerModule.forRoot(),\n AXPWorkflowModule.forChild({\n actions: {\n AXMCheckDocumentTypeWorkflowAction,\n AXMChooseDocumentTypeWorkflowAction,\n AXMChooseFileWorkflowAction,\n AXMSendToReviewConfirmAction,\n AXMUpdateDocumentStatusAction,\n AXMDocumentDistributionPopupAction,\n AXMCreateDistributionRecordsAction,\n AXMDocumentSignaturePopupAction,\n AXMSaveSignatureInteractionAction,\n AXMChangeEntityAction,\n },\n workflows: {\n 'upload-document': AXMUploadWorkflow,\n 'send-to-review': AXMSendToReviewWorkflow,\n 'submit-review': AXMSubmitReviewWorkflow,\n distributed: AXMDocumentDistributionWorkflow,\n 'document-signature': AXMDocumentSignatureWorkflow,\n },\n }),\n ],\n exports: [],\n providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMDocumentReviewBadgeProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMDocumentReviewTaskProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMDocumentDistributionTaskProvider,\n multi: true,\n },\n //{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: attachmentsUploadMiddleware },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: attachmentsPlugin },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ...DocumentFileUploaderWidgetPluginProviders.map((p) => ({\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: p,\n multi: true,\n })),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2RvY3VtZW50LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsSCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2Qiw0QkFBNEIsR0FDN0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxpQkFBaUI7QUFDakIsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixzQ0FBc0MsRUFDdEMseUNBQXlDLEVBQ3pDLDZDQUE2QyxFQUM3QywyREFBMkQsRUFDM0Qsc0RBQXNELEVBQ3RELDZEQUE2RCxFQUM3RCxxQkFBcUIsRUFDckIscUJBQXFCLEdBQ3RCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBRSwwQkFBMEIs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REVGSU5JVElPTl9QUk9WSURFUiwgQVhQQXV0aEd1YXJkIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9NRU5VX1BST1ZJREVSLCBBWFBfU0VBUkNIX1BST1ZJREVSLCBBWFBfU0VUVElOR19ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLFxuICBBWFBfRU5USVRZX0NPTkZJR19UT0tFTixcbiAgQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUixcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1FbnRpdHlQcm92aWRlciB9IGZyb20gJy4vZW50aXR5LnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTU1lbnVQcm92aWRlciB9IGZyb20gJy4vbWVudS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1TZWFyY2hDb21tYW5kUHJvdmlkZXIgfSBmcm9tICcuL3NlYXJjaC1jb21tYW5kLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTVNldHRpbmdQcm92aWRlciB9IGZyb20gJy4vc2V0dGluZ3MucHJvdmlkZXInO1xuXG5pbXBvcnQgeyBBWFBXaWRnZXRDb3JlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgUk9VVEVTLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vLyBFbnRpdHkgTW9kdWxlc1xuaW1wb3J0IHtcbiAgQVhNRGlzdHJpYnV0aW9uRW50aXR5TW9kdWxlLFxuICBBWE1EaXN0cmlidXRpb25JbnRlcmFjdGlvbkVudGl0eU1vZHVsZSxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRFbnRpdHlNb2R1bGUsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZUVudGl0eU1vZHVsZSxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlTWV0YURlZmluaXRpb25FbnRpdHlNb2R1bGUsXG4gIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50VHlwZU1ldGFWYWx1ZUVudGl0eU1vZHVsZSxcbiAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlU3RhdHVzRGVmaW5pdGlvbkVudGl0eU1vZHVsZSxcbiAgQVhNRm9sZGVyRW50aXR5TW9kdWxlLFxuICBBWE1SZXZpZXdFbnRpdHlNb2R1bGUsXG59IGZyb20gJy4vZW50aXRpZXMnO1xuXG5pbXBvcnQgeyBBWG1GaWxlVHlwZUV4dGVuc2lvbldpZGdldCB9IGZyb20gJy4vZmVhdHVyZXMvZmlsZS10eXBlJztcbmltcG9ydCB7IEFYTUZpbGVUeXBlTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9maWxlLXR5cGUvZmlsZS10eXBlLm1vZHVsZSc7XG5cbmltcG9ydCB7IEFYTWVkaWFWaWV3ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVkaWEtdmlld2VyJztcbmltcG9ydCB7IEFYUF9UQVNLX0JBREdFX1BST1ZJREVSUyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRSZXZpZXdCYWRnZVByb3ZpZGVyIH0gZnJvbSAnLi9iYWRnZS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1Ecml2ZUNob29zZU1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvZHJpdmUtY2hvb3NlL2RyaXZlLWNob29zZS5tb2R1bGUnO1xuaW1wb3J0IHtcbiAgQVhNQ3JlYXRlRGlzdHJpYnV0aW9uUmVjb3Jkc0FjdGlvbixcbiAgQVhNRG9jdW1lbnREaXN0cmlidXRpb25Qb3B1cEFjdGlvbixcbiAgQVhNRG9jdW1lbnREaXN0cmlidXRpb25Xb3JrZmxvdyxcbn0gZnJvbSAnLi9mZWF0dXJlcy93b3JrZmxvdy9kb2N1bWVudC1kaXN0cmlidXRpb24vZG9jdW1lbnQtZGlzdHJpYnV0aW9uLndvcmtmbG93JztcbmltcG9ydCB7XG4gIEFYTUNoYW5nZUVudGl0eUFjdGlvbixcbiAgQVhNU2VuZFRvUmV2aWV3Q29uZmlybUFjdGlvbixcbiAgQVhNU2VuZFRvUmV2aWV3V29ya2Zsb3csXG4gIEFYTVN1Ym1pdFJldmlld1dvcmtmbG93LFxuICBBWE1VcGRhdGVEb2N1bWVudFN0YXR1c0FjdGlvbixcbn0gZnJvbSAnLi9mZWF0dXJlcy93b3JrZmxvdy9kb2N1bWVudC1yZXZpZXcvZG9jdW1lbnQtcmV2aWV3LndvcmtmbG93JztcbmltcG9ydCB7XG4gIEFYTURvY3VtZW50U2lnbmF0dXJlUG9wdXBBY3Rpb24sXG4gIEFYTURvY3VtZW50U2lnbmF0dXJlV29ya2Zsb3csXG4gIEFYTVNhdmVTaWduYXR1cmVJbnRlcmFjdGlvbkFjdGlvbixcbn0gZnJvbSAnLi9mZWF0dXJlcy93b3JrZmxvdy9kb2N1bWVudC1zaWduYXR1cmUvZG9jdW1lbnQtc2lnbmF0dXJlLndvcmtmbG93JztcbmltcG9ydCB7XG4gIEFYTUNoZWNrRG9jdW1lbnRUeXBlV29ya2Zsb3dBY3Rpb24sXG4gIEFYTUNob29zZURvY3VtZW50VHlwZVdvcmtmbG93QWN0aW9uLFxuICBBWE1DaG9vc2VGaWxlV29ya2Zsb3dBY3Rpb24sXG4gIEFYTVVwbG9hZFdvcmtmbG93LFxufSBmcm9tICcuL2ZlYXR1cmVzL3dvcmtmbG93L3VwbG9hZC91cGxvYWQud29ya2Zsb3cnO1xuXG5mdW5jdGlvbiByb3V0ZXNGYWNvcnkoKSB7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChBWFBfRU5USVRZX0NPTkZJR19UT0tFTik7XG4gIGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICAgIHtcbiAgICAgIHBhdGg6ICc6YXBwL2RyaXZlLzpzY29wZScsXG4gICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBjb25maWcudmlld2Vycy5yb290KCk7XG4gICAgICB9LFxuICAgICAgY2FuQWN0aXZhdGU6IFtBWFBBdXRoR3VhcmRdLFxuICAgICAgZGF0YTogeyByZXVzZTogdHJ1ZSB9LFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9mZWF0dXJlcy9kcml2ZS9kcml2ZS5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYTURvY3VtZW50RHJpdmVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJzppZCcsXG4gICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2ZlYXR1cmVzL2RyaXZlL2RyaXZlLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhNRG9jdW1lbnREcml2ZUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF07XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbmltcG9ydCB7IGF0dGFjaG1lbnRzUGx1Z2luIH0gZnJvbSAnLi9mZWF0dXJlcy9zaGFyZWQvYXR0YWNobWVudHMucGx1Z2luJztcbmltcG9ydCB7IEFYTURvY3VtZW50RGlzdHJpYnV0aW9uVGFza1Byb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlcy90YXNrL2Rpc3RyaWJ1dGlvbi50YXNrLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTURvY3VtZW50UmV2aWV3VGFza1Byb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlcy90YXNrL3Jldmlldy50YXNrLnByb3ZpZGVyJztcblxuaW1wb3J0IHsgQVhQX1dPUktGTE9XX1RBU0tfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvdGFzay1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYUF9ESVNUUklCVVRFRF9FVkVOVF9MSVNURU5FUl9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgRG9jdW1lbnRGaWxlVXBsb2FkZXJXaWRnZXRQbHVnaW5Qcm92aWRlcnMgfSBmcm9tICcuL2ZlYXR1cmVzL3NoYXJlZC9kb2N1bWVudC1maWxlLXVwbG9hZGVyLndpZGdldC5wbHVnaW4nO1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEFYTURyaXZlQ2hvb3NlTW9kdWxlLFxuICAgIC8vIEVudGl0eSBNb2R1bGVzXG4gICAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlU3RhdHVzRGVmaW5pdGlvbkVudGl0eU1vZHVsZSxcbiAgICBBWE1Eb2N1bWVudE1hbmFnZW1lbnREb2N1bWVudFR5cGVNZXRhVmFsdWVFbnRpdHlNb2R1bGUsXG4gICAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlTWV0YURlZmluaXRpb25FbnRpdHlNb2R1bGUsXG4gICAgQVhNRG9jdW1lbnRNYW5hZ2VtZW50RG9jdW1lbnRUeXBlRW50aXR5TW9kdWxlLFxuICAgIEFYTURvY3VtZW50TWFuYWdlbWVudERvY3VtZW50RW50aXR5TW9kdWxlLFxuICAgIEFYTUZvbGRlckVudGl0eU1vZHVsZSxcbiAgICBBWE1SZXZpZXdFbnRpdHlNb2R1bGUsXG4gICAgQVhNRGlzdHJpYnV0aW9uRW50aXR5TW9kdWxlLFxuICAgIEFYTURpc3RyaWJ1dGlvbkludGVyYWN0aW9uRW50aXR5TW9kdWxlLFxuICAgIEFYUFdpZGdldENvcmVNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgd2lkZ2V0czogW0FYbUZpbGVUeXBlRXh0ZW5zaW9uV2lkZ2V0XSxcbiAgICB9KSxcbiAgICBBWE1GaWxlVHlwZU1vZHVsZSxcbiAgICBBWE1lZGlhVmlld2VyTW9kdWxlLmZvclJvb3QoKSxcbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIEFYTUNoZWNrRG9jdW1lbnRUeXBlV29ya2Zsb3dBY3Rpb24sXG4gICAgICAgIEFYTUNob29zZURvY3VtZW50VHlwZVdvcmtmbG93QWN0aW9uLFxuICAgICAgICBBWE1DaG9vc2VGaWxlV29ya2Zsb3dBY3Rpb24sXG4gICAgICAgIEFYTVNlbmRUb1Jldmlld0NvbmZpcm1BY3Rpb24sXG4gICAgICAgIEFYTVVwZGF0ZURvY3VtZW50U3RhdHVzQWN0aW9uLFxuICAgICAgICBBWE1Eb2N1bWVudERpc3RyaWJ1dGlvblBvcHVwQWN0aW9uLFxuICAgICAgICBBWE1DcmVhdGVEaXN0cmlidXRpb25SZWNvcmRzQWN0aW9uLFxuICAgICAgICBBWE1Eb2N1bWVudFNpZ25hdHVyZVBvcHVwQWN0aW9uLFxuICAgICAgICBBWE1TYXZlU2lnbmF0dXJlSW50ZXJhY3Rpb25BY3Rpb24sXG4gICAgICAgIEFYTUNoYW5nZUVudGl0eUFjdGlvbixcbiAgICAgIH0sXG4gICAgICB3b3JrZmxvd3M6IHtcbiAgICAgICAgJ3VwbG9hZC1kb2N1bWVudCc6IEFYTVVwbG9hZFdvcmtmbG93LFxuICAgICAgICAnc2VuZC10by1yZXZpZXcnOiBBWE1TZW5kVG9SZXZpZXdXb3JrZmxvdyxcbiAgICAgICAgJ3N1Ym1pdC1yZXZpZXcnOiBBWE1TdWJtaXRSZXZpZXdXb3JrZmxvdyxcbiAgICAgICAgZGlzdHJpYnV0ZWQ6IEFYTURvY3VtZW50RGlzdHJpYnV0aW9uV29ya2Zsb3csXG4gICAgICAgICdkb2N1bWVudC1zaWduYXR1cmUnOiBBWE1Eb2N1bWVudFNpZ25hdHVyZVdvcmtmbG93LFxuICAgICAgfSxcbiAgICB9KSxcbiAgXSxcbiAgZXhwb3J0czogW10sXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRU5USVRZX0RFRklOSVRJT05fTE9BREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTUVudGl0eVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfU0VUVElOR19ERUZJTklUSU9OX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTVNldHRpbmdQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NFQVJDSF9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1TZWFyY2hDb21tYW5kUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9QRVJNSVNTSU9OX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VGYWN0b3J5OiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSAoYXdhaXQgaW1wb3J0KCcuL3Blcm1pc3Npb24tZGVmaW5pdGlvbi5wcm92aWRlcicpKS5BWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyO1xuICAgICAgICByZXR1cm4gbmV3IHByb3ZpZGVyKGluamVjdG9yKTtcbiAgICAgIH0sXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9UQVNLX0JBREdFX1BST1ZJREVSUyxcbiAgICAgIHVzZUNsYXNzOiBBWE1Eb2N1bWVudFJldmlld0JhZGdlUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9XT1JLRkxPV19UQVNLX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTURvY3VtZW50UmV2aWV3VGFza1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfV09SS0ZMT1dfVEFTS19QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1Eb2N1bWVudERpc3RyaWJ1dGlvblRhc2tQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgLy97IHByb3ZpZGU6IEFYUF9FTlRJVFlfU1RPUkFHRV9NSURETEVXQVJFLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGF0dGFjaG1lbnRzVXBsb2FkTWlkZGxld2FyZSB9LFxuICAgIHsgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGF0dGFjaG1lbnRzUGx1Z2luIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUk9VVEVTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VGYWN0b3J5OiByb3V0ZXNGYWNvcnksXG4gICAgfSxcbiAgICAuLi5Eb2N1bWVudEZpbGVVcGxvYWRlcldpZGdldFBsdWdpblByb3ZpZGVycy5tYXAoKHApID0+ICh7XG4gICAgICBwcm92aWRlOiBBWFBfRElTVFJJQlVURURfRVZFTlRfTElTVEVORVJfUFJPVklERVIsXG4gICAgICB1c2VWYWx1ZTogcCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0pKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnRNYW5hZ2VtZW50TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtZG9jdW1lbnQtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9hY29yZXgtbW9kdWxlcy1kb2N1bWVudC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["set","i5","i6","i1","i2","i3","get"],"mappings":"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"}