@zextras/carbonio-shell-ui 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +7 -0
- package/dist/PKGBUILD +7 -7
- package/dist/commit +1 -1
- package/dist/component.json +3 -3
- package/dist/index.html +1 -1
- package/dist/{node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.dd17b97f.chunk.js → node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.30f3563f.chunk.js} +25 -8
- package/dist/node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.30f3563f.chunk.js.map +1 -0
- package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.ee783722.chunk.js → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.2f41c2dd.chunk.js} +6 -6
- package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.ee783722.chunk.js.map → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.2f41c2dd.chunk.js.map} +1 -1
- package/dist/{src_workers_tag_ts.827addd8.chunk.js → src_workers_tag_ts.a14c553d.chunk.js} +2 -2
- package/dist/{src_workers_tag_ts.827addd8.chunk.js.map → src_workers_tag_ts.a14c553d.chunk.js.map} +1 -1
- package/dist/{style.e561dcf5.css → style.0db252b0.css} +29 -29
- package/dist/{style.e561dcf5.css.map → style.0db252b0.css.map} +1 -1
- package/dist/zapp-shell.bundle.js +2 -2
- package/dist/zapp-shell.bundle.js.map +1 -1
- package/package.json +1 -1
- package/dist/node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.dd17b97f.chunk.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.ee783722.chunk.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAQO,IAAMs3B,YAAY,GAAG,SAAfA,YAAY,CAAI5hC,CAAY;EAAA,OAAgC,CACxE;IACCsK,KAAK,EAAE,YAAY;IACnBpF,KAAK,EAAElF,CAAC,CAAC,qBAAqB,EAAE;MAAEsK,KAAK,EAAE,YAAY;MAAEi2B,YAAY,EAAE;IAAqB,CAAC;EAC5F,CAAC,EACD;IACCj2B,KAAK,EAAE,gBAAgB;IACvBpF,KAAK,EAAElF,CAAC,CAAC,yBAAyB,EAAE;MAAEsK,KAAK,EAAE,YAAY;MAAEi2B,YAAY,EAAE;IAAkB,CAAC;EAC7F,CAAC,EACD;IACCj2B,KAAK,EAAE,cAAc;I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AIC,GAAG,CAAC,8GAAwB,CAAC,CAAC;AACtE;AACA;AACO,IAAM7I,YAAY,GAAG,IAAI4I,MAAM,CAAC,IAAIC,GAAG,CAAC,sKAA2B,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AOX5E;AACA;AACA;AACA;AACA;;AAE0B;AACA;AACA;AACH;AACQ;AACA;AACP;AACC;AACF;AACA;AACG;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;AElBvB;AACA;AACA;AACA;AACA;;AAQA;AACO,IAAKG,IAAI;AAMf,WANWA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;AAAA,GAAJA,IAAI,KAAJA,IAAI;;;;;;;;;;;;;ACbhB;AACA;AACA;AACA;AACA;;AAMuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AGVvB;AACA;AACA;AACA;AACA;;AAIwB;AAWjB,IAAKrxB,eAAe;;AAM3B;AACA;AACA;AACA;AACA;AACA;AAAA,WAXYA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AKnB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-context-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-error-catcher.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-functions.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-mounter.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-setters.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/default-views.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-app.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-apps.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/shared-libraries.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-router.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/init.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/theme-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/use-get-primary-color.tsx","webpack://@zextras/carbonio-shell-ui/./src/constants/index.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-mode.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-reader-result-value.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/history/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/network/edit-settings.ts","webpack://@zextras/carbonio-shell-ui/./src/network/fetch.ts","webpack://@zextras/carbonio-shell-ui/./src/network/get-info.ts","webpack://@zextras/carbonio-shell-ui/./src/network/go-to-login.ts","webpack://@zextras/carbonio-shell-ui/./src/network/login-config.ts","webpack://@zextras/carbonio-shell-ui/./src/network/logout.ts","webpack://@zextras/carbonio-shell-ui/./src/network/tags.ts","webpack://@zextras/carbonio-shell-ui/./src/network/user-agent.ts","webpack://@zextras/carbonio-shell-ui/./src/notification/NotificationManager.ts","webpack://@zextras/carbonio-shell-ui/./src/notification/NotificationPermissionChecker.tsx","webpack://@zextras/carbonio-shell-ui/./src/reporting/feedback.tsx","webpack://@zextras/carbonio-shell-ui/./src/reporting/functions.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/index.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/store.ts","webpack://@zextras/carbonio-shell-ui/./src/search/module-selector.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/run-search.ts","webpack://@zextras/carbonio-shell-ui/./src/search/search-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-store.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/account-wrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/accounts-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/accounts-list.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/delegates.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-use-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/primary-account-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/settings-sent-messages.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-picker-style.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-time-select-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/appearance-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/dark-theme-settings-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/logout.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/module-version-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/out-of-office-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/scaling-setting-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/user-quota.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-heading.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings-sub-sections.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/language-and-timezone-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/search-settings-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-sidebar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/app-view-container.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/badge-wrap.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-container.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab-list.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/collapser.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/creation-button.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-mobile-nav.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-navigation-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-primary-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-secondary-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/account/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/normalization.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/utils.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/boards/hooks.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/boards/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/boards/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/context-bridge.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/composer.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/getters.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/hooks.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/login/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/store.ts","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/app-link.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/nav-guard.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/spinner.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/index.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/panel.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/store.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/workers/index.ts","webpack://@zextras/carbonio-shell-ui/./types/account/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/apps/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/boards/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/exports/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/folder/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/i18n/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/integrations/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/misc/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/network/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/network/soap.d.ts","webpack://@zextras/carbonio-shell-ui/./types/notification/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/search/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/search/items.d.ts","webpack://@zextras/carbonio-shell-ui/./types/tags/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/theme/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/workers/index.d.ts","webpack://@zextras/carbonio-shell-ui/./node_modules/date-fns/locale/ lazy \\.[/\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\]index\\.js$ namespace object","webpack://@zextras/carbonio-shell-ui/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|canvas","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|fs","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|http","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|https","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|url","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|zlib"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useI18nStore } from '../../store/i18n';\nimport AppErrorCatcher from './app-error-catcher';\n\nconst AppContextProvider: FC<{ pkg: string }> = ({ pkg, children }) => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\tconst i18n = instances[pkg] ?? instances[SHELL_APP_ID] ?? defaultI18n;\n\treturn (\n\t\t<I18nextProvider i18n={i18n}>\n\t\t\t<AppErrorCatcher>{children}</AppErrorCatcher>\n\t\t</I18nextProvider>\n\t);\n};\n\nexport default AppContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback } from 'react';\nimport { Catcher } from '@zextras/carbonio-design-system';\n\nconst AppErrorCatcher: FC = ({ children }) => {\n\tconst onError = useCallback((error) => {\n\t\tconsole.error(error);\n\t\t// ({event: 'report-exception',data: { exception: error }});\n\t}, []);\n\treturn <Catcher onError={onError}>{children}</Catcher>;\n};\nexport default AppErrorCatcher;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { reduce } from 'lodash';\nimport { getApp, getAppContext, useApp, useAppContext } from '../../store/app';\nimport { useContextBridge } from '../../store/context-bridge';\nimport {\n\tgetAction,\n\tgetActions,\n\tgetActionsFactory,\n\tgetActionFactory,\n\tgetIntegratedComponent,\n\tgetIntegratedFunction\n} from '../../store/integrations/getters';\nimport {\n\tgetUserAccount,\n\tgetUserAccounts,\n\tgetUserSetting,\n\tgetUserSettings,\n\tuseUserAccount,\n\tuseUserAccounts,\n\tuseUserSetting,\n\tuseUserSettings,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights\n} from '../../store/account';\nimport { useIsMobile, useLocalStorage } from '../../shell/hooks';\nimport {\n\tuseAction,\n\tuseActions,\n\tuseActionsFactory,\n\tuseActionFactory,\n\tuseIntegratedComponent,\n\tuseIntegratedFunction\n} from '../../store/integrations/hooks';\nimport { CarbonioModule } from '../../../types';\nimport {\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tgetCurrentRoute,\n\tuseCurrentRoute,\n\treplaceHistory,\n\tgoBackHistory,\n\tpushHistory\n} from '../../history/hooks';\nimport { getSoapFetch, getXmlSoapFetch } from '../../network/fetch';\nimport {\n\tgetFolder,\n\tgetFolders,\n\tuseFolder,\n\tuseFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseFoldersByView,\n\tuseFoldersAccordionByView,\n\tuseRootByUser,\n\tgetRootByUser\n} from '../../store/folder';\nimport { getTags, useTags } from '../../store/tags';\nimport { useNotify, useRefresh } from '../../store/network';\nimport { changeTagColor, createTag, deleteTag, renameTag } from '../../network/tags';\nimport { runSearch } from '../../search/run-search';\nimport { getI18n, getTFunction } from '../../store/i18n';\nimport {\n\taddBoard,\n\tcloseBoard,\n\tupdateBoard,\n\tupdateBoardContext,\n\tgetBoardById,\n\tgetBoardContextById,\n\tuseBoardContextById,\n\tuseBoardById,\n\tuseBoard,\n\tminimizeBoards,\n\treopenBoards,\n\tsetCurrentBoard,\n\tuseBoardHooks\n} from '../../store/boards';\nimport { getNotificationManager } from '../../notification/NotificationManager';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppFunctions = (pkg: CarbonioModule): Record<string, Function> => ({\n\t// I18N\n\tgetI18n: getI18n(pkg.name),\n\tt: getTFunction(pkg.name),\n\t// FETCH\n\tsoapFetch: getSoapFetch(pkg.name),\n\txmlSoapFetch: getXmlSoapFetch(pkg.name),\n\n\t// APP STORE FUNCTIONS\n\tuseAppContext: useAppContext(pkg.name),\n\tgetAppContext: getAppContext(pkg.name),\n\tuseApp: useApp(pkg.name),\n\tgetApp: getApp(pkg.name),\n\n\t// INTEGRATIONS\n\tuseIntegratedFunction,\n\tgetIntegratedFunction,\n\tuseIntegratedComponent,\n\tgetIntegratedComponent,\n\tuseAction,\n\tgetAction,\n\tuseActions,\n\tgetActions,\n\tuseActionsFactory,\n\tgetActionsFactory,\n\tuseActionFactory,\n\tgetActionFactory,\n\t// ACCOUNTS\n\tuseUserAccount,\n\tgetUserAccount,\n\tuseUserAccounts,\n\tgetUserAccounts,\n\tuseUserSettings,\n\tgetUserSettings,\n\tgetUserSetting,\n\tuseUserSetting,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights,\n\tuseTags,\n\tgetTags,\n\tuseNotify,\n\tuseRefresh,\n\t// FOLDERS\n\tuseFoldersByView,\n\tuseFoldersAccordionByView,\n\tuseFolder,\n\tgetFolder,\n\tuseFolders,\n\tgetFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseRootByUser,\n\tgetRootByUser,\n\t// BOARDS\n\taddBoard: addBoard(pkg.name),\n\tcloseBoard,\n\tupdateBoard,\n\tupdateBoardContext,\n\tgetBoardById,\n\tgetBoardContextById,\n\tuseBoard,\n\tuseBoardById,\n\tuseBoardContextById,\n\tminimizeBoards,\n\treopenBoards,\n\tsetCurrentBoard,\n\tuseBoardHooks,\n\t// HISTORY\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tuseCurrentRoute,\n\tgetCurrentRoute,\n\tpushHistory,\n\tgoBackHistory,\n\treplaceHistory,\n\t// TAGS\n\tcreateTag,\n\trenameTag,\n\tchangeTagColor,\n\tdeleteTag,\n\t// NOTIFICATION\n\tgetNotificationManager,\n\n\t// STUFF\n\trunSearch,\n\tuseIsMobile,\n\tuseLocalStorage,\n\tgetBridgedFunctions: (): unknown => {\n\t\tconst { packageDependentFunctions, functions } = useContextBridge.getState();\n\t\treturn {\n\t\t\t...functions,\n\t\t\t...reduce(packageDependentFunctions, (acc, f, name) => ({ ...acc, [name]: f(pkg.name) }), {})\n\t\t};\n\t}\n});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, memo, Suspense, useMemo } from 'react';\nimport { isEmpty, map } from 'lodash';\nimport { useAppStore } from '../../store/app';\nimport AppContextProvider from './app-context-provider';\n\nconst Mounter: FC<{ appId: string }> = ({ children, appId }) => (\n\t<div key={appId} id={appId}>\n\t\t<AppContextProvider key={appId} pkg={appId}>\n\t\t\t<Suspense fallback={''}>{children}</Suspense>\n\t\t</AppContextProvider>\n\t</div>\n);\n\nconst AppLoaderMounter: FC = () => {\n\tconst entryPoints = useAppStore((s) => s.entryPoints);\n\tconst entries = useMemo(\n\t\t() =>\n\t\t\tisEmpty(entryPoints)\n\t\t\t\t? null\n\t\t\t\t: map(entryPoints, (Comp, appId) => {\n\t\t\t\t\t\tconst MemoComp = memo(Comp);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Mounter key={appId} appId={appId}>\n\t\t\t\t\t\t\t\t<MemoComp />\n\t\t\t\t\t\t\t</Mounter>\n\t\t\t\t\t\t);\n\t\t\t\t }),\n\t\t[entryPoints]\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"app-mounter\"\n\t\t\tkey=\"app-mounter\"\n\t\t\thidden\n\t\t\tstyle={{ height: 0, overflow: 'hidden' }}\n\t\t>\n\t\t\t{entries}\n\t\t</div>\n\t);\n};\n\nexport default AppLoaderMounter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport {\n\tAppRouteDescriptor,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { getEditSettingsForApp } from '../../network/edit-settings';\nimport { useAppStore } from '../../store/app';\nimport {\n\tnormalizeRoute,\n\tnormalizeSettingsView,\n\tnormalizeSearchView,\n\tnormalizeUtilityView,\n\tnormalizePrimaryAccessoryView,\n\tnormalizeSecondaryAccessoryView,\n\tnormalizeBoardView\n} from '../../store/app/utils';\nimport { useIntegrationsStore } from '../../store/integrations/store';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppSetters = (pkg: CarbonioModule): Record<string, Function> => {\n\tconst appSetters = useAppStore.getState().setters;\n\tconst integrations = useIntegrationsStore.getState();\n\treturn {\n\t\tupdatePrimaryBadge: appSetters.updatePrimaryBadge,\n\t\tupdateUtilityBadge: appSetters.updateUtilityBadge,\n\t\tsetAppContext: appSetters.setAppContext(pkg.name),\n\t\taddRoute: (route: Partial<AppRouteDescriptor>) =>\n\t\t\tappSetters.addRoute(normalizeRoute(route, pkg)),\n\t\tsetRouteVisibility: (routeId: string, visible: boolean) =>\n\t\t\tappSetters.setRouteVisibility(routeId, visible),\n\t\tremoveRoute: (routeId: string) => appSetters.removeRoute(routeId),\n\t\t// add board\n\t\taddBoardView: (data: Partial<BoardView>) =>\n\t\t\tappSetters.addBoardView(normalizeBoardView(data, pkg)),\n\t\t// remove board\n\t\tremoveBoardView: appSetters.removeBoardView,\n\t\t//\n\t\t// add settings\n\t\taddSettingsView: (data: Partial<SettingsView>) =>\n\t\t\tappSetters.addSettingsView(normalizeSettingsView(data, pkg)),\n\t\t// remove settings\n\t\tremoveSettingsView: appSetters.removeSettingsView,\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: Partial<SearchView>) =>\n\t\t\tappSetters.addSearchView(normalizeSearchView(data, pkg)),\n\t\t// remove search\n\t\tremoveSearchView: appSetters.removeSearchView,\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: Partial<UtilityView>) =>\n\t\t\tappSetters.addUtilityView(normalizeUtilityView(data, pkg)),\n\t\t// remove utility\n\t\tremoveUtilityView: appSetters.removeUtilityView,\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) =>\n\t\t\tappSetters.addPrimaryAccessoryView(normalizePrimaryAccessoryView(data, pkg)),\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: appSetters.removePrimaryAccessoryView,\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) =>\n\t\t\tappSetters.addSecondaryAccessoryView(normalizeSecondaryAccessoryView(data, pkg)),\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: appSetters.removeSecondaryAccessoryView,\n\t\tregisterFunctions: integrations.registerFunctions,\n\t\tremoveFunctions: integrations.removeFunctions,\n\t\tregisterActions: integrations.registerActions,\n\t\tremoveActions: integrations.removeActions,\n\t\tregisterComponents: integrations.registerComponents(pkg.name),\n\t\tremoveComponents: integrations.removeComponents,\n\t\teditSettings: getEditSettingsForApp(pkg.name)\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n/* eslint-disable no-param-reassign */\n\nimport produce from 'immer';\nimport { TFunction } from 'react-i18next';\nimport { AppState, PrimaryBarView, SettingsView } from '../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID, SHELL_APP_ID } from '../../constants';\nimport Feedback from '../../reporting/feedback';\nimport { SearchAppView } from '../../search/search-app-view';\nimport AccountWrapper from '../../settings/account-wrapper';\nimport GeneralSettings from '../../settings/general-settings';\nimport { settingsSubSections } from '../../settings/general-settings-sub-sections';\nimport { SettingsAppView } from '../../settings/settings-app-view';\nimport { SettingsSidebar } from '../../settings/settings-sidebar';\nimport { useAppStore } from '../../store/app';\n\nconst settingsRoute = {\n\troute: SETTINGS_APP_ID,\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID\n};\n\nconst settingsPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: 'SettingsModOutline',\n\tposition: 16,\n\tvisible: true,\n\tlabel: t('settings.app', 'Settings'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst settingsSecondaryBar = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsSidebar\n};\n\nconst settingsAppView = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsAppView\n};\nconst settingsGeneralView = (t: TFunction): SettingsView => ({\n\tid: 'general',\n\troute: 'general',\n\tapp: SHELL_APP_ID,\n\tcomponent: GeneralSettings,\n\ticon: 'SettingsModOutline',\n\tlabel: t('settings.general.general', 'General Settings'),\n\tposition: 1,\n\tsubSections: settingsSubSections(t)\n});\n\nconst settingsAccountsView = (t: TFunction): SettingsView => ({\n\tid: 'accounts',\n\troute: 'accounts',\n\tapp: SHELL_APP_ID,\n\tcomponent: AccountWrapper,\n\ticon: 'PersonOutline',\n\tlabel: t('settings.accounts', 'Accounts'),\n\tposition: 1\n});\n\nconst searchRoute = {\n\troute: SEARCH_APP_ID,\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID\n};\nconst searchPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: 'SearchModOutline',\n\tposition: 15,\n\tvisible: true,\n\tlabel: t('search.app', 'Search'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst searchAppView = {\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: SearchAppView\n};\n\nconst feedbackBoardView = {\n\tid: 'feedback',\n\tapp: SHELL_APP_ID,\n\tcomponent: Feedback,\n\troute: 'feedback'\n};\nexport const registerDefaultViews = (t: TFunction): void => {\n\tuseAppStore.setState(\n\t\tproduce((s: AppState) => {\n\t\t\ts.routes = {\n\t\t\t\t[SEARCH_APP_ID]: searchRoute,\n\t\t\t\t[SETTINGS_APP_ID]: settingsRoute\n\t\t\t};\n\t\t\ts.views.primaryBar = [searchPrimaryBar(t), settingsPrimaryBar(t)];\n\t\t\ts.views.secondaryBar = [settingsSecondaryBar];\n\t\t\ts.views.appView = [searchAppView, settingsAppView];\n\t\t\ts.views.settings = [settingsGeneralView(t), settingsAccountsView(t)];\n\t\t\ts.views.board = [feedbackBoardView];\n\t\t})\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forOwn } from 'lodash';\nimport { ComponentType } from 'react';\nimport { useAppStore } from '../../store/app';\nimport { getAppFunctions } from './app-loader-functions';\nimport { Spinner } from '../../ui-extras/spinner';\nimport { AppLink } from '../../ui-extras/app-link';\nimport * as CONSTANTS from '../../constants';\nimport type { CarbonioModule } from '../../../types';\nimport { getAppSetters } from './app-loader-setters';\nimport { report } from '../../reporting';\nimport SettingsHeader from '../../settings/components/settings-header';\n\nexport const _scripts: { [pkgName: string]: HTMLScriptElement } = {};\nlet _scriptId = 0;\n\nexport function loadApp(appPkg: CarbonioModule): Promise<CarbonioModule> {\n\treturn new Promise((_resolve, _reject) => {\n\t\tlet resolved = false;\n\t\tconst resolve = (): void => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_resolve(appPkg);\n\t\t\t}\n\t\t};\n\t\tconst reject = (e: unknown): void => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_reject(e);\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\tif (\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__ &&\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui']\n\t\t\t) {\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][appPkg.name] = {\n\t\t\t\t\treport: report(appPkg.name),\n\t\t\t\t\tAppLink,\n\t\t\t\t\tSpinner,\n\t\t\t\t\tSettingsHeader,\n\t\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t\t...CONSTANTS\n\t\t\t\t};\n\t\t\t}\n\n\t\t\twindow.__ZAPP_HMR_EXPORT__[appPkg.name] = (appComponent: ComponentType): void => {\n\t\t\t\tuseAppStore.setState((state) => ({\n\t\t\t\t\tentryPoints: {\n\t\t\t\t\t\t...state.entryPoints,\n\t\t\t\t\t\t[appPkg.name]: appComponent\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%c loaded ${appPkg.name}`,\n\t\t\t\t\t'color: white; background: #539507;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t\t\t\t);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tconst script = document.createElement('script');\n\t\t\tscript.setAttribute('type', 'text/javascript');\n\t\t\tscript.setAttribute('data-pkg_name', appPkg.name);\n\t\t\tscript.setAttribute('data-pkg_version', appPkg.version);\n\t\t\tscript.setAttribute('data-is_app', 'true');\n\t\t\tscript.setAttribute('src', `${appPkg.js_entrypoint}`);\n\t\t\tdocument.body.appendChild(script);\n\t\t\t_scripts[`${appPkg.name}-loader-${(_scriptId += 1)}`] = script;\n\t\t} catch (err: unknown) {\n\t\t\tconsole.error(err);\n\t\t\treject(err);\n\t\t}\n\t});\n}\n\nexport function unloadApps(): Promise<void> {\n\treturn Promise.resolve().then(() => {\n\t\tforOwn(_scripts, (script) => {\n\t\t\tif (script.parentNode) script.parentNode.removeChild(script);\n\t\t});\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, map } from 'lodash';\n\nimport { registerLocale, setDefaultLocale } from '@zextras/carbonio-design-system';\nimport type { Locale as DateFnsLocale } from 'date-fns';\nimport { CarbonioModule } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useReporter } from '../../reporting';\nimport { getUserSetting, useAccountStore } from '../../store/account';\nimport { getT, useI18nStore } from '../../store/i18n';\nimport { loadApp, unloadApps } from './load-app';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { localeList } from '../../settings/components/utils';\n\nconst getDateFnsLocale = (locale: string): Promise<DateFnsLocale> =>\n\timport(`date-fns/locale/${locale}/index.js`);\n\nexport function loadApps(apps: Array<CarbonioModule>): void {\n\tinjectSharedLibraries();\n\tconst appsToLoad = filter(apps, (app) => {\n\t\tif (app.name === SHELL_APP_ID) return false;\n\t\tif (app.attrKey && getUserSetting('attrs', app.attrKey) === 'FALSE') return false;\n\t\treturn true;\n\t});\n\tconsole.log(\n\t\t'%cLOADING APPS',\n\t\t'color: white; background: #2b73d2;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t);\n\tconst { settings } = useAccountStore.getState();\n\tconst locale =\n\t\t(settings?.prefs?.zimbraPrefLocale as string) ??\n\t\t(settings?.attrs?.zimbraLocale as string) ??\n\t\t'en';\n\tuseI18nStore.getState().actions.addI18n(appsToLoad, locale);\n\tconst localeObj = localeList(getT()).find((item) => item.id === locale);\n\tif (localeObj) {\n\t\tconst localeDateFnsKey = localeObj.dateFnsLocale || localeObj.value;\n\t\tgetDateFnsLocale(localeDateFnsKey).then((localeDateFns) => {\n\t\t\tregisterLocale(localeDateFnsKey, localeDateFns);\n\t\t\tsetDefaultLocale(localeDateFnsKey);\n\t\t});\n\t}\n\tuseReporter.getState().setClients(appsToLoad);\n\tPromise.allSettled(map(appsToLoad, (app) => loadApp(app)));\n}\n\nexport function unloadAllApps(): Promise<void> {\n\treturn unloadApps();\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as Lodash from 'lodash';\nimport * as ReactRouterDom from 'react-router-dom';\nimport * as Moment from 'moment';\nimport * as ReactI18n from 'react-i18next';\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\nimport * as ZappUI from '@zextras/carbonio-design-system';\nimport * as StyledComponents from 'styled-components';\nimport * as Preview from '@zextras/carbonio-ui-preview';\n\nexport function injectSharedLibraries(): void {\n\tif (!window.__ZAPP_SHARED_LIBRARIES__) {\n\t\twindow.__ZAPP_SHARED_LIBRARIES__ = {\n\t\t\treact: React,\n\t\t\t'react-dom': ReactDOM,\n\t\t\t'react-i18next': ReactI18n,\n\t\t\t'react-redux': ReactRedux,\n\t\t\tlodash: Lodash,\n\t\t\t'react-router-dom': ReactRouterDom,\n\t\t\tmoment: Moment,\n\t\t\t'styled-components': StyledComponents,\n\t\t\t'@reduxjs/toolkit': ReduxJSToolkit,\n\t\t\t'@zextras/carbonio-shell-ui': {},\n\t\t\t'@zextras/carbonio-design-system': ZappUI,\n\t\t\t'@zextras/carbonio-ui-preview': Preview\n\t\t};\n\t\twindow.__ZAPP_HMR_EXPORT__ = {};\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { SHELL_APP_ID } from '../constants';\nimport { useI18nStore } from '../store/i18n';\n\nconst BootstrapperContextProvider: FC = ({ children }) => {\n\tconst i18n = useI18nStore((s) => s.instances[SHELL_APP_ID]);\n\treturn <I18nextProvider i18n={i18n}>{children}</I18nextProvider>;\n};\nexport default BootstrapperContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tModalManager,\n\tModalManagerContext,\n\tSnackbarManager,\n\tSnackbarManagerContext\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useContext, useEffect } from 'react';\nimport { TFunction, useTranslation } from 'react-i18next';\nimport { BrowserRouter, Route, Switch, useHistory, useParams } from 'react-router-dom';\nimport { useBridge } from '../store/context-bridge';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport { BASENAME, IS_STANDALONE } from '../constants';\nimport { NotificationPermissionChecker } from '../notification/NotificationPermissionChecker';\nimport ShellView from '../shell/shell-view';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\n\nconst ContextBridge: FC = () => {\n\tconst history = useHistory();\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createSnackbar = useContext(SnackbarManagerContext) as Function;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createModal = useContext(ModalManagerContext) as Function;\n\tuseBridge({\n\t\tfunctions: {\n\t\t\tgetHistory: () => history,\n\t\t\tcreateSnackbar,\n\t\t\tcreateModal\n\t\t}\n\t});\n\treturn null;\n};\n\nconst StandaloneListener: FC = () => {\n\tconst { route } = useParams<{ route?: string }>();\n\tuseEffect(() => {\n\t\tif (route) useAppStore.setState({ standalone: route });\n\t}, [route]);\n\treturn null;\n};\n\nconst DefaultViewsRegister: FC<{ t: TFunction }> = ({ t }) => {\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst BootstrapperRouter: FC = () => {\n\tconst [t] = useTranslation();\n\treturn (\n\t\t<BrowserRouter basename={BASENAME}>\n\t\t\t<SnackbarManager>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t{IS_STANDALONE && (\n\t\t\t\t\t\t<Switch>\n\t\t\t\t\t\t\t<Route path={'/:route'}>\n\t\t\t\t\t\t\t\t<StandaloneListener />\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t</Switch>\n\t\t\t\t\t)}\n\t\t\t\t\t<DefaultViewsRegister t={t} />\n\t\t\t\t\t<NotificationPermissionChecker />\n\t\t\t\t\t<ContextBridge />\n\t\t\t\t\t<AppLoaderMounter />\n\t\t\t\t\t<ShellView />\n\t\t\t\t</ModalManager>\n\t\t\t</SnackbarManager>\n\t\t</BrowserRouter>\n\t);\n};\nexport default BootstrapperRouter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect } from 'react';\nimport { unloadAllApps } from './app/load-apps';\nimport BootstrapperContextProvider from './bootstrapper-provider';\nimport BootstrapperRouter from './bootstrapper-router';\nimport { init } from './init';\nimport { ThemeProvider } from './theme-provider';\n\nconst Bootstrapper: FC = () => {\n\tuseEffect(() => {\n\t\tinit();\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, []);\n\treturn (\n\t\t<ThemeProvider>\n\t\t\t<BootstrapperContextProvider>\n\t\t\t\t<BootstrapperRouter />\n\t\t\t</BootstrapperContextProvider>\n\t\t</ThemeProvider>\n\t);\n};\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { getInfo } from '../network/get-info';\nimport { useAppStore } from '../store/app';\nimport { loadApps } from './app/load-apps';\nimport { loginConfig } from '../network/login-config';\n\nexport const init = (): void => {\n\tPromise.all([loginConfig(), getInfo()]).finally(() => {\n\t\tloadApps(Object.values(useAppStore.getState().apps));\n\t});\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tcreateContext,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseState\n} from 'react';\nimport {\n\tgenerateColorSet,\n\tThemeProvider as UIThemeProvider,\n\tThemeProviderProps as UIThemeProviderProps\n} from '@zextras/carbonio-design-system';\nimport { auto, disable, enable, setFetchMethod } from 'darkreader';\nimport { reduce } from 'lodash';\nimport { createGlobalStyle, DefaultTheme } from 'styled-components';\nimport { DarkReaderPropValues, ThemeExtension } from '../../types';\nimport { darkReaderDynamicThemeFixes, LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { useLocalStorage } from '../shell/hooks';\nimport { ScalingSettings } from '../../types/settings';\nimport { getAutoScalingFontSize } from '../settings/components/utils';\nimport { useGetPrimaryColor } from './use-get-primary-color';\n\nsetFetchMethod(window.fetch);\n\ninterface ThemeCallbacks {\n\taddExtension: (newExtension: ThemeExtension, id: string) => void;\n\tsetDarkReaderState: (newState: DarkReaderPropValues) => void;\n}\n\nexport const ThemeCallbacksContext = createContext<ThemeCallbacks>({\n\taddExtension: () => {\n\t\tthrow Error('Not implemented');\n\t},\n\tsetDarkReaderState: () => {\n\t\tthrow Error('not implemented');\n\t}\n});\n\ntype CustomTheme = Partial<Omit<DefaultTheme, 'palette'>> & {\n\tpalette?: Partial<DefaultTheme['palette']>;\n};\n\nconst paletteExtension =\n\t(customTheme: CustomTheme = {}) =>\n\t(theme: DefaultTheme): DefaultTheme => ({\n\t\t...theme,\n\t\t...customTheme,\n\t\tpalette: {\n\t\t\t...theme.palette,\n\t\t\t...customTheme.palette,\n\t\t\tshared: {\n\t\t\t\tregular: '#FFB74D',\n\t\t\t\thover: '#FFA21A',\n\t\t\t\tactive: '#FFA21A',\n\t\t\t\tfocus: '#FF9800',\n\t\t\t\tdisabled: '#FFD699'\n\t\t\t},\n\t\t\tlinked: {\n\t\t\t\tregular: '#AB47BC',\n\t\t\t\thover: '#8B3899',\n\t\t\t\tactive: '#8B3899',\n\t\t\t\tfocus: '#7A3187',\n\t\t\t\tdisabled: '#DDB4E4'\n\t\t\t}\n\t\t}\n\t});\n\nconst iconExtension: ThemeExtension = (theme) => ({\n\t...theme,\n\ticons: {\n\t\t...theme.icons,\n\t\tShared: theme.icons.ArrowCircleRight,\n\t\tLinked: theme.icons.ArrowCircleLeft\n\t}\n});\n\ninterface GlobalStyledProps {\n\tbaseFontSize: number;\n}\n\nconst GlobalStyle = createGlobalStyle<GlobalStyledProps>`\n html {\n font-size: ${({ baseFontSize }): string => `${baseFontSize}%`};\n }\n`;\n\ninterface ThemeProviderProps {\n\tchildren?: React.ReactNode | React.ReactNode[];\n}\nexport const ThemeProvider = ({ children }: ThemeProviderProps): JSX.Element => {\n\tconst [localStorageSettings] = useLocalStorage<ScalingSettings>(LOCAL_STORAGE_SETTINGS_KEY, {});\n\n\tconst [extensions, setExtensions] = useState<Partial<Record<keyof DefaultTheme, ThemeExtension>>>(\n\t\t{}\n\t);\n\n\tconst primaryColor = useGetPrimaryColor();\n\n\tuseLayoutEffect(() => {\n\t\tconst customThemePalette: Partial<DefaultTheme['palette']> = primaryColor\n\t\t\t? { primary: generateColorSet({ regular: primaryColor }) }\n\t\t\t: {};\n\t\tsetExtensions((extension) => ({\n\t\t\t...extension,\n\t\t\tpalette: paletteExtension({\n\t\t\t\tpalette: customThemePalette\n\t\t\t}),\n\t\t\ticons: iconExtension\n\t\t}));\n\t}, [primaryColor]);\n\n\tconst [darkReaderState, setDarkReaderState] = useState<DarkReaderPropValues>('disabled');\n\n\tuseEffect(() => {\n\t\tswitch (darkReaderState) {\n\t\t\tcase 'disabled':\n\t\t\t\tauto(false);\n\t\t\t\tdisable();\n\t\t\t\tbreak;\n\t\t\tcase 'enabled':\n\t\t\t\tauto(false);\n\t\t\t\tenable(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\tauto(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}, [darkReaderState]);\n\n\tconst aggregatedExtensions = useCallback<NonNullable<UIThemeProviderProps['extension']>>(\n\t\t(theme) =>\n\t\t\treduce(\n\t\t\t\textensions,\n\t\t\t\t(themeAccumulator, themeExtensionFn) => {\n\t\t\t\t\tif (themeExtensionFn) {\n\t\t\t\t\t\treturn themeExtensionFn(themeAccumulator);\n\t\t\t\t\t}\n\t\t\t\t\treturn themeAccumulator;\n\t\t\t\t},\n\t\t\t\ttheme\n\t\t\t),\n\t\t[extensions]\n\t);\n\n\tconst addExtension = useCallback<ThemeCallbacks['addExtension']>((newExtension, id) => {\n\t\tsetExtensions((ext) => ({ ...ext, [id]: newExtension }));\n\t}, []);\n\n\tconst baseFontSize = useMemo<GlobalStyledProps['baseFontSize']>(() => {\n\t\tconst savedScalingValueSetting = localStorageSettings['settings.appearance_setting.scaling'];\n\t\tif (savedScalingValueSetting !== undefined) {\n\t\t\treturn savedScalingValueSetting;\n\t\t}\n\t\treturn getAutoScalingFontSize();\n\t}, [localStorageSettings]);\n\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={{ addExtension, setDarkReaderState }}>\n\t\t\t\t<GlobalStyle baseFontSize={baseFontSize} />\n\t\t\t\t{children}\n\t\t\t</ThemeCallbacksContext.Provider>\n\t\t</UIThemeProvider>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useTheme } from '@zextras/carbonio-design-system';\nimport { useEffect, useMemo } from 'react';\nimport { size } from 'lodash';\nimport { useLocalStorage } from '../shell/hooks';\nimport { LOCAL_STORAGE_LAST_PRIMARY_KEY } from '../constants';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\n\nexport function useGetPrimaryColor(): string | undefined {\n\tconst [localStorageLastPrimary, setLocalStorageLastPrimary] = useLocalStorage<\n\t\tPartial<Record<'dark' | 'light', string>> | undefined\n\t>(LOCAL_STORAGE_LAST_PRIMARY_KEY, undefined);\n\tconst { carbonioWebUiPrimaryColor, carbonioWebUiDarkPrimaryColor } = useLoginConfigStore();\n\tconst { darkModeEnabled, darkReaderStatus } = useDarkMode();\n\tconst theme = useTheme();\n\n\tconst primaryColor = useMemo(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tif (carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor) {\n\t\t\t\tif (darkModeEnabled) {\n\t\t\t\t\treturn carbonioWebUiDarkPrimaryColor || carbonioWebUiPrimaryColor;\n\t\t\t\t}\n\t\t\t\treturn carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor;\n\t\t\t}\n\t\t}\n\t\tif (localStorageLastPrimary && size(localStorageLastPrimary) > 0) {\n\t\t\treturn (\n\t\t\t\t(darkModeEnabled && (localStorageLastPrimary.dark || localStorageLastPrimary.light)) ||\n\t\t\t\tlocalStorageLastPrimary.light ||\n\t\t\t\tlocalStorageLastPrimary.dark\n\t\t\t);\n\t\t}\n\t\tif (theme) {\n\t\t\treturn theme.palette.primary.regular;\n\t\t}\n\t\treturn undefined;\n\t}, [\n\t\tcarbonioWebUiDarkPrimaryColor,\n\t\tcarbonioWebUiPrimaryColor,\n\t\tdarkModeEnabled,\n\t\tdarkReaderStatus,\n\t\tlocalStorageLastPrimary,\n\t\ttheme\n\t]);\n\n\tuseEffect(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tsetLocalStorageLastPrimary((prevState) => ({\n\t\t\t\t...prevState,\n\t\t\t\t[darkModeEnabled ? 'dark' : 'light']: primaryColor\n\t\t\t}));\n\t\t}\n\t}, [darkModeEnabled, darkReaderStatus, primaryColor, setLocalStorageLastPrimary]);\n\n\treturn primaryColor;\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { DynamicThemeFix } from 'darkreader';\n\n/*\n\treference: https://zextras.atlassian.net/wiki/spaces/IRIS/pages/223215854/UI+Guidelines+and+theming\n*/\nexport const ZIMBRA_STANDARD_COLORS = [\n\t{ zValue: 0, hex: '#000000', zLabel: 'black' },\n\t{ zValue: 1, hex: '#2b73d2', zLabel: 'blue' },\n\t{ zValue: 2, hex: '#29B6F6', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#66BB6A', zLabel: 'green' },\n\t{ zValue: 4, hex: '#7e57c2', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#ef5350', zLabel: 'red' },\n\t{ zValue: 6, hex: '#ffc107', zLabel: 'yellow' },\n\t{ zValue: 7, hex: '#edaeab', zLabel: 'pink' },\n\t{ zValue: 8, hex: '#828282', zLabel: 'gray' },\n\t{ zValue: 9, hex: '#FF7043', zLabel: 'orange' }\n];\n\nexport const FOLDERS = {\n\tUSER_ROOT: '1',\n\tINBOX: '2',\n\tTRASH: '3',\n\tSPAM: '4',\n\tSENT: '5',\n\tDRAFTS: '6',\n\tCONTACTS: '7',\n\tTAGS: '8',\n\tCONVERSATIONS: '9',\n\tCALENDAR: '10',\n\tROOT: '11',\n\tNOTEBOOK: '12', // no longer created in new mailboxes since Helix (bug 39647). old mailboxes may still contain a system folder with id 12\n\tAUTO_CONTACTS: '13',\n\tIM_LOGS: '14',\n\tTASKS: '15',\n\tBRIEFCASE: '16',\n\tLAST_SYSTEM_FOLDER_POSITION: '16.1'\n};\n\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const ACCOUNTS_APP_ID = 'accounts';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES = {\n\tCONVERSATION: 'conversation',\n\tCONVERSATION_lIST: 'conversation_list',\n\tMESSAGE: 'message',\n\tMESSAGE_lIST: 'message_list',\n\tCONTACT: 'contact',\n\tCONTACT_lIST: 'contact_list',\n\tINVITE: 'invite',\n\tINVITE_lIST: 'invite_list',\n\tAPPOINTMENT: 'appointment',\n\tAPPOINTMENT_lIST: 'appointment_list',\n\tFOLDER: 'folder',\n\tFOLDER_lIST: 'folder_list',\n\tCALENDAR: 'calendar',\n\tCALENDAR_lIST: 'calendar_list',\n\tNEW: 'new'\n};\n\nexport const darkReaderDynamicThemeFixes: DynamicThemeFix = {\n\tignoreImageAnalysis: ['.no-dr-invert *'],\n\tinvert: [],\n\tcss: `\n\t\t.tox, .force-white-bg, .tox-swatches-menu, .tox .tox-edit-area__iframe {\n\t\t\tbackground-color: #fff !important;\n\t\t\tbackground: #fff !important;\n\t\t}\n\t`,\n\tignoreInlineStyle: ['.tox-menu *'],\n\tdisableStyleSheetsProxy: false\n};\n\nconst base = '/carbonio/';\n\nconst standaloneBase = `${base}standalone`;\n\nexport const IS_STANDALONE = window.location.pathname.startsWith(standaloneBase);\nexport const BASENAME = IS_STANDALONE ? standaloneBase : base;\nexport const EMAIL_VALIDATION_REGEX =\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars, max-len, no-control-regex\n\t/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\n\nexport const ROOT_NAME = 'USER_ROOT';\n\nexport const DARK_READER_VALUES = ['auto', 'enabled', 'disabled'] as const;\n\nexport const FOLDER_VIEW = {\n\tsearch_folder: 'search folder',\n\ttag: 'tag',\n\tconversation: 'conversation',\n\tmessage: 'message',\n\tcontact: 'contact',\n\tdocument: 'document',\n\tappointment: 'appointment',\n\tvirtual_conversation: 'virtual conversation',\n\tremote_folder: 'remote folder',\n\twiki: 'wiki',\n\ttask: 'task',\n\tchat: 'chat'\n};\nexport const LOCAL_STORAGE_SETTINGS_KEY = 'settings';\nexport const LOCAL_STORAGE_LAST_PRIMARY_KEY = 'config';\nexport const LOCAL_STORAGE_SEARCH_KEY = 'search_suggestions';\nexport const SCALING_OPTIONS = [\n\t{ value: 75, label: 'xs' },\n\t{ value: 87.5, label: 's' },\n\t{ value: 100, label: 'm' },\n\t{ value: 112.5, label: 'l' },\n\t{ value: 125, label: 'xl' }\n] as const;\nexport const BASE_FONT_SIZE = 100;\nexport const SCALING_LIMIT = {\n\tWIDTH: 1400,\n\tHEIGHT: 900,\n\tDPR: 2 // device pixel ratio\n} as const;\n\nexport const LOGIN_V3_CONFIG_PATH = '/zx/login/v3/config';\nexport const DARK_READER_PROP_KEY = 'zappDarkreaderMode';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useEffect, useState } from 'react';\nimport { useDarkReaderResultValue } from './use-dark-reader-result-value';\nimport { getPrefersColorSchemeDarkMedia } from './utils';\nimport type { DarkReaderPropValues } from '../../types';\n\nexport const useDarkMode = (): {\n\tdarkModeEnabled: boolean;\n\tdarkReaderStatus: DarkReaderPropValues | undefined;\n} => {\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\n\tconst [darkModeEnabled, setDarkModeEnabled] = useState<boolean>(false);\n\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkModeEnabled(\n\t\t\t\t(darkReaderResultValue === 'auto' && getPrefersColorSchemeDarkMedia().matches) ||\n\t\t\t\t\tdarkReaderResultValue === 'enabled'\n\t\t\t);\n\t\t}\n\t}, [darkReaderResultValue]);\n\n\tuseEffect(() => {\n\t\tconst setCallback = (event: MediaQueryListEvent): void => {\n\t\t\tsetDarkModeEnabled(event.matches);\n\t\t};\n\t\tgetPrefersColorSchemeDarkMedia().addEventListener('change', setCallback);\n\t\treturn (): void => {\n\t\t\tgetPrefersColorSchemeDarkMedia().removeEventListener('change', setCallback);\n\t\t};\n\t}, []);\n\n\treturn { darkModeEnabled, darkReaderStatus: darkReaderResultValue };\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useMemo } from 'react';\nimport { find, size } from 'lodash';\nimport { useUserSettings } from '../store/account';\nimport { useLoginConfigStore } from '../store/login/store';\nimport type { DarkReaderPropValues, ZappDarkreaderModeZimletProp, ZimletProp } from '../../types';\nimport { DARK_READER_PROP_KEY, DARK_READER_VALUES, SHELL_APP_ID } from '../constants';\n\nexport function isZappDarkreaderModeZimletProp(\n\tprop: ZimletProp\n): prop is ZappDarkreaderModeZimletProp {\n\treturn prop.name === DARK_READER_PROP_KEY && prop.zimlet === SHELL_APP_ID;\n}\n\nexport function isDarkReaderPropValues(\n\tmaybeDarkReaderPropValue: unknown\n): maybeDarkReaderPropValue is DarkReaderPropValues {\n\treturn (\n\t\ttypeof maybeDarkReaderPropValue === 'string' &&\n\t\tDARK_READER_VALUES.includes(maybeDarkReaderPropValue as DarkReaderPropValues)\n\t);\n}\n\n// return the final calculated value between ZappDarkreaderModeZimletProp value and carbonioWebUiDarkMode config\nexport function useDarkReaderResultValue(): undefined | DarkReaderPropValues {\n\tconst settings = useUserSettings();\n\tconst { carbonioWebUiDarkMode } = useLoginConfigStore();\n\n\tconst settingReceived = useMemo(\n\t\t() => size(settings.prefs) > 0 || size(settings.attrs) > 0 || size(settings.props) > 0,\n\t\t[settings]\n\t);\n\n\treturn useMemo(() => {\n\t\tif (settingReceived) {\n\t\t\tconst result = find<ZimletProp, ZappDarkreaderModeZimletProp>(\n\t\t\t\tsettings.props,\n\t\t\t\t(value): value is ZappDarkreaderModeZimletProp => isZappDarkreaderModeZimletProp(value)\n\t\t\t)?._content;\n\n\t\t\treturn result || (carbonioWebUiDarkMode && 'enabled') || 'disabled';\n\t\t}\n\t\treturn undefined;\n\t}, [settingReceived, settings, carbonioWebUiDarkMode]);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const getPrefersColorSchemeDarkMedia = (): MediaQueryList =>\n\twindow.matchMedia('(prefers-color-scheme: dark)');\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { To } from 'history';\nimport { find, startsWith, replace, trim } from 'lodash';\nimport { useMemo, useCallback } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { AppRoute, HistoryParams } from '../../types';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useSearchStore } from '../search/search-store';\nimport { useRoutes, getRoutes } from '../store/app';\nimport { useContextBridge } from '../store/context-bridge';\n\nexport const useCurrentRoute = (): AppRoute | undefined => {\n\tconst location = useLocation();\n\tconst routes = useRoutes();\n\treturn useMemo(\n\t\t() => find(routes, (r) => startsWith(trim(location.pathname, '/'), r.route)),\n\t\t[location.pathname, routes]\n\t);\n};\nexport const getCurrentRoute = (): AppRoute | undefined => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\tconst routes = getRoutes();\n\tconst route = find(routes, (r) => startsWith(trim(history.location.pathname, '/'), r.route));\n\tif (route?.route === SEARCH_APP_ID) {\n\t\treturn {\n\t\t\t...route,\n\t\t\troute: `${route.route}/${useSearchStore.getState().module}`\n\t\t};\n\t}\n\treturn route;\n};\n\nexport const parseParams = (params: HistoryParams): To => {\n\tif (typeof params === 'string') {\n\t\treturn replace(`/${getCurrentRoute()?.route}/${params}`, '//', '/');\n\t}\n\tconst routeToApply = params.route\n\t\t? find(getRoutes(), (r) => r.id === params.route || r.route === params.route)\n\t\t: getCurrentRoute();\n\treturn typeof params.path === 'string'\n\t\t? replace(`/${routeToApply?.route}/${params.path}`, '//', '/')\n\t\t: {\n\t\t\t\tsearch: params.path.search,\n\t\t\t\thash: params.path.hash,\n\t\t\t\tpathname: replace(`/${routeToApply?.route}/${params.path.pathname}`, '//', '/')\n\t\t };\n};\n\nexport const usePushHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.push(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport const useReplaceHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.replace(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport function useGoBackHistoryCallback(): () => void {\n\tconst history = useHistory();\n\treturn history.goBack;\n}\n\nexport const pushHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.push(parseParams(params));\n};\n\nexport const replaceHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.replace(parseParams(params));\n};\n\nexport const goBackHistory = (): void =>\n\tuseContextBridge.getState().functions.getHistory?.().goBack();\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, find, findIndex, forEach, map, reduce, isArray } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAccountStore } from '../store/account';\nimport {\n\tAccountState,\n\tMods,\n\tAccount,\n\tCreateIdentityResponse,\n\tModifyPropertiesResponse,\n\tModifyPrefsResponse,\n\tModifyIdentityResponse,\n\tRevokeRightsResponse,\n\tDeleteIdentityResponse,\n\tGrantRightsResponse\n} from '../../types';\nimport { getXmlSoapFetch } from './fetch';\n\ntype EditSettingsBatchResponse = {\n\tModifyPropertiesResponse?: ModifyPropertiesResponse[];\n\tModifyPrefsResponse?: ModifyPrefsResponse[];\n\tModifyIdentityResponse?: ModifyIdentityResponse[];\n\tDeleteIdentityResponse?: DeleteIdentityResponse[];\n\tCreateIdentityResponse?: CreateIdentityResponse[];\n\tRevokeRightsResponse?: RevokeRightsResponse[];\n\tGrantRightsResponse?: GrantRightsResponse[];\n};\n\nexport const editSettings = (\n\tmods: Partial<Mods>,\n\tappId: string = SHELL_APP_ID\n): Promise<EditSettingsBatchResponse> =>\n\tgetXmlSoapFetch(SHELL_APP_ID)<string, EditSettingsBatchResponse>(\n\t\t'Batch',\n\t\t`<BatchRequest xmlns=\"urn:zimbra\" onerror=\"stop\">${\n\t\t\tmods.props\n\t\t\t\t? `<ModifyPropertiesRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t(prop, key) => `<prop name=\"${key}\" zimlet=\"${prop.app ?? appId}\">${prop.value}</prop>`\n\t\t\t\t )}</ModifyPropertiesRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.prefs\n\t\t\t\t? `<ModifyPrefsRequest xmlns=\"urn:zimbraAccount\">${map(mods.prefs, (pref, key) =>\n\t\t\t\t\t\tisArray(pref)\n\t\t\t\t\t\t\t? map(pref, (p) => `<pref name=\"${key}\">${p}</pref>`).join('')\n\t\t\t\t\t\t\t: `<pref name=\"${key}\">${pref}</pref>`\n\t\t\t\t ).join('')}</ModifyPrefsRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.modifyList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.modifyList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<ModifyIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${\n\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t}\">${map(item.prefs, (value, key) => `<a name=\"${key}\">${value}</a>`).join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t)}</identity></ModifyIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.deleteList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.deleteList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<DeleteIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${item}\"/></DeleteIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.createList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.createList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${item.prefs.requestId}\"><identity name=\"${item.prefs.zimbraPrefIdentityName}\"><a name=\"zimbraPrefIdentityName\">${item.prefs.zimbraPrefIdentityName}</a><a name=\"zimbraPrefFromDisplay\">${item.prefs.zimbraPrefFromDisplay}</a><a name=\"zimbraPrefFromAddress\">${item.prefs.zimbraPrefFromAddress}</a><a name=\"zimbraPrefFromAddressType\">sendAs</a><a name=\"zimbraPrefReplyToEnabled\">${item.prefs.zimbraPrefReplyToEnabled}</a><a name=\"zimbraPrefReplyToDisplay\">${item.prefs.zimbraPrefReplyToDisplay}</a><a name=\"zimbraPrefReplyToAddress\">${item.prefs.zimbraPrefReplyToAddress}</a><a name=\"zimbraPrefDefaultSignatureId\">${item.prefs.zimbraPrefDefaultSignatureId}</a><a name=\"zimbraPrefForwardReplySignatureId\">${item.prefs.zimbraPrefForwardReplySignatureId}</a><a name=\"zimbraPrefWhenSentToEnabled\">${item.prefs.zimbraPrefWhenSentToEnabled}</a><a name=\"zimbraPrefWhenInFoldersEnabled\">${item.prefs.zimbraPrefWhenInFoldersEnabled}</a></identity></CreateIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.permissions\n\t\t\t\t? `<RevokeRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? map(mods.permissions.freeBusy.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'dom')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? map(mods.permissions.inviteRight.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }</RevokeRightsRequest><GrantRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"1\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'dom') {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t// FIXME: usage differs from the declaration of the AccountACE\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"viewFreeBusy\" gt=\"${mods.permissions?.freeBusy.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions.inviteRight.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.inviteRight.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t// FIXME: usage differs from the declaration of the AccountACE\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }\n\t</GrantRightsRequest>`\n\t\t\t\t: ''\n\t\t}</BatchRequest>`\n\t).then((r) => {\n\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\tsettings: {\n\t\t\t\t...s.settings,\n\t\t\t\tprefs: reduce(\n\t\t\t\t\tmods.prefs,\n\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t}),\n\t\t\t\t\ts.settings.prefs\n\t\t\t\t),\n\t\t\t\tprops: reduce(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\tif (propIndex >= 0) {\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[propIndex] = {\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\ts.settings.props\n\t\t\t\t)\n\t\t\t},\n\t\t\taccount: {\n\t\t\t\t...s.account,\n\t\t\t\tdisplayName:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\tidentities: {\n\t\t\t\t\tidentity:\n\t\t\t\t\t\ttypeof s.account !== 'undefined'\n\t\t\t\t\t\t\t? reduce(\n\t\t\t\t\t\t\t\t\tmods?.identity?.modifyList,\n\t\t\t\t\t\t\t\t\t(acc, { id, prefs }) => {\n\t\t\t\t\t\t\t\t\t\tconst tempResult = [];\n\t\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\t\t\t\t\t\t\t\t\t\t\tforEach(Object.keys(prefs), (item, _index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs[item] = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem === 'zimbraPrefIdentityName' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name !== 'DEFAULT'\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\ttempResult.push(prefs);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name !== 'DEFAULT'),\n\t\t\t\t\t\t\t\t\t\t...map(r?.CreateIdentityResponse, (item) => item.identity[0]),\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name === 'DEFAULT')\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t} as Account\n\t\t}));\n\t\treturn r;\n\t});\n\nexport const getEditSettingsForApp =\n\t(app: string) =>\n\t(mods: Mods): Promise<EditSettingsBatchResponse & { type?: 'fulfilled' }> =>\n\t\teditSettings(mods, app).then((r) => ({\n\t\t\t...r,\n\t\t\ttype: 'fulfilled'\n\t\t}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, map, maxBy } from 'lodash';\nimport { goToLogin } from './go-to-login';\nimport {\n\tAccount,\n\tErrorSoapBodyResponse,\n\tErrorSoapResponse,\n\tSoapContext,\n\tSoapResponse\n} from '../../types';\nimport { userAgent } from './user-agent';\nimport { report } from '../reporting';\nimport { useAccountStore } from '../store/account';\nimport { IS_STANDALONE, SHELL_APP_ID } from '../constants';\nimport { useNetworkStore } from '../store/network';\nimport { handleSync } from '../store/network/utils';\n\nexport const noOp = (): void => {\n\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\tgetSoapFetch(SHELL_APP_ID)(\n\t\t'NoOp',\n\t\tuseNetworkStore.getState().pollingInterval === 500\n\t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n\t\t\t: { _jsns: 'urn:zimbraMail' }\n\t);\n};\n\nconst getAccount = (\n\tacc?: Account,\n\totherAccount?: string\n): { by: string; _content: string } | undefined => {\n\tif (otherAccount) {\n\t\treturn {\n\t\t\tby: 'name',\n\t\t\t_content: otherAccount\n\t\t};\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn {\n\t\t\t\tby: 'name',\n\t\t\t\t_content: acc.name\n\t\t\t};\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn {\n\t\t\t\tby: 'id',\n\t\t\t\t_content: acc.id\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n};\n\nconst getXmlAccount = (acc?: Account, otherAccount?: string): string => {\n\tif (otherAccount) {\n\t\treturn `<account by=\"name\">${otherAccount}</account>`;\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn `<account by=\"name\">${acc.name}</account>`;\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn `<account by=\"id\">${acc.id}</account>`;\n\t\t}\n\t}\n\treturn '';\n};\n\nconst getXmlSession = (): string => {\n\tconst sessionId = useNetworkStore.getState().session?.id;\n\tif (sessionId) {\n\t\treturn `<session id=\"${sessionId}\"/>`;\n\t}\n\treturn '';\n};\n\nconst normalizeContext = (context: any): SoapContext => {\n\tif (context.notify) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontext.notify = map(context.notify, (notify) => ({\n\t\t\t...notify,\n\t\t\tdeleted: notify.deleted?.id?.split(',')\n\t\t}));\n\t}\n\treturn context;\n};\n\nconst handleResponse = <R>(api: string, res: SoapResponse<R>): R | ErrorSoapBodyResponse => {\n\tconst { pollingInterval, noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tclearTimeout(noOpTimeout);\n\tif (res.Body.Fault) {\n\t\tif (\n\t\t\tfind(\n\t\t\t\t['service.AUTH_REQUIRED', 'service.AUTH_EXPIRED'],\n\t\t\t\t(code) => code === (<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Code\n\t\t\t)\n\t\t) {\n\t\t\tif (IS_STANDALONE) {\n\t\t\t\tuseAccountStore.setState({ authenticated: false });\n\t\t\t} else {\n\t\t\t\tgoToLogin();\n\t\t\t}\n\t\t}\n\t\tconsole.error(\n\t\t\tnew Error(\n\t\t\t\t`${(<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Detail}: ${\n\t\t\t\t\t(<ErrorSoapResponse>res).Body.Fault.Reason?.Text\n\t\t\t\t}`\n\t\t\t)\n\t\t);\n\t}\n\tif (res.Header?.context) {\n\t\tconst responseUsedQuota =\n\t\t\tres.Header.context?.refresh?.mbx?.[0]?.s ??\n\t\t\tres.Header.context?.notify?.[0]?.modified?.mbx?.[0]?.s;\n\t\tconst _context = normalizeContext(res.Header.context);\n\t\tconst seq = maxBy(_context.notify, 'seq')?.seq ?? 0;\n\t\thandleSync(_context);\n\t\tuseAccountStore.setState({\n\t\t\tusedQuota: responseUsedQuota ?? usedQuota\n\t\t});\n\t\tconst nextPollingInterval = (res?.Body as { waitDisallowed?: number })?.waitDisallowed\n\t\t\t? 10000\n\t\t\t: pollingInterval;\n\t\tuseNetworkStore.setState({\n\t\t\tnoOpTimeout: setTimeout(() => noOp(), nextPollingInterval),\n\t\t\tpollingInterval: nextPollingInterval,\n\t\t\tseq,\n\t\t\t..._context\n\t\t});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\treturn res?.Body?.Fault ? (res.Body as ErrorSoapBodyResponse) : (res.Body[`${api}Response`] as R);\n};\nexport const getSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(\n\t\tapi: string,\n\t\tbody: Request,\n\t\totherAccount?: string,\n\t\tsignal?: AbortSignal\n\t): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\tconst { notify, session } = useNetworkStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tsignal,\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tBody: {\n\t\t\t\t\t[`${api}Request`]: body\n\t\t\t\t},\n\t\t\t\tHeader: {\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\t_jsns: 'urn:zimbra',\n\t\t\t\t\t\tnotify: notify?.[0]?.seq\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tseq: notify?.[0]?.seq\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tsession: session ?? {},\n\t\t\t\t\t\taccount: getAccount(account as Account, otherAccount),\n\t\t\t\t\t\tuserAgent: {\n\t\t\t\t\t\t\tname: userAgent,\n\t\t\t\t\t\t\tversion: zimbraVersion\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n\nexport const getXmlSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(api: string, body: Request, otherAccount?: string): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'content-type': 'application/soap+xml'\n\t\t\t},\n\t\t\tbody: `<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\t\t<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\">\n\t\t\t<soap:Header><context xmlns=\"urn:zimbra\"><userAgent name=\"${userAgent}\" version=\"${zimbraVersion}\"/>${getXmlSession()}${getXmlAccount(\n\t\t\t\taccount,\n\t\t\t\totherAccount\n\t\t\t)}<format type=\"js\"/></context></soap:Header>\n\t\t\t<soap:Body>${body}</soap:Body>\n\t\t</soap:Envelope>`\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n\nexport const shellSoap = getSoapFetch(SHELL_APP_ID);\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { normalizeAccount } from '../store/account/normalization';\nimport { AccountSettings, GetInfoResponse, CarbonioModule } from '../../types';\nimport { goToLogin } from './go-to-login';\nimport { getSoapFetch } from './fetch';\nimport { useAccountStore } from '../store/account';\nimport { useNetworkStore } from '../store/network';\n\nconst parsePollingInterval = (settings: AccountSettings): number => {\n\tconst pollingPref = (settings.prefs?.zimbraPrefMailPollingInterval ?? '') as string;\n\tif (pollingPref === '500') {\n\t\treturn 500;\n\t}\n\tconst pollingValue = parseInt(pollingPref, 10);\n\tif (Number.isNaN(pollingValue)) {\n\t\treturn 30000;\n\t}\n\tif (pollingPref.includes('m')) {\n\t\treturn pollingValue * 60 * 1000;\n\t}\n\treturn pollingValue * 1000;\n};\n\nexport const getInfo = (): Promise<void> =>\n\tfetch('/static/iris/components.json')\n\t\t.then((r) => r.json())\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore.getState().setters.addApps(\n\t\t\t\tfilter(components, ({ type }) => {\n\t\t\t\t\tif (type === 'shell' || type === 'carbonio') return true;\n\t\t\t\t\treturn false;\n\t\t\t\t})\n\t\t\t);\n\t\t})\n\t\t.then(() =>\n\t\t\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t\t\t})\n\t\t)\n\t\t.then((res: GetInfoResponse): void => {\n\t\t\tif (res) {\n\t\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\t\tuseNetworkStore.setState({\n\t\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t\t});\n\t\t\t\tuseAccountStore.setState({\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\taccount,\n\t\t\t\t\tsettings,\n\t\t\t\t\tzimbraVersion: version\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.catch((err: Error) => {\n\t\t\tconsole.error(err);\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const goToLogin: () => void = () => {\n\twindow?.location?.assign?.(`${window?.location?.origin}/static/login`);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { LoginConfigStore } from '../../types/loginConfig';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { LOGIN_V3_CONFIG_PATH } from '../constants';\n\nexport const loginConfig = (): Promise<void> =>\n\tfetch(LOGIN_V3_CONFIG_PATH)\n\t\t.then((response) => response.json())\n\t\t.then((data: LoginConfigStore) => {\n\t\t\tuseLoginConfigStore.setState(data);\n\t\t\tconst favicon = document.getElementById('favicon');\n\t\t\tif (favicon && favicon instanceof HTMLLinkElement) {\n\t\t\t\tfavicon.href = data.carbonioWebUiFavicon\n\t\t\t\t\t? data.carbonioWebUiFavicon\n\t\t\t\t\t: `${BASE_PATH}favicon.svg`;\n\t\t\t}\n\t\t\tif (data.carbonioWebUiTitle) {\n\t\t\t\tdocument.title = data.carbonioWebUiTitle;\n\t\t\t}\n\t\t})\n\t\t.catch((reason) => {\n\t\t\tconsole.warn(reason);\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\nimport { goToLogin } from './go-to-login';\n\nexport const logout = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)('EndSession', {\n\t\t_jsns: 'urn:zimbraAccount',\n\t\tlogoff: true\n\t}).then(() => {\n\t\tfetch('/?loginOp=logout')\n\t\t\t.then((res) => res)\n\t\t\t.then(goToLogin);\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tCreateTagRequest,\n\tCreateTagResponse,\n\tTagActionRequest,\n\tTagActionResponse\n} from '../../types';\nimport { Tag } from '../../types/tags';\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\n\nexport const createTag = (tag: Omit<Tag, 'id'>): Promise<CreateTagResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<CreateTagRequest, CreateTagResponse>('CreateTag', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\ttag\n\t});\nexport const deleteTag = (id: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'delete', id }\n\t});\n\nexport const renameTag = (id: string, name: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'rename', id, name }\n\t});\n\nexport const changeTagColor = (id: string, color: string | number): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: typeof color === 'number' ? { op: 'color', color, id } : { op: 'color', rgb: color, id }\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport UAParser from 'ua-parser-js';\n\nconst { os, browser } = UAParser();\nexport const userAgent = `CarbonioWebClient - ${browser.name} ${browser.version} (${os.name})`;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { debounce, noop } from 'lodash';\nimport {\n\tNotificationConfig,\n\tPopupNotificationConfig,\n\tAudioNotificationConfig,\n\tINotificationManager\n} from '../../types/notification';\nimport defaultAudio from '../../assets/notification.mp3';\nimport defaultIcon from '../../assets/carbonio-logo.png';\n\nconst PopupNotificationDefaultConfig = {\n\ttitle: 'Carbonio client',\n\ticon: defaultIcon,\n\tvibrate: [200, 100, 200]\n};\n\nconst AudioNotificationDefaultConfig = {\n\tsound: defaultAudio\n};\n\nconst NotificationDefaultConfig: NotificationConfig = {\n\t...PopupNotificationDefaultConfig,\n\t...AudioNotificationDefaultConfig,\n\tshowPopup: true,\n\tplaySound: false\n};\n\n/**\n * The main goals of the NotificationManager are:\n * - to provide a single and rich implementation for all the Carbonio modules,\n * reducing the boilerplate code needed to send a notification to the user\n * - to optimize the audio notifications avoiding to spam the same sound file\n * in a short period of time\n * - to act as a collector for all the notification (for possible future\n * implementations)\n *\n * In order to reduce the effort needed to send a notification the class\n * provided a set of default values/assets (e.g. icon, sound, title, ...)\n *\n * The class is provided as a singleton\n */\nexport class NotificationManager implements INotificationManager {\n\tprivate static instance: NotificationManager;\n\n\t/**\n\t * Minimum time (ms) to wait before the same audio file will be played\n\t * @private\n\t */\n\tprivate static DEBOUNCE_TIME = 1000;\n\n\t/**\n\t * Map of functions to play a specific audio file\n\t * @private\n\t */\n\tprivate functions = new Map<string, () => void>();\n\n\t/**\n\t * Gets or creates the (debounced) function to play the audio file\n\t * @param sound - relative path to the audio file to play\n\t */\n\tprivate getAudioFileFunction = (sound: string): (() => void) => {\n\t\tif (!this.functions.has(sound)) {\n\t\t\tthis.functions.set(\n\t\t\t\tsound,\n\t\t\t\tdebounce(() => {\n\t\t\t\t\tnew Audio(sound).play().then();\n\t\t\t\t\tthis.functions.delete(sound);\n\t\t\t\t}, NotificationManager.DEBOUNCE_TIME)\n\t\t\t);\n\t\t}\n\t\tconst result = this.functions.get(sound);\n\t\treturn result ?? noop;\n\t};\n\n\t/**\n\t * Executes the debounced function to play the audio file\n\t * @param config - Configuration for the audio notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic playSound = (config: AudioNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...AudioNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\t\tif (!defConfig.sound) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getAudioFileFunction(defConfig.sound)();\n\t};\n\n\t/**\n\t * Shows a popup notification\n\t * @param config - Configuration for the popup notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic showPopup = (config: PopupNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...PopupNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tconst n = new Notification(defConfig.title, {\n\t\t\tbody: defConfig.message,\n\t\t\tvibrate: defConfig.vibrate,\n\t\t\ticon: defConfig.icon,\n\t\t\ttag: defConfig?.tag\n\t\t});\n\n\t\tif (defConfig.onClick) {\n\t\t\tn.addEventListener('click', defConfig.onClick);\n\t\t}\n\t};\n\n\t/**\n\t * Sends a popup/audio notification to the user\n\t * @param config - Configuration for the notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic notify = (config: NotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...NotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tif (defConfig?.showPopup) {\n\t\t\tthis.showPopup(defConfig);\n\t\t}\n\n\t\tif (defConfig?.playSound) {\n\t\t\tthis.playSound(defConfig);\n\t\t}\n\t};\n\n\t/**\n\t * Sends multiple notifications\n\t * @param config - Array of configurations for the notifications. In case of\n\t * missing properties default values are used\n\t */\n\tpublic multipleNotify = (config: NotificationConfig[]): void => {\n\t\tconfig.forEach((conf) => this.notify(conf));\n\t};\n\n\t/**\n\t * Return the singleton instance\n\t */\n\tpublic static getInstance(): NotificationManager {\n\t\tif (!NotificationManager.instance) {\n\t\t\tNotificationManager.instance = new NotificationManager();\n\t\t}\n\n\t\treturn NotificationManager.instance;\n\t}\n}\n\nexport const getNotificationManager = (): INotificationManager => NotificationManager.getInstance();\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, ReactElement, useEffect } from 'react';\n\nexport const NotificationPermissionChecker: FC = (): ReactElement => {\n\tuseEffect(() => {\n\t\tif (!('Notification' in window)) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('This browser does not support desktop notifications');\n\t\t} else {\n\t\t\tNotification.requestPermission();\n\t\t}\n\t}, []);\n\n\treturn <></>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport type { Event } from '@sentry/browser';\nimport {\n\tButtonOld as Button,\n\tContainer,\n\tContainerProps,\n\tIcon,\n\tRow,\n\tSelect,\n\tSnackbarManagerContext,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map } from 'lodash';\nimport React, {\n\tFC,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseReducer,\n\tuseState\n} from 'react';\nimport { TFunction } from 'react-i18next';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { useUserAccount } from '../store/account';\nimport { useAppList } from '../store/app';\nimport { closeBoard } from '../store/boards';\nimport { getT } from '../store/i18n';\nimport { feedback } from './functions';\n\nconst TextArea = styled.textarea<{ size?: keyof DefaultTheme['sizes']['font'] }>`\n\twidth: 100%;\n\tmin-height: 8rem;\n\tbox-sizing: border-box;\n\toutline: none;\n\tborder: none;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tresize: none;\n\ttransition: height 0.4s ease;\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme, size }): string => theme.sizes.font[size ?? 'medium']};\n\t&:focus {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t}\n`;\n\nconst TextContainer = styled(Container)`\n\ttext-align: justify;\n\talign-items: flex-start;\n\twidth: 80%;\n`;\n\nconst ButtonContainer = styled(Container)`\n\twidth: 20%;\n\tposition: relative;\n`;\n\nconst TAContainer = styled(Container)`\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tborder-radius: 0.125rem 0.125rem 0 0;\n\tpadding: 0.5rem;\n\ttransition: height 0.4s ease;\n\theight: auto;\n\tmax-height: 50%;\n\t&:focus-within {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t\tborder-bottom: 0.0625rem solid ${({ theme }): string => theme.palette.primary.regular};\n\t}\n`;\n\nconst SubHeadingText = styled(Text)<{ lineHeight?: string }>`\n\tborder-radius: 0.125rem 0.125rem 0 0;\n\tfont-size: 0.875rem;\n\tfont-weight: 300;\n\tmargin-top: 0.625rem;\n\tline-height: ${({ lineHeight }): string => lineHeight ?? 'normal'};\n`;\n\ninterface LabelContainerProps extends ContainerProps {\n\tdisabled: boolean;\n}\n\nconst LabelContainer = styled(Container)<LabelContainerProps>`\n\tborder-bottom: 0.0625rem solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.error.regular : theme.palette.gray2.regular};\n`;\n\nconst emptyEvent: Event = {\n\tmessage: '',\n\tlevel: 'info',\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\nfunction reducer(state: Event, { type, payload }: { type: string; payload: any }): Event {\n\tswitch (type) {\n\t\tcase 'set-user':\n\t\t\treturn { ...state, user: payload };\n\t\tcase 'reset':\n\t\t\treturn emptyEvent;\n\t\tcase 'set-message':\n\t\t\treturn { ...state, message: payload };\n\t\tcase 'select-app':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trelease: payload.version,\n\t\t\t\textra: { ...state.extra, app: payload.app }\n\t\t\t};\n\t\tcase 'select-topic':\n\t\t\treturn { ...state, extra: { ...state.extra, topic: payload } };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst getTopics = (t: TFunction): Array<{ label: string; value: string }> => [\n\t{ label: t('feedback.user_interface', 'User interface'), value: 'UserInterface' },\n\t{ label: t('feedback.behaviors', 'Behaviors'), value: 'Behaviors' },\n\t{ label: t('feedback.missing_features', 'Missing features'), value: 'MissingFeatures' },\n\t{ label: t('feedback.other', 'Other'), value: 'Other' }\n];\n\nconst ModuleLabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel?: string;\n\topen: boolean;\n\tfocus: boolean;\n\tdisabled: boolean;\n}> = ({ selected, label, open, focus, disabled }) => (\n\t<LabelContainer\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t\tdisabled={disabled}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Icon\n\t\t\tsize=\"large\"\n\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t/>\n\t</LabelContainer>\n);\n\nconst _LabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n\tshowErr: boolean;\n}> = ({ selected, label, open, focus, showErr }) => (\n\t<LabelContainer\n\t\tdisabled={showErr}\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t{showErr ? (\n\t\t\t\t<Text size=\"medium\" color={(open && showErr) || focus ? 'primary' : 'error'}>\n\t\t\t\t\t{' '}\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t) : (\n\t\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Row>\n\n\t\t{showErr ? (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={(open && showErr) || focus ? 'primary' : 'error'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t)}\n\t</LabelContainer>\n);\n\nconst Feedback: FC = () => {\n\tconst t = getT();\n\tconst allApps = useAppList();\n\tconst apps = useMemo(\n\t\t() => filter(allApps, (app) => !!app.sentryDsn),\n\n\t\t[allApps]\n\t);\n\tconst appItems = useMemo(\n\t\t() =>\n\t\t\tmap(apps, (app) => ({\n\t\t\t\tlabel: app.display,\n\t\t\t\tvalue: app.name\n\t\t\t})),\n\t\t[apps]\n\t);\n\tconst acct = useUserAccount();\n\tconst [event, dispatch] = useReducer(reducer, emptyEvent);\n\tconst [showErr, setShowErr] = useState(false);\n\tconst [limit, setLimit] = useState(0);\n\n\tconst onAppSelect = useCallback(\n\t\t(ev) =>\n\t\t\tdispatch({\n\t\t\t\ttype: 'select-app',\n\t\t\t\tpayload: {\n\t\t\t\t\tapp: ev,\n\t\t\t\t\tversion: find(apps, ['name', ev])?.version\n\t\t\t\t}\n\t\t\t}),\n\t\t[apps]\n\t);\n\n\tconst onTopicSelect = useCallback((ev) => {\n\t\tsetShowErr(false);\n\t\tdispatch({ type: 'select-topic', payload: ev });\n\t}, []);\n\n\tconst onInputChange = useCallback((ev) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = `${25 + ev.target.scrollHeight}px`;\n\t\tif (ev.target.value.length <= 500) {\n\t\t\tsetLimit(ev.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: ev.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback(\n\t\t(ev) => {\n\t\t\tif (event.extra?.topic === '0') setShowErr(true);\n\t\t\telse setShowErr(false);\n\t\t\tif (ev.keyCode === 8) {\n\t\t\t\tif (event.message?.length === 0) {\n\t\t\t\t\tsetShowErr(false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setShowErr, event]\n\t);\n\n\tconst createSnackbar = useContext(SnackbarManagerContext) as (snackbar: any) => void;\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(event);\n\t\tcreateSnackbar(\n\t\t\tfeedbackId\n\t\t\t\t? { type: 'success', label: t('feedback.success', 'Thank you for your feedback') }\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('feedback.error', 'There was an error while sending your feedback')\n\t\t\t\t }\n\t\t);\n\t\tcloseBoard('feedback');\n\t}, [event, createSnackbar, t]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: acct.id, name: acct.displayName ?? acct.name }\n\t\t});\n\t}, [acct]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(event?.message?.length ?? 0) <= 0 || event.extra?.topic === '0' || event.extra?.app === '0',\n\t\t[event.message, event.extra?.topic, event.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props) => <_LabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"large\">\n\t\t\t\t\t\t{t('feedback.report_something', 'Do you want to report something?')}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\" lineHeight=\"1.5\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.explanation',\n\t\t\t\t\t\t\t'Please send us your feedback about your new experience with Zextras Server. Your opinion is meaningful for us to improve our product. So tell us what’s on your mind.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.hint',\n\t\t\t\t\t\t\t'Remember: define the topic using module and macro area selectors before write your feedback. Thanks for your help.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t</TextContainer>\n\n\t\t\t\t<ButtonContainer crossAlignment=\"flex-end\" mainAlignment=\"baseline\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('feedback.send', 'SEND')}\n\t\t\t\t\t\tonClick={confirmHandler}\n\t\t\t\t\t\tdisabled={disabledSend}\n\t\t\t\t\t/>\n\t\t\t\t</ButtonContainer>\n\t\t\t</Container>\n\t\t\t<Container\n\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"19.0625rem\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"small\">\n\t\t\t\t\t\t\tModule\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_module', 'Select a module')}\n\t\t\t\t\t\titems={appItems}\n\t\t\t\t\t\tdefaultSelection={{ label: '', value: '' }}\n\t\t\t\t\t\tonChange={onAppSelect}\n\t\t\t\t\t\tLabelFactory={ModuleLabelFactory}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"19.0625rem\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"small\">\n\t\t\t\t\t\t\tTopic\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_topic', 'Select a topic')}\n\t\t\t\t\t\titems={topics}\n\t\t\t\t\t\tdefaultSelection={\n\t\t\t\t\t\t\tfind(topics, ['value', event.extra?.topic]) ?? { label: '', value: '' }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={onTopicSelect}\n\t\t\t\t\t\tLabelFactory={LabelFactory}\n\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t\t<TAContainer crossAlignment=\"flex-end\">\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={event.message}\n\t\t\t\t\tonKeyUp={checkTopicSelect}\n\t\t\t\t\tonChange={onInputChange}\n\t\t\t\t\tplaceholder={t('feedback.write_here', 'Write your feedback here')}\n\t\t\t\t/>\n\t\t\t\t<Text size=\"medium\" color=\"secondary\">\n\t\t\t\t\t{limit}/500\n\t\t\t\t</Text>\n\t\t\t</TAContainer>\n\t\t</Container>\n\t);\n};\n\nexport default Feedback;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport type { Event, EventHint } from '@sentry/browser';\nimport { useReporter } from './store';\n\nexport const report =\n\t(appId: string) =>\n\t(error: Event, hint?: EventHint): string => {\n\t\tconst reporter = useReporter.getState();\n\t\tconst eventId = reporter.clients[appId]?.captureException(error, { ...hint });\n\t\tif (eventId) {\n\t\t\tconsole.info('Reported event ', eventId);\n\t\t}\n\t\treturn eventId;\n\t};\n\nexport const feedback = (message: Event): string => {\n\tconst reporter = useReporter.getState();\n\tconst eventId = reporter.clients.feedbacks.captureEvent({ ...message, level: 'info' });\n\tif (eventId) {\n\t\tconsole.info('Feedback ', eventId, ' sent, Thank you');\n\t}\n\treturn eventId;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './store';\nexport * from './functions';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport {\n\tBrowserClient,\n\tdefaultIntegrations,\n\tdefaultStackParser,\n\tHub,\n\tmakeFetchTransport\n} from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport type { CarbonioModule } from '../../types';\nimport { SHELL_APP_ID } from '../constants';\n\ntype ReporterState = {\n\tclients: Record<string, Hub>;\n\tsetClients: (apps: Array<CarbonioModule>) => void;\n};\n\nexport const useReporter = create<ReporterState>((set) => ({\n\tclients: {\n\t\t[SHELL_APP_ID]: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t),\n\t\tfeedbacks: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: 'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t)\n\t},\n\tsetClients: (apps): void => {\n\t\tset((s) => ({\n\t\t\tclients: reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app) => {\n\t\t\t\t\tif (app.sentryDsn) {\n\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\ts.clients[app.name] = new Hub(\n\t\t\t\t\t\t\tnew BrowserClient({\n\t\t\t\t\t\t\t\ttransport: makeFetchTransport,\n\t\t\t\t\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\t\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\t\t\t\t\tdsn: app.sentryDsn,\n\t\t\t\t\t\t\t\trelease: app.version,\n\t\t\t\t\t\t\t\tmaxValueLength: 500\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.clients\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ReporterState, StoreApi<ReporterState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { Container, Row, Text, Icon, Dropdown } from '@zextras/carbonio-design-system';\nimport { useAppStore } from '../store/app';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useCurrentRoute, pushHistory } from '../history/hooks';\n\nconst SelectorContainer = styled(Container)<{ open?: boolean }>`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray4.regular};\n\tcursor: pointer;\n\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].regular};\n\n\t&:hover {\n\t\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].hover};\n\t}\n`;\n\nconst ModuleSelectorComponent: FC<{ app: string | undefined }> = ({ app }) => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\tconst fullModule = useMemo(\n\t\t() => modules.find((m) => m.route === module) ?? modules[0],\n\t\t[module, modules]\n\t);\n\n\tconst [open, setOpen] = useState(false);\n\n\tconst dropdownItems = useMemo(\n\t\t() =>\n\t\t\tmodules.map(({ id, label, icon, route }) => ({\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\ticon,\n\t\t\t\tactive: id === module,\n\t\t\t\tclick: (): void => {\n\t\t\t\t\tupdateModule(route);\n\t\t\t\t\tpushHistory({ route: SEARCH_APP_ID, path: `/${route}` });\n\t\t\t\t}\n\t\t\t})),\n\t\t[module, modules, updateModule]\n\t);\n\n\tuseEffect(() => {\n\t\tif (app !== SEARCH_APP_ID) {\n\t\t\tif (!fullModule || fullModule?.app !== app) {\n\t\t\t\tupdateModule((modules.find((m) => m.app === app) ?? modules[0])?.route);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [app, modules, updateModule]);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\titems={dropdownItems}\n\t\t\tonOpen={(): void => setOpen(true)}\n\t\t\tonClose={(): void => setOpen(false)}\n\t\t>\n\t\t\t<SelectorContainer\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\theight=\"2.625rem\"\n\t\t\t\twidth=\"fit\"\n\t\t\t\tminWidth=\"9.375rem\"\n\t\t\t\tcrossAlignment=\"center\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tborderRadius=\"half\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace mainAlignment=\"unset\" padding={{ left: 'small' }}>\n\t\t\t\t\t<Text size=\"small\" color={open ? 'primary' : 'text'}>\n\t\t\t\t\t\t{fullModule?.label}\n\t\t\t\t\t</Text>\n\t\t\t\t</Row>\n\t\t\t\t<Icon\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\t\tcolor={open ? 'primary' : 'text'}\n\t\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t\t/>\n\t\t\t</SelectorContainer>\n\t\t</Dropdown>\n\t);\n};\n\nconst MemoModuleSelector = React.memo(ModuleSelectorComponent);\n\nexport const ModuleSelector = (): JSX.Element => {\n\tconst activeRoute = useCurrentRoute();\n\treturn <MemoModuleSelector app={activeRoute?.app} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { QueryChip } from '../../types';\nimport { SEARCH_APP_ID } from '../constants';\nimport { pushHistory } from '../history/hooks';\nimport { useSearchStore } from './search-store';\n\nexport const runSearch = (query: Array<QueryChip>, module: string): void => {\n\tuseSearchStore.setState({ query, module, searchDisabled: false });\n\tpushHistory({ route: SEARCH_APP_ID, path: `/${module}` });\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tButton,\n\tChip,\n\tContainer,\n\tDivider,\n\tIcon,\n\tPadding,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { FC, ReactElement, useCallback, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { QueryChip, ResultLabelType } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useSearchStore } from './search-store';\n// import { RouteLeavingGuard } from '../ui-extras/nav-guard';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useQuery = (): [Array<QueryChip>, Function] =>\n\tuseSearchStore((s) => [s.query, s.updateQuery]);\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useDisableSearch = (): [boolean, Function] =>\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\tuseSearchStore((s) => [s.searchDisabled, s.setSearchDisabled]);\n\nconst getIconAndColor = (labelType: ResultLabelType): Array<string> => {\n\tif (labelType === ResultLabelType.WARNING) {\n\t\treturn ['AlertTriangle', 'warning'];\n\t}\n\tif (labelType === ResultLabelType.ERROR) {\n\t\treturn ['CloseSquare', 'error'];\n\t}\n\treturn ['', ''];\n};\n\nconst ResultsHeader: FC<{ label: string; labelType?: ResultLabelType }> = ({\n\tlabel,\n\tlabelType = ResultLabelType.NORMAL\n}) => {\n\tconst t = getT();\n\tconst [query, updateQuery] = useQuery();\n\tconst [, setDisabled] = useDisableSearch();\n\n\tconst resetQuery = useCallback(() => {\n\t\tupdateQuery([]);\n\t\tsetDisabled(false);\n\t}, [updateQuery, setDisabled]);\n\n\tconst labelTypeElem = useMemo<ReactElement | undefined>(() => {\n\t\tif (labelType === ResultLabelType.NORMAL) {\n\t\t\treturn <></>;\n\t\t}\n\n\t\tconst [icon, color] = getIconAndColor(labelType);\n\t\treturn (\n\t\t\t<Padding right=\"small\">\n\t\t\t\t<Icon icon={icon} size=\"large\" color={color} />\n\t\t\t</Padding>\n\t\t);\n\t}, [labelType]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t\tminHeight=\"3rem\"\n\t\t\t\tmaxHeight=\"7.5rem\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\tpadding={{ horizontal: 'large', vertical: 'medium' }}\n\t\t\t>\n\t\t\t\t<Container width=\"85%\" orientation=\"horizontal\" wrap=\"wrap\" mainAlignment=\"flex-start\">\n\t\t\t\t\t{labelTypeElem}\n\t\t\t\t\t<Text color=\"secondary\">{label}</Text>\n\n\t\t\t\t\t{map(query, (q, i) => (\n\t\t\t\t\t\t<Padding key={`${i}${q.label}`} all=\"extrasmall\">\n\t\t\t\t\t\t\t<Chip {...q} background=\"gray2\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t\t{query?.length > 0 && (\n\t\t\t\t\t<Container width=\"15%\" mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.clear_search_query', 'CLEAR SEARCH')}\n\t\t\t\t\t\t\ticon=\"CloseOutline\"\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\twidth=\"fill\"\n\t\t\t\t\t\t\ttype=\"ghost\"\n\t\t\t\t\t\t\tonClick={resetQuery}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Container>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Divider color=\"gray3\" />\n\t\t</>\n\t);\n};\n\nexport const SearchAppView: FC = () => {\n\tconst searchViews = useAppStore((s) => s.views.search);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(searchViews, (view) => (\n\t\t\t\t<Route key={`/${view.route}`} path={`/${SEARCH_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component\n\t\t\t\t\t\t\tuseQuery={useQuery}\n\t\t\t\t\t\t\tResultsHeader={ResultsHeader}\n\t\t\t\t\t\t\tuseDisableSearch={useDisableSearch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[searchViews]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{/* <RouteLeavingGuard\n\t\t\t\twhen\n\t\t\t\ttitle={t('search.leave.title', 'Are you sure you want to leave this module?')}\n\t\t\t>\n\t\t\t\t<Text>{t('search.leave.warning', 'The current search results will be lost')}</Text>\n\t\t\t</RouteLeavingGuard> */}\n\t\t\t<Switch>\n\t\t\t\t{routes}\n\t\t\t\t<Redirect\n\t\t\t\t\texact\n\t\t\t\t\tstrict\n\t\t\t\t\tfrom={`/${SEARCH_APP_ID}`}\n\t\t\t\t\tto={`/${SEARCH_APP_ID}/${searchViews[0]?.route}`}\n\t\t\t\t/>\n\t\t\t</Switch>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport {\n\tChipInput,\n\tChipItem,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map, reduce } from 'lodash';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { LOCAL_STORAGE_SEARCH_KEY, SEARCH_APP_ID } from '../constants';\nimport { useLocalStorage } from '../shell/hooks';\n\nimport { QueryChip } from '../../types';\nimport { getT } from '../store/i18n';\nimport { ModuleSelector } from './module-selector';\nimport { useSearchStore } from './search-store';\n\nconst OutlinedIconButton = styled(IconButton)`\n\tborder: 0.0625rem solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.primary.disabled : theme.palette.primary.regular};\n\tdisplay: block;\n\t& svg {\n\t\tborder: none;\n\t}\n`;\n\nconst StyledChipInput = styled(ChipInput)`\n\tpadding: 0 1rem;\n\t&:hover {\n\t\toutline: none;\n\t\tbackground: ${({ theme, disabled }): string =>\n\t\t\tdisabled ? 'gray5' : theme.palette.gray5.hover};\n\t}\n`;\n\nconst StyledContainer = styled(Container)`\n\theight: 2.625rem;\n\toverflow-y: hidden;\n\t&:first-child {\n\t\ttransform: translateY(-0.125rem);\n\t}\n`;\n\ntype SearchLocalStorage = Array<{\n\tvalue: string;\n\tlabel: string;\n\ticon: string;\n\tapp: string;\n\tid: string;\n}>;\nexport const SearchBar: FC = () => {\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst t = getT();\n\tconst [storedValue, setStoredValue] = useLocalStorage<SearchLocalStorage>(\n\t\tLOCAL_STORAGE_SEARCH_KEY,\n\t\t[]\n\t);\n\tconst [inputTyped, setInputTyped] = useState('');\n\tconst history = useHistory();\n\tconst { updateQuery, module, query, searchDisabled, setSearchDisabled, tooltip } =\n\t\tuseSearchStore();\n\n\tconst [isTyping, setIsTyping] = useState(false);\n\n\tconst [options, setOptions] = useState<Array<{ id: string; label: string; hasAvatar: false }>>(\n\t\t[]\n\t);\n\n\tconst [inputHasFocus, setInputHasFocus] = useState(false);\n\n\tconst [inputState, setInputState] = useState(query);\n\tconst showClear = useMemo(\n\t\t() => inputState.length > 0 || (inputRef.current?.value && inputRef.current?.value?.length > 0),\n\t\t[inputState.length]\n\t);\n\tconst clearSearch = useCallback((): void => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current?.focus();\n\t\t}\n\t\tsetIsTyping(false);\n\t\tsetInputState([]);\n\t\tsetSearchDisabled(false);\n\t\tupdateQuery([]);\n\t\tsetInputTyped('');\n\t}, [setSearchDisabled, updateQuery]);\n\n\tconst onSearch = useCallback(() => {\n\t\tupdateQuery((currentQuery) => {\n\t\t\tconst ref = inputRef?.current;\n\t\t\tif (ref) ref.value = '';\n\t\t\tif (inputTyped.length > 0) {\n\t\t\t\tconst newInputState = [\n\t\t\t\t\t...inputState,\n\t\t\t\t\t...map(inputTyped?.split(' '), (label: string, id: number) => ({\n\t\t\t\t\t\tid: `${id}`,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t}))\n\t\t\t\t];\n\t\t\t\tsetInputState(newInputState);\n\t\t\t\tsetInputTyped('');\n\t\t\t\treturn reduce(\n\t\t\t\t\tnewInputState,\n\t\t\t\t\t(acc, chip) => {\n\t\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\tfilter(\n\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetInputTyped('');\n\n\t\t\treturn reduce(\n\t\t\t\tinputState,\n\t\t\t\t(acc, chip) => {\n\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\n\t\t\t\tfilter(\n\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\t\thistory.push(`/${SEARCH_APP_ID}/${module}`);\n\t}, [updateQuery, history, module, inputTyped, inputState]);\n\n\tconst appSuggestions = useMemo<Array<QueryChip & { hasAvatar: false }>>(\n\t\t() =>\n\t\t\tfilter(storedValue, (v) => v.app === module)\n\t\t\t\t.reverse()\n\t\t\t\t.map((item: QueryChip) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\thasAvatar: false,\n\t\t\t\t\tdisabled: searchDisabled,\n\t\t\t\t\tclick: (): void => {\n\t\t\t\t\t\tsetInputState((q: Array<QueryChip>) => [...q, { ...item, hasAvatar: false }]);\n\t\t\t\t\t}\n\t\t\t\t})),\n\t\t[storedValue, module, searchDisabled]\n\t);\n\n\tconst updateOptions = useCallback(\n\t\t(target: HTMLInputElement, q: Array<any>): void => {\n\t\t\tif (target.textContent && target.textContent.length > 0) {\n\t\t\t\tsetOptions(\n\t\t\t\t\tappSuggestions\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(v: QueryChip): boolean =>\n\t\t\t\t\t\t\t\tv.label?.indexOf(target.textContent as string) !== -1 &&\n\t\t\t\t\t\t\t\t!find(q, (i) => i.value === v.label)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.slice(0, 5)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetOptions(appSuggestions.slice(0, 5));\n\t\t\t}\n\t\t},\n\t\t[appSuggestions]\n\t);\n\n\tconst onQueryChange = useCallback(\n\t\t(newQuery) => {\n\t\t\tif (\n\t\t\t\tnewQuery[newQuery.length - 1]?.label &&\n\t\t\t\tmodule &&\n\t\t\t\t!find(appSuggestions, (v) => v.label === newQuery[newQuery.length - 1]?.label)\n\t\t\t) {\n\t\t\t\tsetStoredValue((value) => [\n\t\t\t\t\t...value,\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\tlabel: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\ticon: 'ClockOutline',\n\t\t\t\t\t\tapp: module,\n\t\t\t\t\t\tid: `${value.length}`,\n\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t}\n\t\t\t/** Commented for future reference */\n\t\t\t// if (inputRef.current) {\n\t\t\t// \tupdateOptions(inputRef.current, newQuery);\n\t\t\t// }\n\t\t\tsetInputState(newQuery);\n\t\t},\n\t\t[appSuggestions, module, setStoredValue]\n\t);\n\n\tconst onInputType = useCallback(\n\t\t(ev) => {\n\t\t\tif (ev.textContent === '') {\n\t\t\t\tsetIsTyping(false);\n\t\t\t} else {\n\t\t\t\tsetIsTyping(true);\n\t\t\t}\n\t\t\tsetInputTyped(ev.textContent);\n\t\t\tupdateOptions(ev, query);\n\t\t},\n\t\t[query, updateOptions]\n\t);\n\n\tuseEffect(() => {\n\t\tif (module) {\n\t\t\tconst suggestions = filter(appSuggestions, (suggestion) => suggestion?.app === module).slice(\n\t\t\t\t0,\n\t\t\t\t5\n\t\t\t);\n\n\t\t\tsetOptions(suggestions);\n\t\t}\n\t}, [appSuggestions, module]);\n\n\tconst [triggerSearch, setTriggerSearch] = useState(false);\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\n\t// disabled for now, awaiting refactor of the search bar\n\t// useEffect(() => {\n\t// \tconst handler = (event: KeyboardEvent): unknown =>\n\t// \t\thandleKeyboardShortcuts({\n\t// \t\t\tevent,\n\t// \t\t\tinputRef,\n\t// \t\t\tprimaryAction,\n\t// \t\t\tsecondaryActions,\n\t// \t\t\tcurrentApp\n\t// \t\t});\n\t// \tdocument.addEventListener('keydown', handler);\n\t// \treturn (): void => {\n\t// \t\tdocument.removeEventListener('keydown', handler);\n\t// \t};\n\t// }, [currentApp, inputRef, primaryAction, secondaryActions]);\n\n\tuseEffect(() => {\n\t\tconst ref = inputRef.current;\n\t\tconst searchCb = (ev: any): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetTriggerSearch(true);\n\t\t\t\t\tremoveFocus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', searchCb);\n\t\t}\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', searchCb);\n\t\t\t}\n\t\t};\n\t}, [onSearch, removeFocus]);\n\n\tuseEffect(() => {\n\t\tif (triggerSearch) {\n\t\t\tonSearch();\n\t\t\tsetTriggerSearch(false);\n\t\t}\n\t}, [onSearch, triggerSearch]);\n\n\tconst disableOptions = useMemo(() => !(options.length > 0) || isTyping, [options, isTyping]);\n\n\tconst placeholder = useMemo(\n\t\t() =>\n\t\t\tinputHasFocus && module\n\t\t\t\t? t('search.active_input_label', 'Separate your keywords by a comma or pressing TAB')\n\t\t\t\t: t('search.idle_input_label', 'Search in {{module}}', {\n\t\t\t\t\t\tmodule\n\t\t\t\t }),\n\t\t[inputHasFocus, module, t]\n\t);\n\n\tconst clearButtonPlaceholder = useMemo(\n\t\t() =>\n\t\t\tshowClear || isTyping\n\t\t\t\t? t('search.clear', 'Clear search input')\n\t\t\t\t: t('search.already_clear', 'Search input is already clear'),\n\t\t[showClear, t, isTyping]\n\t);\n\n\tconst searchButtonsAreDisabled = useMemo(\n\t\t() => (isTyping ? false : !showClear),\n\t\t[showClear, isTyping]\n\t);\n\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (!searchButtonsAreDisabled && inputState.length > 0) {\n\t\t\treturn t('search.start', 'Start search');\n\t\t}\n\t\tif (inputHasFocus) {\n\t\t\treturn t(\n\t\t\t\t'search.type_or_choose_suggestion',\n\t\t\t\t'Type or choose some keywords to start a search'\n\t\t\t);\n\t\t}\n\t\tif (query.length > 0) {\n\t\t\treturn t('label.edit_to_start_search', 'Edit your search to start a new one');\n\t\t}\n\t\treturn t('search.type_to_start_search', 'Type some keywords to start a search');\n\t}, [searchButtonsAreDisabled, inputState.length, inputHasFocus, query.length, t]);\n\n\tconst onChipAdd = useCallback(\n\t\t(newChip: string | unknown): ChipItem => {\n\t\t\tsetIsTyping(false);\n\t\t\tsetInputTyped('');\n\t\t\tif (module) {\n\t\t\t\tconst suggestions = filter(\n\t\t\t\t\tappSuggestions,\n\t\t\t\t\t(suggestion) => suggestion?.app === module\n\t\t\t\t).slice(0, 5);\n\n\t\t\t\tsetOptions(suggestions);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tlabel: typeof newChip === 'string' ? newChip : '',\n\t\t\t\tvalue: newChip,\n\t\t\t\thasAvatar: false\n\t\t\t};\n\t\t},\n\t\t[appSuggestions, module]\n\t);\n\n\tuseEffect(() => {\n\t\tsetInputState(map(query, (q) => ({ ...q, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\n\n\treturn (\n\t\t<Container\n\t\t\tminWidth=\"fit-content\"\n\t\t\twidth=\"fit\"\n\t\t\tflexGrow=\"1\"\n\t\t\torientation=\"horizontal\"\n\t\t\tref={containerRef}\n\t\t>\n\t\t\t<Tooltip\n\t\t\t\tdisabled={!searchDisabled}\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tlabel={\n\t\t\t\t\ttooltip ??\n\t\t\t\t\tt('search.unable_to_parse_query', 'Unable to complete the search, clear it and retry')\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t<Container minWidth=\"32rem\" width=\"fill\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t\t\t<Container width=\"fit\">\n\t\t\t\t\t\t\t\t<ModuleSelector />\n\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t<StyledContainer orientation=\"horizontal\">\n\t\t\t\t\t\t\t\t<StyledChipInput\n\t\t\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\t\t\t\t\tvalue={inputState}\n\t\t\t\t\t\t\t\t\tonAdd={onChipAdd}\n\t\t\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\tconfirmChipOnBlur={false}\n\t\t\t\t\t\t\t\t\tseparators={['Enter', 'NumpadEnter', 'Comma', 'Space']}\n\t\t\t\t\t\t\t\t\tbackground={searchDisabled ? 'gray5' : 'gray6'}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={onQueryChange}\n\t\t\t\t\t\t\t\t\tonInputType={onInputType}\n\t\t\t\t\t\t\t\t\tonInputTypeDebounce={0}\n\t\t\t\t\t\t\t\t\tonBlur={removeFocus}\n\t\t\t\t\t\t\t\t\tonFocus={addFocus}\n\t\t\t\t\t\t\t\t\tdisableOptions={disableOptions}\n\t\t\t\t\t\t\t\t\trequireUniqueChips={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StyledContainer>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Container>\n\n\t\t\t\t\t{!searchButtonsAreDisabled && (\n\t\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t\t<Tooltip label={clearButtonPlaceholder} placement=\"bottom\">\n\t\t\t\t\t\t\t\t<OutlinedIconButton\n\t\t\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t\t\t\tcustomSize={{\n\t\t\t\t\t\t\t\t\t\ticonSize: 'large',\n\t\t\t\t\t\t\t\t\t\tpaddingSize: 'small'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdisabled={searchButtonsAreDisabled}\n\t\t\t\t\t\t\t\t\ticon=\"BackspaceOutline\"\n\t\t\t\t\t\t\t\t\ticonColor=\"primary\"\n\t\t\t\t\t\t\t\t\tonClick={clearSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\tlabel={searchBtnTooltipLabel}\n\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t\t\tcustomSize={{\n\t\t\t\t\t\t\t\t\ticonSize: 'large',\n\t\t\t\t\t\t\t\t\tpaddingSize: 'small'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon=\"Search\"\n\t\t\t\t\t\t\t\tdisabled={searchButtonsAreDisabled}\n\t\t\t\t\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\t\t\t\t\ticonColor=\"gray6\"\n\t\t\t\t\t\t\t\tonClick={onSearch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { isFunction } from 'lodash';\nimport create from 'zustand';\nimport { QueryChip, SearchState } from '../../types';\n\nexport const useSearchStore = create<SearchState>((set, get) => ({\n\tquery: [],\n\tsearchDisabled: false,\n\ttooltip: undefined,\n\tsetSearchDisabled: (searchDisabled: boolean, tooltip?: string): void =>\n\t\tset({ searchDisabled, tooltip }),\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)): void =>\n\t\tset({ query: isFunction(query) ? query(get().query) : query }),\n\tupdateModule: (module: string): void => set({ module })\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { map } from 'lodash';\nimport React, { useMemo } from 'react';\nimport { useUserAccount } from '../store/account';\nimport { getT } from '../store/i18n';\nimport { AccountsSettings } from './accounts-settings';\nimport { IdentityProps } from '../../types';\n\nconst AccountWrapper = (): React.ReactElement | null => {\n\tconst accountSettings = useUserAccount();\n\tconst t = getT();\n\tconst identitiesDefault = useMemo(() => {\n\t\tconst temp = map(\n\t\t\taccountSettings?.identities.identity,\n\t\t\t(item, index) =>\n\t\t\t\t({\n\t\t\t\t\tid: item.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\t\t\t\t\tflgType: item.name === 'DEFAULT' ? 'primary' : 'persona',\n\t\t\t\t\ttype:\n\t\t\t\t\t\titem.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\t\t\t\t\tidentityId: item._attrs.zimbraPrefIdentityId || '',\n\t\t\t\t\tfromAddress: item._attrs.zimbraPrefFromAddress || '',\n\t\t\t\t\tidentityName: item._attrs.zimbraPrefIdentityName || '',\n\t\t\t\t\tfromDisplay: item._attrs.zimbraPrefFromDisplay || '',\n\t\t\t\t\trecoveryAccount: item._attrs.zimbraRecoveryAccount || '',\n\t\t\t\t\treplyToDisplay: item._attrs.zimbraPrefReplyToDisplay || '',\n\t\t\t\t\treplyToAddress: item._attrs.zimbraPrefReplyToAddress || '',\n\t\t\t\t\treplyToEnabled: item._attrs.zimbraPrefReplyToEnabled || '',\n\t\t\t\t\tsaveToSent: item._attrs.zimbraPrefSaveToSent || '',\n\t\t\t\t\tsentMailFolder: item._attrs.zimbraPrefSentMailFolder || '',\n\t\t\t\t\twhenInFoldersEnabled: item._attrs.zimbraPrefWhenInFoldersEnabled || '',\n\t\t\t\t\twhenSentToEnabled: item._attrs.zimbraPrefWhenSentToEnabled || '',\n\t\t\t\t\twhenSentToAddresses: item._attrs.zimbraPrefWhenSentToAddresses || ''\n\t\t\t\t} as IdentityProps)\n\t\t);\n\t\tconst result = [temp[temp.length - 1], ...temp];\n\t\tresult.pop();\n\t\treturn result;\n\t}, [accountSettings, t]);\n\n\treturn identitiesDefault.length > 0 ? (\n\t\t<AccountsSettings account={accountSettings} identitiesDefault={identitiesDefault} t={t} />\n\t) : null;\n};\n\nexport default AccountWrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useState, useEffect, ReactElement } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'react-i18next';\nimport {\n\tmap,\n\tincludes,\n\tfindIndex,\n\treduce,\n\tfind,\n\treplace,\n\tlowerFirst,\n\tisEmpty,\n\tuniq,\n\tisArray\n} from 'lodash';\nimport { useUserSettings } from '../store/account/hooks';\nimport { editSettings } from '../network/edit-settings';\nimport { SHELL_APP_ID } from '../constants';\nimport { Mods, IdentityProps, CreateIdentityProps, Account, AccountSettings } from '../../types';\nimport AccountsList from './components/account-settings/accounts-list';\nimport PrimaryAccountSettings from './components/account-settings/primary-account-settings';\nimport SettingsSentMessages from './components/account-settings/settings-sent-messages';\nimport PasswordRecoverySettings from './components/account-settings/password-recovery-settings';\nimport Delegates, { DelegateType } from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport PersonaUseSection from './components/account-settings/persona-use-section';\nimport SettingsHeader from './components/settings-header';\nimport { getXmlSoapFetch } from '../network/fetch';\n\n// external accounts not yet activated, graphical part is complete\n// import ExternalAccount from './components/account-settings/external-account-settings';\n// import AdvancedSettings from './components/account-settings/advanced-settings';\n// import DownloadMessages from './components/account-settings/download-messages';\n\ntype ModifyProps = { id: string | number; key: string; value: string | boolean } | undefined;\ntype AddModProps = {\n\ttype: string;\n\tmodifyProp?: ModifyProps;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\ntype AccountSettingsProps = {\n\taccount: Account;\n\tidentitiesDefault: IdentityProps[];\n\tt: TFunction;\n};\n\ntype UserRightsProps = { email: string; right: string };\n\n/**\n * Compose a unique list of all identities' email addresses\n *\n * The list is composed of:\n * - the email address of the current account\n * - the email addresses of all the shared accounts (taken from the rights infos)\n * - all the aliases\n *\n * @param account\n * @param settings\n *\n * @returns a list of unique email addresses\n */\nconst getAvailableEmailAddresses = (account: Account, settings: AccountSettings): string[] => {\n\tconst result: string[] = [];\n\n\t// Adds the email address of the primary account\n\tresult.push(account.name);\n\n\t// Adds the email addresses of all the shared accounts\n\tif (account.rights?.targets) {\n\t\taccount.rights?.targets.forEach((target) => {\n\t\t\tif (target.right === 'sendAs' && target.target) {\n\t\t\t\ttarget.target.forEach((user) => {\n\t\t\t\t\tif (user.type === 'account' && user.email) {\n\t\t\t\t\t\tuser.email.forEach((email) => {\n\t\t\t\t\t\t\tresult.push(email.addr);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t// Adds all the aliases\n\tif (settings.attrs.zimbraMailAlias) {\n\t\tif (isArray(settings.attrs.zimbraMailAlias)) {\n\t\t\tresult.push(...(settings.attrs.zimbraMailAlias as string[]));\n\t\t} else {\n\t\t\tresult.push(String(settings.attrs.zimbraMailAlias));\n\t\t}\n\t}\n\n\treturn uniq(result);\n};\n\nexport const AccountsSettings = ({\n\taccount,\n\tidentitiesDefault,\n\tt\n}: AccountSettingsProps): ReactElement => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [activeDelegateView, setActiveDelegateView] = useState('0');\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst [delegates, setDelegates] = useState<DelegateType[]>([]);\n\tconst settings = useUserSettings();\n\tconst maxIdentities = settings.attrs.zimbraIdentityMaxNumEntries;\n\tconst addMod = useCallback(\n\t\t(arg: AddModProps) => {\n\t\t\tconst { type, modifyProp, deleteList, createList } = arg;\n\t\t\tsetMods((prevState) => {\n\t\t\t\tconst prevRecord = find(\n\t\t\t\t\tprevState?.identity?.modifyList,\n\t\t\t\t\t(item) => item.id === modifyProp?.id\n\t\t\t\t)?.prefs;\n\t\t\t\tconst modifyList =\n\t\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...prevState.identity?.modifyList,\n\t\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\t\tid: modifyProp.id,\n\t\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: prevState.identity?.modifyList;\n\t\t\t\tconst newCreateList = prevState.identity?.createList || createList;\n\t\t\t\tconst newDeleteList = prevState.identity?.deleteList || deleteList;\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\n\t\t\t\t\t[type]: {\n\t\t\t\t\t\tdeleteList: newDeleteList,\n\t\t\t\t\t\tcreateList: newCreateList,\n\t\t\t\t\t\tmodifyList\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t[setMods]\n\t);\n\n\tconst modifyCreateList = useCallback((arg: AddModProps) => {\n\t\tconst { type, modifyProp } = arg;\n\t\tsetMods((prevState) => {\n\t\t\tconst prevRecord = find(\n\t\t\t\tprevState?.identity?.createList,\n\t\t\t\t(item) => item.prefs.requestId === modifyProp?.id\n\t\t\t)?.prefs;\n\t\t\tconst modifiedCreateList =\n\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...prevState.identity?.createList,\n\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\t...prevState,\n\n\t\t\t\t[type]: {\n\t\t\t\t\tcreateList: modifiedCreateList,\n\t\t\t\t\tdeleteList: prevState.identity?.deleteList,\n\t\t\t\t\tmodifyList: prevState.identity?.modifyList\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}, []);\n\tconst createIdentities = useCallback(\n\t\t(createList: { prefs: CreateIdentityProps }[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tcreateList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst updateIdentities = useCallback(\n\t\t(modifyProp: { id: string | number; key: string; value: string | boolean }) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tmodifyProp: { id: modifyProp.id, key: modifyProp.key, value: modifyProp.value }\n\t\t\t};\n\t\t\tif (typeof modifyProp.id === 'string') {\n\t\t\t\taddMod(arg);\n\t\t\t} else if (typeof modifyProp.id === 'number') {\n\t\t\t\tmodifyCreateList(arg);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(modifyProp.key, 'zimbraPref', ''));\n\t\t\tsetIdentities(\n\t\t\t\tmap(identities, (item) =>\n\t\t\t\t\titem.identityId === modifyProp.id\n\t\t\t\t\t\t? { ...item, [updatedIdentityKey]: modifyProp.value }\n\t\t\t\t\t\t: item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[addMod, identities, modifyCreateList]\n\t);\n\n\tconst deleteIdentities = useCallback(\n\t\t(deleteList: string[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tdeleteList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t\t'GetRights',\n\t\t\t`<GetRightsRequest xmlns=\"urn:zimbraAccount\"></GetRightsRequest>`\n\t\t).then((res: any) => {\n\t\t\tif (res.ace) {\n\t\t\t\tconst tempResult: UserRightsProps[] = map(res.ace, (item) => ({\n\t\t\t\t\temail: item.d,\n\t\t\t\t\tright: item.right\n\t\t\t\t}));\n\t\t\t\tconst resultReduced = reduce(\n\t\t\t\t\ttempResult,\n\t\t\t\t\t(result: UserRightsProps[], item) => {\n\t\t\t\t\t\tconst index = findIndex(result, { email: item.email });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\tresult.push({ email: item.email, right: item.right });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\temail: item.email,\n\t\t\t\t\t\t\t\tright: `${item.right} and ${result[index].right}`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tresult.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tconst result = map(resultReduced, (item: UserRightsProps, index) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tid: index.toString()\n\t\t\t\t}));\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tsetMods({});\n\t}, [identitiesDefault]);\n\n\tconst onSave = useCallback(() => {\n\t\tif (\n\t\t\tidentitiesDefault.length +\n\t\t\t\t(mods.identity?.createList?.length || 0) -\n\t\t\t\t(mods?.identity?.deleteList?.length || 0) >\n\t\t\tmaxIdentities\n\t\t) {\n\t\t\tcreateSnackbar({\n\t\t\t\tkey: `new`,\n\t\t\t\treplace: true,\n\t\t\t\ttype: 'error',\n\t\t\t\tlabel: t(\n\t\t\t\t\t'message.snackbar.identities_quota_exceeded',\n\t\t\t\t\t'The identitity could not be created because you have exceeded your identity quota'\n\t\t\t\t),\n\t\t\t\tautoHideTimeout: 5000,\n\t\t\t\thideButton: true\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [identitiesDefault.length, mods, maxIdentities, createSnackbar, t]);\n\n\tconst onCancel = useCallback(() => setMods({}), []);\n\tconst title: string = t('label.accounts', 'Accounts');\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\tconst availableEmailAddresses = useMemo(\n\t\t() => getAvailableEmailAddresses(account, settings),\n\t\t[account, settings]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader onSave={onSave} onCancel={onCancel} isDirty={isDirty} title={title} />\n\t\t\t<Container background=\"gray5\" padding={{ top: 'large' }} height=\"fit\" />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AccountsList\n\t\t\t\t\tt={t}\n\t\t\t\t\taccount={account}\n\t\t\t\t\tidentities={identities}\n\t\t\t\t\tsetIdentities={setIdentities}\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t\tdeleteIdentities={deleteIdentities}\n\t\t\t\t\tcreateIdentities={createIdentities}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.flgType === 'primary' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PrimaryAccountSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\taccount={account}\n\t\t\t\t\t\t\tidentity={identities[0]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\tidentity={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tavailableEmailAddresses={availableEmailAddresses}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{/* <PasswordRecoverySettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tcreateSnackbar={createSnackbar}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t\t<Delegates\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={delegates}\n\t\t\t\t\t\t\tactiveDelegateView={activeDelegateView}\n\t\t\t\t\t\t\tsetActiveDelegateView={setActiveDelegateView}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.flgType === 'persona' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PersonaSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\tidentity={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tavailableEmailAddresses={availableEmailAddresses}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PersonaUseSection\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\tidentity={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{includes(['IMAP', 'POP'], identities[selectedIdentityId]?.flgType) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* <ExternalAccount t={t} items={identities} />\n\t\t\t\t\t\t<AdvancedSettings t={t} items={identities} />\n\t\t\t\t\t\t<DownloadMessages t={t} items={identities} />\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tsetMods={setMods}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, ReactElement, useState, useContext } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButtonOld as Button,\n\tIcon,\n\tModalManagerContext,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max, noop } from 'lodash';\nimport { IdentityProps, CreateIdentityProps, Account } from '../../../../types';\n\ntype AccountsListProps = {\n\tt: TFunction;\n\taccount: Account;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tdeleteIdentities: (deleteList: string[]) => void;\n\tcreateIdentities: (createList: { prefs: CreateIdentityProps }[]) => void;\n};\n\nconst AccountsList = ({\n\tt,\n\taccount,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tdeleteIdentities,\n\tcreateIdentities\n}: AccountsListProps): ReactElement => {\n\tconst changeView = (value: number): void => setSelectedIdentityId(value);\n\n\tconst ListItem = ({ item }: ItemComponentProps<IdentityProps>): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => {\n\t\t\t\t\tchangeView(Number(item.id));\n\t\t\t\t}}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Icon icon=\"CheckmarkCircle2Outline\" size=\"large\" color=\"primary\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.identityName}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t({item.flgType === 'primary' ? account.name : item.fromAddress})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.type}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\tconst createModal = useContext(ModalManagerContext);\n\n\tconst [createListrequestId, setCreateListrequestId] = useState(0);\n\tconst [createList, setCreateList] = useState<{ prefs: CreateIdentityProps }[]>([]);\n\tconst addNewPersona = useCallback(() => {\n\t\tconst newPersonaNextNumber =\n\t\t\tNumber(\n\t\t\t\tmax([\n\t\t\t\t\t...filter(\n\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\t\tfilter(identities, (item) => item.identityName?.includes('New Persona')),\n\t\t\t\t\t\t\t\t(item: IdentityProps) => item.identityName\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(item: string) => parseFloat(item.replace('New Persona ', ''))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t(item) => Number(item)\n\t\t\t\t\t)\n\t\t\t\t])\n\t\t\t) + 1;\n\t\tconst newPersonaName = `New Persona ${newPersonaNextNumber || 1}`;\n\t\tidentities.push({\n\t\t\tid: `${identities.length}`,\n\t\t\tflgType: 'persona',\n\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\tidentityId: createListrequestId,\n\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\tidentityName: newPersonaName,\n\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\treplyToDisplay: '',\n\t\t\treplyToAddress: '',\n\t\t\treplyToEnabled: 'FALSE',\n\t\t\tsaveToSent: '',\n\t\t\tsentMailFolder: '',\n\t\t\twhenInFoldersEnabled: '',\n\t\t\twhenSentToEnabled: ''\n\t\t});\n\t\tsetIdentities(identities);\n\t\tsetCreateListrequestId(createListrequestId + 1);\n\t\tsetCreateList((state) => {\n\t\t\tstate.push({\n\t\t\t\tprefs: {\n\t\t\t\t\trequestId: createListrequestId,\n\t\t\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\t\t\tzimbraPrefReplyToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefReplyToDisplay: '',\n\t\t\t\t\tzimbraPrefReplyToAddress: '',\n\t\t\t\t\tzimbraPrefDefaultSignatureId: '',\n\t\t\t\t\tzimbraPrefForwardReplySignatureId: '',\n\t\t\t\t\tzimbraPrefWhenSentToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefWhenInFoldersEnabled: 'FALSE'\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\t\tcreateIdentities(createList);\n\t\tsetSelectedIdentityId(identities.length - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tt,\n\t\tcreateIdentities,\n\t\tcreateListrequestId,\n\t\tcreateList,\n\t\tsetSelectedIdentityId\n\t]);\n\n\tconst [deleteList, setDeleteList] = useState<string[]>([]);\n\tconst onConfirmDelete = useCallback((): void => {\n\t\tconst newIdentities = map(\n\t\t\tfilter(\n\t\t\t\tidentities,\n\t\t\t\t(identity) => identity?.identityId !== identities[selectedIdentityId]?.identityId\n\t\t\t),\n\t\t\t(item: IdentityProps, index: number) => ({ ...item, id: index.toString() })\n\t\t);\n\t\tsetDeleteList((state) => {\n\t\t\tstate.push(identities[selectedIdentityId]?.identityId.toString());\n\t\t\treturn state;\n\t\t});\n\t\tsetIdentities(newIdentities);\n\t\tdeleteIdentities(deleteList);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tdeleteIdentities,\n\t\tdeleteList,\n\t\tsetSelectedIdentityId,\n\t\tselectedIdentityId\n\t]);\n\tconst onDelete = useCallback((): void => {\n\t\t// I'm disabling lint as the DS is not defining the type\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst closeModal = createModal({\n\t\t\ttitle: t('label.permanent_delete_title', 'Are you sure to permanently delete this Persona?'),\n\t\t\tonConfirm: () => {\n\t\t\t\tonConfirmDelete();\n\t\t\t\tcloseModal();\n\t\t\t},\n\t\t\tconfirmLabel: t('label.delete_permanently', 'Delete permanently'),\n\t\t\tconfirmColor: 'error',\n\t\t\tshowCloseIcon: true,\n\t\t\tonClose: () => closeModal(),\n\t\t\tchildren: (\n\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'messages.permanent_delete_body',\n\t\t\t\t\t\t\t'If you permanently delete this Persona you will not be able to recover it. Continue?'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Padding>\n\t\t\t)\n\t\t});\n\t}, [createModal, t, onConfirmDelete]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.accounts_list', 'Accounts list')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={identities}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={identities[selectedIdentityId]?.id}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t{/* <Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_external_account', 'Add external account')}\n\t\t\t\t\t\tonClick={noop}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding> */}\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={(): void => addNewPersona()}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.delete', 'Delete')}\n\t\t\t\t\tonClick={(): void => onDelete()}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.flgType === 'primary'}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default AccountsList;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ReactElement, useState } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tRadio,\n\tRadioGroup,\n\tItemType,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { noop } from 'lodash';\n\nexport interface DelegateType extends ItemType {\n\temail: string;\n\tright: string;\n\tlabel?: string;\n}\n\ntype DelegatesProps = {\n\tt: TFunction;\n\titems: Array<DelegateType>;\n\tactiveDelegateView: string;\n\tsetActiveDelegateView: (value: string) => void;\n};\n\nconst Delegates = ({\n\tt,\n\titems,\n\tactiveDelegateView,\n\tsetActiveDelegateView\n}: DelegatesProps): ReactElement => {\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst changeView = (value: string): void => setActiveDelegateView(value);\n\n\tconst ListItem = ({ item }: ItemComponentProps<DelegateType>): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => changeView(item.id)}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.delegates', 'Delegates')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List items={items} ItemComponent={ListItem} active={activeDelegateView} height=\"fit\" />\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_delegate', 'Add delegate')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tonClick={noop}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.edit_permissions', 'Edit permissions')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tonClick={noop}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.remove', 'remove')}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled\n\t\t\t\t\tonClick={noop}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<RadioGroup\n\t\t\t\t\tstyle={{ width: '100%', justifyContent: 'flex-start' }}\n\t\t\t\t\tvalue={activeValue}\n\t\t\t\t\tonChange={(newValue: string): void => setActiveValue(newValue)}\n\t\t\t\t>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_to_my_sent_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_delegate_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to delegate’s Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"2\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_both_folders',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder and delegate’s folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"3\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio label={t('label.dont_save', 'Don’t save a copy of sent messages')} value=\"4\" />\n\t\t\t\t</RadioGroup>\n\t\t\t\t<Padding bottom=\"large\" />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default Delegates;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, ReactElement, useEffect, useMemo } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\n\ninterface PersonaSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PersonaSettings = ({ t, items, updateIdentities }: PersonaSettingsProps): ReactElement => {\n\tconst [personaValue, setPersonaValue] = useState(items.identityName);\n\tconst personaLabel = useMemo(\n\t\t() => (personaValue ? '' : t('label.persona_name', 'Persona Name')),\n\t\t[personaValue, t]\n\t);\n\tuseEffect(() => {\n\t\tsetPersonaValue(items.identityName);\n\t}, [items.identityName]);\n\n\tconst onChange = useCallback(\n\t\t(ev) => {\n\t\t\tsetPersonaValue(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId, setPersonaValue]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.persona_settings', 'Persona Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"vertical\" mainAlignment=\"flex-start\" width=\"fill\">\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text color=\"secondary\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line1',\n\t\t\t\t\t\t\t\t'Use personas to quickly change many settings when sending e-mail messages.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text color=\"secondary\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line2',\n\t\t\t\t\t\t\t\t'For example, if you sometimes send e-mails in a particular role at work, create a persona for that.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace>\n\t\t\t\t\t<Input label={personaLabel} value={personaValue} onChange={onChange} />\n\t\t\t\t</Row>\n\t\t\t</Row>\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PersonaSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Checkbox, Container, Input, Padding, Row, Text } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport React, { ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype PersonaUseSectionProps = {\n\tt: TFunction;\n\tidentity: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n};\n\nconst PersonaUseSection = ({\n\tt,\n\tidentity,\n\tupdateIdentities\n}: PersonaUseSectionProps): ReactElement => {\n\tconst title = useMemo(() => t('label.use_persona', 'Use this persona'), [t]);\n\tconst whenSentToLabel = t('label.when_replying', 'When replying or forwarding messages sent to:');\n\n\t// this code is work in progress for when the mails sync is implemented\n\t// const [open, setOpen] = useState(false);\n\t// const onClose = useCallback(() => setOpen(false), []);\n\n\tconst [whenInFoldersEnabled, setWhenInFoldersEnabled] = useState(\n\t\tidentity.whenInFoldersEnabled === 'TRUE'\n\t);\n\tconst [whenSentToEnabled, setWhenSentToEnabled] = useState(identity.whenSentToEnabled === 'TRUE');\n\tconst [whenSentToAddresses, setWhenSentToAddresses] = useState(identity.whenSentToAddresses);\n\n\tuseEffect(() => {\n\t\tsetWhenSentToEnabled(identity.whenSentToEnabled === 'TRUE');\n\t}, [identity.whenSentToEnabled]);\n\tuseEffect(() => {\n\t\tsetWhenSentToAddresses(identity.whenSentToAddresses);\n\t}, [identity.whenSentToAddresses]);\n\tuseEffect(() => {\n\t\tsetWhenInFoldersEnabled(identity.whenInFoldersEnabled === 'TRUE');\n\t}, [identity.whenInFoldersEnabled]);\n\n\tconst whenSentToAddressesLabel = useMemo(\n\t\t() => (whenSentToAddresses ? '' : t('label.recipents', 'Recipients')),\n\t\t[t, whenSentToAddresses]\n\t);\n\tconst onClickWhenSentToEnabled = useCallback(() => {\n\t\tsetWhenSentToEnabled(!whenSentToEnabled);\n\t\tconst modifyProp = {\n\t\t\tid: identity.identityId,\n\t\t\tkey: 'zimbraPrefWhenSentToEnabled',\n\t\t\tvalue: whenSentToEnabled ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [identity.identityId, updateIdentities, whenSentToEnabled]);\n\n\tconst isValidEmail = useMemo(\n\t\t() => whenSentToEnabled && !EMAIL_VALIDATION_REGEX.test(whenSentToAddresses || ''),\n\t\t[whenSentToAddresses, whenSentToEnabled]\n\t);\n\n\tconst onChangeWhenSentToAddresses = useCallback(\n\t\t(value: string) => {\n\t\t\tsetWhenSentToAddresses(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefWhenSentToAddresses',\n\t\t\t\tvalue\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\t// this function is work in progress for when the mails sync is implemented\n\t// const onClickWhenInFoldersEnabled = useCallback(() => {\n\t// \tsetWhenInFoldersEnabled(!whenInFoldersEnabled);\n\t// \tif (!whenInFoldersEnabled === (items.whenInFoldersEnabled === 'TRUE')) {\n\t// \t\tsetMods({});\n\t// \t} else {\n\t// \t\tupdateIdentities(\n\t// \t\t\titems.identityId,\n\t// \t\t\t'zimbraPrefWhenInFoldersEnabled',\n\t// \t\t\titems.whenInFoldersEnabled ? 'TRUE' : 'FALSE'\n\t// \t\t);\n\t// \t}\n\t// }, [\n\t// \titems.whenInFoldersEnabled,\n\t// \twhenInFoldersEnabled,\n\t// \tsetMods,\n\t// \tupdateIdentities,\n\t// \titems.identityId\n\t// ]);\n\t// const modalProps = useMemo(\n\t// \t() => ({\n\t// \t\topen,\n\t// \t\tonClose,\n\t// \t\tsetFolder,\n\t// \t\tt\n\t// \t}),\n\t// \t[open, onClose, setFolder, t]\n\t// );\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={whenSentToLabel}\n\t\t\t\t\tvalue={whenSentToEnabled}\n\t\t\t\t\tonClick={onClickWhenSentToEnabled}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={whenSentToAddressesLabel}\n\t\t\t\t\t\tvalue={whenSentToAddresses}\n\t\t\t\t\t\tdisabled={!whenSentToEnabled}\n\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\tonChange={(ev): void => onChangeWhenSentToAddresses(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t{/* <Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'label.when_composing',\n\t\t\t\t\t\t'When composing, replying to or forwarding messages in folder(s):'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={whenInFoldersEnabled}\n\t\t\t\t\tonClick={(): void => onClickWhenInFoldersEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<ChipInput\n\t\t\t\t\t\tlabel={t('label.reply_to_field_example', \"e.g. Bob Smith\")}\n\t\t\t\t\t\tvalue=\"\"\n\t\t\t\t\t\tplaceholder={t('label.folders', 'Folders')}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\ticon=\"FolderOutline\"\n\t\t\t\t\t\tdisabled={!whenInFoldersEnabled}\n\t\t\t\t\t\ticonAction={openFolderModal}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row> */}\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t\t{/* <FolderSelectModal compProps={modalProps} /> */}\n\t\t</>\n\t);\n};\n\nexport default PersonaUseSection;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { Account, IdentityProps } from '../../../../types';\n\ninterface PrimaryAccountSettingsProps {\n\tt: TFunction;\n\taccount: Account;\n\tidentity: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PrimaryAccountSettings = ({\n\tt,\n\taccount,\n\tidentity,\n\tupdateIdentities\n}: PrimaryAccountSettingsProps): ReactElement => {\n\tconst emailLabel = useMemo(\n\t\t() => (account.name ? '' : t('label.email_address', 'E-mail address')),\n\t\t[account.name, t]\n\t);\n\tconst [accountNameValue, setAccountNameValue] = useState(identity?.identityName);\n\n\tuseEffect(() => setAccountNameValue(identity.identityName), [identity.identityName]);\n\tconst accountLabel = useMemo(\n\t\t() => (accountNameValue ? '' : t('label.account_name', 'Account Name')),\n\t\t[accountNameValue, t]\n\t);\n\n\tconst onChangeDisabled = useCallback(() => null, []);\n\tconst onChange = useCallback(\n\t\t(value: string): void => {\n\t\t\tsetAccountNameValue(value);\n\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('primary_account.title', 'Primary Account Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input label={emailLabel} value={account.name || ' '} onChange={onChangeDisabled} />\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={accountLabel}\n\t\t\t\t\t\tvalue={accountNameValue || ' '}\n\t\t\t\t\t\tonChange={(ev): void => onChange(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PrimaryAccountSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tCheckbox,\n\tContainer,\n\tDropdown,\n\tIcon,\n\tInput,\n\tPadding,\n\tRow,\n\tSelect,\n\tSelectItem,\n\tSingleSelectionOnChange,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { filter, find } from 'lodash';\nimport React, { ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype SettingsSentMessagesProps = {\n\tt: TFunction;\n\tidentity: IdentityProps;\n\tisExternalAccount: boolean;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n\tavailableEmailAddresses?: string[];\n};\n\nconst blankItem: SelectItem = { label: '', value: '' };\n\nconst SettingsSentMessages = ({\n\tt,\n\tidentity,\n\tisExternalAccount,\n\tupdateIdentities,\n\tavailableEmailAddresses\n}: SettingsSentMessagesProps): ReactElement => {\n\tconst title = useMemo(() => t('label.settings_sent_messages', 'Settings for Sent Messages'), [t]);\n\tconst [replyToEnabledValue, setReplyToEnabledValue] = useState(\n\t\tidentity.replyToEnabled === 'TRUE'\n\t);\n\tconst [replyToAddress, setReplyToAddress] = useState(identity.replyToAddress);\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\n\tconst [fromDisplayValue, setFromDisplayValue] = useState(identity.fromDisplay);\n\tconst [replyToDisplay, setReplyToDisplay] = useState(identity?.replyToDisplay);\n\tconst fromAddressArray = useMemo(\n\t\t() =>\n\t\t\tavailableEmailAddresses\n\t\t\t\t? availableEmailAddresses.map((address) => ({ value: address, label: address }))\n\t\t\t\t: [blankItem],\n\t\t[availableEmailAddresses]\n\t);\n\tconst [fromAddress, setFromAddress] = useState(\n\t\t() => find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem\n\t);\n\n\tuseEffect(() => {\n\t\tsetReplyToEnabledValue(identity.replyToEnabled === 'TRUE');\n\t}, [identity.replyToEnabled]);\n\tuseEffect(() => {\n\t\tsetFromDisplayValue(identity.fromDisplay);\n\t}, [identity.fromDisplay]);\n\tuseEffect(() => {\n\t\tconst k = find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem;\n\t\tsetFromAddress(k);\n\t}, [fromAddressArray, identity.fromAddress]);\n\tuseEffect(() => {\n\t\tsetReplyToDisplay(identity?.replyToDisplay === undefined ? '' : identity?.replyToDisplay);\n\t}, [identity?.replyToDisplay]);\n\tuseEffect(() => {\n\t\tsetReplyToAddress(identity.replyToAddress);\n\t}, [identity.replyToAddress]);\n\n\tconst onClickReplyToEnabled = useCallback(() => {\n\t\tsetReplyToEnabledValue(!replyToEnabledValue);\n\t\tconst modifyProp = {\n\t\t\tid: identity.identityId,\n\t\t\tkey: 'zimbraPrefReplyToEnabled',\n\t\t\tvalue: replyToEnabledValue ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [identity.identityId, replyToEnabledValue, updateIdentities]);\n\n\tconst fromDisplayLabel = useMemo(\n\t\t() => (fromDisplayValue ? '' : t('label.from_name', 'From: \"Name\"')),\n\t\t[t, fromDisplayValue]\n\t);\n\tconst onChangeFromDisplayValue = (value: string): void => {\n\t\tsetFromDisplayValue(value);\n\t\tconst modifyProp = {\n\t\t\tid: identity.identityId,\n\t\t\tkey: 'zimbraPrefFromDisplay',\n\t\t\tvalue\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t};\n\n\tconst fromAddressLabel = useMemo(\n\t\t() => (fromAddress ? '' : t('label.address', 'Address')),\n\t\t[fromAddress, t]\n\t);\n\n\tconst onChangeFromAddress = useCallback<SingleSelectionOnChange>(\n\t\t(newAddress) => {\n\t\t\tif (!newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (fromAddress?.value === newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetFromAddress(filter(fromAddressArray, (item) => item.value === newAddress)[0]);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefFromAddress',\n\t\t\t\tvalue: newAddress\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[identity.identityId, updateIdentities, fromAddressArray, fromAddress.value]\n\t);\n\n\tconst replyToEnabledLabel = t(\n\t\t'label.set_reply_to_field',\n\t\t'Set the \"Reply-to\" field of e-mail message to:'\n\t);\n\n\tconst replyToDisplayLabel = useMemo(\n\t\t() => (replyToDisplay ? '' : t('label.reply_to_field_example', 'e.g. Bob Smith')),\n\t\t[t, replyToDisplay]\n\t);\n\tconst onChangePrefReplyToDisplay = useCallback(\n\t\t(value: string): void => {\n\t\t\tsetReplyToDisplay(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToDisplay',\n\t\t\t\tvalue\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst replyToAddressLabel = useMemo(\n\t\t() => (replyToAddress ? '' : t('label.choose_account', 'Choose an account')),\n\t\t[t, replyToAddress]\n\t);\n\n\tconst replyToAddressArray = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: '0',\n\t\t\t\tlabel: identity.fromAddress ?? ''\n\t\t\t}\n\t\t],\n\t\t[identity.fromAddress]\n\t);\n\n\tconst onChangeReplyToAddress = useCallback(\n\t\t(value: string) => {\n\t\t\tsetReplyToAddress(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToAddress',\n\t\t\t\tvalue\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst isValidEmail = useMemo(\n\t\t() => replyToEnabledValue && !EMAIL_VALIDATION_REGEX.test(replyToAddress || ''),\n\t\t[replyToEnabledValue, replyToAddress]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row\n\t\t\t\t\twidth={isExternalAccount ? '100%' : '50%'}\n\t\t\t\t\tpadding={{ right: isExternalAccount ? '' : 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={fromDisplayLabel}\n\t\t\t\t\t\tvalue={fromDisplayValue}\n\t\t\t\t\t\tonChange={(ev): void => onChangeFromDisplayValue(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t{!isExternalAccount && (\n\t\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tlabel={fromAddressLabel}\n\t\t\t\t\t\t\tselection={fromAddress}\n\t\t\t\t\t\t\titems={fromAddressArray}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tonChange={onChangeFromAddress}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={replyToEnabledLabel}\n\t\t\t\t\tvalue={replyToEnabledValue}\n\t\t\t\t\tonClick={(): void => onClickReplyToEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={replyToDisplayLabel}\n\t\t\t\t\t\tvalue={replyToDisplay}\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\tonChange={(ev): void => onChangePrefReplyToDisplay(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\titems={replyToAddressArray}\n\t\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\tonClose={(): void => setDropdownOpen(false)}\n\t\t\t\t\t\tonOpen={(): void => setDropdownOpen(true)}\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel={replyToAddressLabel}\n\t\t\t\t\t\t\tvalue={replyToAddress}\n\t\t\t\t\t\t\tonChange={(ev): void => onChangeReplyToAddress(ev.target.value)}\n\t\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\t\tCustomIcon={(): ReactElement => (\n\t\t\t\t\t\t\t\t<Icon icon={dropdownOpen ? 'ArrowUp' : 'ArrowDown'} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Dropdown>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default SettingsSentMessages;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\n\nconst Styler = styled(Container)<{ allDay?: boolean }>`\n\t.rw-btn,\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tcolor: inherit;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t\tbackground-image: none;\n\t\tfont-family: inherit;\n\t\tfont-size: inherit;\n\t\tline-height: inherit;\n\t\t-ms-touch-action: manipulation;\n\t\ttouch-action: manipulation;\n\t}\n\n\t.rw-btn::-moz-focus-inner {\n\t\tpadding: 0;\n\t\tborder: 0;\n\t}\n\n\tselect.rw-input {\n\t\ttext-transform: none;\n\t}\n\n\thtml input[type='button'].rw-input {\n\t\t-webkit-appearance: button;\n\t\tcursor: pointer;\n\t}\n\n\ttextarea.rw-input {\n\t\toverflow: auto;\n\t\tresize: vertical;\n\t}\n\n\tbutton[disabled].rw-input,\n\tfieldset[disabled] .rw-input,\n\thtml input[disabled].rw-input {\n\t\tcursor: not-allowed;\n\t}\n\n\tbutton.rw-input::-moz-focus-inner,\n\tinput.rw-input::-moz-focus-inner {\n\t\tborder: 0;\n\t\tpadding: 0;\n\t}\n\n\tinput[type='checkbox'],\n\tinput[type='radio'] {\n\t\tbox-sizing: border-box;\n\t\tpadding: 0;\n\t}\n\t${\n\t\t/* @font-face {\nfont-family: \"RwWidgets\";\nfont-weight: normal;\nfont-style: normal;\n${/* src: url(\"../fonts/rw-widgets.eot?v=4.1.0\");\nsrc: url(\"../fonts/rw-widgets.eot?#iefix&v=4.1.0\") format(\"embedded-opentype\"),\nurl(\"../fonts/rw-widgets.woff?v=4.1.0\") format(\"woff\"),\nurl(\"../fonts/rw-widgets.ttf?v=4.1.0\") format(\"truetype\"),\n url(\"../fonts/rw-widgets.svg?v=4.1.0#fontawesomeregular\") format(\"svg\"); */ ''\n\t};\n\n\t.rw-i {\n\t\tdisplay: inline-block;\n\t\tcolor: inherit;\n\t\t${/* font-family: RwWidgets; */ ''};\n\t\tfont-style: normal;\n\t\tfont-weight: normal;\n\t\tfont-variant: normal;\n\t\ttext-transform: none;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\t-webkit-font-smoothing: antialiased;\n\t}\n\n\t.rw-i-caret-down:before {\n\t\tcontent: '\\e803';\n\t}\n\n\t.rw-i-caret-up:before {\n\t\tcontent: '\\e800';\n\t}\n\n\t.rw-i-chevron-left:before {\n\t\tcontent: '\\f104';\n\t}\n\n\t.rw-i-chevron-right:before {\n\t\tcontent: '\\f105';\n\t}\n\n\t.rw-i-clock-o:before {\n\t\tcontent: '\\e805';\n\t}\n\n\t.rw-i-calendar:before {\n\t\tcontent: '\\e804';\n\t}\n\n\t.rw-i-search:before {\n\t\tcontent: '\\e801';\n\t}\n\n\t.rw-btn {\n\t\tposition: relative;\n\t\tcolor: #333;\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\tvertical-align: middle;\n\t\tborder: 0.0625rem solid transparent;\n\t\tcursor: pointer;\n\t\toutline: none;\n\t}\n\n\t.rw-state-readonly .rw-btn,\n\t.rw-state-disabled .rw-btn {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-btn-select {\n\t\topacity: 0.75;\n\t\ttransition: opacity 150ms ease-in;\n\t}\n\n\t.rw-btn-select:hover,\n\t.rw-state-focus .rw-btn-select,\n\t:hover > .rw-btn-select {\n\t\topacity: 1;\n\t}\n\n\t.rw-btn-primary {\n\t\twidth: 100%;\n\t\twhite-space: normal;\n\t\tline-height: 2rem;\n\t}\n\n\t.rw-btn-primary:hover {\n\t\tbackground-color: #e6e6e6;\n\t}\n\n\t.rw-btn-select[disabled],\n\t.rw-btn-primary[disabled],\n\tfieldset[disabled] .rw-btn-select,\n\tfieldset[disabled] .rw-btn-primary {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 0.65;\n\t\tpointer-events: none;\n\t}\n\n\t.rw-sr {\n\t\tposition: absolute;\n\t\twidth: 0.0625rem;\n\t\theight: 0.0625rem;\n\t\tmargin: -0.0625rem;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t\tclip: rect(0, 0, 0, 0);\n\t\tborder: 0;\n\t}\n\n\t.rw-widget {\n\t\tbackground-clip: border-box;\n\t\tborder: none;\n\t\toutline: none;\n\t\tposition: relative;\n\t\tborder-radius: 0.125rem 0.125rem 0 0;\n\t\twidth: 100%;\n\t}\n\n\t.rw-widget,\n\t.rw-widget * {\n\t\tbox-sizing: border-box;\n\t}\n\n\t.rw-widget:before,\n\t.rw-widget *:before,\n\t.rw-widget:after,\n\t.rw-widget *:after {\n\t\tbox-sizing: border-box;\n\t}\n\n\t.rw-widget > .rw-widget-container {\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.rw-widget-container {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray5.regular};\n\t\tborder-bottom: ${({ theme }): string => theme.palette.gray2.regular} 0.0625rem solid;\n\t}\n\n\t.rw-widget-container.rw-state-focus,\n\t.rw-state-focus > .rw-widget-container,\n\t.rw-widget-container.rw-state-focus:hover,\n\t.rw-state-focus > .rw-widget-container:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray5.focus};\n\t\tborder-bottom: ${({ theme }): string => theme.palette.primary.regular} 0.0625rem solid;\n\t}\n\n\t.rw-widget-container.rw-state-readonly,\n\t.rw-state-readonly > .rw-widget-container {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-widget-container.rw-state-disabled,\n\t.rw-state-disabled > .rw-widget-container,\n\tfieldset[disabled] .rw-widget-container,\n\t.rw-widget-container.rw-state-disabled:hover,\n\t.rw-state-disabled > .rw-widget-container:hover,\n\tfieldset[disabled] .rw-widget-container:hover,\n\t.rw-widget-container.rw-state-disabled:active,\n\t.rw-state-disabled > .rw-widget-container:active,\n\tfieldset[disabled] .rw-widget-container:active {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-datetime-picker {\n\t\theight: 2.625rem;\n\t}\n\n\t.rw-widget-picker {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tborder-collapse: separate;\n\t\tdisplay: inline-table;\n\t\theight: 100%;\n\t}\n\n\t.rw-widget-picker > * {\n\t\tposition: relative;\n\t\tborder: none;\n\t\toutline: none;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: table-cell;\n\t}\n\n\t.rw-widget-picker > .rw-select {\n\t\twidth: ${({ allDay }): string => (allDay ? '2.125rem' : '4.25rem')};\n\t\twhite-space: nowrap;\n\t}\n\n\t.rw-open > .rw-widget-picker {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.rw-open-up > .rw-widget-picker {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t}\n\n\tfieldset[disabled] .rw-widget-picker,\n\t.rw-state-disabled > .rw-widget-picker {\n\t\tbackground-color: #eee;\n\t}\n\n\t.rw-multiselect > .rw-widget-picker {\n\t\theight: auto;\n\t}\n\n\t.rw-select {\n\t\tcursor: pointer;\n\t}\n\n\t.rw-select > * {\n\t\twidth: 2rem;\n\t\theight: 100%;\n\t}\n\n\t.rw-state-readonly .rw-select,\n\t.rw-state-disabled .rw-select {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-select-bordered {\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-left: #ccc 0.0625rem solid;\n\t}\n\n\t.rw-select-bordered:hover,\n\t.rw-select-bordered:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\n\t.rw-select-bordered:active {\n\t\tbox-shadow: inset 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.125);\n\t}\n\n\t.rw-state-disabled .rw-select-bordered,\n\t.rw-state-readonly .rw-select-bordered,\n\tfieldset[disabled] .rw-select-bordered,\n\t.rw-state-disabled .rw-select-bordered:hover,\n\t.rw-state-readonly .rw-select-bordered:hover,\n\tfieldset[disabled] .rw-select-bordered:hover,\n\t.rw-state-disabled .rw-select-bordered:active,\n\t.rw-state-readonly .rw-select-bordered:active,\n\tfieldset[disabled] .rw-select-bordered:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-rtl .rw-select-bordered {\n\t\tborder-right: #ccc 0.0625rem solid;\n\t\tborder-left: none;\n\t}\n\n\t.rw-rtl {\n\t\tdirection: rtl;\n\t}\n\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\toutline: 0;\n\t}\n\n\t.rw-input-reset::-moz-placeholder {\n\t\tcolor: #999;\n\t\topacity: 1;\n\t}\n\n\t.rw-input-reset:-ms-input-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-input-reset::-webkit-input-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tpadding: 0 0.857rem;\n\t}\n\n\t.rw-input[type='text']::-ms-clear {\n\t\tdisplay: none;\n\t}\n\n\t.rw-input[disabled],\n\tfieldset[disabled] .rw-input {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 1;\n\t\tbackground-color: #eee;\n\t\tborder-color: #ccc;\n\t}\n\n\t.rw-input[readonly] {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-i.rw-loading {\n\t\tdisplay: block;\n\t\t${/* background: url(\"../img/loading.gif\") no-repeat center; */ ''};\n\t\tmin-width: 1rem;\n\t\twidth: 1.9rem;\n\t\theight: 1rem;\n\t}\n\n\t.rw-i.rw-loading:before {\n\t\tcontent: '';\n\t}\n\n\t.rw-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-detect-autofill:-webkit-autofill {\n\t\tanimation-name: react-widgets-autofill-start;\n\t\ttransition: background-color 50000s ease-in-out 0s;\n\t}\n\n\t.rw-detect-autofill:not(:-webkit-autofill) {\n\t\tanimation-name: react-widgets-autofill-cancel;\n\t}\n\n\t.rw-webkit-autofill .rw-widget-container,\n\t.rw-input:-webkit-autofill {\n\t\tbackground-color: #faffbd !important;\n\t\tbackground-image: none !important;\n\t\tcolor: #000 !important;\n\t}\n\n\t.rw-widget-input,\n\t.rw-filter-input {\n\t}\n\n\t.rw-widget-input.rw-state-focus {\n\t\tbox-shadow: 0 0 0.5rem rgba(102, 175, 233, 0.6),\n\t\t\tinset 0 0.0625rem 0.0625rem rgba(0, 0, 0, 0.075);\n\t}\n\n\t.rw-list {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tfont-size: 1rem;\n\t\toutline: 0;\n\t\toverflow: auto;\n\t\tmax-height: 12.5rem;\n\t}\n\n\t.rw-list-option {\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t\tcolor: #333;\n\t\tcursor: pointer;\n\t\tborder: 0.0625rem solid transparent;\n\t}\n\n\t.rw-list-option.rw-state-focus,\n\t.rw-list-option.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\n\t.rw-list-option:hover,\n\t.rw-list-option:hover.rw-state-focus {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\n\t.rw-list-option.rw-state-selected,\n\t.rw-list-option.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\n\tfieldset[disabled] .rw-list-option,\n\t.rw-list-option.rw-state-disabled,\n\t.rw-list-option.rw-state-readonly {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\n\tfieldset[disabled] .rw-list-option:hover,\n\t.rw-list-option.rw-state-disabled:hover,\n\t.rw-list-option.rw-state-readonly:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\n\t.rw-list-empty,\n\t.rw-list-option,\n\t.rw-list-optgroup {\n\t\tpadding: 0.143rem 0.75rem;\n\t\toutline: 0;\n\t}\n\n\t.rw-list-optgroup {\n\t\tfont-weight: bold;\n\t\tpadding-top: 0.4375rem;\n\t}\n\n\t.rw-list-option-create {\n\t\tborder-top: 0.0625rem #ccc solid;\n\t}\n\n\t.rw-dropdown-list-autofill {\n\t\tpadding: 0;\n\t}\n\n\t.rw-dropdown-list-input {\n\t\tbackground-color: transparent;\n\t\tvertical-align: middle;\n\t\tpadding-right: 0;\n\t\tmax-width: 0.0625rem;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-rtl .rw-dropdown-list-input {\n\t\tpadding-right: 0.857rem;\n\t\tpadding-left: 0;\n\t}\n\n\t.rw-filter-input {\n\t\tposition: relative;\n\t\tmargin: 0.25rem;\n\t\tpadding-right: 0;\n\t}\n\n\t.rw-filter-input .rw-rtl {\n\t\tpadding-right: 0.857rem;\n\t\tpadding-left: 0;\n\t}\n\n\t.rw-filter-input .rw-select,\n\t.rw-filter-input .rw-btn {\n\t\topacity: 0.75;\n\t\tcursor: text;\n\t}\n\n\t.rw-filter-input > .rw-select,\n\t.rw-filter-input > .rw-select:active,\n\t.rw-filter-input > .rw-select:hover {\n\t\tbackground: none;\n\t\tcursor: initial;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-number-picker .rw-btn {\n\t\tcursor: pointer;\n\t\theight: calc(1.2145rem - 0.0625rem);\n\t\t${\n\t\t\t/*\n margin-top: -0.0625rem\\9;\nheight: 1.2145rem\\9;\n*/ 'border: 0.125rem solid red;'\n\t\t};\n\t\tline-height: 1.2145rem;\n\t\tline-height: calc(1.2145rem - 0.0625rem);\n\t\tdisplay: block;\n\t\tborder: none;\n\t}\n\n\t.rw-number-picker .rw-btn:hover,\n\t.rw-number-picker .rw-btn:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\n\t.rw-number-picker .rw-btn:active {\n\t\tbox-shadow: inset 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.125);\n\t}\n\n\t.rw-state-disabled .rw-number-picker .rw-btn,\n\t.rw-state-readonly .rw-number-picker .rw-btn,\n\tfieldset[disabled] .rw-number-picker .rw-btn,\n\t.rw-state-disabled .rw-number-picker .rw-btn:hover,\n\t.rw-state-readonly .rw-number-picker .rw-btn:hover,\n\tfieldset[disabled] .rw-number-picker .rw-btn:hover,\n\t.rw-state-disabled .rw-number-picker .rw-btn:active,\n\t.rw-state-readonly .rw-number-picker .rw-btn:active,\n\tfieldset[disabled] .rw-number-picker .rw-btn:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-number-picker .rw-select {\n\t\tvertical-align: middle;\n\t}\n\n\t.rw-number-picker .rw-select,\n\t.rw-number-picker .rw-select:hover,\n\t.rw-number-picker .rw-select:active {\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-calendar-popup {\n\t\tright: auto;\n\t\tmin-width: 0;\n\t\twidth: 18rem;\n\t}\n\n\t.rw-calendar {\n\t\tborder-radius: 0.25rem;\n\t\tbackground-color: #fff;\n\t\tborder: #ccc 0.0625rem solid;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-calendar.rw-popup {\n\t\tborder-color: #ccc;\n\t}\n\n\t.rw-calendar-now {\n\t\tfont-weight: bold;\n\t}\n\n\t.rw-calendar-btn-left,\n\t.rw-calendar-btn-right {\n\t\twidth: 12.5%;\n\t}\n\n\t.rw-calendar-btn-view {\n\t\twidth: 75%;\n\t}\n\n\t.rw-calendar-footer {\n\t\tborder-top: 0.0625rem solid #ccc;\n\t}\n\n\t.rw-calendar-grid {\n\t\toutline: none;\n\t\theight: 14.28571429rem;\n\t\ttable-layout: fixed;\n\t\tborder-collapse: separate;\n\t\tborder-spacing: 0;\n\t\twidth: 100%;\n\t\tbackground-color: #fff;\n\t}\n\n\t.rw-head-cell {\n\t\ttext-align: center;\n\t\tborder-bottom: 0.0625rem solid #ccc;\n\t\tpadding: 0.25rem;\n\t}\n\n\t.rw-cell {\n\t\tcolor: #333;\n\t\tborder-radius: 0.25rem;\n\t\tcursor: pointer;\n\t\tline-height: normal;\n\t\ttext-align: center;\n\t\tborder: 0.0625rem solid transparent;\n\t\tpadding: 0.25rem;\n\t}\n\n\t.rw-cell:hover {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\n\t.rw-cell.rw-state-focus,\n\t.rw-cell.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\n\t.rw-cell.rw-state-selected,\n\t.rw-cell.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\n\t.rw-cell.rw-state-disabled {\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\n\t.rw-cell.rw-state-disabled:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\n\t.rw-calendar-month .rw-cell {\n\t\ttext-align: center;\n\t}\n\n\t.rw-cell-off-range {\n\t\tcolor: #999;\n\t}\n\n\t.rw-calendar-transition-group {\n\t\tposition: relative;\n\t}\n\n\t.rw-calendar-transition {\n\t\ttransition: transform 300ms;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.rw-calendar-transition-entering.rw-calendar-transition-top,\n\t.rw-calendar-transition-entered.rw-calendar-transition-top,\n\t.rw-calendar-transition-entering.rw-calendar-transition-bottom,\n\t.rw-calendar-transition-entered.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t}\n\n\t.rw-calendar-transition-entering.rw-calendar-transition-right,\n\t.rw-calendar-transition-entered.rw-calendar-transition-right,\n\t.rw-calendar-transition-entering.rw-calendar-transition-left,\n\t.rw-calendar-transition-entered.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(0);\n\t\ttransform: translateX(0);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.rw-select-list {\n\t\toverflow: auto;\n\t\tposition: relative;\n\t}\n\n\t.rw-select-list .rw-list {\n\t\tmax-height: none;\n\t\tfont-size: 1rem;\n\t}\n\n\t.rw-select-list-label {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tfont-weight: normal;\n\t\tcursor: inherit;\n\t\tpadding-left: 1.25rem;\n\t\tmargin: 0;\n\t}\n\n\t.rw-rtl .rw-select-list-label {\n\t\tpadding-left: 0;\n\t\tpadding-right: 1.25rem;\n\t}\n\n\tinput.rw-select-list-input {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 50%;\n\t\t-ms-transform: translateY(-50%);\n\t\ttransform: translateY(-50%);\n\t\t${/* top: 0.1rem\\9; */ ''};\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t\tcursor: inherit;\n\t}\n\n\t.rw-rtl input.rw-select-list-input {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\n\t.rw-loading-mask {\n\t\tcontent: '';\n\t\t${/* background: url(\"../img/loader-big.gif\") no-repeat center; */ ''};\n\t\tposition: absolute;\n\t\tbackground-color: #fff;\n\t\tborder-radius: 0.25rem;\n\t\topacity: 0.7;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t.rw-multiselect {\n\t\tcursor: text;\n\t}\n\n\t.rw-multiselect .rw-input-reset {\n\t\theight: calc(2.429rem - 0.125rem);\n\t\t${\n\t\t\t/* margin-top: -0.125rem\\9;\nheight: 2.429rem\\9; */ ''\n\t\t};\n\t\tborder-width: 0;\n\t\twidth: auto;\n\t\tmax-width: 100%;\n\t\tpadding: 0 0.857rem;\n\t}\n\n\t.rw-multiselect .rw-select {\n\t\tvertical-align: middle;\n\t}\n\n\t.rw-multiselect .rw-select,\n\t.rw-multiselect .rw-select:hover,\n\t.rw-multiselect .rw-select:active {\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t}\n\n\t.rw-multiselect-taglist {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tdisplay: inline-block;\n\t\tvertical-align: 0;\n\t\toutline: none;\n\t}\n\n\t.rw-multiselect-tag {\n\t\tdisplay: inline-table;\n\t\tcolor: inherit;\n\t\tpadding: 0 0.35rem 0 0.35rem;\n\t\tmargin-left: calc(0.279335rem - 0.0625rem);\n\t\tmargin-top: 0.279335rem;\n\t\tmargin-top: calc(0.279335rem - 0.0625rem);\n\t\theight: 1.87033rem;\n\t\tborder-radius: 0.1875rem;\n\t\tbackground-color: #eee;\n\t\tborder: 0.0625rem solid #ccc;\n\t\tcursor: default;\n\t\tvertical-align: top;\n\t\ttext-align: center;\n\t\toverflow: hidden;\n\t\tmax-width: 100%;\n\t}\n\n\t.rw-multiselect-tag > * {\n\t\tdisplay: table-cell;\n\t\tvertical-align: middle;\n\t\theight: 100%;\n\t}\n\n\t.rw-rtl .rw-multiselect-tag {\n\t\tmargin-left: 0;\n\t\tmargin-right: calc(0.279335rem - 0.0625rem);\n\t\tpadding: 0 0.35rem 0 0.35rem;\n\t}\n\n\t.rw-multiselect-tag.rw-state-focus,\n\t.rw-multiselect-tag.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\n\t.rw-multiselect-tag.rw-state-readonly,\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-readonly .rw-multiselect-tag,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\topacity: 0.65;\n\t}\n\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-multiselect-tag-btn {\n\t\tcolor: inherit;\n\t\tmargin-left: 0.25rem;\n\t}\n\n\t.rw-rtl .rw-multiselect-tag-btn {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0.25rem;\n\t}\n\n\t.rw-autocomplete .rw-select {\n\t\tposition: absolute;\n\t\tdisplay: block;\n\t\twidth: auto;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t.rw-popup-container {\n\t\tposition: absolute;\n\t\tz-index: 1005;\n\t\ttop: 100%;\n\t\tleft: -0.375rem;\n\t\tright: -0.375rem;\n\t}\n\n\t.rw-popup-container.rw-dropup {\n\t\ttop: auto;\n\t\tbottom: 100%;\n\t}\n\n\t.rw-state-focus .rw-popup-container {\n\t\tz-index: 1006;\n\t}\n\n\t.rw-popup-transition {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.375rem;\n\t\tpadding: 0 0.375rem;\n\t}\n\n\t.rw-dropup > .rw-popup-transition {\n\t\tmargin-bottom: 0;\n\t\tmargin-top: 0.375rem;\n\t}\n\n\t.rw-popup {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-right-radius: 0.1875rem;\n\t\tborder-bottom-left-radius: 0.1875rem;\n\t\tbox-shadow: 0 0.3125rem 0.375rem rgba(0, 0, 0, 0.2);\n\t\tborder: #ccc 0.0625rem solid;\n\t\tbackground: #fff;\n\t}\n\n\t.rw-dropup .rw-popup {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-top-right-radius: 0.1875rem;\n\t\tborder-top-left-radius: 0.1875rem;\n\t\tbox-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.2);\n\t}\n\n\t.rw-popup-transition {\n\t\ttransition: transform 200ms;\n\t}\n\n\t.rw-popup-transition-entering {\n\t\toverflow: hidden;\n\t}\n\n\t.rw-popup-transition-entering .rw-popup-transition {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t\ttransition-timing-function: ease-out;\n\t}\n\n\t.rw-popup-transition-exiting .rw-popup-transition {\n\t\ttransition-timing-function: ease-in;\n\t}\n\n\t.rw-popup-transition-exiting,\n\t.rw-popup-transition-exited {\n\t\toverflow: hidden;\n\t}\n\n\t.rw-popup-transition-exiting .rw-popup-transition,\n\t.rw-popup-transition-exited .rw-popup-transition {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.rw-popup-transition-exiting.rw-dropup .rw-popup-transition,\n\t.rw-popup-transition-exited.rw-dropup .rw-popup-transition {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.rw-popup-transition-exited {\n\t\tdisplay: none;\n\t}\n\n\t.rw-state-disabled {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme }): string => theme.sizes.font.medium};\n\tfont-weight: ${({ theme }): number => theme.fonts.weight.regular};\n`;\n\nexport default Styler;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Checkbox, Container, Icon, Padding, Text } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useState } from 'react';\n\nimport moment from 'moment';\nimport DateTimePicker from 'react-widgets/lib/DateTimePicker';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../../types';\nimport Heading from './settings-heading';\nimport Styler from './date-picker-style';\nimport { getT } from '../../store/i18n';\nimport { changeDateEvent, endOfDate, getDateEvent, startOfDate } from './utils';\n\nmomentLocalizer();\n\nconst DateTimeSelect: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n\tsendAutoReply: boolean;\n}> = ({ settings, addMod, sendAutoReply }) => {\n\tconst t = getT();\n\tconst [dateDisabled, setDateDisabled] = useState<boolean>(false);\n\tconst [sendAutoReplyTimePeriod, setSendAutoReplyTimePeriod] = useState<boolean>(\n\t\t!!(\n\t\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate && settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t\t)\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeFromDate, setZimbraPrefOutOfOfficeFromDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate as string\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeUntilDate, setZimbraPrefOutOfOfficeUntilDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeUntilDate as string\n\t);\n\tconst [allDay, setAllDay] = useState<boolean>(false);\n\tconst [allDayDisabled, setAllDayDisabled] = useState<boolean>(false);\n\tconst [timeDisabled, setTimeDisabled] = useState<boolean>(false);\n\tconst updatePrefs = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tif (sendAutoReplyTimePeriod) {\n\t\t\t\tsetTimeDisabled(false);\n\t\t\t\tsetAllDayDisabled(false);\n\t\t\t\tsetDateDisabled(false);\n\t\t\t} else {\n\t\t\t\tsetAllDayDisabled(true);\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t\tsetDateDisabled(true);\n\t\t\t}\n\t\t\tif (allDay) {\n\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(startOfDate(dateZimbraPrefOutOfOfficeFromDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tstartOfDate(dateZimbraPrefOutOfOfficeFromDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t);\n\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(endOfDate(dateZimbraPrefOutOfOfficeUntilDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tendOfDate(dateZimbraPrefOutOfOfficeUntilDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t);\n\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t}\n\t\t} else {\n\t\t\tsetDateDisabled(true);\n\t\t\tsetTimeDisabled(true);\n\t\t\tsetAllDay(false);\n\t\t\tsetAllDayDisabled(true);\n\t\t}\n\t}, [\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tdateZimbraPrefOutOfOfficeFromDate,\n\t\tdateZimbraPrefOutOfOfficeUntilDate,\n\t\tallDay,\n\t\tsendAutoReply,\n\t\tsendAutoReplyTimePeriod\n\t]);\n\tconst toggleSendAutoReplyTimePeriod = (): void => {\n\t\tsetSendAutoReplyTimePeriod(!sendAutoReplyTimePeriod);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Heading title={t('settings.out_of_office.headings.time_period', 'Time Period')} />\n\t\t\t<Checkbox\n\t\t\t\tlabel={t(\n\t\t\t\t\t'settings.out_of_office.labels.send_auto_reply_period',\n\t\t\t\t\t'Send auto-replies during the following period:'\n\t\t\t\t)}\n\t\t\t\tvalue={sendAutoReplyTimePeriod}\n\t\t\t\tonClick={toggleSendAutoReplyTimePeriod}\n\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t/>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_date', 'Start Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_date', 'End Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tinputProps={{ readOnly: true }}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\n\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tdisabled={allDayDisabled}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.all_day', 'All Day:')}\n\t\t\t\t\tvalue={allDay}\n\t\t\t\t\tonClick={(): void => {\n\t\t\t\t\t\tsetAllDay(!allDay);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_time', 'Start Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_time', 'End Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\t\t</>\n\t);\n};\n\nexport default DateTimeSelect;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, Text } from '@zextras/carbonio-design-system';\nimport React, { useMemo } from 'react';\nimport { getT } from '../../../store/i18n';\nimport { appearanceSubSection } from '../../general-settings-sub-sections';\n\ninterface AppearanceSettingsProps {\n\tchildren: React.ReactElement | React.ReactElement[];\n}\n\nconst AppearanceSettings = ({ children }: AppearanceSettingsProps): JSX.Element => {\n\tconst t = getT();\n\tconst subSection = useMemo(() => appearanceSubSection(t), [t]);\n\treturn (\n\t\t<Container\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t\tgap=\"1rem\"\n\t\t\tpadding={'large'}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\theight={'fit'}\n\t\t\tid={subSection.id}\n\t\t\tbackground={'gray6'}\n\t\t>\n\t\t\t<Text weight={'bold'} size={'medium'}>\n\t\t\t\t{subSection.label}\n\t\t\t</Text>\n\t\t\t{children}\n\t\t</Container>\n\t);\n};\n\nexport default AppearanceSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Select, SelectItem, SingleSelectionOnChange, Text } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport React, { FC, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport type { AddMod, DarkReaderPropValues, RemoveMod } from '../../../../types';\nimport { ThemeCallbacksContext } from '../../../boot/theme-provider';\nimport { DARK_READER_PROP_KEY, SHELL_APP_ID } from '../../../constants';\nimport { getT } from '../../../store/i18n';\nimport {\n\tisDarkReaderPropValues,\n\tuseDarkReaderResultValue\n} from '../../../dark-mode/use-dark-reader-result-value';\n\nconst DarkThemeSettingSection: FC<{\n\taddMod: AddMod;\n\tremoveMod: RemoveMod;\n}> = ({ addMod, removeMod }) => {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tconst [selection, setSelection] = useState<SelectItem>();\n\n\tconst t = getT();\n\tconst items = useMemo<Array<{ label: string; value: DarkReaderPropValues }>>(\n\t\t() => [\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_auto', 'Auto'),\n\t\t\t\tvalue: 'auto'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_enabled', 'Enabled'),\n\t\t\t\tvalue: 'enabled'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_disabled', 'Disabled'),\n\t\t\t\tvalue: 'disabled'\n\t\t\t}\n\t\t],\n\t\t[t]\n\t);\n\n\tconst setSelectNewValue = useCallback(\n\t\t(value: DarkReaderPropValues) => {\n\t\t\tconst item = find(items, { value });\n\t\t\tif (item) {\n\t\t\t\tsetSelection(item);\n\t\t\t}\n\t\t\tsetDarkReaderState(value);\n\t\t},\n\t\t[items, setDarkReaderState]\n\t);\n\n\tconst onSelectionChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (isDarkReaderPropValues(value)) {\n\t\t\t\tif (value) {\n\t\t\t\t\tsetSelectNewValue(value);\n\t\t\t\t}\n\t\t\t\tif (value !== darkReaderResultValue) {\n\t\t\t\t\taddMod('props', DARK_READER_PROP_KEY, { app: SHELL_APP_ID, value });\n\t\t\t\t} else {\n\t\t\t\t\tremoveMod('props', DARK_READER_PROP_KEY);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[addMod, darkReaderResultValue, removeMod, setSelectNewValue]\n\t);\n\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetSelectNewValue(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, items, setSelectNewValue]);\n\n\tif (!selection) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<Text size=\"medium\" weight=\"bold\">\n\t\t\t\t{t('settings.general.theme_options', 'Theme Options')}\n\t\t\t</Text>\n\t\t\t<Select\n\t\t\t\titems={items}\n\t\t\t\tselection={selection}\n\t\t\t\tlabel={t('settings.general.dark_mode', 'Dark Mode')}\n\t\t\t\tonChange={onSelectionChange}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default DarkThemeSettingSection;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ButtonOld as Button, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { logout } from '../../../network/logout';\nimport { getT } from '../../../store/i18n';\nimport { accountSubSection } from '../../general-settings-sub-sections';\n\nconst Logout: FC = () => {\n\tconst t = getT();\n\tconst onClick = useCallback(() => {\n\t\tlogout();\n\t}, []);\n\tconst sectionTitle = useMemo(() => accountSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Button label={t('settings.general.account_logout', 'Logout')} onClick={onClick} />\n\t\t</FormSubSection>\n\t);\n};\n\nexport default Logout;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tBadge,\n\tContainer,\n\tDivider,\n\tFormSubSection,\n\tText,\n\tTextProps,\n\tTooltip,\n\tuseTheme\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { useCallback, useMemo } from 'react';\nimport { useAppList } from '../../../store/app';\n\nimport { CarbonioModule } from '../../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID } from '../../../constants';\nimport { getT } from '../../../store/i18n';\nimport { versionsSubSection } from '../../general-settings-sub-sections';\n\nconst ModuleVersionSettings = (): JSX.Element => {\n\tconst apps = useAppList();\n\tconst t = getT();\n\tconst theme = useTheme();\n\n\tconst copyToClipboard = useCallback<NonNullable<TextProps['onClick']>>((e) => {\n\t\te.preventDefault();\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\tnavigator.clipboard.writeText(e.target.innerText);\n\t\t}\n\t}, []);\n\n\tconst filteredList = useMemo(\n\t\t() => apps.filter((app) => app.name !== SEARCH_APP_ID && app.name !== SETTINGS_APP_ID),\n\t\t[apps]\n\t);\n\tconst sectionTitle = useMemo(() => versionsSubSection(t), [t]);\n\n\treturn (\n\t\t<>\n\t\t\t<FormSubSection\n\t\t\t\tlabel={sectionTitle.label}\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"50%\"\n\t\t\t\tid={sectionTitle.id}\n\t\t\t>\n\t\t\t\t{map(filteredList, (app: CarbonioModule) => (\n\t\t\t\t\t<Container key={app.name} padding={{ horizontal: 'large', vertical: 'small' }}>\n\t\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t\t<Text>{app.display}</Text>\n\t\t\t\t\t\t\t<Tooltip placement=\"top\" label={t('label.click_to_copy', 'Click to copy')}>\n\t\t\t\t\t\t\t\t<Text style={{ cursor: 'pointer' }} onClick={copyToClipboard}>\n\t\t\t\t\t\t\t\t\tVersion: {app.version}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\t\t\tpadding={{ top: 'extrasmall', bottom: 'medium' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text color=\"secondary\">{app.description}</Text>\n\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\tvalue=\"Active\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.success.regular,\n\t\t\t\t\t\t\t\t\tcolor: theme.palette.gray6.regular\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Divider color=\"gray2\" />\n\t\t\t\t\t</Container>\n\t\t\t\t))}\n\t\t\t</FormSubSection>\n\t\t</>\n\t);\n};\n\nexport default ModuleVersionSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tCheckbox,\n\tContainer,\n\tFormSubSection,\n\tPadding,\n\tSelect\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { find } from 'lodash';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../../../types';\nimport Heading from '../settings-heading';\nimport DateTimeSelect from '../date-time-select-view';\nimport { getT } from '../../../store/i18n';\nimport { outOfOfficeSubSection } from '../../general-settings-sub-sections';\nimport {\n\tgetExternalSendersPrefsData,\n\tgetOutOfOfficeStatusPrefsData,\n\tItemsExternalSenders,\n\tItemsOutOfOfficeStatus,\n\tItemsSendAutoReplies\n} from '../utils';\n\nconst TextArea = styled.textarea`\n\tbox-sizing: border-box;\n\tpadding: 0.625rem;\n\tmin-height: 9.375rem;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tflex-grow: 1;\n\twidth: 100%;\n\tborder: none;\n\tresize: vertical;\n\t& :focus,\n\t:active {\n\t\tbox-shadow: none;\n\t\tborder: none;\n\t\toutline: none;\n\t}\n`;\n\nmomentLocalizer();\n\nconst OutOfOfficeView: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}> = ({ settings, addMod }) => {\n\tconst t = getT();\n\tconst [sendAutoReply, setSendAutoReply] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE'\n\t);\n\tconst [inputZimbraPrefOutOfOfficeReply, setInputZimbraPrefOutOfOfficeReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReply as string\n\t);\n\n\tconst [inputZimbraPrefOutOfOfficeExternalReply, setInputZimbraPrefOutOfOfficeExternalReply] =\n\t\tuseState<string>(settings.prefs.zimbraPrefOutOfOfficeExternalReply as string);\n\n\tconst [createAppointmentDisabled, setCreateAppointmentDisabled] = useState<boolean>(false);\n\tconst [externalReplyInput, setExternalReplyInput] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t);\n\n\tconst [createAppointment, setCreateAppointment] = useState<boolean>(true);\n\n\tconst updatePrefs = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tsetCreateAppointmentDisabled(false);\n\t\t} else {\n\t\t\tsetCreateAppointmentDisabled(true);\n\t\t}\n\t}, [\n\t\tsendAutoReply,\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tsetCreateAppointment,\n\t\tsetCreateAppointmentDisabled\n\t]);\n\n\tconst externalSendersHandler = (v: any): void => {\n\t\tsetExternalReplyInput(false);\n\n\t\tif (v === 'SEND_AUTO_REPLY') {\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefExternalSendersType');\n\t\t} else if (v === 'SEND_NOT_IN_ORG') {\n\t\t\tupdatePrefs('ALLNOTINAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else if (v === 'SHOW_EXTERNAL_INPUT') {\n\t\t\tupdatePrefs('ALL', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else {\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('INAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t}\n\t};\n\n\tconst createAppointmentAsHandler = (v: any): void => {\n\t\tupdatePrefs(v, 'zimbraPrefOutOfOfficeFreeBusyStatus');\n\t};\n\n\tconst itemsSendAutoReplies = useMemo(() => ItemsSendAutoReplies(t), [t]);\n\tconst defaultSendAutoreply = useMemo(\n\t\t() => getExternalSendersPrefsData(settings, 'label', t),\n\t\t[settings, t]\n\t);\n\tconst defaultOutOfOfficeStatus = useMemo(\n\t\t() => getOutOfOfficeStatusPrefsData(settings, t),\n\t\t[settings, t]\n\t);\n\tconst selectedItemSendAutoReplies = useMemo(\n\t\t() => find(itemsSendAutoReplies, (item) => item && (item.value === 'TRUE') === sendAutoReply),\n\t\t[itemsSendAutoReplies, sendAutoReply]\n\t);\n\n\tconst outOfOfficeSection = useMemo(() => outOfOfficeSubSection(t), [t]);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={outOfOfficeSection.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={outOfOfficeSection.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Select\n\t\t\t\t\titems={itemsSendAutoReplies}\n\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\tlabel={t('label.out_of_office', 'Out of Office')}\n\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\tif (value && (value === 'TRUE') !== sendAutoReply) {\n\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefOutOfOfficeReplyEnabled');\n\t\t\t\t\t\t\tsetSendAutoReply(value === 'TRUE');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tselection={selectedItemSendAutoReplies}\n\t\t\t\t/>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<TextArea\n\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeReply || ''}\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message',\n\t\t\t\t\t\t\t'Auto-Reply Message:'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonChange={(ev): void => {\n\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeReply(ev.target.value);\n\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeReply');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\titems={ItemsExternalSenders(t)}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\tif (value && value !== defaultSendAutoreply?.value) externalSendersHandler(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tselection={defaultSendAutoreply}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t{externalReplyInput && (\n\t\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t\t<TextArea\n\t\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeExternalReply || ''}\n\t\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(ev): void => {\n\t\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeExternalReply(ev.target.value);\n\t\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeExternalReply');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<DateTimeSelect settings={settings} addMod={addMod} sendAutoReply={sendAutoReply} />\n\t\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttitle={t('settings.out_of_office.headings.create_appointment', 'Calendar Appointment')}\n\t\t\t\t\t/>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.create_appointment', 'Create Appointment:')}\n\t\t\t\t\t\tvalue={createAppointment}\n\t\t\t\t\t\tonClick={(value: any): void => {\n\t\t\t\t\t\t\tsetCreateAppointment(!createAppointment);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t\t<Padding top=\"small\" width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\t\titems={ItemsOutOfOfficeStatus(t)}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.out_of_office_status',\n\t\t\t\t\t\t\t\t'Out Of Office Status:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\t\tif (value && value !== defaultOutOfOfficeStatus?.value)\n\t\t\t\t\t\t\t\t\tcreateAppointmentAsHandler(value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tselection={defaultOutOfOfficeStatus}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default OutOfOfficeView;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useTranslation } from 'react-i18next';\nimport React, { useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react';\nimport {\n\tButton,\n\tCheckbox,\n\tContainer,\n\tSlider,\n\tSliderProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport styled, { SimpleInterpolation } from 'styled-components';\nimport { ScalingSettings } from '../../../../types/settings';\nimport { BASE_FONT_SIZE, SCALING_OPTIONS } from '../../../constants';\nimport { getAutoScalingFontSize } from '../utils';\n\nconst ScalingSliderContainer = styled(Container)`\n\tbox-shadow: 0px 0px 4px rgba(166, 166, 166, 0.5);\n\tborder-radius: 0.5rem;\n`;\n\nconst ExampleContainer = styled(Container)<{ $fontSize: number | undefined }>`\n\tfont-size: ${({ $fontSize }): SimpleInterpolation => $fontSize && `${$fontSize}%`};\n`;\n\nconst ExampleText = styled(Text)`\n\tfont-size: 1em; /* font-size needs to be relative to ExampleContainer */\n`;\n\ninterface ScalingSettingSectionProps {\n\tscalingSettings: ScalingSettings;\n\taddLocalStoreChange: (\n\t\tkey: keyof ScalingSettings,\n\t\tvalue: ScalingSettings[keyof ScalingSettings]\n\t) => void;\n\tcleanLocalStoreChange: (key: keyof ScalingSettings) => void;\n}\n\nexport type ScalingSettingSectionRef = { reset: () => void };\n\nconst BASE_FONT_OPTION_INDEX = SCALING_OPTIONS.findIndex(\n\t(option) => option.value === BASE_FONT_SIZE\n);\n\nconst AUTOSCALING_FONT_SIZE = getAutoScalingFontSize();\nconst AUTOSCALING_FONT_OPTION_INDEX = SCALING_OPTIONS.findIndex(\n\t(option) => option.value === AUTOSCALING_FONT_SIZE\n);\n\nexport const ScalingSettingSection = React.forwardRef<\n\tScalingSettingSectionRef,\n\tScalingSettingSectionProps\n>(function ScalingSettingSectionFn(\n\t{ scalingSettings, addLocalStoreChange, cleanLocalStoreChange }: ScalingSettingSectionProps,\n\tref\n) {\n\tconst [t] = useTranslation();\n\n\tconst [scalingOptionValues, scalingOptionLabels] = useMemo<[number[], string[]]>(\n\t\t() =>\n\t\t\tSCALING_OPTIONS.reduce<[number[], string[]]>(\n\t\t\t\t([values, labels], option) => {\n\t\t\t\t\tvalues.push(option.value);\n\t\t\t\t\tlabels.push(t('settings.appearance.option', { context: option.label }));\n\t\t\t\t\treturn [values, labels];\n\t\t\t\t},\n\t\t\t\t[[], []]\n\t\t\t),\n\t\t[t]\n\t);\n\n\tconst savedOptionIndex = useMemo<number>(() => {\n\t\tconst savedScalingValueSetting = scalingSettings['settings.appearance_setting.scaling'];\n\t\tif (savedScalingValueSetting !== undefined) {\n\t\t\tconst optionIndex = scalingOptionValues.findIndex(\n\t\t\t\t(option) => option === savedScalingValueSetting\n\t\t\t);\n\t\t\tif (optionIndex >= 0) {\n\t\t\t\treturn optionIndex;\n\t\t\t}\n\t\t}\n\t\treturn AUTOSCALING_FONT_OPTION_INDEX;\n\t}, [scalingOptionValues, scalingSettings]);\n\n\tconst [autoScaling, setAutoScaling] = useState(\n\t\tscalingSettings['settings.appearance_setting.auto'] ?? true\n\t);\n\tconst [scalingValue, setScalingValue] = useState<number>(savedOptionIndex);\n\n\tuseEffect(() => {\n\t\t// update input value when setting is updated\n\t\tsetScalingValue(savedOptionIndex);\n\t}, [savedOptionIndex]);\n\n\tuseEffect(() => {\n\t\tif (scalingOptionValues[scalingValue]) {\n\t\t\tif (scalingValue !== savedOptionIndex) {\n\t\t\t\taddLocalStoreChange(\n\t\t\t\t\t'settings.appearance_setting.scaling',\n\t\t\t\t\tscalingOptionValues[scalingValue]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcleanLocalStoreChange('settings.appearance_setting.scaling');\n\t\t\t}\n\t\t}\n\t}, [\n\t\taddLocalStoreChange,\n\t\tcleanLocalStoreChange,\n\t\tsavedOptionIndex,\n\t\tscalingOptionValues,\n\t\tscalingSettings,\n\t\tscalingValue\n\t]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t(scalingSettings['settings.appearance_setting.auto'] !== undefined &&\n\t\t\t\tautoScaling !== scalingSettings['settings.appearance_setting.auto']) ||\n\t\t\t(scalingSettings['settings.appearance_setting.auto'] === undefined && !autoScaling)\n\t\t) {\n\t\t\taddLocalStoreChange('settings.appearance_setting.auto', autoScaling);\n\t\t\tif (autoScaling) {\n\t\t\t\taddLocalStoreChange('settings.appearance_setting.scaling', undefined);\n\t\t\t}\n\t\t} else {\n\t\t\tcleanLocalStoreChange('settings.appearance_setting.auto');\n\t\t}\n\t}, [addLocalStoreChange, autoScaling, cleanLocalStoreChange, scalingSettings]);\n\n\tconst increaseScalingByStep = useCallback(() => {\n\t\tsetScalingValue((prevState) =>\n\t\t\tprevState < SCALING_OPTIONS.length - 1 ? prevState + 1 : prevState\n\t\t);\n\t}, []);\n\n\tconst decreaseScalingByStep = useCallback(() => {\n\t\tsetScalingValue((prevState) => (prevState > 0 ? prevState - 1 : prevState));\n\t}, []);\n\n\tconst toggleAutoScaling = useCallback(() => {\n\t\tsetAutoScaling((prevState) => !prevState);\n\t\tsetScalingValue(savedOptionIndex);\n\t}, [savedOptionIndex]);\n\n\tconst onChangeScalingValue = useCallback<NonNullable<SliderProps['onChange']>>(\n\t\t(ev, newValueIndex) => {\n\t\t\tsetScalingValue(newValueIndex);\n\t\t},\n\t\t[]\n\t);\n\n\tuseImperativeHandle(ref, () => ({\n\t\treset: (): void => {\n\t\t\tsetScalingValue(savedOptionIndex);\n\t\t\tsetAutoScaling(scalingSettings['settings.appearance_setting.auto'] ?? true);\n\t\t}\n\t}));\n\n\tconst exampleText = useMemo(\n\t\t() =>\n\t\t\tt(\n\t\t\t\t'settings.appearance.labels.choose_size_pangram',\n\t\t\t\t'The quick brown fox jumps over the lazy dog.'\n\t\t\t),\n\t\t[t]\n\t);\n\n\tconst exampleFontSize = useMemo<number>(\n\t\t() =>\n\t\t\t// Revert the percentage and then apply the new value to use the browser base font-size and not the html font-size rule\n\t\t\t// Explanation:\n\t\t\t// - reverting factor (factor to apply to current font to obtain the browser font size) = unsaved input value / local storage value\n\t\t\t// - new font size percentage = reverting factor * 100\n\t\t\t// The resulting value is the percentage to apply to current html font-size to obtain the same calculated value\n\t\t\t// as if the scalingValue was set in the html.\n\t\t\t// E.g.: html: 75%, scalingValue: 100 -> 1 rem is 12px (because of the 75%). In the browser the base font is set to 16px.\n\t\t\t// To make scalingValue 100 equals to 16px, we need to get the reverting factor (100 / 75 = 1.3333).\n\t\t\t// This is the factor required to have 16 starting from 12 (12*1.3333 ~= 16)\n\t\t\t// The percentage to apply to the example container is then 1.3333 * 100 = 133.33 (133.33%(75) ~= 100 ~= 16px)\n\t\t\t((scalingOptionValues[Math.round(scalingValue)] || 100) /\n\t\t\t\tscalingOptionValues[savedOptionIndex]) *\n\t\t\t100,\n\t\t[savedOptionIndex, scalingOptionValues, scalingValue]\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\torientation={'vertical'}\n\t\t\tmainAlignment={'flex-start'}\n\t\t\tcrossAlignment={'flex-start'}\n\t\t\tgap={'1rem'}\n\t\t\theight={'fit'}\n\t\t\twidth={'fill'}\n\t\t>\n\t\t\t<Container\n\t\t\t\torientation={'vertical'}\n\t\t\t\tgap={'1rem'}\n\t\t\t\theight={'fit'}\n\t\t\t\twidth={'fit'}\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\tmaxWidth={'100%'}\n\t\t\t>\n\t\t\t\t<Text size=\"small\" overflow={'break-word'}>\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'settings.appearance.labels.choose_size_description',\n\t\t\t\t\t\t'Choose Type Size and Styles for Carbonio Environment'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t\t<ScalingSliderContainer\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\twidth=\"fill\"\n\t\t\t\t\theight=\"auto\"\n\t\t\t\t\tpadding={{ vertical: 'small', horizontal: 'large' }}\n\t\t\t\t\tgap={'0.5rem'}\n\t\t\t\t\tflexGrow={1}\n\t\t\t\t>\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tlabel={t('settings.appearance.labels.decrease', 'Decrease', {\n\t\t\t\t\t\t\tcontext: scalingValue === 0 ? 'disabled' : ''\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Container width=\"fit\" height=\"fit\" minWidth={'fit-content'}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={autoScaling || scalingValue === 0}\n\t\t\t\t\t\t\t\tlabel={t('settings.appearance.labels.a', 'A')}\n\t\t\t\t\t\t\t\ttype={'ghost'}\n\t\t\t\t\t\t\t\tsize={'extrasmall'}\n\t\t\t\t\t\t\t\tcolor={'text'}\n\t\t\t\t\t\t\t\tonClick={decreaseScalingByStep}\n\t\t\t\t\t\t\t\tminWidth={'fit-content'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t<Slider\n\t\t\t\t\t\tdisabled={autoScaling}\n\t\t\t\t\t\toptions={scalingOptionLabels}\n\t\t\t\t\t\tonChange={onChangeScalingValue}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tautoScaling && BASE_FONT_OPTION_INDEX >= 0 ? BASE_FONT_OPTION_INDEX : scalingValue\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tlabel={t('settings.appearance.labels.increase', 'Increase', {\n\t\t\t\t\t\t\tcontext: scalingValue === SCALING_OPTIONS.length - 1 ? 'disabled' : ''\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Container width=\"fit\" height=\"fit\" minWidth={'fit-content'}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={autoScaling || scalingValue === SCALING_OPTIONS.length - 1}\n\t\t\t\t\t\t\t\tlabel={t('settings.appearance.labels.a', 'A')}\n\t\t\t\t\t\t\t\ttype={'ghost'}\n\t\t\t\t\t\t\t\tsize={'extralarge'}\n\t\t\t\t\t\t\t\tonClick={increaseScalingByStep}\n\t\t\t\t\t\t\t\tcolor={'text'}\n\t\t\t\t\t\t\t\tminWidth={'fit-content'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</ScalingSliderContainer>\n\t\t\t\t<Checkbox\n\t\t\t\t\tvalue={autoScaling}\n\t\t\t\t\tonClick={toggleAutoScaling}\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.appearance.labels.choose_size_auto',\n\t\t\t\t\t\t'Automatically resize the text size depending on the device'\n\t\t\t\t\t)}\n\t\t\t\t\tsize={'small'}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<ExampleContainer\n\t\t\t\tbackground={'gray5'}\n\t\t\t\tpadding={'large'}\n\t\t\t\tgap={'0.5rem'}\n\t\t\t\torientation={'vertical'}\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\twidth={'fill'}\n\t\t\t\t$fontSize={exampleFontSize}\n\t\t\t>\n\t\t\t\t<ExampleText weight={'light'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t\t<ExampleText weight={'regular'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t\t<ExampleText weight={'bold'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t</ExampleContainer>\n\t\t</Container>\n\t);\n});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, FormSubSection, Quota, Text, Tooltip } from '@zextras/carbonio-design-system';\nimport React, { FC, useMemo } from 'react';\nimport { useUserSettings } from '../../../store/account/hooks';\nimport { useAccountStore } from '../../../store/account/store';\nimport { getT } from '../../../store/i18n';\nimport { quotaSubSection } from '../../general-settings-sub-sections';\n\ninterface UserQuotaProps {\n\tmobileView: boolean;\n}\n\nconst UserQuota: FC<UserQuotaProps> = ({ mobileView }) => {\n\tconst t = getT();\n\n\tconst settings = useUserSettings();\n\tconst used = useAccountStore((s) => s.usedQuota);\n\tconst quota = useMemo(() => {\n\t\tconst userQuota = Number(settings?.attrs?.zimbraMailQuota);\n\t\tif (used && userQuota && userQuota > 0) {\n\t\t\treturn Math.round((used / userQuota) * 100);\n\t\t}\n\t\treturn -1;\n\t}, [settings?.attrs?.zimbraMailQuota, used]);\n\n\tconst description = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase !quota || quota < 0:\n\t\t\t\treturn t('user_quota.unlimited', 'You have unlimited space available');\n\t\t\tcase quota === 100:\n\t\t\t\treturn t('user_quota.space_full', 'It seems that all available space is full');\n\t\t\tdefault:\n\t\t\t\treturn t('user_quota.limited', {\n\t\t\t\t\tdefaultValue: 'You have filled {{quota}}% of the available space',\n\t\t\t\t\tquota\n\t\t\t\t});\n\t\t}\n\t}, [quota, t]);\n\n\tconst fillBackground = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase quota >= 95:\n\t\t\t\treturn 'error';\n\t\t\tcase quota >= 90:\n\t\t\t\treturn 'warning';\n\t\t\tcase quota === -1:\n\t\t\t\treturn 'gray4';\n\t\t\tdefault:\n\t\t\t\treturn 'primary';\n\t\t}\n\t}, [quota]);\n\tconst sectionTitle = useMemo(() => quotaSubSection(t), [t]);\n\treturn mobileView ? (\n\t\t<Container width=\"fit\" padding={{ right: 'medium' }}>\n\t\t\t<Tooltip label={description} placement=\"bottom\">\n\t\t\t\t<Quota fill={quota > 0 ? quota : 0} fillBackground={fillBackground} />\n\t\t\t</Tooltip>\n\t\t</Container>\n\t) : (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container width=\"fill\" padding={{ vertical: 'medium' }}>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\t>\n\t\t\t\t\t<Text>{description}</Text>\n\t\t\t\t</Container>\n\t\t\t\t<Quota fill={quota === -1 ? 100 : quota} fillBackground={fillBackground} />\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default UserQuota;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tBreadcrumbs,\n\tButtonOld as Button,\n\tContainer,\n\tDivider,\n\tPadding,\n\tRow,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useEffect } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../../constants';\nimport { getT } from '../../store/i18n';\nimport { RouteLeavingGuard } from '../../ui-extras/nav-guard';\n\ntype SettingsHeaderProps = {\n\ttitle: string;\n\tonSave: () => void;\n\tonCancel: () => void;\n\tisDirty: boolean;\n};\n\nconst SettingsHeader: FC<SettingsHeaderProps> = ({ onSave, onCancel, isDirty, title }) => {\n\tconst t = getT();\n\tconst history = useHistory();\n\tconst useparam = useParams();\n\tconst crumbs = [\n\t\t{\n\t\t\tid: 'settings',\n\t\t\tlabel: t('settings.app', 'Settings'),\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t},\n\t\t{\n\t\t\tid: 'general',\n\t\t\tlabel: title,\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t}\n\t];\n\tconst search = history.location?.search;\n\tuseEffect(() => {\n\t\tif (search) {\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.querySelector(`#${history.location.search}`.replace('?section=', ''))\n\t\t\t\t\t\t?.scrollIntoView(),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t}, [history, history.location, history.location.search, search, useparam]);\n\treturn (\n\t\t<>\n\t\t\t<RouteLeavingGuard when={isDirty} onSave={onSave}>\n\t\t\t\t<Text>\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'label.unsaved_changes_line1',\n\t\t\t\t\t\t'Are you sure you want to leave this page without saving?'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t\t<Text>{t('label.unsaved_changes_line2', 'All your unsaved changes will be lost')}</Text>\n\t\t\t</RouteLeavingGuard>\n\t\t\t<Container\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-around\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\">\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Breadcrumbs crumbs={crumbs} />\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\tcrossAlignment=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={t('label.discard_changes', 'DISCARD CHANGES')}\n\t\t\t\t\t\t\t\tonClick={onCancel}\n\t\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.save', 'Save')}\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n};\n\nexport default SettingsHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Padding, Row, Text } from '@zextras/carbonio-design-system';\n\nconst Heading: FC<{ title: string }> = ({ title }) => (\n\t<>\n\t\t<Row padding={{ all: 'small' }} mainAlignment=\"baseline\" crossAlignment=\"baseline\" width=\"100%\">\n\t\t\t<Text size=\"large\" weight=\"bold\">\n\t\t\t\t{title}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Padding vertical=\"small\" />\n\t</>\n);\n\nexport default Heading;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport moment from 'moment';\nimport { TFunction } from 'react-i18next';\nimport { AccountSettings } from '../../../types';\nimport { BASE_FONT_SIZE, SCALING_LIMIT, SCALING_OPTIONS } from '../../constants';\n\nexport const ItemsSendAutoReplies = (t: TFunction): any => [\n\t{\n\t\tlabel: t('settings.out_of_office.send_auto_replies', 'Send auto-replies'),\n\t\tvalue: 'TRUE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.do_not_send_auto_replies', 'Do not send auto-replies'),\n\t\tvalue: 'FALSE'\n\t}\n];\n\nexport const ItemsExternalSenders = (t: TFunction): any => [\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_standard_auto_reply',\n\t\t\t'Send standard auto-reply message'\n\t\t),\n\t\tvalue: 'SEND_AUTO_REPLY'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization'\n\t\t),\n\t\tvalue: 'SHOW_EXTERNAL_INPUT'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_not_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization or address book'\n\t\t),\n\t\tvalue: 'SEND_NOT_IN_ORG'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.do_not_send_to_external',\n\t\t\t'Don’t send an auto-reply message to external sender'\n\t\t),\n\t\tvalue: 'SUPPRESS_EXTERNAL'\n\t}\n];\n\nexport const ItemsOutOfOfficeStatus = (t: TFunction): any => [\n\t{\n\t\tlabel: t('label.out_of_office', 'Out of Office'),\n\t\tvalue: 'OUTOFOFFICE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.status.busy', 'Busy'),\n\t\tvalue: 'BUSY'\n\t}\n];\n\nexport const getExternalSendersPrefsData = (\n\tsettings: AccountSettings,\n\tret: string,\n\tt: TFunction\n): { label: string; value: string } => {\n\tlet item;\n\tconst itemsExternalSenders = ItemsExternalSenders(t);\n\tif (\n\t\tsettings.prefs.zimbraPrefOutOfOfficeSuppressExternalReply === 'FALSE' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'FALSE'\n\t) {\n\t\titem = { ...itemsExternalSenders[0] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALL' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[1] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALLNOTINAB' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[2] };\n\t} else {\n\t\titem = { ...itemsExternalSenders[3] };\n\t}\n\n\treturn item;\n};\n\nexport const getOutOfOfficeStatusPrefsData = (\n\tsettings: AccountSettings,\n\tt: TFunction\n): { label: string; value: string; t: TFunction } => {\n\tlet item;\n\tconst itemsOutOfOfficeStatus = ItemsOutOfOfficeStatus(t);\n\tif (settings.prefs.zimbraPrefOutOfOfficeFreeBusyStatus === 'BUSY') {\n\t\titem = { ...itemsOutOfOfficeStatus[1] };\n\t} else {\n\t\titem = { ...itemsOutOfOfficeStatus[0] };\n\t}\n\n\treturn item;\n};\n\nexport const changeDateEvent = (date: string | Date): string =>\n\tmoment(moment(date, 'YYYYMMDDHHmmss[Z]').utc()).format('YYYYMMDDHHmmss[Z]');\n\nexport const getDateEvent = (date: string): Date =>\n\tnew Date(moment.utc(date, 'YYYYMMDDHHmmss[Z]').local().valueOf());\n\nexport const startOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().startOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport const endOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().endOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport type LocaleDescriptor = {\n\tid: string;\n\tname: string;\n\tlocalName: string;\n\tvalue: string;\n\tlabel: string;\n\tdateFnsLocale?: string;\n};\n\nexport const localeList = (t: TFunction): Array<LocaleDescriptor> => [\n\t{\n\t\tid: 'zh_CN',\n\t\tname: '中文 (中国)',\n\t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n\t\tlabel: t('locale.label_chinese', {\n\t\t\tvalue: '中文 (中国)',\n\t\t\tdefaultValue: 'Chinese (China) - {{value}}'\n\t\t}),\n\t\tvalue: 'zh_CN',\n\t\tdateFnsLocale: 'zh-CN'\n\t},\n\t{\n\t\tid: 'nl',\n\t\tname: 'Nederlands',\n\t\tlocalName: t('locale.dutch', 'Dutch'),\n\t\tlabel: t('locale.label_dutch', { value: 'Nederlands', defaultValue: 'Dutch - {{value}}' }),\n\t\tvalue: 'nl'\n\t},\n\t{\n\t\tid: 'en',\n\t\tname: 'English',\n\t\tlocalName: t('locale.English', 'English'),\n\t\tlabel: t('locale.label_english', { value: 'English', defaultValue: 'English - {{value}}' }),\n\t\tvalue: 'en',\n\t\tdateFnsLocale: 'en-US'\n\t},\n\t{\n\t\tid: 'de',\n\t\tname: 'Deutsch',\n\t\tlocalName: t('locale.german', 'German'),\n\t\tlabel: t('locale.label_german', { value: 'Deutsch', defaultValue: 'German - {{value}}' }),\n\t\tvalue: 'de'\n\t},\n\t{\n\t\tid: 'hi',\n\t\tname: 'हिंदी',\n\t\tlocalName: t('locale.hindi', 'Hindi'),\n\t\tlabel: t('locale.label_hindi', { value: 'हिंदी', defaultValue: 'Hindi - {{value}}' }),\n\t\tvalue: 'hi'\n\t},\n\t{\n\t\tid: 'it',\n\t\tname: 'italiano',\n\t\tlocalName: t('locale.italian', 'Italian'),\n\t\tlabel: t('locale.label_italian', { value: 'italiano', defaultValue: 'Italian - {{value}}' }),\n\t\tvalue: 'it'\n\t},\n\t{\n\t\tid: 'ja',\n\t\tname: '日本語',\n\t\tlocalName: t('locale.japanese', 'Japanese'),\n\t\tlabel: t('locale.label_japanese', { value: '日本語', defaultValue: 'Japanese - {{value}}' }),\n\t\tvalue: 'ja'\n\t},\n\n\t{\n\t\tid: 'pt',\n\t\tname: 'português',\n\t\tlocalName: t('locale.portuguese', 'Portuguese'),\n\t\tlabel: t('locale.label_portuguese', {\n\t\t\tvalue: 'português',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt'\n\t},\n\t{\n\t\tid: 'pl',\n\t\tname: 'polski',\n\t\tlocalName: t('locale.polish', 'Polish'),\n\t\tlabel: 'Polish - polski',\n\t\tvalue: 'pl'\n\t},\n\t{\n\t\tid: 'pt_BR',\n\t\tname: 'português (Brasil)',\n\t\tlocalName: t('locale.portuguese_brazil', 'Portuguese (Brazil)'),\n\t\tlabel: t('locale.label_portuguese_brazil', {\n\t\t\tvalue: 'português (Brasil)',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt_BR',\n\t\tdateFnsLocale: 'pt-BR'\n\t},\n\n\t{\n\t\tid: 'ro',\n\t\tname: 'română',\n\t\tlocalName: t('locale.romanian', 'Romanian'),\n\t\tlabel: t('locale.label_romanian', { value: 'română', defaultValue: 'Romanian - {{value}}' }),\n\t\tvalue: 'ro'\n\t},\n\t{\n\t\tid: 'ru',\n\t\tname: 'русский',\n\t\tlocalName: t('locale.russian', 'Russian'),\n\t\tlabel: t('locale.label_russian', { value: 'русский', defaultValue: 'Russian - {{value}}' }),\n\t\tvalue: 'ru'\n\t},\n\n\t{\n\t\tid: 'es',\n\t\tname: 'español',\n\t\tlocalName: t('locale.spanish', 'Spanish'),\n\t\tlabel: t('locale.label_spanish', { value: 'español', defaultValue: 'Spanish - {{value}}' }),\n\t\tvalue: 'es'\n\t},\n\n\t{\n\t\tid: 'th',\n\t\tname: 'ไทย',\n\t\tlocalName: t('locale.thai', 'Thai'),\n\t\tlabel: t('locale.label_thai', { value: 'ไทย', defaultValue: 'Thai - {{value}}' }),\n\t\tvalue: 'th'\n\t},\n\t{\n\t\tid: 'tr',\n\t\tname: 'Türkçe',\n\t\tlocalName: t('locale.turkish', 'Turkish'),\n\t\tlabel: t('locale.label_turkish', { value: 'Türkçe', defaultValue: 'Turkish - {{value}}' }),\n\t\tvalue: 'tr'\n\t},\n\t{\n\t\tid: 'fr',\n\t\tname: 'français',\n\t\tlocalName: t('locale.french', 'French'),\n\t\tlabel: t('locale.label_french', { value: 'français', defaultValue: 'French - {{value}}' }),\n\t\tvalue: 'fr'\n\t},\n\t{\n\t\tid: 'vi',\n\t\tname: 'Tiếng Việt',\n\t\tlocalName: t('locale.vietnamese', 'Vietnamese'),\n\t\tlabel: 'Vietnamese - Tiếng Việt',\n\t\tvalue: 'vi'\n\t}\n];\n// TODO: For future languages\n// export const localeList = (t: TFunction): any => [\n// \t{\n// \t\tid: 'ar',\n// \t\tname: 'العربية',\n// \t\tlocalName: t('locale.arabic', 'Arabic'),\n// \t\tlabel: t('locale.label_arabic', { value: 'لعربية', defaultValue: 'Arabic - {{value}}' }),\n// \t\tvalue: 'ar'\n// \t},\n// \t{\n// \t\tid: 'eu',\n// \t\tname: 'Euskara',\n// \t\tlocalName: t('locale.basque', 'Basque'),\n// \t\tlabel: t('locale.label_basque', { value: 'Euskara', defaultValue: 'Basque - {{value}}' }),\n// \t\tvalue: 'eu'\n// \t},\n// \t{\n// \t\tid: 'bg',\n// \t\tname: 'български',\n// \t\tlocalName: t('locale.bulgarian', 'Bulgarian'),\n// \t\tlabel: t('locale.label_bulgarian', {\n// \t\t\tvalue: 'български',\n// \t\t\tdefaultValue: 'Bulgarian - {{value}}'\n// \t\t}),\n// \t\tvalue: 'bg'\n// \t},\n// \t{\n// \t\tid: 'ca',\n// \t\tname: 'català',\n// \t\tlocalName: t('locale.catalan', 'Catalan'),\n// \t\tlabel: 'Catalan - català',\n// \t\tvalue: 'ca'\n// \t},\n// \t{\n// \t\tid: 'zh',\n// \t\tname: '中文',\n// \t\tlocalName: t('locale.chinese', 'Chinese'),\n// \t\tlabel: 'Chinese - 中文',\n// \t\tvalue: 'zh'\n// \t},\n// \t{\n// \t\tid: 'zh_CN',\n// \t\tname: '中文 (中国)',\n// \t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n// \t\tlabel: 'Chinese (China) - 中文 (中国)',\n// \t\tvalue: 'zh_CN'\n// \t},\n// \t{\n// \t\tid: 'zh_HK',\n// \t\tname: '中文 (香港)',\n// \t\tlocalName: t('locale.chinese_hong_kong', 'Chinese (Hong Kong SAR China)'),\n// \t\tlabel: 'Chinese (Hong Kong SAR China) - 中文 (香港)',\n// \t\tvalue: 'zh_HK'\n// \t},\n// \t{\n// \t\tid: 'zh_TW',\n// \t\tname: '中文 (台灣)',\n// \t\tlocalName: t('locale.chinese_taiwan', 'Chinese (Taiwan)'),\n// \t\tlabel: 'Chinese (Taiwan) - 中文 (台灣)',\n// \t\tvalue: 'zh_TW'\n// \t},\n// \t{\n// \t\tid: 'hr',\n// \t\tname: 'hrvatski',\n// \t\tlocalName: t('locale.croatian', 'Croatian'),\n// \t\tlabel: 'Croatian - hrvatski',\n// \t\tvalue: 'hr'\n// \t},\n// \t{\n// \t\tid: 'da',\n// \t\tname: 'Dansk',\n// \t\tlocalName: t('locale.danish', 'Danish'),\n// \t\tlabel: 'Danish - Dansk',\n// \t\tvalue: 'da'\n// \t},\n\n// \t{\n// \t\tid: 'en_AU',\n// \t\tname: 'English (Australia)',\n// \t\tlocalName: t('locale.english_australia', 'English (Australia)'),\n// \t\tlabel: 'English (Australia) - English (Australia)',\n// \t\tvalue: 'en_AU'\n// \t},\n// \t{\n// \t\tid: 'en_GB',\n// \t\tname: 'English (United Kingdom)',\n// \t\tlocalName: t('locale.english_united_kingdom', 'English (United Kingdom)'),\n// \t\tlabel: 'English (United Kingdom) - English (United Kingdom)',\n// \t\tvalue: 'en_GB'\n// \t},\n// \t{\n// \t\tid: 'en_US',\n// \t\tname: 'English (United States)',\n// \t\tlocalName: t('locale.english_united_states', 'English (United States)'),\n// \t\tlabel: 'English (United States) - English (United States)',\n// \t\tvalue: 'en_US'\n// \t},\n// \t{\n// \t\tid: 'fr',\n// \t\tname: 'français',\n// \t\tlocalName: t('locale.french', 'French'),\n// \t\tlabel: 'French - français',\n// \t\tvalue: 'fr'\n// \t},\n// \t{\n// \t\tid: 'fr_CA',\n// \t\tname: 'français (Canada)',\n// \t\tlocalName: t('locale.french_canada', 'French (Canada)'),\n// \t\tlabel: 'French (Canada) - français (Canada)',\n// \t\tvalue: 'fr_CA'\n// \t},\n// \t{\n// \t\tid: 'fr_FR',\n// \t\tname: 'français (France)',\n// \t\tlocalName: t('locale.french_france', 'French (France)'),\n// \t\tlabel: 'French (France) - français (France)',\n// \t\tvalue: 'fr_FR'\n// \t},\n\n// \t{\n// \t\tid: 'iw',\n// \t\tname: 'עברית',\n// \t\tlocalName: t('locale.hebrew', 'Hebrew'),\n// \t\tlabel: 'Hebrew - עברית',\n// \t\tvalue: 'iw'\n// \t},\n\n// \t{\n// \t\tid: 'hu',\n// \t\tname: 'magyar',\n// \t\tlocalName: t('locale.hungarian', 'Hungarian'),\n// \t\tlabel: 'Hungarian - magyar',\n// \t\tvalue: 'hu'\n// \t},\n// \t{\n// \t\tid: 'in',\n// \t\tname: 'Bahasa Indonesia',\n// \t\tlocalName: t('locale.indonesian', 'Indonesian'),\n// \t\tlabel: 'Indonesian - Bahasa Indonesia',\n// \t\tvalue: 'in'\n// \t},\n\n// \t{\n// \t\tid: 'ko',\n// \t\tname: '한국어',\n// \t\tlocalName: t('locale.korean', 'Korean'),\n// \t\tlabel: 'Korean - 한국어',\n// \t\tvalue: 'ko'\n// \t},\n// \t{\n// \t\tid: 'lo',\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tname: 'ພາສາລາວ',\n// \t\tlocalName: t('locale.lao', 'Lao'),\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tlabel: 'Lao - ພາສາລາວ',\n// \t\tvalue: 'lo'\n// \t},\n// \t{\n// \t\tid: 'ms',\n// \t\tname: 'Bahasa Melayu',\n// \t\tlocalName: t('locale.malay', 'Malay'),\n// \t\tlabel: 'Malay - Bahasa Melayu',\n// \t\tvalue: 'ms'\n// \t},\n// \t{\n// \t\tid: 'no',\n// \t\tname: 'norsk',\n// \t\tlocalName: t('locale.norwegian', 'Norwegian'),\n// \t\tlabel: 'Norwegian - norsk',\n// \t\tvalue: 'no'\n// \t},\n\n// \t{\n// \t\tid: 'pt_PT',\n// \t\tname: 'português (Portugal)',\n// \t\tlocalName: t('locale.potuguese_portugal', 'Portuguese (Portugal)'),\n// \t\tlabel: 'Portuguese (Portugal) - português (Portugal)',\n// \t\tvalue: 'pt_PT'\n// \t},\n\n// \t{\n// \t\tid: 'sl',\n// \t\tname: 'Slovenščina',\n// \t\tlocalName: t('locale.slovenian', 'Slovenian'),\n// \t\tlabel: 'Slovenian - Slovenščina',\n// \t\tvalue: 'sl'\n// \t},\n\n// \t{\n// \t\tid: 'sv',\n// \t\tname: 'svenska',\n// \t\tlocalName: t('locale.swedish', 'Swedish'),\n// \t\tlabel: 'Swedish - svenska',\n// \t\tvalue: 'sv'\n// \t},\n// \t{\n// \t\tid: 'ta',\n// \t\tname: 'தமிழ்',\n// \t\tlocalName: t('locale.tamil', 'Tamil'),\n// \t\tlabel: 'Tamil - தமிழ்',\n// \t\tvalue: 'ta'\n// \t},\n\n// \t{\n// \t\tid: 'uk',\n// \t\tname: 'українська',\n// \t\tlocalName: t('locale.ukrainian', 'Ukrainian'),\n// \t\tlabel: 'Ukrainian - українська',\n// \t\tvalue: 'uk'\n// \t},\n\n// ];\n\nexport type TimeZoneDescriptor = {\n\tvalue: string;\n\tlabel: string;\n\toffSet?: string;\n};\n\nexport const timeZoneList = (t: TFunction): Array<TimeZoneDescriptor> => [\n\t{\n\t\tvalue: 'Etc/GMT+12',\n\t\tlabel: t('timezone.etc_gmt+12', { value: 'GMT -12:00', defaultValue: '{{value}} Dateline' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Midway',\n\t\tlabel: t('timezone.pacific_midway', { value: 'GMT -11:00', defaultValue: '{{value}} Samoa' })\n\t},\n\t{\n\t\tvalue: 'America/Adak',\n\t\tlabel: t('timezone.america_adak', { value: 'GMT -10:00', defaultValue: '{{value}} Adak' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Honolulu',\n\t\tlabel: t('timezone.pacific_honolulu', { value: 'GMT -10:00', defaultValue: '{{value}} Hawaii' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Marquesas',\n\t\tlabel: t('timezone.pacific_marquesas', {\n\t\t\tvalue: 'GMT -09:30',\n\t\t\tdefaultValue: '{{value}} Marquesas'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Anchorage',\n\t\tlabel: t('timezone.america_anchorage', {\n\t\t\tvalue: 'GMT -09:00',\n\t\t\tdefaultValue: '{{value}} Alaska'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Los_Angeles',\n\t\tlabel: t('timezone.america_los_angeles', {\n\t\t\tvalue: 'GMT -08:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Pacific'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Tijuana',\n\t\tlabel: t('timezone.america_tijuana', {\n\t\t\tvalue: 'GMT -08:00',\n\t\t\tdefaultValue: '{{value}} Baja California'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Chihuahua',\n\t\tlabel: t('timezone.america_chihuahua', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Chihuahua, La Paz, Mazatlan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Denver',\n\t\tlabel: t('timezone.america_denver', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Mountain'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Fort_Nelson',\n\t\tlabel: t('timezone.america_fort_nelson', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Fort Nelson'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Phoenix',\n\t\tlabel: t('timezone.america_phoenix', { value: 'GMT -07:00', defaultValue: '{{value}} Arizona' })\n\t},\n\t{\n\t\tvalue: 'America/Whitehorse',\n\t\tlabel: t('timezone.america_whitehorse', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Yukon'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Chicago',\n\t\tlabel: t('timezone.america_chicago', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Central'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Guatemala',\n\t\tlabel: t('timezone.america_guatemala', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Central America'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Mexico_City',\n\t\tlabel: t('timezone.america_mexico_city', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Guadalajara, Mexico City, Monterrey'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Regina',\n\t\tlabel: t('timezone.america_regina', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Saskatchewan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Easter',\n\t\tlabel: t('timezone.pacific_easter', { value: 'GMT -06:00', defaultValue: '{{value}} Easter' })\n\t},\n\t{\n\t\tvalue: 'America/Bogota',\n\t\tlabel: t('timezone.america_bogota', { value: 'GMT -05:00', defaultValue: '{{value}} Colombia' })\n\t},\n\t{\n\t\tvalue: 'America/Cancun',\n\t\tlabel: t('timezone.america_cancun', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Cancun, Chetumal'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Grand_Turk',\n\t\tlabel: t('timezone.america_grand_turk', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Turks and Caicos Islands'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Havana',\n\t\tlabel: t('timezone.america_havana', { value: 'GMT -05:00', defaultValue: '{{value}} Havana' })\n\t},\n\t{\n\t\tvalue: 'America/Indiana/Indianapolis',\n\t\tlabel: t('timezone.america_indiana_indianapolis', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Indiana (East)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/New_York',\n\t\tlabel: t('timezone.america_new_york', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Eastern'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Port-au-Prince',\n\t\tlabel: t('timezone.america_port-au-prince', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Port-au-Prince'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Asuncion',\n\t\tlabel: t('timezone.america_asuncion', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Asuncion'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Caracas',\n\t\tlabel: t('timezone.america_caracas', { value: 'GMT -04:00', defaultValue: '{{value}} Caracas' })\n\t},\n\t{\n\t\tvalue: 'America/Cuiaba',\n\t\tlabel: t('timezone.america_cuiaba', { value: 'GMT -04:00', defaultValue: '{{value}} Cuiaba' })\n\t},\n\t{\n\t\tvalue: 'America/Guyana',\n\t\tlabel: t('timezone.america_guyana', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Georgetown, La Paz, Manaus, San Juan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Halifax',\n\t\tlabel: t('timezone.america_halifax', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Atlantic Time (Canada)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Santiago',\n\t\tlabel: t('timezone.america_santiago', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Pacific South America'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/St_Johns',\n\t\tlabel: t('timezone.america_st_johns', {\n\t\t\tvalue: 'GMT -03:30',\n\t\t\tdefaultValue: '{{value}} Newfoundland'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Araguaina',\n\t\tlabel: t('timezone.america_araguaina', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Araguaina'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Argentina/Buenos_Aires',\n\t\tlabel: t('timezone.america_argentina_buenos_aires', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Argentina'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Bahia',\n\t\tlabel: t('timezone.america_bahia', { value: 'GMT -03:00', defaultValue: '{{value}} Salvador' })\n\t},\n\t{\n\t\tvalue: 'America/Cayenne',\n\t\tlabel: t('timezone.america_cayenne', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Cayenne, Fortaleza'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Miquelon',\n\t\tlabel: t('timezone.america_miquelon', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Miquelon'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Montevideo',\n\t\tlabel: t('timezone.america_montevideo', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Montevideo'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Punta_Arenas',\n\t\tlabel: t('timezone.america_punta_arenas', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Punta_Arenas'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Sao_Paulo',\n\t\tlabel: t('timezone.america_sao_paulo', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Brasilia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Atlantic/South_Georgia',\n\t\tlabel: t('timezone.atlantic_south_georgia', {\n\t\t\tvalue: 'GMT -02:00',\n\t\t\tdefaultValue: '{{value}} Mid-Atlantic'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Atlantic/Azores',\n\t\tlabel: t('timezone.atlantic_azores', { value: 'GMT -01:00', defaultValue: '{{value}} Azores' })\n\t},\n\t{\n\t\tvalue: 'Atlantic/Cape_Verde',\n\t\tlabel: t('timezone.atlantic_cape_verde', {\n\t\t\tvalue: 'GMT -01:00',\n\t\t\tdefaultValue: '{{value}} Cape Verde Is.'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Monrovia',\n\t\tlabel: t('timezone.africa_monrovia', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Monrovia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Sao_Tome',\n\t\tlabel: t('timezone.africa_sao_tome', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Sao Tome'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/London',\n\t\tlabel: t('timezone.europe_london', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Britain, Ireland, Portugal'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'UTC',\n\t\tlabel: t('timezone.utc', {\n\t\t\tvalue: 'GMT/UTC',\n\t\t\tdefaultValue: '{{value}} Coordinated Universal Time'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Algiers',\n\t\tlabel: t('timezone.africa_algiers', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} West Central Africa'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Casablanca',\n\t\tlabel: t('timezone.africa_casablanca', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Casablanca'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Belgrade',\n\t\tlabel: t('timezone.europe_belgrade', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Belgrade, Bratislava, Budapest, Ljubljana, Prague'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Berlin',\n\t\tlabel: t('timezone.europe_berlin', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Brussels',\n\t\tlabel: t('timezone.europe_brussels', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Brussels, Copenhagen, Madrid, Paris'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Warsaw',\n\t\tlabel: t('timezone.europe_warsaw', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Sarajevo, Skopje, Warsaw, Zagreb'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Cairo',\n\t\tlabel: t('timezone.africa_cairo', { value: 'GMT +02:00', defaultValue: '{{value}} Egypt' })\n\t},\n\t{\n\t\tvalue: 'Africa/Harare',\n\t\tlabel: t('timezone.africa_harare', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Harare, Pretoria'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Juba',\n\t\tlabel: t('timezone.africa_juba', { value: 'GMT +02:00', defaultValue: '{{value}} Juba' })\n\t},\n\t{\n\t\tvalue: 'Africa/Khartoum',\n\t\tlabel: t('timezone.africa_khartoum', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Khartoum'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Tripoli',\n\t\tlabel: t('timezone.africa_tripoli', { value: 'GMT +02:00', defaultValue: '{{value}} Tripoli' })\n\t},\n\t{\n\t\tvalue: 'Africa/Windhoek',\n\t\tlabel: t('timezone.africa_windhoek', { value: 'GMT +02:00', defaultValue: '{{value}} Namibia' })\n\t},\n\t{\n\t\tvalue: 'Asia/Amman',\n\t\tlabel: t('timezone.asia_amman', { value: 'GMT +02:00', defaultValue: '{{value}} Jordan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Beirut',\n\t\tlabel: t('timezone.asia_beirut', { value: 'GMT +02:00', defaultValue: '{{value}} Beirut' })\n\t},\n\t{\n\t\tvalue: 'Asia/Damascus',\n\t\tlabel: t('timezone.asia_damascus', { value: 'GMT +02:00', defaultValue: '{{value}} Damascus' })\n\t},\n\t{\n\t\tvalue: 'Asia/Gaza',\n\t\tlabel: t('timezone.asia_gaza', { value: 'GMT +02:00', defaultValue: '{{value}} Gaza' })\n\t},\n\t{\n\t\tvalue: 'Asia/Jerusalem',\n\t\tlabel: t('timezone.asia_jerusalem', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Jerusalem'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Athens',\n\t\tlabel: t('timezone.europe_athens', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Athens, Beirut, Bucharest, Istanbul'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Bucharest',\n\t\tlabel: t('timezone.europe_bucharest', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Bucharest'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Chisinau',\n\t\tlabel: t('timezone.europe_chisinau', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Chisinau'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Helsinki',\n\t\tlabel: t('timezone.europe_helsinki', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Kaliningrad',\n\t\tlabel: t('timezone.europe_kaliningrad', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Kaliningrad (RTZ 1)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Nairobi',\n\t\tlabel: t('timezone.africa_nairobi', { value: 'GMT +03:00', defaultValue: '{{value}} Nairobi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Baghdad',\n\t\tlabel: t('timezone.asia_baghdad', { value: 'GMT +03:00', defaultValue: '{{value}} Iraq' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kuwait',\n\t\tlabel: t('timezone.asia_kuwait', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Kuwait, Riyadh'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Istanbul',\n\t\tlabel: t('timezone.europe_istanbul', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Istanbul'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Minsk',\n\t\tlabel: t('timezone.europe_minsk', { value: 'GMT +03:00', defaultValue: '{{value}} Minsk' })\n\t},\n\t{\n\t\tvalue: 'Europe/Moscow',\n\t\tlabel: t('timezone.europe_moscow', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Moscow, St. Petersburg, Volgograd (RTZ 2)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Volgograd',\n\t\tlabel: t('timezone.europe_volgograd', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Volgograd'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tehran',\n\t\tlabel: t('timezone.asia_tehran', { value: 'GMT +03:30', defaultValue: '{{value}} Tehran' })\n\t},\n\t{\n\t\tvalue: 'Asia/Baku',\n\t\tlabel: t('timezone.asia_baku', { value: 'GMT +04:00', defaultValue: '{{value}} Baku' })\n\t},\n\t{\n\t\tvalue: 'Asia/Muscat',\n\t\tlabel: t('timezone.asia_muscat', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Abu Dhabi, Muscat'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tbilisi',\n\t\tlabel: t('timezone.asia_tbilisi', { value: 'GMT +04:00', defaultValue: '{{value}} Tbilisi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yerevan',\n\t\tlabel: t('timezone.asia_yerevan', { value: 'GMT +04:00', defaultValue: '{{value}} Yerevan' })\n\t},\n\t{\n\t\tvalue: 'Europe/Astrakhan',\n\t\tlabel: t('timezone.europe_astrakhan', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Astrakhan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Samara',\n\t\tlabel: t('timezone.europe_samara', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Izhevsk, Samara (RTZ 3)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Saratov',\n\t\tlabel: t('timezone.europe_saratov', { value: 'GMT +04:00', defaultValue: '{{value}} Saratov' })\n\t},\n\t{\n\t\tvalue: 'Indian/Mauritius',\n\t\tlabel: t('timezone.indian_mauritius', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Port Louis'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kabul',\n\t\tlabel: t('timezone.asia_kabul', { value: 'GMT +04:30', defaultValue: '{{value}} Kabul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Karachi',\n\t\tlabel: t('timezone.asia_karachi', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Islamabad, Karachi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Qyzylorda',\n\t\tlabel: t('timezone.asia_qyzylorda', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Qyzylorda'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tashkent',\n\t\tlabel: t('timezone.asia_tashkent', { value: 'GMT +05:00', defaultValue: '{{value}} Tashkent' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yekaterinburg',\n\t\tlabel: t('timezone.asia_yekaterinburg', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Ekaterinburg (RTZ 4)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Colombo',\n\t\tlabel: t('timezone.asia_colombo', {\n\t\t\tvalue: 'GMT +05:30',\n\t\t\tdefaultValue: '{{value}} Sri Jayawardenepura Kotte'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kolkata',\n\t\tlabel: t('timezone.asia_kolkata', {\n\t\t\tvalue: 'GMT +05:30',\n\t\t\tdefaultValue: '{{value}} Chennai, Kolkata, Mumbai, New Delhi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kathmandu',\n\t\tlabel: t('timezone.asia_kathmandu', {\n\t\t\tvalue: 'GMT +05:45',\n\t\t\tdefaultValue: '{{value}} Kathmandu'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Almaty',\n\t\tlabel: t('timezone.asia_almaty', { value: 'GMT +06:00', defaultValue: '{{value}} Astana' })\n\t},\n\t{\n\t\tvalue: 'Asia/Dhaka',\n\t\tlabel: t('timezone.asia_dhaka', { value: 'GMT +06:00', defaultValue: '{{value}} Dhaka' })\n\t},\n\t{\n\t\tvalue: 'Asia/Omsk',\n\t\tlabel: t('timezone.asia_omsk', { value: 'GMT +06:00', defaultValue: '{{value}} Omsk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yangon',\n\t\tlabel: t('timezone.asia_yangon', { value: 'GMT +06:30', defaultValue: '{{value}} Yangon' })\n\t},\n\t{\n\t\tvalue: 'Asia/Bangkok',\n\t\tlabel: t('timezone.asia_bangkok', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Bangkok, Hanoi, Jakarta'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Barnaul',\n\t\tlabel: t('timezone.asia_barnaul', { value: 'GMT +07:00', defaultValue: '{{value}} Barnaul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Hovd',\n\t\tlabel: t('timezone.asia_hovd', { value: 'GMT +07:00', defaultValue: '{{value}} Hovd' })\n\t},\n\t{\n\t\tvalue: 'Asia/Krasnoyarsk',\n\t\tlabel: t('timezone.asia_krasnoyarsk', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Krasnoyarsk (RTZ 6)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Novosibirsk',\n\t\tlabel: t('timezone.asia_novosibirsk', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Novosibirsk (RTZ 5)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tomsk',\n\t\tlabel: t('timezone.asia_tomsk', { value: 'GMT +07:00', defaultValue: '{{value}} Tomsk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Hong_Kong',\n\t\tlabel: t('timezone.asia_hong_kong', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Beijing, Chongqing, Hong Kong, Urumqi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Irkutsk',\n\t\tlabel: t('timezone.asia_irkutsk', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Irkutsk (RTZ 7)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kuala_Lumpur',\n\t\tlabel: t('timezone.asia_kuala_lumpur', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Kuala Lumpur'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Singapore',\n\t\tlabel: t('timezone.asia_singapore', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Singapore'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Taipei',\n\t\tlabel: t('timezone.asia_taipei', { value: 'GMT +08:00', defaultValue: '{{value}} Taipei' })\n\t},\n\t{\n\t\tvalue: 'Asia/Ulaanbaatar',\n\t\tlabel: t('timezone.asia_ulaanbaatar', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Ulaanbaatar'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Perth',\n\t\tlabel: t('timezone.australia_perth', { value: 'GMT +08:00', defaultValue: '{{value}} Perth' })\n\t},\n\t{\n\t\tvalue: 'Australia/Eucla',\n\t\tlabel: t('timezone.australia_eucla', { value: 'GMT +08:45', defaultValue: '{{value}} Eucla' })\n\t},\n\t{\n\t\tvalue: 'Asia/Chita',\n\t\tlabel: t('timezone.asia_chita', { value: 'GMT +09:00', defaultValue: '{{value}} Chita' })\n\t},\n\t{\n\t\tvalue: 'Asia/Pyongyang',\n\t\tlabel: t('timezone.asia_pyongyang', {\n\t\t\tvalue: 'GMT +09:00',\n\t\t\tdefaultValue: '{{value}} Pyongyang'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Seoul',\n\t\tlabel: t('timezone.asia_seoul', { value: 'GMT +09:00', defaultValue: '{{value}} Korea' })\n\t},\n\t{\n\t\tvalue: 'Asia/Tokyo',\n\t\tlabel: t('timezone.asia_tokyo', { value: 'GMT +09:00', defaultValue: '{{value}} Japan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yakutsk',\n\t\tlabel: t('timezone.asia_yakutsk', {\n\t\t\tvalue: 'GMT +09:00',\n\t\t\tdefaultValue: '{{value}} Yakutsk (RTZ 8)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Adelaide',\n\t\tlabel: t('timezone.australia_adelaide', {\n\t\t\tvalue: 'GMT +09:30',\n\t\t\tdefaultValue: '{{value}} Adelaide'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Darwin',\n\t\tlabel: t('timezone.australia_darwin', { value: 'GMT +09:30', defaultValue: '{{value}} Darwin' })\n\t},\n\t{\n\t\tvalue: 'Asia/Vladivostok',\n\t\tlabel: t('timezone.asia_vladivostok', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Vladivostok, Magadan (RTZ 9)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Brisbane',\n\t\tlabel: t('timezone.australia_brisbane', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Brisbane'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Hobart',\n\t\tlabel: t('timezone.australia_hobart', { value: 'GMT +10:00', defaultValue: '{{value}} Hobart' })\n\t},\n\t{\n\t\tvalue: 'Australia/Sydney',\n\t\tlabel: t('timezone.australia_sydney', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Canberra, Melbourne, Sydney'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Guam',\n\t\tlabel: t('timezone.pacific_guam', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Guam, Port Moresby'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Lord_Howe',\n\t\tlabel: t('timezone.australia_lord_howe', {\n\t\t\tvalue: 'GMT +10:30',\n\t\t\tdefaultValue: '{{value}} Lord_Howe'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Magadan',\n\t\tlabel: t('timezone.asia_magadan', { value: 'GMT +11:00', defaultValue: '{{value}} Magadan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Sakhalin',\n\t\tlabel: t('timezone.asia_sakhalin', { value: 'GMT +11:00', defaultValue: '{{value}} Sakhalin' })\n\t},\n\t{\n\t\tvalue: 'Asia/Srednekolymsk',\n\t\tlabel: t('timezone.asia_srednekolymsk', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Chokurdakh (RTZ 10)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Bougainville',\n\t\tlabel: t('timezone.pacific_bougainville', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Bougainville Standard Time'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Guadalcanal',\n\t\tlabel: t('timezone.pacific_guadalcanal', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Solomon Is. / New Caledonia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Norfolk',\n\t\tlabel: t('timezone.pacific_norfolk', { value: 'GMT +11:00', defaultValue: '{{value}} Norfolk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kamchatka',\n\t\tlabel: t('timezone.asia_kamchatka', {\n\t\t\tvalue: 'GMT +12:00',\n\t\t\tdefaultValue: '{{value}} Anadyr, Petropavlovsk-Kamchatsky (RTZ 11)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Auckland',\n\t\tlabel: t('timezone.pacific_auckland', {\n\t\t\tvalue: 'GMT +12:00',\n\t\t\tdefaultValue: '{{value}} New Zealand'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Fiji',\n\t\tlabel: t('timezone.pacific_fiji', { value: 'GMT +12:00', defaultValue: '{{value}} Fiji' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Chatham',\n\t\tlabel: t('timezone.pacific_chatham', { value: 'GMT +12:45', defaultValue: '{{value}} Chatham' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Apia',\n\t\tlabel: t('timezone.pacific_apia', { value: 'GMT +13:00', defaultValue: '{{value}} Samoa' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Tongatapu',\n\t\tlabel: t('timezone.pacific_tongatapu', {\n\t\t\tvalue: 'GMT +13:00',\n\t\t\tdefaultValue: '{{value}} Nuku’alofa'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Kiritimati',\n\t\tlabel: t('timezone.pacific_kiritimati', {\n\t\t\tvalue: 'GMT +14:00',\n\t\t\tdefaultValue: '{{value}} Kiritimati Island'\n\t\t})\n\t}\n];\n\nexport const getAutoScalingFontSize = (): number => {\n\tif (\n\t\twindow.screen.width <= SCALING_LIMIT.WIDTH &&\n\t\twindow.screen.height <= SCALING_LIMIT.HEIGHT &&\n\t\twindow.devicePixelRatio >= SCALING_LIMIT.DPR\n\t) {\n\t\tconst baseFontIndex = SCALING_OPTIONS.findIndex((option) => option.value === BASE_FONT_SIZE);\n\t\tif (baseFontIndex > 0) {\n\t\t\treturn SCALING_OPTIONS[baseFontIndex - 1].value;\n\t\t}\n\t}\n\treturn BASE_FONT_SIZE;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { TFunction } from 'react-i18next';\nimport { SettingsSubSection } from '../../types';\n\nexport const appearanceSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.appearance', 'Appearance'),\n\tid: 'appearance'\n});\nexport const timezoneAndLanguageSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.timezone_and_language', 'Time Zone and Language'),\n\tid: 'timezone_and_language'\n});\nexport const outOfOfficeSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.out_of_office.headings.settings_label', 'Out of Office Settings'),\n\tid: 'out_of_office'\n});\nexport const searchPrefsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('search.app', 'Search'),\n\tid: 'search_prefs'\n});\nexport const versionsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('module.app.version', 'Application versions'),\n\tid: 'app_version'\n});\nexport const quotaSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('user_quota.title', \"User's quota\"),\n\tid: 'user_quota'\n});\nexport const accountSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.account', 'Account'),\n\tid: 'account'\n});\n\nexport const settingsSubSections = (t: TFunction): Array<SettingsSubSection> => [\n\tappearanceSubSection(t),\n\ttimezoneAndLanguageSubSection(t),\n\toutOfOfficeSubSection(t),\n\tsearchPrefsSubSection(t),\n\tversionsSubSection(t),\n\tquotaSubSection(t),\n\taccountSubSection(t)\n];\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { includes, isEmpty, size } from 'lodash';\nimport React, { FC, useCallback, useMemo, useRef, useState } from 'react';\nimport { AddMod, Mods, RemoveMod } from '../../types';\nimport { editSettings } from '../network/edit-settings';\nimport { useUserSettings } from '../store/account';\nimport { getT } from '../store/i18n';\nimport AppearanceSettings from './components/general-settings/appearance-settings';\nimport Logout from './components/general-settings/logout';\nimport ModuleVersionSettings from './components/general-settings/module-version-settings';\nimport OutOfOfficeSettings from './components/general-settings/out-of-office-view';\nimport UserQuota from './components/general-settings/user-quota';\nimport SettingsHeader from './components/settings-header';\nimport LanguageAndTimeZoneSettings from './language-and-timezone-settings';\nimport SearchSettingsView from './search-settings-view';\nimport { useLocalStorage } from '../shell/hooks';\nimport {\n\tScalingSettingSection,\n\tScalingSettingSectionRef\n} from './components/general-settings/scaling-setting-section';\nimport DarkThemeSettingSection from './components/general-settings/dark-theme-settings-section';\nimport { LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { ScalingSettings } from '../../types/settings';\n\nconst GeneralSettings: FC = () => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst t = getT();\n\tconst userSettings = useUserSettings();\n\tconst [localStorageUnAppliedChanges, setLocalStorageUnAppliedChanges] = useState<ScalingSettings>(\n\t\t{}\n\t);\n\tconst [localStorageSettings, setLocalStorageSettings] = useLocalStorage<ScalingSettings>(\n\t\tLOCAL_STORAGE_SETTINGS_KEY,\n\t\t{}\n\t);\n\tconst [open, setOpen] = useState(false);\n\n\tconst addLocalStoreChange = useCallback((key, value) => {\n\t\tsetLocalStorageUnAppliedChanges((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[key]: value\n\t\t}));\n\t}, []);\n\n\tconst cleanLocalStoreChange = useCallback<(key: keyof ScalingSettings) => void>((key) => {\n\t\tsetLocalStorageUnAppliedChanges((prevState) => {\n\t\t\tconst nextState = { ...prevState };\n\t\t\tdelete nextState[key];\n\t\t\treturn nextState;\n\t\t});\n\t}, []);\n\n\tconst addMod = useCallback<AddMod>((type, key, value) => {\n\t\tsetMods((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[type]: {\n\t\t\t\t...prevState?.[type],\n\t\t\t\t[key]: value\n\t\t\t}\n\t\t}));\n\t}, []);\n\n\tconst removeMod = useCallback<RemoveMod>((type, key) => {\n\t\tsetMods((prevState) => {\n\t\t\tconst prevType = prevState[type];\n\t\t\tif (prevType && prevType[key] !== undefined) {\n\t\t\t\tconst nextState = { ...prevState, [type]: { ...prevState[type] } };\n\t\t\t\tconst nextType = nextState[type];\n\t\t\t\tif (nextType && nextType[key] !== undefined) {\n\t\t\t\t\tdelete nextType[key];\n\t\t\t\t}\n\t\t\t\tif (size(nextState[type]) === 0) {\n\t\t\t\t\tdelete nextState[type];\n\t\t\t\t}\n\t\t\t\treturn nextState;\n\t\t\t}\n\t\t\treturn prevState;\n\t\t});\n\t}, []);\n\tconst createSnackbar = useSnackbar();\n\n\tconst onSave = useCallback(() => {\n\t\tsetLocalStorageUnAppliedChanges((unAppliedPrevState) => {\n\t\t\tif (size(unAppliedPrevState) > 0) {\n\t\t\t\tsetLocalStorageSettings((localStorageSettingsPrevState) => ({\n\t\t\t\t\t...localStorageSettingsPrevState,\n\t\t\t\t\t...unAppliedPrevState\n\t\t\t\t}));\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\treturn unAppliedPrevState;\n\t\t});\n\t\tif (size(mods) > 0) {\n\t\t\teditSettings(mods)\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (mods.prefs && includes(Object.keys(mods.prefs), 'zimbraPrefLocale')) {\n\t\t\t\t\t\tsetOpen(true);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\tkey: `new`,\n\t\t\t\t\t\treplace: true,\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\thideButton: true\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\tkey: `new`,\n\t\t\t\t\t\treplace: true,\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\thideButton: true\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\tsetMods({});\n\t\t}\n\t}, [mods, setLocalStorageSettings, createSnackbar, t]);\n\n\tconst scalingSettingSectionRef = useRef<ScalingSettingSectionRef>(null);\n\n\tconst onCancel = useCallback(() => {\n\t\tsetMods({});\n\t\tif (size(localStorageUnAppliedChanges) > 0) {\n\t\t\tscalingSettingSectionRef.current?.reset();\n\t\t}\n\t}, [localStorageUnAppliedChanges]);\n\n\tconst isDirty = useMemo(\n\t\t() => !isEmpty(mods) || !isEmpty(localStorageUnAppliedChanges),\n\t\t[mods, localStorageUnAppliedChanges]\n\t);\n\n\tconst title = useMemo(() => t('settings.general.general', 'General Settings'), [t]);\n\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader title={title} onCancel={onCancel} onSave={onSave} isDirty={isDirty} />\n\t\t\t<Container\n\t\t\t\tbackground={'gray5'}\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\tgap=\"0.5rem\"\n\t\t\t\tpadding={{ all: 'medium' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AppearanceSettings>\n\t\t\t\t\t<ScalingSettingSection\n\t\t\t\t\t\tref={scalingSettingSectionRef}\n\t\t\t\t\t\tscalingSettings={localStorageSettings}\n\t\t\t\t\t\taddLocalStoreChange={addLocalStoreChange}\n\t\t\t\t\t\tcleanLocalStoreChange={cleanLocalStoreChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<DarkThemeSettingSection addMod={addMod} removeMod={removeMod} />\n\t\t\t\t</AppearanceSettings>\n\t\t\t\t<LanguageAndTimeZoneSettings\n\t\t\t\t\tsettings={userSettings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\topen={open}\n\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t/>\n\n\t\t\t\t<OutOfOfficeSettings settings={userSettings} addMod={addMod} />\n\t\t\t\t<SearchSettingsView settings={userSettings} addMod={addMod} />\n\t\t\t\t<ModuleVersionSettings />\n\t\t\t\t<UserQuota mobileView={false} />\n\t\t\t\t<Logout />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default GeneralSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tFormSubSection,\n\tModal,\n\tPadding,\n\tSelect,\n\tSingleSelectionOnChange,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\n\nimport { find } from 'lodash';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../types';\nimport { getT } from '../store/i18n';\nimport { localeList, timeZoneList } from './components/utils';\nimport { timezoneAndLanguageSubSection } from './general-settings-sub-sections';\n\nmomentLocalizer();\n\nconst LanguageAndTimeZone: FC<{\n\tsettings: AccountSettings;\n\topen: boolean;\n\tsetOpen: (arg: boolean) => void;\n\taddMod: AddMod;\n}> = ({ settings, addMod, open, setOpen }) => {\n\tconst t = getT();\n\tconst locales = useMemo(() => localeList(t), [t]);\n\tconst timezones = useMemo(() => timeZoneList(t), [t]);\n\tconst sectionTitle = useMemo(() => timezoneAndLanguageSubSection(t), [t]);\n\n\tconst updatePrefs = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst defaultLocale = useMemo(\n\t\t() =>\n\t\t\t(settings.prefs.zimbraPrefLocale &&\n\t\t\t\tfind(locales, { id: `${settings.prefs.zimbraPrefLocale}` })) ||\n\t\t\tfind(locales, { id: 'en' }),\n\t\t[locales, settings.prefs.zimbraPrefLocale]\n\t);\n\n\tconst onLocaleChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefLocale)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefLocale');\n\t\t},\n\t\t[settings.prefs.zimbraPrefLocale, updatePrefs]\n\t);\n\n\tconst defaultTimeZone = useMemo(\n\t\t() =>\n\t\t\t(settings.prefs.zimbraPrefTimeZoneId &&\n\t\t\t\tfind(timezones, { value: `${settings.prefs.zimbraPrefTimeZoneId}` })) ||\n\t\t\tfind(timezones, { value: 'UTC' }),\n\t\t[timezones, settings.prefs.zimbraPrefTimeZoneId]\n\t);\n\n\tconst onTimeZoneChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefTimeZoneId)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefTimeZoneId');\n\t\t},\n\t\t[settings.prefs.zimbraPrefTimeZoneId, updatePrefs]\n\t);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t{Object.keys(settings.prefs).length > 0 && (\n\t\t\t\t\t<Select\n\t\t\t\t\t\titems={locales}\n\t\t\t\t\t\tbackground={'gray5'}\n\t\t\t\t\t\tlabel={t('label.language', 'Language')}\n\t\t\t\t\t\tonChange={onLocaleChange}\n\t\t\t\t\t\tdefaultSelection={defaultLocale}\n\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\tdropdownMaxHeight=\"12.5rem\"\n\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t{Object.keys(settings.prefs).length > 0 && timezones && defaultTimeZone && (\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\titems={timezones}\n\t\t\t\t\t\t\tbackground={'gray5'}\n\t\t\t\t\t\t\tlabel={t('label.time_zone', 'Time Zone')}\n\t\t\t\t\t\t\tonChange={onTimeZoneChange}\n\t\t\t\t\t\t\tselection={defaultTimeZone}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tdropdownMaxHeight=\"12.5rem\"\n\t\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Padding>\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={t('label.reload', 'Reload')}\n\t\t\t\t\topen={open}\n\t\t\t\t\tdismissLabel={t('label.no', 'No')}\n\t\t\t\t\tonConfirm={(): void => window.location.reload()}\n\t\t\t\t\tconfirmLabel={t('label.reload', 'Reload')}\n\t\t\t\t\tonClose={(): void => setOpen(false)}\n\t\t\t\t>\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'message.reload',\n\t\t\t\t\t\t\t`\tWould you like to reload the application now to show the new language?\n\t\t\t\t\t\t\t(Otherwise, the new language will appear the next time you sign in.)`\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Modal>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default LanguageAndTimeZone;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Checkbox, Container, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { AccountSettings, AddMod, PrefsMods } from '../../types';\nimport { getT } from '../store/i18n';\nimport { searchPrefsSubSection } from './general-settings-sub-sections';\n\nconst SearchSettingsView: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}> = ({ settings, addMod }) => {\n\tconst t = getT();\n\tconst [searchInSpamFolder, setSearchInSpamFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE'\n\t);\n\tconst [searchInTrashFolder, setSearchInTrashFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE'\n\t);\n\tconst [searchInSharedFolder, setSearchInSharedFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE'\n\t);\n\tconst setMode = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tsetSearchInSpamFolder(settings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSpamInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInTrashFolder(settings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeTrashInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInSharedFolder(settings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSharedItemsInSearch]);\n\n\tconst onClickSpam = useCallback(() => {\n\t\tsetSearchInSpamFolder(!searchInSpamFolder);\n\t\tsetMode(!searchInSpamFolder, 'zimbraPrefIncludeSpamInSearch');\n\t}, [searchInSpamFolder, setMode]);\n\tconst onClickTrash = useCallback(() => {\n\t\tsetSearchInTrashFolder(!searchInTrashFolder);\n\t\tsetMode(!searchInTrashFolder, 'zimbraPrefIncludeTrashInSearch');\n\t}, [searchInTrashFolder, setMode]);\n\tconst onClickShared = useCallback(() => {\n\t\tsetSearchInSharedFolder(!searchInSharedFolder);\n\t\tsetMode(!searchInSharedFolder, 'zimbraPrefIncludeSharedItemsInSearch');\n\t}, [searchInSharedFolder, setMode]);\n\tconst sectionTitle = useMemo(() => searchPrefsSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_spam_folder',\n\t\t\t\t\t\t'Include Spam Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSpamFolder}\n\t\t\t\t\tonClick={onClickSpam}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_trash_folder',\n\t\t\t\t\t\t'Include Trash Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInTrashFolder}\n\t\t\t\t\tonClick={onClickTrash}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_shared_folder',\n\t\t\t\t\t\t'Include Shared Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSharedFolder}\n\t\t\t\t\tonClick={onClickShared}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default SearchSettingsView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { map } from 'lodash';\nimport { SETTINGS_APP_ID } from '../constants';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsAppView: FC = () => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(settingsViews, (view) => (\n\t\t\t\t<Route key={view.route} exact path={`/${SETTINGS_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[settingsViews]\n\t);\n\treturn (\n\t\t<Switch>\n\t\t\t{routes}\n\t\t\t<Redirect from={`/${SETTINGS_APP_ID}`} exact strict to={`/${SETTINGS_APP_ID}/general`} />\n\t\t</Switch>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Accordion, IconButton, Tooltip } from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { FC, useMemo } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsSidebar: FC<{ expanded: boolean }> = ({ expanded }) => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst items = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((view) => ({\n\t\t\t\tid: view.route,\n\t\t\t\tlabel: view.label,\n\t\t\t\ticon: view.icon,\n\t\t\t\tactive: location.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tdisableHover:\n\t\t\t\t\tlocation.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tonClick: (e: KeyboardEvent | React.SyntheticEvent): void => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\thistory.push(`/${SETTINGS_APP_ID}/${view.route}`);\n\t\t\t\t},\n\t\t\t\titems: map(view.subSections, (item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tactive: location.search === `?section=${item.id}`,\n\t\t\t\t\tdisableHover: location.search === `?section=${item.id}`,\n\t\t\t\t\tonClick: (e: KeyboardEvent | React.SyntheticEvent): void => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\thistory.replace(`/${SETTINGS_APP_ID}/${view.route}?section=${item.id}`);\n\t\t\t\t\t}\n\t\t\t\t}))\n\t\t\t})),\n\t\t[history, location.pathname, location.search, settingsViews]\n\t);\n\tconst collapsedItems = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((v) => (\n\t\t\t\t<Tooltip label={v.label} placement=\"right\" key={v.id}>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticon={v.icon}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${SETTINGS_APP_ID}/${v.route}`)}\n\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t)),\n\t\t[history, settingsViews]\n\t);\n\treturn expanded ? <Accordion items={items} /> : <>{collapsedItems}</>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Redirect, Route, Switch, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { map, find } from 'lodash';\nimport { Container } from '@zextras/carbonio-design-system';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useAppList, useAppStore, useRoutes } from '../store/app';\n\nconst _BoardsRouterContainer = styled(Container)`\n\tflex-grow: 1;\n\tflex-basis: 0;\n\tmin-width: 0.0625rem;\n\tmax-height: calc(100vh - 3.75rem);\n\toverflow-y: auto;\n`;\n\nconst FirstAppRedirect: FC = () => {\n\tconst apps = useAppList();\n\tconst routes = useRoutes();\n\tconst location = useLocation();\n\tconst mainRoute = useMemo(\n\t\t() => find(routes, (r) => apps[0]?.name === r.app)?.route,\n\t\t[apps, routes]\n\t);\n\treturn mainRoute && location?.pathname === '/' ? (\n\t\t<Redirect exact strict from=\"/\" to={`/${mainRoute}`} />\n\t) : null;\n};\n\nconst AppViewContainer: FC = () => {\n\tconst appViews = useAppStore((s) => s.views.appView);\n\tconst routes = useMemo(\n\t\t() => [\n\t\t\t...map(appViews, (view) => (\n\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t<AppContextProvider key={view.app} pkg={view.app}>\n\t\t\t\t\t\t<view.component />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t))\n\t\t],\n\t\t[appViews]\n\t);\n\n\treturn (\n\t\t<_BoardsRouterContainer>\n\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t<Switch>{routes}</Switch>\n\t\t\t\t<FirstAppRedirect />\n\t\t\t</Container>\n\t\t</_BoardsRouterContainer>\n\t);\n};\n\nexport default AppViewContainer;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, forwardRef } from 'react';\nimport { Container, ContainerProps, Text } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport { BadgeInfo } from '../../types';\n\nconst MiniBadge = styled(Container)<{ badge: BadgeInfo }>`\n\tposition: absolute;\n\tbottom: 25%;\n\tright: 25%;\n\ttransform: translate(30%, 30%);\n\tbackground: ${({ badge, theme }): string => theme.palette[badge?.color ?? 'primary'].regular};\n\tmin-width: 0.75rem;\n\tmin-height: 0.75rem;\n\tline-height: 0.75rem;\n\tborder-radius: 0.5rem;\n\tuser-select: none;\n\tcursor: pointer;\n\tpointer-events: none;\n\tz-index: 99;\n`;\n\n// eslint-disable-next-line react/display-name\nconst BadgeWrap: FC<{ badge: BadgeInfo }> = forwardRef<HTMLDivElement, { badge: BadgeInfo }>(\n\t({ badge, children }, ref) => (\n\t\t<Container width={'3rem'} height={'3rem'} style={{ position: 'relative' }} ref={ref}>\n\t\t\t{badge.show && (\n\t\t\t\t<MiniBadge badge={badge} height=\"fit\" width=\"fit\">\n\t\t\t\t\t{badge.showCount ? (\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"extrasmall\"\n\t\t\t\t\t\t\tstyle={{ padding: '0.125rem 0.25rem', fontSize: '0.625rem' }}\n\t\t\t\t\t\t\tcolor=\"gray6\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{badge.count ?? 0}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : null}\n\t\t\t\t</MiniBadge>\n\t\t\t)}\n\t\t\t{children}\n\t\t</Container>\n\t)\n);\n\nexport default BadgeWrap;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tDivider,\n\tIconButton,\n\tPadding,\n\tRow,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { isEmpty, map } from 'lodash';\nimport React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n\tcloseAllBoards,\n\texpandBoards,\n\tminimizeBoards,\n\tonGoToPanel,\n\treduceBoards,\n\tuseBoardStore\n} from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoard } from './board';\nimport { TabsList } from './board-tab-list';\n\nconst BoardContainerComp = styled.div<{ expanded: boolean; minimized: boolean }>`\n\tposition: fixed;\n\ttop: 3.75rem;\n\tbottom: 0;\n\tleft: 3rem;\n\tright: 0;\n\tbackground-color: rgba(0, 0, 0, 0);\n\tpointer-events: none;\n\tz-index: 10;\n\t${({ expanded }): any =>\n\t\texpanded &&\n\t\tcss`\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tpointer-events: auto;\n\t\t`}\n\t${({ minimized }): any =>\n\t\tminimized &&\n\t\tcss`\n\t\t\tdisplay: none;\n\t\t`}\n`;\nconst Board = styled(Container)<{ expanded: boolean }>`\n\tz-index: 5;\n\tposition: absolute;\n\tleft: 1.5rem;\n\tbottom: 0;\n\twidth: 700px;\n\theight: 70vh;\n\tmin-height: 400px;\n\tbox-shadow: 0 0.125rem 0.3125rem 0 rgba(125, 125, 125, 0.5);\n\tpointer-events: auto;\n\t${({ expanded }): any =>\n\t\texpanded &&\n\t\tcss`\n\t\t\theight: calc(100% - 1.5rem);\n\t\t\twidth: calc(100% - 1.5rem * 2);\n\t\t\tmin-height: auto;\n\t\t`}\n`;\nconst BoardHeader = styled(Row)``;\nconst BoardDetailContainer = styled(Row)`\n\tmin-height: 0;\n`;\nconst BackButton = styled(IconButton)``;\nconst Actions = styled(Row)``;\n\nexport const BoardContainer: FC = () => {\n\tconst t = getT();\n\tconst { boards, minimized, expanded, current } = useBoardStore();\n\tif (isEmpty(boards) || !current) return null;\n\treturn (\n\t\t<BoardContainerComp expanded={expanded} minimized={minimized}>\n\t\t\t<Board\n\t\t\t\tdata-testid=\"NewItemContainer\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tcrossAlignment=\"unset\"\n\t\t\t\texpanded={expanded}\n\t\t\t>\n\t\t\t\t<BoardHeader background=\"gray5\">\n\t\t\t\t\t<Padding all=\"extrasmall\">\n\t\t\t\t\t\t<Tooltip label={t('board.hide', 'Hide board')} placement=\"top\">\n\t\t\t\t\t\t\t<BackButton icon=\"BoardCollapseOutline\" onClick={minimizeBoards} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<TabsList />\n\t\t\t\t\t<Actions padding={{ all: 'extrasmall' }}>\n\t\t\t\t\t\t{boards[current]?.context?.onReturnToApp && (\n\t\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t\t<Tooltip label={t('board.open_app', 'Open in app')} placement=\"top\">\n\t\t\t\t\t\t\t\t\t<IconButton icon={'DiagonalArrowRightUp'} onClick={onGoToPanel} />\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\texpanded ? t('board.reduce', 'Reduce board') : t('board.enlarge', 'Enlarge board')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\ticon={expanded ? 'CollapseOutline' : 'ExpandOutline'}\n\t\t\t\t\t\t\t\t\tonClick={expanded ? reduceBoards : expandBoards}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Tooltip label={t('board.close_tabs', 'Close all your tabs')} placement=\"top\">\n\t\t\t\t\t\t\t<IconButton icon=\"CloseOutline\" onClick={closeAllBoards} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Actions>\n\t\t\t\t</BoardHeader>\n\t\t\t\t<Divider style={{ height: '0.125rem' }} />\n\t\t\t\t<BoardDetailContainer takeAvailableSpace>\n\t\t\t\t\t{map(boards, (b) => (\n\t\t\t\t\t\t<AppBoard key={b.id} board={b} />\n\t\t\t\t\t))}\n\t\t\t\t</BoardDetailContainer>\n\t\t\t</Board>\n\t\t</BoardContainerComp>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tButton,\n\tContainer,\n\tDropdown,\n\tRow,\n\tTooltip,\n\tuseHiddenCount\n} from '@zextras/carbonio-design-system';\nimport { map, noop, slice } from 'lodash';\nimport React, { FC, useLayoutEffect, useRef } from 'react';\nimport { setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoardTab } from './board-tab';\n\nexport const TabsList: FC = () => {\n\tconst t = getT();\n\tconst { boards, current, expanded } = useBoardStore();\n\tconst tabContainerRef = useRef(null);\n\tconst [hiddenTabsCount, recalculateHiddenTabs] = useHiddenCount(tabContainerRef, expanded);\n\n\tuseLayoutEffect(() => {\n\t\trecalculateHiddenTabs();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [boards, expanded, tabContainerRef.current]);\n\n\treturn (\n\t\t<Row wrap=\"nowrap\" height=\"100%\" mainAlignment=\"flex-start\" takeAvailableSpace>\n\t\t\t<Row\n\t\t\t\tref={tabContainerRef}\n\t\t\t\theight=\"3rem\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\twidth=\"calc(100% - 0.5rem)\"\n\t\t\t>\n\t\t\t\t{boards &&\n\t\t\t\t\tmap(boards, (tab) => (\n\t\t\t\t\t\t<AppBoardTab key={tab.id} id={tab.id} title={tab.title} icon={tab.icon} />\n\t\t\t\t\t))}\n\t\t\t</Row>\n\t\t\t{hiddenTabsCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Container width=\"fit\" padding={{ horizontal: 'extrasmall', vertical: 'extrasmall' }}>\n\t\t\t\t\t\t<Container width=\"0.0625rem\" height=\"fill\" background=\"gray3\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Tooltip label={t('board.show_tabs', 'Show other tabs')} placement=\"top\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\twidth=\"fit\"\n\t\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\t\titems={map(slice(Object.values(boards), -hiddenTabsCount), (tab) => ({\n\t\t\t\t\t\t\t\tid: tab.id,\n\t\t\t\t\t\t\t\tlabel: tab.title,\n\t\t\t\t\t\t\t\ticon: tab.icon,\n\t\t\t\t\t\t\t\tclick: () => setCurrentBoard(tab.id),\n\t\t\t\t\t\t\t\tselected: tab.id === current\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button type=\"ghost\" color=\"secondary\" label={`+${hiddenTabsCount}`} onClick={noop} />\n\t\t\t\t\t\t</Dropdown>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</Row>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tIcon,\n\tIconButton,\n\tPadding,\n\tRow,\n\tRowProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback } from 'react';\nimport styled from 'styled-components';\nimport { closeBoard, setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\n\nconst TabContainer = styled(Row)<RowProps & { active: boolean }>`\n\tcursor: pointer;\n\theight: 1.75rem;\n\twidth: fit-content;\n\tuser-select: none;\n\tbackground-color: ${({ theme, active }): string =>\n\t\tactive ? theme.palette.gray3.regular : theme.palette.gray5.regular};\n\tborder-radius: 0.125rem;\n\tpadding: 0.125rem 0.25rem;\n`;\n\nconst VerticalDivider = styled(Container)`\n\twidth: 0.0625rem;\n\theight: 100%;\n\tbackground: ${({ theme }): string => theme.palette.gray3.regular};\n\tmargin: ${({ theme }): string => theme.sizes.padding.extrasmall};\n`;\n\nexport const AppBoardTab: FC<{ id: string; icon: string; title: string }> = ({\n\tid,\n\ticon,\n\ttitle\n}) => {\n\tconst current = useBoardStore((s) => s.current);\n\tconst t = getT();\n\tconst onClick = useCallback(() => setCurrentBoard(id), [id]);\n\tconst onRemove = useCallback(\n\t\t(ev) => {\n\t\t\tev.stopPropagation();\n\t\t\tcloseBoard(id);\n\t\t},\n\t\t[id]\n\t);\n\n\treturn (\n\t\t<Container orientation=\"row\" width=\"fit\" maxWidth=\"100%\">\n\t\t\t{current !== id && <VerticalDivider />}\n\t\t\t<TabContainer active={current === id} padding={{ all: 'extrasmall' }}>\n\t\t\t\t<Row\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\ttakeAvailableSpace\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\twrap=\"nowrap\"\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={icon} size=\"large\" />\n\t\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t\t<Tooltip label={title} placement=\"top\" maxWidth=\"700px\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\t\tcolor={current === id ? 'text' : 'secondary'}\n\t\t\t\t\t\t\toverflow=\"ellipsis\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</Row>\n\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t<Tooltip label={t('board.close_tab', 'Close Tab')} placement=\"top\">\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticonColor=\"secondary\"\n\t\t\t\t\t\ticon=\"Close\"\n\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\tstyle={{ padding: '0.125rem', width: '1.5rem', height: '1.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t</TabContainer>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { Route, Router, useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { find, startsWith } from 'lodash';\nimport { createMemoryHistory } from 'history';\nimport AppContextProvider from '../../boot/app/app-context-provider';\nimport { useAppStore } from '../../store/app';\nimport { BoardProvider, updateBoard, useBoardStore } from '../../store/boards';\nimport { Board } from '../../../types';\n\nconst BoardContainer = styled.div<{ show: boolean }>`\n\tdisplay: ${(props): string => (props.show ? 'block' : 'none')};\n\theight: 100%;\n\twidth: 100%;\n\toverflow-y: auto;\n\t&::-webkit-scrollbar {\n\t\twidth: 0.5rem;\n\t}\n\n\t&::-webkit-scrollbar-track {\n\t\tbackground-color: transparent;\n\t}\n\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray3.regular};\n\t\tborder-radius: 0.25rem;\n\t}\n`;\n\nexport const AppBoard: FC<{ board: Board }> = ({ board }) => {\n\tconst current = useBoardStore((s) => s.current);\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tconst history = useMemo(() => createMemoryHistory({ initialEntries: [board.url] }), []);\n\tconst boardViews = useAppStore((s) => s.views.board);\n\tconst windowHistory = useHistory();\n\tconst route = useMemo(() => {\n\t\tconst view = find(boardViews, (v) => v.id === board.url || startsWith(board.url, v.route));\n\t\tif (view)\n\t\t\treturn (\n\t\t\t\t<Route key={view.id} path={view.route}>\n\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t<BoardProvider id={board.id}>\n\t\t\t\t\t\t\t<view.component windowHistory={windowHistory} />\n\t\t\t\t\t\t</BoardProvider>\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t);\n\t\treturn null;\n\t}, [board.id, board.url, boardViews, windowHistory]);\n\tuseEffect(() => {\n\t\tconst unlisten = history.listen(({ location }) => {\n\t\t\tif (`${location.pathname}${location.search}${location.hash}` !== board.url) {\n\t\t\t\tupdateBoard(board.id, { url: `${location.pathname}${location.search}${location.hash}` });\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tunlisten();\n\t\t};\n\t}, [board.url, board.id, history]);\n\n\tuseEffect(() => {\n\t\tconst l = history.location;\n\t\tif (`${l.pathname}${l.search}${l.hash}` !== board.url) {\n\t\t\thistory.push(board.url);\n\t\t}\n\t}, [board.url, history]);\n\n\treturn (\n\t\t<BoardContainer show={current === board.id}>\n\t\t\t<Router history={history}>{route}</Router>\n\t\t</BoardContainer>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { Icon } from '@zextras/carbonio-design-system';\n\nconst VerticalDivider = styled.div`\n\tposition: relative;\n\toverflow: visible;\n\theight: 100%;\n\twidth: 0.0625rem;\n\tmax-width: 0.0625rem;\n\tmin-width: 0.0625rem;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background 0.2s;\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n`;\n\nconst Bubble = styled.div<{ open: boolean }>`\n\tcursor: pointer;\n\tz-index: 2;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: -0.75rem;\n\twidth: 1.5rem;\n\theight: 1.5rem;\n\tborder-radius: 50%;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background-color 0.2s, transform 0.2s;\n\ttransform: scaleX(${({ open }): number => (open ? 1 : -1)});\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.active};\n\t}\n`;\n\nexport const Collapser: FunctionComponent<{ open: boolean; onClick: () => void }> = ({\n\topen,\n\tonClick\n}) => (\n\t<VerticalDivider>\n\t\t<Bubble onClick={onClick} open={open}>\n\t\t\t<Icon size=\"medium\" icon=\"ChevronLeft\" />\n\t\t</Bubble>\n\t</VerticalDivider>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Button, Container, Dropdown, MultiButton } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport { groupBy, noop, reduce } from 'lodash';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Action, AppRoute, CarbonioModule } from '../../types';\nimport { ACTION_TYPES } from '../constants';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppList } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useActions } from '../store/integrations/hooks';\n\nexport const CreationButtonComponent: FC<{ activeRoute: AppRoute; location: Location }> = ({\n\tactiveRoute,\n\tlocation\n}) => {\n\tconst t = getT();\n\tconst actions = useActions({ activeRoute, location }, ACTION_TYPES.NEW);\n\tconst [open, setOpen] = useState(false);\n\tconst primaryAction = useMemo(\n\t\t() =>\n\t\t\tactions?.find?.(\n\t\t\t\t(a) => (a.group === activeRoute?.id || a.group === activeRoute?.app) && a.primary\n\t\t\t),\n\t\t[actions, activeRoute?.app, activeRoute?.id]\n\t);\n\tconst apps = useAppList();\n\tconst byApp = useMemo(() => groupBy(actions, 'group'), [actions]);\n\n\tconst secondaryActions = [\n\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t...reduce<CarbonioModule, Array<Action>>(\n\t\t\tapps,\n\t\t\t(acc, app, i) => {\n\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t];\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\treturn primaryAction ? (\n\t\t<Container minWidth=\"80px\">\n\t\t\t<MultiButton\n\t\t\t\tdata-testid=\"NewItemButton\"\n\t\t\t\tsize=\"extralarge\"\n\t\t\t\tbackground=\"primary\"\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\tonClick={primaryAction.onClick || primaryAction.click || noop}\n\t\t\t\titems={secondaryActions}\n\t\t\t\tdisabledPrimary={!primaryAction || primaryAction?.disabled}\n\t\t\t\tdisabledSecondary={!secondaryActions?.length}\n\t\t\t/>\n\t\t</Container>\n\t) : (\n\t\t<Dropdown items={secondaryActions} onClose={onClose} onOpen={onOpen}>\n\t\t\t<Button\n\t\t\t\tdata-testid=\"NewItemButton\"\n\t\t\t\tsize=\"extralarge\"\n\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\ticon={open ? 'ChevronUp' : 'ChevronDown'}\n\t\t\t\tonClick={noop}\n\t\t\t/>\n\t\t</Dropdown>\n\t);\n};\n\nconst MemoCreationButton = React.memo(CreationButtonComponent);\n\nexport const CreationButton: FC = () => {\n\tconst locationFull = useLocation() as Location;\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\n\tconst truncateLocation = (location: Location): Location => ({\n\t\t...location,\n\t\tpathname: location?.pathname?.split('/').slice(0, 2).join('/'),\n\t\tkey: ''\n\t});\n\n\tconst location = useMemo(() => truncateLocation(locationFull), [locationFull]);\n\treturn <MemoCreationButton activeRoute={activeRoute} location={location} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Dispatch, SetStateAction, useCallback, useContext, useEffect, useState } from 'react';\n\nimport ShellContext from './shell-context';\n\nexport function useIsMobile(): boolean {\n\tconst { isMobile } = useContext(ShellContext);\n\treturn isMobile;\n}\n\nexport function useLocalStorage<T>(key: string, initialValue: T): [T, Dispatch<SetStateAction<T>>] {\n\tconst readValue = useCallback<() => T>(() => {\n\t\ttry {\n\t\t\tconst item = window.localStorage.getItem(key);\n\t\t\treturn item ? JSON.parse(item) : initialValue;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\treturn initialValue;\n\t\t}\n\t}, [initialValue, key]);\n\n\tconst [storedValue, setStoredValue] = useState<T>(readValue());\n\tconst setValue = (value: T | ((val: T) => T)): void => {\n\t\ttry {\n\t\t\tconst valueToStore = value instanceof Function ? value(storedValue) : value;\n\t\t\tconst valueToStoreJSON = JSON.stringify(valueToStore);\n\t\t\tsetStoredValue((prevState) => {\n\t\t\t\tconst prevValueJSON = JSON.stringify(prevState);\n\t\t\t\tif (prevValueJSON !== valueToStoreJSON) {\n\t\t\t\t\tlocalStorage.setItem(key, valueToStoreJSON);\n\t\t\t\t\twindow.dispatchEvent(new Event('storage'));\n\t\t\t\t\treturn valueToStore;\n\t\t\t\t}\n\t\t\t\treturn prevState;\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\n\tconst updateValue = useCallback(() => {\n\t\tsetStoredValue(readValue());\n\t}, [readValue]);\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('storage', updateValue);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('storage', updateValue);\n\t\t};\n\t}, [readValue, updateValue]);\n\n\treturn [storedValue, setValue];\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { useScreenMode } from '@zextras/carbonio-design-system';\nimport ShellContext from './shell-context';\n\nconst ShellContextProvider: FC<{ children: unknown }> = ({ children }) => {\n\tconst screenMode = useScreenMode();\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tisMobile: screenMode === 'mobile'\n\t\t}),\n\t\t[screenMode]\n\t);\n\n\treturn <ShellContext.Provider value={value}>{children}</ShellContext.Provider>;\n};\n\nexport default ShellContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst ShellContext = createContext({ isMobile: true });\n\nexport default ShellContext;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport {\n\tCatcher,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode\n} from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport Logo from '../svg/carbonio.svg';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\n\nconst CustomImg = styled.img`\n\theight: 2rem;\n`;\n\nconst ShellHeader: FC<{\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n}> = ({ mobileNavIsOpen, onMobileMenuClick, children }) => {\n\tconst { carbonioWebUiAppLogo, carbonioWebUiDarkAppLogo } = useLoginConfigStore();\n\n\tconst { darkModeEnabled, darkReaderStatus } = useDarkMode();\n\n\tconst logoSrc = useMemo(() => {\n\t\tif (darkModeEnabled) {\n\t\t\treturn carbonioWebUiDarkAppLogo || carbonioWebUiAppLogo;\n\t\t}\n\t\treturn carbonioWebUiAppLogo || carbonioWebUiDarkAppLogo;\n\t}, [carbonioWebUiDarkAppLogo, carbonioWebUiAppLogo, darkModeEnabled]);\n\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<Container\n\t\t\tdata-testid=\"MainHeaderContainer\"\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray3\"\n\t\t\twidth=\"fill\"\n\t\t\theight=\"3.75rem\"\n\t\t\tminHeight=\"3.75rem\"\n\t\t\tmaxHeight=\"3.75rem\"\n\t\t\tmainAlignment=\"space-between\"\n\t\t\tpadding={{\n\t\t\t\thorizontal: screenMode === 'desktop' ? 'large' : 'extrasmall',\n\t\t\t\tvertical: 'small'\n\t\t\t}}\n\t\t>\n\t\t\t<Catcher>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmaxWidth=\"75%\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tminWidth=\"fit-content\"\n\t\t\t\t\tdata-testid=\"HeaderMainLogoContainer\"\n\t\t\t\t>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<IconButton icon={mobileNavIsOpen ? 'Close' : 'Menu'} onClick={onMobileMenuClick} />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Responsive>\n\t\t\t\t\t<Container width=\"15.625rem\" height=\"2rem\" crossAlignment=\"flex-start\">\n\t\t\t\t\t\t{darkReaderStatus && (\n\t\t\t\t\t\t\t<>{logoSrc ? <CustomImg src={logoSrc} /> : <Logo height=\"2rem\" />}</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Padding horizontal=\"large\">\n\t\t\t\t\t\t<CreationButton />\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<Responsive mode=\"desktop\">{searchEnabled && <SearchBar />}</Responsive>\n\t\t\t\t</Container>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"auto\" mainAlignment=\"flex-end\">\n\t\t\t\t\t<Responsive mode=\"desktop\">{children}</Responsive>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\t\tpadding={{ right: 'extrasmall' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* <Dropdown items={secondaryActions} placement=\"bottom-start\">\n\t\t\t\t\t\t\t<IconButton icon=\"Plus\" />\n\t\t\t\t\t\t</Dropdown> */}\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t</Catcher>\n\t\t</Container>\n\t);\n};\nexport default ShellHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ComponentType, FC, FunctionComponent } from 'react';\nimport { reduce, find } from 'lodash';\nimport { Accordion, Collapse, Container, Padding } from '@zextras/carbonio-design-system';\nimport { useHistory } from 'react-router-dom';\nimport { AppRoute, SecondaryBarComponentProps } from '../../types';\nimport { useAppStore } from '../store/app';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { getCurrentRoute } from '../history/hooks';\n\ntype SidebarComponentProps = {\n\titem: ShellMobileNavComponent;\n};\n\nconst SidebarComponent: FC<SidebarComponentProps> = ({ item }) =>\n\titem.secondary ? (\n\t\t<AppContextProvider pkg={item.id}>\n\t\t\t<item.secondary expanded={!!item.expanded} />\n\t\t</AppContextProvider>\n\t) : null;\n\ntype ShellMobileNavComponentProps = {\n\tmobileNavIsOpen: boolean;\n\tmenuTree: AppRoute;\n};\n\ntype ShellMobileNavComponent = {\n\tid: string;\n\tlabel: string;\n\ticon: string;\n\tsecondary?: ComponentType<SecondaryBarComponentProps>;\n\tonClick?: () => void;\n\tCustomComponent?: FunctionComponent<SidebarComponentProps> | null;\n\titems?: Array<ShellMobileNavComponent> | [];\n\texpanded?: boolean;\n};\n\nconst ShellMobileNavComponent: FC<ShellMobileNavComponentProps> = ({\n\tmobileNavIsOpen,\n\tmenuTree\n}) => {\n\tconst history = useHistory();\n\tconst views = useAppStore<any>((s) =>\n\t\treduce(\n\t\t\ts.routes,\n\t\t\t(acc: Array<ShellMobileNavComponent>, val) => {\n\t\t\t\tconst primary = find(s.views.primaryBar, (item) => item.id === val.id);\n\t\t\t\tconst secondary = find(s.views.secondaryBar, (item) => item.id === val.id);\n\t\t\t\tif (primary && primary.visible) {\n\t\t\t\t\tacc.push({\n\t\t\t\t\t\tid: `${val.app}-wrap`,\n\t\t\t\t\t\tlabel: primary.label,\n\t\t\t\t\t\ticon: typeof primary.component === 'string' ? primary.component : 'Cube',\n\t\t\t\t\t\tonClick: () => history.push(`/${val.route}`),\n\t\t\t\t\t\titems: secondary\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: secondary.id,\n\t\t\t\t\t\t\t\t\t\tlabel: secondary.id,\n\t\t\t\t\t\t\t\t\t\ticon: 'Cube',\n\t\t\t\t\t\t\t\t\t\tsecondary: secondary.component,\n\t\t\t\t\t\t\t\t\t\tCustomComponent: SidebarComponent\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"fill\"\n\t\t\twidth=\"fit\"\n\t\t\tbackground=\"gray5\"\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 3\n\t\t\t}}\n\t\t>\n\t\t\t<Collapse orientation=\"horizontal\" open={mobileNavIsOpen} crossSize=\"100%\">\n\t\t\t\t<Container\n\t\t\t\t\twidth={256 + 48 + 12}\n\t\t\t\t\theight=\"fill\"\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: 'calc(100vh - 3rem)',\n\t\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Accordion items={views} />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Accordion items={[menuTree]} />\n\t\t\t\t\t\t<Padding vertical=\"medium\">{/* <UserQuota mobileView={true}/> */}</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t</Container>\n\t\t\t</Collapse>\n\t\t</Container>\n\t);\n};\n\nconst ShellMobileNavMemo = React.memo(ShellMobileNavComponent);\n\ntype ShellMobileNavProps = {\n\tmobileNavIsOpen: boolean;\n};\n\nconst ShellMobileNav: FC<ShellMobileNavProps> = ({ mobileNavIsOpen }) => {\n\tconst menuTree = getCurrentRoute() as AppRoute;\n\treturn <ShellMobileNavMemo menuTree={menuTree} mobileNavIsOpen={mobileNavIsOpen} />;\n};\n\nexport default ShellMobileNav;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Responsive, Container } from '@zextras/carbonio-design-system';\nimport ShellPrimaryBar from './shell-primary-bar';\nimport ShellSecondaryBar from './shell-secondary-bar';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellMobileNav from './shell-mobile-nav';\n\ntype ShellNavigationBarProps = {\n\tmobileNavIsOpen: boolean;\n};\n\nconst ShellNavigationBar: FC<ShellNavigationBarProps> = ({ mobileNavIsOpen }) => (\n\t<Container\n\t\torientation=\"horizontal\"\n\t\tbackground=\"gray5\"\n\t\twidth=\"fit\"\n\t\theight=\"fill\"\n\t\tmainAlignment=\"flex-start\"\n\t\tcrossAlignment=\"flex-start\"\n\t>\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<ShellPrimaryBar />\n\t\t\t<ShellSecondaryBar />\n\t\t</Responsive>\n\t\t<Responsive mode=\"mobile\">\n\t\t\t<ShellMobileNav mobileNavIsOpen={mobileNavIsOpen} />\n\t\t</Responsive>\n\t</Container>\n);\n\nexport default ShellNavigationBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, IconButton, Row, Tooltip } from '@zextras/carbonio-design-system';\nimport { map, isEmpty, trim, filter, sortBy, noop } from 'lodash';\nimport React, { FC, useState, useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\nimport { useAppStore } from '../store/app';\nimport { AppRoute, PrimaryAccessoryView, PrimaryBarView } from '../../types';\nimport BadgeWrap from './badge-wrap';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { checkRoute } from '../utility-bar/utils';\nimport { IS_STANDALONE } from '../constants';\nimport { minimizeBoards, reopenBoards, useBoardStore } from '../store/boards';\nimport { useCurrentRoute } from '../history/hooks';\n\nconst ContainerWithDivider = styled(Container)`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nconst ToggleBoardIcon: FC = () => {\n\tconst { minimized, boards } = useBoardStore();\n\tif (isEmpty(boards)) return null;\n\treturn (\n\t\t<IconButton\n\t\t\ticonColor=\"primary\"\n\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\tonClick={minimized ? reopenBoards : minimizeBoards}\n\t\t\tsize=\"large\"\n\t\t/>\n\t);\n};\n\ntype PrimaryBarItemProps = {\n\tview: PrimaryBarView;\n\tactive: boolean;\n\tonClick: () => void;\n};\n\ntype PrimaryBarAccessoryItemProps = {\n\tview: PrimaryAccessoryView;\n};\n\nconst PrimaryBarElement: FC<PrimaryBarItemProps> = ({ view, active, onClick }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<BadgeWrap badge={view.badge}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor={active ? 'gray4' : 'gray6'}\n\t\t\t\t\ticonColor={active ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\tdata-isselected={active}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component active={active} />\n\t\t\t)}\n\t\t</BadgeWrap>\n\t</Tooltip>\n);\n\nconst PrimaryBarAccessoryElement: FC<PrimaryBarAccessoryItemProps> = ({ view }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor=\"gray6\"\n\t\t\t\t\ticonColor=\"text\"\n\t\t\t\t\tonClick={view.onClick ?? noop}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component />\n\t\t\t)}\n\t\t</AppContextProvider>\n\t</Tooltip>\n);\n\nconst ShellPrimaryBarComponent: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\tconst [routes, setRoutes] = useState<Record<string, string>>({});\n\tconst history = useHistory();\n\n\tuseEffect(() => {\n\t\tsetRoutes((r) =>\n\t\t\tprimaryBarViews.reduce((acc, v) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tif (!acc[v.id]) acc[v.id] = v.route;\n\t\t\t\treturn acc;\n\t\t\t}, r)\n\t\t);\n\t}, [primaryBarViews]);\n\tuseEffect(() => {\n\t\tif (activeRoute) {\n\t\t\tsetRoutes((r) => ({\n\t\t\t\t...r,\n\t\t\t\t[activeRoute.id]: `${trim(history.location.pathname, '/')}${history.location.search}`\n\t\t\t}));\n\t\t}\n\t}, [activeRoute, history.location, primaryBarViews]);\n\tconst primaryBarAccessoryViews = useAppStore((s) => s.views.primaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(primaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, primaryBarAccessoryViews]\n\t);\n\tif (IS_STANDALONE && activeRoute?.standalone?.hidePrimaryBar) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ContainerWithDivider\n\t\t\twidth=\"3.0625rem\"\n\t\t\theight=\"fill\"\n\t\t\tbackground=\"gray6\"\n\t\t\torientation=\"vertical\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t\tdata-testid=\"SideMenuContainer\"\n\t\t>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\ttakeAvailableSpace\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{\n\t\t\t\t\tminHeight: '0.0625rem',\n\t\t\t\t\t// TODO: fix overlay usage\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\toverflowY: 'overlay'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{map(primaryBarViews, (view) =>\n\t\t\t\t\tview.visible ? (\n\t\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${routes[view.id]}`)}\n\t\t\t\t\t\t\tview={view}\n\t\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\t// TODO: fix overlay usage\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tstyle={{ minHeight: '0.0625rem', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{accessories.map((v) => (\n\t\t\t\t\t<PrimaryBarAccessoryElement view={v} key={v.id} />\n\t\t\t\t))}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</Row>\n\t\t</ContainerWithDivider>\n\t);\n};\n\nconst MemoShellPrimaryBarComponent = React.memo(ShellPrimaryBarComponent);\n\nconst ShellPrimaryBar: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn <MemoShellPrimaryBarComponent activeRoute={activeRoute} />;\n};\n\nexport default ShellPrimaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, ContainerProps } from '@zextras/carbonio-design-system';\nimport { filter, findIndex, map, sortBy } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { AppRoute } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\nimport { useUtilityBarStore } from '../utility-bar';\nimport { checkRoute } from '../utility-bar/utils';\nimport { Collapser } from './collapser';\n\nconst SidebarContainer = styled(Container)<ContainerProps & { sidebarIsOpen?: boolean }>`\n\tmin-width: 3rem;\n\tmax-width: 19.625rem;\n\twidth: ${({ sidebarIsOpen }): number => (sidebarIsOpen ? 19.625 : 3)}rem;\n\ttransition: width 300ms;\n\toverflow-x: hidden;\n`;\n\nconst ShellSecondaryBarComponent: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst isOpen = useUtilityBarStore((s) => s.secondaryBarState);\n\tconst setIsOpen = useUtilityBarStore((s) => s.setSecondaryBarState);\n\tconst onCollapserClick = useCallback(() => setIsOpen(!isOpen), [isOpen, setIsOpen]);\n\tconst secondaryBarViews = useAppStore((s) => s.views.secondaryBar);\n\tconst secondaryBarAccessoryViews = useAppStore((s) => s.views.secondaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(secondaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, secondaryBarAccessoryViews]\n\t);\n\tconst disabled = useMemo(\n\t\t() => findIndex(secondaryBarViews, (view) => view.id === activeRoute?.id) < 0,\n\t\t[activeRoute?.id, secondaryBarViews]\n\t);\n\treturn disabled ? null : (\n\t\t<>\n\t\t\t<SidebarContainer\n\t\t\t\tdata-testid=\"SideSecondaryBarContainer\"\n\t\t\t\tsidebarIsOpen={isOpen}\n\t\t\t\trole=\"menu\"\n\t\t\t\theight=\"fill\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tonClick={isOpen ? undefined : onCollapserClick}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: 'calc(100vh - 3.75rem)',\n\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t\t<Switch>\n\t\t\t\t\t\t{map(secondaryBarViews, (view) => (\n\t\t\t\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Switch>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"flex-end\" height=\"fit\">\n\t\t\t\t\t{accessories.map((view) => (\n\t\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t</SidebarContainer>\n\t\t\t<Collapser onClick={onCollapserClick} open={isOpen} />\n\t\t</>\n\t);\n};\n\nconst MemoShellSecondaryBar = React.memo(ShellSecondaryBarComponent);\n\nconst ShellSecondaryBar: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn <MemoShellSecondaryBar activeRoute={activeRoute} />;\n};\n\nexport default ShellSecondaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Responsive, Row } from '@zextras/carbonio-design-system';\nimport { PreviewManager } from '@zextras/carbonio-ui-preview';\nimport React, { FC, useContext, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport type { AppRoute } from '../../types';\nimport { ThemeCallbacksContext } from '../boot/theme-provider';\nimport { IS_STANDALONE } from '../constants';\nimport { useCurrentRoute } from '../history/hooks';\nimport { goToLogin } from '../network/go-to-login';\nimport { useAccountStore } from '../store/account';\nimport { ShellUtilityBar, ShellUtilityPanel } from '../utility-bar';\nimport AppViewContainer from './app-view-container';\nimport { BoardContainer } from './boards/board-container';\nimport ShellContextProvider from './shell-context-provider';\nimport ShellHeader from './shell-header';\nimport ShellNavigationBar from './shell-navigation-bar';\nimport { useDarkReaderResultValue } from '../dark-mode/use-dark-reader-result-value';\n\nconst Background = styled.div`\n\tbackground: ${({ theme }): string => theme.palette.gray6.regular};\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tmin-height: 100%;\n\tmax-height: 100%;\n\twidth: 100%;\n\tmin-width: 100%;\n\tmax-width: 100%;\n`;\n\nfunction DarkReaderListener(): null {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkReaderState(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, setDarkReaderState]);\n\treturn null;\n}\n\nconst useLoginRedirection = (allowUnauthenticated?: string): void => {\n\tconst auth = useAccountStore((s) => s.authenticated);\n\tuseEffect(() => {\n\t\tif (IS_STANDALONE && !auth && !allowUnauthenticated) {\n\t\t\tgoToLogin();\n\t\t}\n\t}, [allowUnauthenticated, auth]);\n};\n\nconst ShellComponent: FC<{ allowUnauthenticated?: string; hideShellHeader?: string }> = ({\n\tallowUnauthenticated,\n\thideShellHeader\n}) => {\n\tconst [mobileNavOpen, setMobileNavOpen] = useState(false);\n\tuseLoginRedirection(allowUnauthenticated);\n\treturn (\n\t\t<Background>\n\t\t\t<DarkReaderListener />\n\t\t\t{/* <MainAppRerouter /> */}\n\t\t\t{!(IS_STANDALONE && hideShellHeader) && (\n\t\t\t\t<ShellHeader\n\t\t\t\t\tmobileNavIsOpen={mobileNavOpen}\n\t\t\t\t\tonMobileMenuClick={(): void => setMobileNavOpen(!mobileNavOpen)}\n\t\t\t\t>\n\t\t\t\t\t<ShellUtilityBar />\n\t\t\t\t</ShellHeader>\n\t\t\t)}\n\t\t\t<Row crossAlignment=\"unset\" style={{ position: 'relative', flexGrow: '1' }}>\n\t\t\t\t<ShellNavigationBar mobileNavIsOpen={mobileNavOpen} />\n\t\t\t\t<AppViewContainer />\n\t\t\t\t<ShellUtilityPanel />\n\t\t\t</Row>\n\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t<BoardContainer />\n\t\t\t</Responsive>\n\t\t</Background>\n\t);\n};\n\nconst MemoShell = React.memo(ShellComponent);\n\nconst ShellView: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\tconst allowUnauthenticated = activeRoute?.standalone?.allowUnauthenticated as string | undefined;\n\tconst hideShellHeader = activeRoute?.standalone?.hideShellHeader as string | undefined;\n\treturn (\n\t\t<ShellContextProvider>\n\t\t\t<PreviewManager>\n\t\t\t\t<MemoShell allowUnauthenticated={allowUnauthenticated} hideShellHeader={hideShellHeader} />\n\t\t\t</PreviewManager>\n\t\t</ShellContextProvider>\n\t);\n};\n\nexport default ShellView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, get, join } from 'lodash';\nimport { useMemo } from 'react';\nimport {\n\tAccount,\n\tAccountRightName,\n\tAccountRights,\n\tAccountRightTarget,\n\tAccountSettings\n} from '../../../types';\nimport { useAccountStore } from './store';\n\nexport const useUserAccount = (): Account => useAccountStore((s) => s.account as Account);\nexport const useUserAccounts = (): Array<Account> => {\n\tconst acct = useAccountStore((s) => s.account);\n\treturn useMemo(() => (acct ? [acct as Account] : []), [acct]);\n};\n\nexport const useUserRights = (): AccountRights =>\n\tuseAccountStore((s) => s.account?.rights ?? { targets: [] });\n\nexport const useUserRight = (right: AccountRightName): Array<AccountRightTarget> => {\n\tconst { targets } = useUserRights();\n\treturn useMemo(\n\t\t() => find(targets, ['right', right])?.target ?? ([] as Array<AccountRightTarget>),\n\t\t[right, targets]\n\t);\n};\nexport const useUserSettings = (): AccountSettings => useAccountStore((s) => s.settings);\nexport const useUserSetting = <T = void>(...path: Array<string>): string | T =>\n\tuseAccountStore((s) => get(s.settings, join(path, '.')));\n\nexport const getUserAccount = (): Account => useAccountStore.getState().account as Account;\nexport const getUserAccounts = (): Array<Account> => [\n\tuseAccountStore.getState().account as Account\n];\nexport const getUserSettings = (): AccountSettings => useAccountStore.getState().settings;\nexport const getUserSetting = <T = void>(...path: Array<string>): string | T =>\n\tget(useAccountStore.getState().settings, join(path, '.'));\n\nexport const getUserRights = (): AccountRights =>\n\tuseAccountStore.getState().account?.rights ?? { targets: [] };\n\nexport const getUserRight = (right: AccountRightName): Array<AccountRightTarget> =>\n\tfind(getUserRights().targets, ['right', right])?.target ?? ([] as Array<AccountRightTarget>);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { GetInfoResponse, Account, AccountSettings } from '../../../types';\n\nconst normalizeSettings = (\n\tsettings: Pick<GetInfoResponse, 'attrs' | 'prefs' | 'props'>\n): AccountSettings => ({\n\tattrs: settings.attrs._attrs,\n\tprefs: settings.prefs._attrs,\n\tprops: settings.props.prop ?? []\n});\n\nexport const normalizeAccount = ({\n\tid,\n\tname,\n\tattrs,\n\tprefs,\n\tidentities,\n\tsignatures,\n\tprops,\n\tversion,\n\trights\n}: GetInfoResponse): {\n\taccount: Account;\n\tsettings: AccountSettings;\n\tversion: string;\n} => {\n\tconst settings = normalizeSettings({ attrs, prefs, props });\n\treturn {\n\t\taccount: {\n\t\t\tid,\n\t\t\tname,\n\t\t\tdisplayName: attrs._attrs.displayName,\n\t\t\tidentities,\n\t\t\tsignatures,\n\t\t\trights\n\t\t},\n\t\tsettings,\n\t\tversion\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { AccountState } from '../../../types';\n\nexport const useAccountStore = create<AccountState>(() => ({\n\tauthenticated: false,\n\taccount: undefined,\n\tversion: '',\n\tsettings: {\n\t\tprefs: {},\n\t\tattrs: {},\n\t\tprops: []\n\t},\n\tusedQuota: 0,\n\tlastNotificationTime: Date.now()\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { sortBy } from 'lodash';\nimport { useMemo } from 'react';\nimport { useAppStore } from './store';\nimport { AppRoute, CarbonioModule } from '../../../types';\n\nexport const useApp = (appId: string) => (): CarbonioModule => useAppStore((s) => s.apps[appId]);\nexport const useApps = (): Record<string, CarbonioModule> => useAppStore((s) => s.apps);\nexport const useAppList = (): Array<CarbonioModule> => {\n\tconst apps = useApps();\n\treturn useMemo(() => sortBy(apps, (a) => a.priority), [apps]);\n};\nexport const getAppList = (): Array<CarbonioModule> =>\n\tsortBy(useAppStore.getState().apps, (a) => a.priority);\n\nexport const getApp = (appId: string) => (): CarbonioModule => useAppStore.getState().apps[appId];\nexport const getApps = (): Record<string, CarbonioModule> => useAppStore.getState().apps;\n\nexport const useAppContext = (appId: string) => (): unknown =>\n\tuseAppStore((s) => s.appContexts[appId]);\nexport const getAppContext = (appId: string) => (): unknown =>\n\tuseAppStore.getState().appContexts[appId];\nexport const getShell = (): CarbonioModule => useAppStore.getState().shell;\nexport const getRoutes = (): Record<string, AppRoute> => useAppStore.getState().routes;\nexport const useRoutes = (): Record<string, AppRoute> => useAppStore((s) => s.routes);\nexport const getRoute = (id: string): AppRoute => useAppStore.getState().routes[id];\nexport const useRoute = (id: string): AppRoute => useAppStore((s) => s.routes[id]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\nexport * from './utils';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { filter, find, findIndex, merge, omit, reduce, sortBy, unionBy, unionWith } from 'lodash';\nimport create from 'zustand';\nimport {\n\tAppRouteDescriptor,\n\tAppState,\n\tAppView,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tPrimaryBarView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSecondaryBarView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { normalizeApp } from './utils';\n\nconst filterById = <T extends { id: string }>(items: Array<T>, id: string): Array<T> =>\n\tfilter(items, (item) => item.id !== id);\n\nconst STANDALONE_RESPONSE = 'standalone';\nexport const useAppStore = create<AppState>((set, get) => ({\n\tstandalone: false,\n\tapps: {},\n\tappContexts: {},\n\tshell: {\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: SHELL_APP_ID,\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t},\n\tentryPoints: {},\n\troutes: {},\n\tviews: {\n\t\tprimaryBar: [],\n\t\tsecondaryBar: [],\n\t\tappView: [],\n\t\tboard: [],\n\t\tutilityBar: [],\n\t\tsettings: [],\n\t\tsearch: [],\n\t\tprimaryBarAccessories: [],\n\t\tsecondaryBarAccessories: []\n\t},\n\tsetters: {\n\t\taddApps: (apps: Array<Partial<CarbonioModule>>): void => {\n\t\t\tset((state) => ({\n\t\t\t\tapps: reduce(\n\t\t\t\t\tapps,\n\t\t\t\t\t(acc, app) =>\n\t\t\t\t\t\tapp.name && app.name !== SHELL_APP_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[app.name]: normalizeApp(app)\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: acc,\n\t\t\t\t\t{}\n\t\t\t\t),\n\t\t\t\tshell: {\n\t\t\t\t\t...state.shell,\n\t\t\t\t\t...(find(apps, (app) => app.name === SHELL_APP_ID) ?? {})\n\t\t\t\t},\n\t\t\t\tappContexts: reduce(apps, (acc, val) => (val.name ? { ...acc, [val.name]: {} } : acc), {})\n\t\t\t}));\n\t\t},\n\t\tsetAppContext:\n\t\t\t(app: string) =>\n\t\t\t(context: unknown): void => {\n\t\t\t\tset(\n\t\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\t\tstate.appContexts[app] = merge(state.appContexts[app], context);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t},\n\t\t// add route (id route primaryBar secondaryBar app)\n\t\taddRoute: (routeData: AppRouteDescriptor): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && routeData.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes[routeData.id] = routeData;\n\t\t\t\t\tif (routeData.primaryBar) {\n\t\t\t\t\t\tstate.views.primaryBar = sortBy(\n\t\t\t\t\t\t\tunionWith<PrimaryBarView>(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\t\tcomponent: routeData.primaryBar,\n\t\t\t\t\t\t\t\t\t\tbadge: routeData.badge,\n\t\t\t\t\t\t\t\t\t\tposition: routeData.position,\n\t\t\t\t\t\t\t\t\t\tvisible: routeData.visible,\n\t\t\t\t\t\t\t\t\t\tlabel: routeData.label\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstate.views.primaryBar,\n\t\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t'position'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.secondaryBar) {\n\t\t\t\t\t\tstate.views.secondaryBar = unionWith<SecondaryBarView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.secondaryBar\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.secondaryBar,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.appView) {\n\t\t\t\t\t\tstate.views.appView = unionWith<AppView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.appView\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.appView,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn routeData.id;\n\t\t},\n\t\tsetRouteVisibility: (id: string, visible: boolean): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (view) => view.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].visible = visible;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// remove route (id | route)\n\t\tremoveRoute: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes = omit(state.routes, [id]);\n\t\t\t\t\tstate.views.primaryBar = filterById(state.views.primaryBar, id);\n\t\t\t\t\tstate.views.secondaryBar = filterById(state.views.secondaryBar, id);\n\t\t\t\t\tstate.views.appView = filterById(state.views.appView, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t// add board\n\t\taddBoardView: (data: BoardView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = unionBy([data], state.views.board, 'id');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove board\n\t\tremoveBoardView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = filterById(state.views.board, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// add settings\n\t\taddSettingsView: (data: SettingsView): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = sortBy(unionBy([data], state.views.settings, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove settings\n\t\tremoveSettingsView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = filterById(state.views.settings, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: SearchView): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = sortBy(unionBy([data], state.views.search, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove search\n\t\tremoveSearchView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = filterById(state.views.search, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: UtilityView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = sortBy(\n\t\t\t\t\t\tunionBy([data], state.views.utilityBar, 'id'),\n\t\t\t\t\t\t'position'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove utility\n\t\tremoveUtilityView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = filterById(state.views.utilityBar, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: PrimaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.primaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = filterById(state.views.primaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: SecondaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.secondaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = filterById(state.views.secondaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.primaryBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.utilityBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.utilityBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.utilityBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { trim } from 'lodash';\nimport React, { FC } from 'react';\nimport {\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\n\nexport const normalizeApp = (app: Partial<CarbonioModule>): CarbonioModule => ({\n\tcommit: app.commit ?? '',\n\tdescription: app.description ?? 'A carbonio Module',\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: app.js_entrypoint ?? '',\n\tname: app.name ?? 'module',\n\tpriority: app.priority ?? 99,\n\tversion: app.version ?? '',\n\ttype: app.type ?? 'carbonio',\n\tattrKey: app.attrKey,\n\ticon: app.icon ?? 'Cube',\n\tdisplay: app.display ?? 'Module',\n\tsentryDsn: app.sentryDsn\n});\n\nconst FallbackView: FC = () => <p>Missing Component</p>;\n\nexport const normalizeBadgeInfo = (badge: Partial<BadgeInfo>): BadgeInfo => ({\n\tshow: badge.show ?? false,\n\tcount: badge.count ?? 0,\n\tshowCount: badge.showCount ?? false,\n\tcolor: badge.color ?? 'primary'\n});\n\nexport const normalizeRoute = (\n\tdata: Partial<AppRouteDescriptor>,\n\tapp: CarbonioModule\n): AppRouteDescriptor => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data.id ?? route,\n\t\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\t\tposition: data?.position ?? app.priority,\n\t\tvisible: data?.visible ?? true,\n\t\tlabel: data?.label ?? '',\n\t\tprimaryBar: data.primaryBar ?? app.icon ?? 'CubeOutline',\n\t\tsecondaryBar: data.secondaryBar,\n\t\tappView: data.appView ?? FallbackView,\n\t\tstandalone: {\n\t\t\thidePrimaryBar: data?.standalone?.hidePrimaryBar,\n\t\t\thideShellHeader: data?.standalone?.hideShellHeader,\n\t\t\tallowUnauthenticated: data?.standalone?.allowUnauthenticated\n\t\t}\n\t};\n};\n\nexport const normalizeSettingsView = (\n\tdata: Partial<SettingsView>,\n\tapp: CarbonioModule\n): SettingsView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99,\n\t\tsubSections: data.subSections ?? []\n\t};\n};\nexport const normalizeSearchView = (data: Partial<SearchView>, app: CarbonioModule): SearchView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99\n\t};\n};\nexport const normalizeUtilityView = (\n\tdata: Partial<UtilityView>,\n\tapp: CarbonioModule\n): UtilityView => ({\n\tapp: app.name,\n\tid: data?.id ?? app.name,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tcomponent: data?.component ?? FallbackView,\n\tbutton: data?.button ?? 'Cube',\n\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\tposition: data?.position ?? app.priority,\n\tlabel: data?.label ?? app.display\n});\nexport const normalizePrimaryAccessoryView = (\n\tdata: Partial<PrimaryAccessoryView>,\n\tapp: CarbonioModule\n): PrimaryAccessoryView => ({\n\tapp: app.name,\n\tonClick: data?.onClick,\n\tlabel: data?.label ?? app.display,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\nexport const normalizeSecondaryAccessoryView = (\n\tdata: Partial<SecondaryAccessoryView>,\n\tapp: CarbonioModule\n): SecondaryAccessoryView => ({\n\tapp: app.name,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\n\nexport const normalizeBoardView = (data: Partial<BoardView>, app: CarbonioModule): BoardView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useContext, useMemo, createContext } from 'react';\nimport { Board, BoardHooksContext } from '../../../types';\nimport { closeBoard, setCurrentBoard, updateBoard, useBoardStore } from './store';\n\nexport const useBoardById = <T,>(id: string): Board<T> => useBoardStore((s) => s.boards[id]);\nexport const getBoardById = <T,>(id: string): Board<T> => useBoardStore.getState().boards[id];\nexport const useBoardContextById = <T,>(id: string): T =>\n\tuseBoardStore((s) => s.boards[id].context);\nexport const getBoardContextById = <T,>(id: string): T =>\n\tuseBoardStore.getState().boards[id].context;\n\n// Must be empty if no board is available\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const boardContext = createContext<Board>();\n// Must be empty if no board is available\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const boardHooksContext = createContext<BoardHooksContext>();\n\nexport const BoardProvider: FC<{ id: string }> = ({ children, id }) => {\n\tconst board = useBoardById(id);\n\tconst callbacks = useMemo<BoardHooksContext>(\n\t\t() => ({\n\t\t\tgetBoardContext: () => getBoardContextById(id),\n\t\t\tgetBoard: () => getBoardById(id),\n\t\t\tcloseBoard: () => closeBoard(id),\n\t\t\tupdateBoard: (b) => updateBoard(id, b),\n\t\t\tsetCurrentBoard: () => setCurrentBoard(id)\n\t\t}),\n\t\t[id]\n\t);\n\treturn (\n\t\t<boardHooksContext.Provider value={callbacks}>\n\t\t\t<boardContext.Provider value={board}>{children}</boardContext.Provider>\n\t\t</boardHooksContext.Provider>\n\t);\n};\n\nexport const useBoardHooks = (): BoardHooksContext => useContext(boardHooksContext);\nexport const useBoard = (): Board => useContext(boardContext);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { forEach, trimStart, uniqueId } from 'lodash';\nimport create from 'zustand';\nimport { BoardState, Board } from '../../../types';\nimport { getApp } from '../app';\n\nexport const useBoardStore = create<BoardState>(() => ({\n\tboards: {},\n\texpanded: false,\n\tminimized: false\n}));\n\nexport const addBoard =\n\t(app: string) =>\n\t<T = any>(\n\t\tboard: Omit<Board<T>, 'app' | 'icon' | 'id'> & { id?: string; icon?: string },\n\t\texpanded?: BoardState['expanded']\n\t): Board => {\n\t\tconst id = board.id ?? uniqueId('board-');\n\t\tuseBoardStore.setState(\n\t\t\tproduce((s: BoardState) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id] = {\n\t\t\t\t\t...board,\n\t\t\t\t\tapp,\n\t\t\t\t\tid,\n\t\t\t\t\ticon: board.icon ?? getApp(app)()?.icon ?? 'CubeOutline',\n\t\t\t\t\turl: trimStart(board.url, '/')\n\t\t\t\t};\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.current = id;\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.minimized = false;\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.expanded = expanded ?? s.expanded;\n\t\t\t})\n\t\t);\n\t\treturn useBoardStore.getState().boards[id];\n\t};\nexport const closeBoard = (id: string): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\ts.boards[id]?.onClose?.(s.boards[id]);\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tdelete s.boards[id];\n\t\t})\n\t);\n};\nexport const closeAllBoards = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tforEach(s.boards, (b) => {\n\t\t\t\tb?.onClose?.(b);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tdelete s.boards[b.id];\n\t\t\t});\n\t\t})\n\t);\n};\nexport const onGoToPanel = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tconst id = s.current;\n\t\t\tif (id) {\n\t\t\t\ts.boards[id]?.onGoToPanel?.(s.boards[id]);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tdelete s.boards[id];\n\t\t\t}\n\t\t})\n\t);\n};\nexport const minimizeBoards = (): void => {\n\tuseBoardStore.setState({\n\t\tminimized: true\n\t});\n};\nexport const reopenBoards = (): void => {\n\tuseBoardStore.setState({\n\t\tminimized: false\n\t});\n};\nexport const expandBoards = (): void => {\n\tuseBoardStore.setState({\n\t\texpanded: true\n\t});\n};\nexport const reduceBoards = (): void => {\n\tuseBoardStore.setState({\n\t\texpanded: false\n\t});\n};\nexport const setCurrentBoard = (id: string): void => {\n\tuseBoardStore.setState({\n\t\tcurrent: id\n\t});\n};\nexport const updateBoard = <T = any>(id: string, board: Partial<Board<T>>): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tif (s.boards[id])\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id] = {\n\t\t\t\t\t...s.boards[id],\n\t\t\t\t\t...board\n\t\t\t\t};\n\t\t})\n\t);\n};\nexport const updateBoardContext = <T = any>(id: string, context: T): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tif (s.boards[id])\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id].context = context;\n\t\t})\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport create from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport { ContextBridgeState } from '../../types';\n\nexport const useContextBridge = create<ContextBridgeState>((set) => ({\n\tpackageDependentFunctions: {},\n\tfunctions: {},\n\tadd: ({ packageDependentFunctions, functions }): void => {\n\t\tset((s) => ({\n\t\t\tpackageDependentFunctions: reduce(\n\t\t\t\tpackageDependentFunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.packageDependentFunctions\n\t\t\t),\n\t\t\tfunctions: reduce(\n\t\t\t\tfunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.functions\n\t\t\t)\n\t\t}));\n\t}\n}));\n\nexport const useBridge = (content: Partial<Omit<ContextBridgeState, 'add'>>): void => {\n\tconst addFunctions = useContextBridge(({ add }) => add);\n\tuseEffect(() => {\n\t\taddFunctions(content);\n\t}, [content, addFunctions]);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ComponentType, useMemo } from 'react';\nimport {\n\tAccordionFolder,\n\tFolder,\n\tFolders,\n\tFolderView,\n\tSearches,\n\tSearchFolder\n} from '../../../types';\nimport { useFolderStore } from './store';\nimport { filterNodes, folderViewFilter, isRoot, mapNodes, sortFolders } from './utils';\n\n// FOLDERS\nexport const useFolder = (id: string): Folder | undefined => useFolderStore((s) => s.folders?.[id]);\nexport const getFolder = (id: string): Folder | undefined =>\n\tuseFolderStore.getState()?.folders?.[id];\nexport const useFolders = (): Folders => useFolderStore((s) => s.folders);\nexport const getFolders = (): Folders => useFolderStore.getState().folders;\n\n// ROOTS\nexport const useRoot = (id: string): Folder | undefined => useFolderStore((s) => s.roots?.[id]);\nexport const getRoot = (id: string): Folder | undefined => useFolderStore.getState().roots?.[id];\nexport const useRoots = (): Folders => useFolderStore((s) => s.roots);\nexport const getRoots = (): Folders => useFolderStore.getState().roots;\n\n// ROOTS BY VIEW\nexport const useRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> =>\n\tuseFolderStore((s) => (s.roots ? s.roots[userId] : {}));\nexport const getRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> => {\n\tconst folders = useFolderStore.getState();\n\treturn folders.roots ? folders.roots[userId] : {};\n};\n\n// SEARCHES\n\nexport const useSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore((s) => s.searches?.[id]);\nexport const getSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore.getState().searches[id];\nexport const useSearchFolders = (): Searches => useFolderStore((s) => s.searches);\nexport const getSearchFolders = (): Searches => useFolderStore.getState().searches;\n\n// Accordion-ize\n\nexport const useFoldersByView = (view: FolderView): Array<Folder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view), sortFolders) : [],\n\t\t[roots, view]\n\t);\n};\n\nexport const useFoldersAccordionByView = (\n\tview: FolderView,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n): Array<AccordionFolder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots\n\t\t\t\t? mapNodes<Folder, AccordionFolder>(Object.values(roots), {\n\t\t\t\t\t\tmapFunction: (f) => {\n\t\t\t\t\t\t\tconst item = {\n\t\t\t\t\t\t\t\tid: f.id,\n\t\t\t\t\t\t\t\tlabel: f.name,\n\t\t\t\t\t\t\t\tCustomComponent,\n\t\t\t\t\t\t\t\titems: [],\n\t\t\t\t\t\t\t\tfolder: f,\n\t\t\t\t\t\t\t\tdisableHover: isRoot(f)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst props = itemProps?.(item) ?? {};\n\t\t\t\t\t\t\treturn { ...item, ...props };\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfilterFunction: folderViewFilter(view),\n\t\t\t\t\t\trecursionKey: 'items',\n\t\t\t\t\t\tsortFunction: sortFolders,\n\t\t\t\t\t\tdeep: false\n\t\t\t\t })\n\t\t\t\t: [],\n\t\t[CustomComponent, itemProps, roots, view]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { FolderState } from '../../../types';\nimport { folderWorker } from '../../workers';\n\nexport const useFolderStore = create<FolderState>(() => ({\n\tfolders: {},\n\troots: {},\n\tsearches: {}\n}));\n\nfolderWorker.onmessage = ({ data }): void => {\n\tuseFolderStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { sortBy } from 'lodash';\nimport { Folder, FolderView, LinkFolder, TreeNode } from '../../../types';\nimport { FOLDERS, ROOT_NAME } from '../../constants';\n\nconst hasId = (f: Folder | TreeNode<unknown>, id: string): boolean => f.id.split(':').includes(id);\nconst getOriginalId = (f: Folder): string => {\n\tconst parts = f.id.split(':');\n\treturn parts[1] ?? parts[0];\n};\nexport const sortFolders = (f: Folder): string => {\n\tconst id = getOriginalId(f);\n\tif (id === FOLDERS.TRASH) {\n\t\treturn FOLDERS.LAST_SYSTEM_FOLDER_POSITION;\n\t}\n\treturn parseInt(id, 10) < 17 ? ` ${id}` : f.name.toLowerCase();\n};\n\nexport const isTrash = (f: Folder): boolean => hasId(f, FOLDERS.TRASH);\n\nexport const isRoot = (f: Folder): boolean =>\n\tf.id === FOLDERS.USER_ROOT || (f as LinkFolder).oname === ROOT_NAME;\n\nexport const folderViewFilter =\n\t(v: FolderView) =>\n\t(deep?: boolean) =>\n\t(f: Folder): boolean =>\n\t\tf.view === v || !deep || (typeof f.view === 'undefined' && !isRoot(f));\n\nexport const filterNodes = <T>(\n\tchildren: TreeNode<T>[],\n\tf: (deep?: boolean) => (i: TreeNode<T>) => boolean,\n\tsortFunction?: (i: TreeNode<T>) => number | string,\n\tdeep?: boolean\n): TreeNode<T>[] => {\n\tconst childrenSorted = sortFunction ? sortBy(children, sortFunction) : children;\n\treturn childrenSorted\n\t\t.filter(f(deep))\n\t\t.map((i) => ({ ...i, children: filterNodes<TreeNode<T>>(i.children, f, sortFunction, true) }));\n};\n\ntype MapNodesOptions<T, U> = {\n\tmapFunction: (i: TreeNode<T>) => U;\n\tfilterFunction: (deep?: boolean) => (i: TreeNode<T>) => boolean;\n\trecursionKey: keyof U;\n\tsortFunction: (i: TreeNode<T>) => number | string;\n\tdeep: boolean;\n};\nexport const mapNodes = <T, U>(\n\tchildren: TreeNode<T>[],\n\t{ mapFunction, filterFunction, recursionKey, sortFunction, deep }: MapNodesOptions<T, U>\n): U[] =>\n\tsortBy(children, sortFunction).reduce((acc, folder) => {\n\t\tif (filterFunction(deep)(folder)) {\n\t\t\tacc.push({\n\t\t\t\t...mapFunction(folder),\n\t\t\t\t[recursionKey]: mapNodes<TreeNode<T>, U>(folder.children, {\n\t\t\t\t\tmapFunction,\n\t\t\t\t\tfilterFunction,\n\t\t\t\t\trecursionKey,\n\t\t\t\t\tsortFunction,\n\t\t\t\t\tdeep: true\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn acc;\n\t}, [] as U[]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { i18n, TFunction } from 'i18next';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useI18nStore } from './store';\n\nexport const getI18n = (app: string) => (): i18n => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[app] ?? instances[SHELL_APP_ID] ?? defaultI18n;\n};\n\nexport const getTFunction = (app: string): TFunction => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[app]?.t ?? defaultI18n.t;\n};\n\nexport const getT = (): TFunction => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[SHELL_APP_ID]?.t ?? defaultI18n.t;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport i18next, { i18n } from 'i18next';\nimport Backend from 'i18next-http-backend';\nimport produce from 'immer';\nimport { dropRight, forEach, reduce } from 'lodash';\nimport create from 'zustand';\nimport { CarbonioModule, I18nState } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useAccountStore } from '../account';\n\nconst addShell = (apps: Array<CarbonioModule>): Array<CarbonioModule> => [\n\t...apps,\n\t{\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: SHELL_APP_ID,\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t}\n];\n\nconst { settings } = useAccountStore.getState();\n\nconst defaultLng =\n\t(settings?.prefs?.zimbraPrefLocale as string) ??\n\t(settings?.attrs?.zimbraLocale as string) ??\n\t'en';\n\nconst defaultI18n = i18next.createInstance({ lng: defaultLng });\n\nexport const useI18nStore = create<I18nState>((set) => ({\n\tinstances: {},\n\tdefaultI18n,\n\tlocale: 'en',\n\tsetters: {\n\t\tsetLocale: (locale: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: I18nState) => {\n\t\t\t\t\tstate.locale = locale;\n\t\t\t\t\tforEach(state.instances, (i18nInst) => i18nInst.changeLanguage(locale));\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t},\n\tgetters: {\n\t\tgetLocale: (state: I18nState): string => state.locale\n\t},\n\tactions: {\n\t\taddI18n: (apps: Array<CarbonioModule>, locale: string): void => {\n\t\t\tconst appsWithShell = addShell(apps);\n\t\t\tset(\n\t\t\t\tproduce((state: I18nState) => {\n\t\t\t\t\tstate.instances = reduce(\n\t\t\t\t\t\tappsWithShell,\n\t\t\t\t\t\t(acc, app) => {\n\t\t\t\t\t\t\tconst newI18n = i18next.createInstance();\n\t\t\t\t\t\t\tnewI18n\n\t\t\t\t\t\t\t\t// load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\n\t\t\t\t\t\t\t\t// learn more: https://github.com/i18next/i18next-http-backend\n\t\t\t\t\t\t\t\t.use(Backend)\n\t\t\t\t\t\t\t\t// init i18next\n\t\t\t\t\t\t\t\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t\t\t\t\t\t\t\t.init({\n\t\t\t\t\t\t\t\t\treturnEmptyString: true,\n\t\t\t\t\t\t\t\t\tcompatibilityJSON: 'v3',\n\t\t\t\t\t\t\t\t\tfallbackLng: 'en',\n\t\t\t\t\t\t\t\t\tlng: locale,\n\t\t\t\t\t\t\t\t\tdebug: false,\n\t\t\t\t\t\t\t\t\tinterpolation: {\n\t\t\t\t\t\t\t\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmissingKeyHandler: (_, __, key) => {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\t\t\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbackend: {\n\t\t\t\t\t\t\t\t\t\tloadPath:\n\t\t\t\t\t\t\t\t\t\t\tapp.name === SHELL_APP_ID\n\t\t\t\t\t\t\t\t\t\t\t\t? `${BASE_PATH}/i18n/{{lng}}.json`\n\t\t\t\t\t\t\t\t\t\t\t\t: `${dropRight(app.js_entrypoint.split('/')).join('/')}/i18n/{{lng}}.json`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[app.name] = newI18n;\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{} as Record<string, i18n>\n\t\t\t\t\t);\n\t\t\t\t\tstate.defaultI18n.t = state.instances[SHELL_APP_ID].t;\n\t\t\t\t\tstate.locale = locale;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n}));\n\ndefaultI18n\n\t.use(Backend)\n\t// init i18next\n\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t.init({\n\t\treturnEmptyString: true,\n\t\tcompatibilityJSON: 'v3',\n\t\tlng: defaultLng,\n\t\tfallbackLng: 'en',\n\t\tdebug: false,\n\t\tinterpolation: {\n\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t},\n\t\tmissingKeyHandler: (_, __, key) => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t},\n\t\tbackend: {\n\t\t\tloadPath: `${BASE_PATH}/i18n/{{lng}}.json`\n\t\t}\n\t});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { Container } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport type { EditorSettings, TinyMCE, Ui } from 'tinymce/tinymce';\n// TinyMCE so the global var exists\nimport tinymce from 'tinymce/tinymce';\n// Theme\nimport 'tinymce/themes/silver';\n// Toolbar icons\nimport 'tinymce/icons/default';\n// Editor styles\nimport 'tinymce/skins/ui/oxide/skin.min.css';\n\n// importing the plugin js.\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/anchor';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/autoresize';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/directionality';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/insertdatetime';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/preview';\nimport 'tinymce/plugins/print';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/wordcount';\n\nimport { Editor, IAllProps as EditorProps } from '@tinymce/tinymce-react';\nimport { useUserSettings } from '../account';\nimport { getT, useI18nStore } from '../i18n';\n\ntype ComposerProps = EditorProps & {\n\t/** The callback invoked when an edit is performed into the editor. `([text, html]) => {}` */\n\tonEditorChange?: (values: [string, string]) => void;\n\t/** Enable the distraction-free mode */\n\tinline?: boolean;\n\t/** The initial content of the editor */\n\tinitialValue?: EditorProps['initialValue'];\n\t/** The content of the editor (controlled mode) */\n\tvalue?: EditorProps['value'];\n\t/**\n\t * Callback called when user choose some file from the os.\n\t * If defined, a menu item to add inline images is added to the composer.\n\t */\n\tonFileSelect?: (arg: { editor: TinyMCE; files: HTMLInputElement['files'] | undefined }) => void;\n};\n\nexport const FileInput = styled.input`\n\tdisplay: none;\n`;\n\nconst Composer: FC<ComposerProps> = ({\n\tonEditorChange,\n\tonFileSelect,\n\tinline = false,\n\tvalue,\n\tinitialValue,\n\t...rest\n}) => {\n\tconst _onEditorChange = useCallback<NonNullable<EditorProps['onEditorChange']>>(\n\t\t(newContent, editor) => {\n\t\t\tonEditorChange?.([\n\t\t\t\teditor.getContent({ format: 'text' }),\n\t\t\t\teditor.getContent({ format: 'html' })\n\t\t\t]);\n\t\t},\n\t\t[onEditorChange]\n\t);\n\tconst { prefs } = useUserSettings();\n\tconst defaultStyle = useMemo(\n\t\t() => ({\n\t\t\tfont: prefs?.zimbraPrefHtmlEditorDefaultFontFamily,\n\t\t\tfontSize: prefs?.zimbraPrefHtmlEditorDefaultFontSize,\n\t\t\tcolor: prefs?.zimbraPrefHtmlEditorDefaultFontColor\n\t\t}),\n\t\t[prefs]\n\t);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst onFileClick = useCallback(() => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current.click();\n\t\t}\n\t}, []);\n\tconst t = getT();\n\tconst { locale } = useI18nStore.getState();\n\tconst inlineLabel = useMemo(() => t('label.add_inline_image', 'Add inline image'), [t]);\n\n\tconst setupCallback = useCallback<NonNullable<EditorSettings['setup']>>(\n\t\t(editor) => {\n\t\t\tif (onFileSelect)\n\t\t\t\teditor.ui.registry.addMenuButton('imageSelector', {\n\t\t\t\t\ticon: 'gallery',\n\t\t\t\t\ttooltip: t('label.select_image', 'Select image'),\n\t\t\t\t\tfetch: (callback) => {\n\t\t\t\t\t\tconst items: Ui.Menu.MenuItemSpec[] = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: inlineLabel,\n\t\t\t\t\t\t\t\tonAction: (): void => {\n\t\t\t\t\t\t\t\t\tonFileClick();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t];\n\t\t\t\t\t\tcallback(items);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\t[inlineLabel, onFileClick, onFileSelect, t]\n\t);\n\n\tconst editorInitConfig = useMemo<EditorProps['init']>(\n\t\t() => ({\n\t\t\tcontent_css: `${BASE_PATH}/tinymce/skins/content/default/content.css`,\n\t\t\tlanguage_url: `${BASE_PATH}tinymce/langs/${locale}.js`,\n\t\t\tlanguage: locale,\n\t\t\tsetup: setupCallback,\n\t\t\tmin_height: 350,\n\t\t\tauto_focus: true,\n\t\t\tmenubar: false,\n\t\t\tstatusbar: false,\n\t\t\tbranding: false,\n\t\t\tresize: true,\n\t\t\tinline,\n\t\t\tfontsize_formats:\n\t\t\t\t'8pt 9pt 10pt 11pt 12pt 13pt 14pt 16pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt',\n\t\t\tobject_resizing: 'img',\n\t\t\tstyle_formats: [\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Headers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'h1', block: 'h1' },\n\t\t\t\t\t\t{ title: 'h2', block: 'h2' },\n\t\t\t\t\t\t{ title: 'h3', block: 'h3' },\n\t\t\t\t\t\t{ title: 'h4', block: 'h4' },\n\t\t\t\t\t\t{ title: 'h5', block: 'h5' },\n\t\t\t\t\t\t{ title: 'h6', block: 'h6' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Blocks',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'p', block: 'p' },\n\t\t\t\t\t\t{ title: 'div', block: 'div' },\n\t\t\t\t\t\t{ title: 'pre', block: 'pre' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Containers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'section', block: 'section', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'article', block: 'article', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'blockquote', block: 'blockquote', wrapper: true },\n\t\t\t\t\t\t{ title: 'hgroup', block: 'hgroup', wrapper: true },\n\t\t\t\t\t\t{ title: 'aside', block: 'aside', wrapper: true },\n\t\t\t\t\t\t{ title: 'figure', block: 'figure', wrapper: true }\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t],\n\t\t\tplugins: [\n\t\t\t\t'advlist',\n\t\t\t\t'autolink',\n\t\t\t\t'lists',\n\t\t\t\t'link',\n\t\t\t\t'image',\n\t\t\t\t'edit',\n\t\t\t\t'file',\n\t\t\t\t'charmap',\n\t\t\t\t'print',\n\t\t\t\t'preview',\n\t\t\t\t'anchor',\n\t\t\t\t'searchreplace',\n\t\t\t\t'code',\n\t\t\t\t'fullscreen',\n\t\t\t\t'insertdatetime',\n\t\t\t\t'media',\n\t\t\t\t'table',\n\t\t\t\t'paste',\n\t\t\t\t'code',\n\t\t\t\t'help',\n\t\t\t\t'quickbars',\n\t\t\t\t'directionality',\n\t\t\t\t'autoresize',\n\t\t\t\t'visualblocks'\n\t\t\t],\n\t\t\ttoolbar: inline\n\t\t\t\t? false\n\t\t\t\t: [\n\t\t\t\t\t\t'fontselect fontsizeselect styleselect visualblocks',\n\t\t\t\t\t\t'bold italic underline strikethrough',\n\t\t\t\t\t\t'removeformat code',\n\t\t\t\t\t\t'alignleft aligncenter alignright alignjustify',\n\t\t\t\t\t\t'forecolor backcolor',\n\t\t\t\t\t\t'bullist numlist outdent indent',\n\t\t\t\t\t\t'ltr rtl',\n\t\t\t\t\t\t'insertfile image',\n\t\t\t\t\t\t'imageSelector'\n\t\t\t\t ].join(' | '),\n\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t: 'quicklink',\n\t\t\tcontextmenu: inline ? '' : '',\n\t\t\ttoolbar_mode: 'wrap',\n\t\t\tforced_root_block: false,\n\t\t\tcontent_style: `body { color: ${defaultStyle?.color}; font-size: ${defaultStyle?.fontSize}; font-family: ${defaultStyle?.font}; }`,\n\t\t\tvisualblocks_default_state: false,\n\t\t\tend_container_on_empty_block: true,\n\t\t\trelative_urls: false,\n\t\t\tremove_script_host: false\n\t\t}),\n\t\t[defaultStyle?.color, defaultStyle?.font, defaultStyle?.fontSize, inline, locale, setupCallback]\n\t);\n\n\tconst fileInputOnChange = useCallback((): void => {\n\t\tonFileSelect?.({ editor: tinymce, files: inputRef?.current?.files });\n\t}, [onFileSelect]);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<FileInput\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={inputRef}\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tonChange={fileInputOnChange}\n\t\t\t\tmultiple\n\t\t\t/>\n\n\t\t\t<Editor\n\t\t\t\tinitialValue={initialValue}\n\t\t\t\tvalue={value}\n\t\t\t\tinit={editorInitConfig}\n\t\t\t\tonEditorChange={_onEditorChange}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</Container>\n\t);\n};\n\nexport default Composer;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { FC, FunctionComponent } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().functions?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const getIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore.getState().components?.[id];\n\tif (Integration) {\n\t\tconst C: FC = (props: unknown) => (\n\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t<Integration.item {...props} />\n\t\t\t</AppContextProvider>\n\t\t);\n\t\treturn [C, true];\n\t}\n\treturn [(): null => null, false];\n};\n\nexport const getActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn compact(\n\t\tmap(factories, (f) => {\n\t\t\ttry {\n\t\t\t\tconst action = f(target);\n\t\t\t\treturn action;\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(e);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})\n\t);\n};\n\nexport const getActionsFactory = (type: string): (<T>(target: T) => Array<Action>) => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn <T,>(target: T): Array<Action> =>\n\t\tcompact(\n\t\t\tmap(factories, (f) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst action = f(target);\n\t\t\t\t\treturn action;\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n};\n\nexport const getAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\tconst action = factory?.(target);\n\treturn [action, !!action];\n};\n\nexport const getActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { useMemo, FC, FunctionComponent, useCallback } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory, CombinedActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.functions?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const useIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore((s) => s.components?.[id]);\n\treturn useMemo(() => {\n\t\tif (Integration) {\n\t\t\tconst C: FC = (props: unknown) => (\n\t\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t\t<Integration.item {...props} />\n\t\t\t\t</AppContextProvider>\n\t\t\t);\n\t\t\treturn [C, true];\n\t\t}\n\t\treturn [(): null => null, false];\n\t}, [Integration]);\n};\n\nexport const useActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t) ?? [],\n\t\t[factories, target]\n\t);\n\treturn actions;\n};\n\nexport const useActionsFactory = <T,>(type: string): CombinedActionFactory<T> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst combinedFactory = useCallback(\n\t\t(target: unknown) =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[factories]\n\t);\n\treturn combinedFactory;\n};\n\nexport const useAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\tconst action = useMemo(() => {\n\t\ttry {\n\t\t\treturn factory?.(target);\n\t\t} catch (e) {\n\t\t\treturn undefined;\n\t\t}\n\t}, [factory, target]);\n\treturn [action, !!action];\n};\n\nexport const useActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport create from 'zustand';\nimport { forEach, includes, omit } from 'lodash';\nimport { ComponentType } from 'react';\nimport type { ActionFactory, AnyFunction, IntegrationsState } from '../../../types';\nimport Composer from './composer';\nimport { SHELL_APP_ID } from '../../constants';\n\nexport const useIntegrationsStore = create<IntegrationsState>((set) => ({\n\tactions: {},\n\tcomponents: {\n\t\tcomposer: {\n\t\t\titem: Composer,\n\t\t\tapp: SHELL_APP_ID\n\t\t}\n\t},\n\tfunctions: {},\n\tregisterActions: <T>(\n\t\t...items: Array<{ id: string; action: ActionFactory<T>; type: string }>\n\t): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, action, type }) => {\n\t\t\t\t\tif (!state.actions[type]) state.actions[type] = {};\n\t\t\t\t\tstate.actions[type][id] = action;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterComponents:\n\t\t(app: string) =>\n\t\t(...items: Array<{ id: string; component: ComponentType }>): void =>\n\t\t\tset(\n\t\t\t\tproduce((state) => {\n\t\t\t\t\tforEach(items, ({ id, component }) => {\n\t\t\t\t\t\tstate.components[id] = { app, item: component };\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t),\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, fn }) => {\n\t\t\t\t\tstate.functions[id] = fn;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveActions: (...ids: Array<string>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(state.actions, (actionTypeMap, type) => {\n\t\t\t\t\tforEach(actionTypeMap, (actionFactory, actionFactoryId) => {\n\t\t\t\t\t\tif (includes(ids, actionFactoryId)) {\n\t\t\t\t\t\t\tdelete state.actions[type][actionFactoryId];\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tcomponents: omit(s.components, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tfunctions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { LoginConfigStore } from '../../../types/loginConfig';\n\nexport const useLoginConfigStore = create<LoginConfigStore>(() => ({}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../../../types';\nimport { useNetworkStore } from './store';\n\nexport const useNotify = (): SoapNotify[] => {\n\tconst notify = useNetworkStore((s) => s.notify ?? []);\n\treturn notify;\n};\nexport const useRefresh = (): SoapRefresh => useNetworkStore((s) => s.refresh ?? {});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { NetworkState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useNetworkStore = create<NetworkState>(() => ({\n\tpollingInterval: 30000,\n\tseq: 0\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forEach } from 'lodash';\nimport { SoapContext } from '../../../types';\nimport { folderWorker, tagWorker } from '../../workers';\nimport { useFolderStore } from '../folder';\nimport { useTagStore } from '../tags';\nimport { useNetworkStore } from './store';\n\nexport const handleSync = ({ refresh, notify }: SoapContext): Promise<void> =>\n\tnew Promise((r) => {\n\t\tconst { seq } = useNetworkStore.getState();\n\t\tif (refresh) {\n\t\t\ttagWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\ttags: refresh.tags\n\t\t\t});\n\t\t\tfolderWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\tfolder: refresh.folder ?? []\n\t\t\t});\n\t\t}\n\t\tif (notify?.length) {\n\t\t\tforEach(notify, (item) => {\n\t\t\t\tif (item.seq > seq) {\n\t\t\t\t\ttagWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useTagStore.getState().tags\n\t\t\t\t\t});\n\t\t\t\t\tfolderWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useFolderStore.getState().folders\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tr();\n\t});\n// export const noOp = (): void => {\n// \t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n// \tgetSoapFetch(SHELL_APP_ID)(\n// \t\t'NoOp',\n// \t\tuseNetworkStore.getState().pollingInterval === 500\n// \t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n// \t\t\t: { _jsns: 'urn:zimbraMail' }\n// \t);\n// };\n// export const handleSoapContext = ({ notify, refresh, session, change }: SoapContext): void =>\n// \tuseNetworkStore.setState({\n// \t\tsession,\n// \t\tchange,\n// \t\trefresh,\n// \t\tseq: maxBy(notify, 'seq'),\n// \t\tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// \t\tnotify: map(notify, (notifyItem) => ({\n// \t\t\t...notifyItem,\n// \t\t\tdeleted: notifyItem.deleted?.id?.split(',')\n// \t\t}))\n// \t});\n// // handleTagSync(_context);\n// // useNetworkStore.setState({\n// // \tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// // \t,\n// // \t...res?.Header?.context\n// // });\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { pick } from 'lodash';\nimport { Tags } from '../../../types';\nimport { useTagStore } from './store';\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nexport const useTags = (ids?: Array<string> | string): Tags =>\n\tuseTagStore((s) => (ids ? pick(s.tags, ids) : s.tags));\nexport const getTags = (ids?: Array<string> | string): Tags =>\n\tids ? pick(useTagStore.getState().tags, ids) : useTagStore.getState().tags;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { TagState } from '../../../types';\nimport { tagWorker } from '../../workers';\n\nexport const useTagStore = create<TagState>(() => ({\n\ttags: {}\n}));\n\ntagWorker.onmessage = ({ data }): void => {\n\tuseTagStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Link as RRLink, LinkProps } from 'react-router-dom';\nimport { parseParams } from '../history/hooks';\n\ntype AppLinkProps = LinkProps & {\n\troute?: string;\n};\nexport const AppLink: FC<AppLinkProps> = ({ to, route, ...rest }) => {\n\tconst _to = useMemo(() => parseParams({ path: to, route }), [route, to]);\n\treturn <RRLink style={{ textDecoration: 'none' }} to={_to} {...rest} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Modal } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { getT } from '../store/i18n';\n\nexport const RouteLeavingGuard: FC<{\n\twhen?: boolean;\n\tonSave: () => void;\n}> = ({ children, when, onSave }) => {\n\tconst history = useHistory();\n\tconst lastLocationInitial = useMemo(() => history.location.pathname, [history]);\n\tconst [modalVisible, setModalVisible] = useState(false);\n\tconst [lastLocation, setLastLocation] = useState<Location>(lastLocationInitial);\n\tconst [confirmedNavigation, setConfirmedNavigation] = useState(false);\n\tconst t = getT();\n\tconst onClose = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(true);\n\t};\n\tconst handleBlockedNavigation = (nextLocation: Location): boolean => {\n\t\tif (\n\t\t\t!confirmedNavigation &&\n\t\t\tnextLocation.pathname !== (lastLocation?.pathname || lastLocationInitial)\n\t\t) {\n\t\t\tsetModalVisible(true);\n\t\t\tsetLastLocation(nextLocation);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\tconst onConfirm = (): void => {\n\t\tsetModalVisible(false);\n\t\tonSave();\n\t\tsetConfirmedNavigation(true);\n\t};\n\tuseEffect(() => {\n\t\tif (confirmedNavigation && lastLocation) {\n\t\t\t// Navigate to the previous blocked location with your navigate function\n\t\t\thistory.push(lastLocation.pathname);\n\t\t}\n\t}, [confirmedNavigation, history, lastLocation]);\n\treturn (\n\t\t<>\n\t\t\t<Prompt when={when} message={handleBlockedNavigation} />\n\t\t\t{/* Your own alert/dialog/modal component */}\n\t\t\t<Modal\n\t\t\t\topen={modalVisible}\n\t\t\t\tonClose={onClose}\n\t\t\t\tonConfirm={onConfirm}\n\t\t\t\ttitle={t('label.unsaved_changes', 'You have unsaved changes')}\n\t\t\t\tdismissLabel={t('label.leave_anyway', 'Leave anyway')}\n\t\t\t\tconfirmLabel={t('label.save_and_leave', 'Save and leave')}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Modal>\n\t\t</>\n\t);\n};\nexport default RouteLeavingGuard;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Button, Container } from '@zextras/carbonio-design-system';\nimport { noop } from 'lodash';\n\nexport const Spinner: FC = () => (\n\t<Container width=\"fill\" height=\"fill\" mainAlignment=\"center\" crossAlignment=\"center\">\n\t\t{/* the \"Button\" string doesn't need to be translated as it's not rendered */}\n\t\t<Button type=\"ghost\" label=\"Button\" color=\"primary\" loading onClick={noop} />\n\t</Container>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport {\n\tContainer,\n\tDropdown,\n\tDropdownItem,\n\tIconButton,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { map, noop } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport type { UtilityView } from '../../types';\nimport { noOp } from '../network/fetch';\nimport { logout } from '../network/logout';\nimport { useUserAccount } from '../store/account';\nimport { addBoard } from '../store/boards';\nimport { getT } from '../store/i18n';\nimport { useUtilityBarStore } from './store';\nimport { useUtilityViews } from './utils';\nimport { SHELL_APP_ID } from '../constants';\n\nconst UtilityBarItem: FC<{ view: UtilityView }> = ({ view }) => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst onClick = useCallback((): void => {\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\tsetMode(current !== view.id ? 'open' : mode !== 'open' ? 'open' : 'closed');\n\t\tsetCurrent(view.id);\n\t}, [current, mode, setCurrent, setMode, view.id]);\n\tif (typeof view.button === 'string') {\n\t\treturn (\n\t\t\t<Tooltip label={view.label} placement=\"bottom-end\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.button}\n\t\t\t\t\ticonColor={current === view.id ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <view.button mode={mode} setMode={setMode} />;\n};\n\nexport const ShellUtilityBar: FC = () => {\n\tconst views = useUtilityViews();\n\tconst t = getT();\n\tconst account = useUserAccount();\n\tconst accountItems = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tid: 'account',\n\t\t\t\t\tlabel: account?.displayName ?? 'Account',\n\t\t\t\t\tdisabled: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'email',\n\t\t\t\t\tlabel: account?.name ?? '',\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\titemTextSize: 'small'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: 'divider',\n\t\t\t\t\tid: 'divider',\n\t\t\t\t\tlabel: 'divider'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'feedback',\n\t\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\t\tclick: () =>\n\t\t\t\t\t\taddBoard(SHELL_APP_ID)({\n\t\t\t\t\t\t\turl: 'feedback',\n\t\t\t\t\t\t\ttitle: t('label.feedback', 'Feedback'),\n\t\t\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t\t\t}),\n\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'update',\n\t\t\t\t\tlabel: t('label.update_view', 'Update view'),\n\t\t\t\t\tclick: (): void => noOp(),\n\t\t\t\t\ticon: 'Refresh'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'docs',\n\t\t\t\t\tlabel: t('label.documentation', 'Documentation'),\n\t\t\t\t\t// TODO: Replace when the correct link is available\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\t\t\t\t\tclick: (): void => {},\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\ticon: 'InfoOutline'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'logout',\n\t\t\t\t\tlabel: t('label.logout', 'Logout'),\n\t\t\t\t\tclick: logout,\n\t\t\t\t\ticon: 'LogOut'\n\t\t\t\t}\n\t\t\t] as DropdownItem[],\n\t\t[account, t]\n\t);\n\treturn (\n\t\t<Container orientation=\"horizontal\" width=\"fit\">\n\t\t\t{map(views, (view) => (\n\t\t\t\t<UtilityBarItem view={view} key={view.id} />\n\t\t\t))}\n\t\t\t<Tooltip label={account?.displayName ?? account?.name} placement=\"bottom-end\">\n\t\t\t\t<Dropdown items={accountItems} maxWidth=\"18.75rem\" disableAutoFocus>\n\t\t\t\t\t<IconButton icon=\"PersonOutline\" size=\"large\" onClick={noop} />\n\t\t\t\t</Dropdown>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './bar';\nexport * from './panel';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { Container, Responsive } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport styled from 'styled-components';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useUtilityViews } from './utils';\nimport { useUtilityBarStore } from './store';\n\nconst Panel = styled(Container)<{ mode: string }>`\n\twidth: ${({ mode }): number => (mode !== 'closed' ? 16 : 3)}rem;\n\tborder-radius: 0;\n\theight: 100%;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\ttransition: width 0.2s;\n\tborder-left: 0.0625rem solid ${({ theme }): string => theme.palette.gray2.regular};\n`;\nconst Spacer = styled.div<{ mode: string }>`\n\tposition: relative;\n\twidth: ${({ mode }): number => (mode === 'open' ? 16 : 3)}rem;\n\theight: 100%;\n\ttransition: width 0.2s;\n`;\n\nexport const ShellUtilityPanel: FC = () => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst views = useUtilityViews();\n\tconst currentPanel = useMemo(() => find(views, (view) => view.id === current), [current, views]);\n\tuseEffect(() => {\n\t\tif (!(current && currentPanel)) {\n\t\t\tsetCurrent(views[0]?.id);\n\t\t}\n\t}, [current, currentPanel, setCurrent, views]);\n\treturn currentPanel ? (\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<Spacer mode={mode}>\n\t\t\t\t<Panel mode={mode} mainAlignment=\"flex-start\">\n\t\t\t\t\t{currentPanel && (\n\t\t\t\t\t\t<AppContextProvider pkg={currentPanel?.id}>\n\t\t\t\t\t\t\t<currentPanel.component mode={mode} setMode={setMode} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t)}\n\t\t\t\t</Panel>\n\t\t\t</Spacer>\n\t\t</Responsive>\n\t) : null;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport create from 'zustand';\nimport { UtilityBarStore } from '../../types';\n\nexport const useUtilityBarStore = create<UtilityBarStore>((set) => ({\n\tmode: 'closed',\n\tcurrent: undefined,\n\tsecondaryBarState: true,\n\tsetMode: (mode): void =>\n\t\tset((s) => ({ mode, secondaryBarState: mode === 'open' ? false : s.secondaryBarState })),\n\tsetCurrent: (current): void => set({ current }),\n\tsetSecondaryBarState: (secondaryBarState: boolean): void => set({ secondaryBarState })\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, intersection, omit } from 'lodash';\nimport { useMemo } from 'react';\nimport { AppRoute, PrimaryAccessoryView, SecondaryAccessoryView, UtilityView } from '../../types';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\n\nexport const checkList = (l1: Array<string>, l2?: Array<string>): boolean =>\n\tintersection(l1, l2).length > 0;\n\nexport const checkRoute = (\n\tview: UtilityView | PrimaryAccessoryView | SecondaryAccessoryView,\n\tactiveRoute?: AppRoute\n): boolean => {\n\tconst activeRouteValues = Object.values(omit(activeRoute, 'standalone') ?? {});\n\tif (view.blacklistRoutes) return !checkList(activeRouteValues, view.blacklistRoutes);\n\tif (view.whitelistRoutes) return checkList(activeRouteValues, view.whitelistRoutes);\n\treturn true;\n};\nexport const useUtilityViews = (): Array<UtilityView> => {\n\tconst utilityViews = useAppStore((s) => s.views.utilityBar);\n\n\tconst activeRoute = useCurrentRoute();\n\treturn useMemo(\n\t\t() => filter(utilityViews, (v) => checkRoute(v, activeRoute)),\n\t\t[activeRoute, utilityViews]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const folderWorker = new Worker(new URL('./folder', import.meta.url));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport type { DarkReaderPropValues } from '../misc';\nimport { DARK_READER_PROP_KEY } from '../../src/constants';\nimport type { SHELL_APP_ID } from '../exports';\n\nexport interface ZimletProp {\n\tname: string;\n\tzimlet: string;\n\t_content: string;\n}\n\nexport interface ZappDarkreaderModeZimletProp extends ZimletProp {\n\tname: typeof DARK_READER_PROP_KEY;\n\tzimlet: SHELL_APP_ID;\n\t_content: DarkReaderPropValues;\n}\n\nexport type SoapFetch = <Request, Response>(\n\tapi: string,\n\tbody: Request,\n\taccount?: string\n) => Promise<Response>;\n\nexport type AccountState = {\n\tauthenticated: boolean;\n\taccount?: Account;\n\tsettings: AccountSettings;\n\tzimbraVersion?: string;\n\tusedQuota: number;\n};\n\nexport type Account = {\n\t// apps: Array<AppPkgDescription>;\n\tid: string;\n\tname: string;\n\tdisplayName: string;\n\t//\tsettings: AccountSettings;\n\tsignatures: { signature: Array<unknown> };\n\tidentities: any;\n\trights: AccountRights;\n};\n\nexport type DelegateProps = {\n\temail: string;\n\tright: string;\n};\n\nexport type AccountSettings = {\n\tattrs: Record<string, string | number | Array<string | number>>;\n\tprefs: Record<string, string | number | Array<string | number>>;\n\tprops: Array<ZimletProp>;\n};\n\nexport type AccountRightTargetEmail = {\n\taddr: string;\n};\n\nexport type AccountRightTarget = {\n\td: string;\n\tid: string;\n\tname: string;\n\ttype: string;\n\temail: Array<AccountRightTargetEmail>;\n};\n\nexport type AccountRightName =\n\t| 'sendAs'\n\t| 'sendAsDistList'\n\t| 'viewFreeBusy'\n\t| 'sendOnBehalfOf'\n\t| 'sendOnBehalfOfDistList';\nexport type AccountRights = {\n\ttargets: Array<{\n\t\tright: AccountRightName;\n\t\ttarget: Array<AccountRightTarget>;\n\t}>;\n};\n","/* eslint-disable @typescript-eslint/ban-types */\n/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ComponentType, FC } from 'react';\nimport { DefaultTheme } from 'styled-components';\nimport { QueryChip } from '../search';\n\nexport type CarbonioModule = {\n\tcommit: string;\n\tdescription: string;\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: string;\n\tname: string;\n\tpriority: number;\n\tversion: string;\n\ttype: 'carbonio' | 'shell';\n\tattrKey?: string;\n\ticon: string;\n\tdisplay: string;\n\tsentryDsn?: string;\n};\n\nexport type StandaloneFlags = {\n\thidePrimaryBar?: boolean;\n\thideShellHeader?: boolean;\n\tallowUnauthenticated?: boolean;\n};\n\nexport type AppRoute = {\n\t// persist?: boolean;\n\tid: string;\n\troute: string;\n\tapp: string;\n\tstandalone?: StandaloneFlags;\n};\n\nexport type AppRouteData = AppRoute & {\n\tprimaryBar: PrimaryBarView;\n\tsecondaryBar?: SecondaryBarView;\n\tappView: AppView;\n};\n\nexport type BadgeInfo = {\n\tshow: boolean;\n\tcount?: number;\n\tshowCount?: boolean;\n\tcolor?: keyof DefaultTheme['palette'];\n};\n\nexport type CarbonioView<P> = {\n\tid: string;\n\tapp: string;\n\troute: string;\n\tcomponent: ComponentType<P>;\n};\n\nexport type CarbonioAccessoryView<P> = {\n\tid: string;\n\tapp: string;\n\twhitelistRoutes?: Array<string>;\n\tblacklistRoutes?: Array<string>;\n\tposition: number;\n\tcomponent: ComponentType<P>;\n};\nexport type PrimaryBarComponentProps = { active: boolean };\nexport type SecondaryBarComponentProps = { expanded: boolean };\nexport type AppViewComponentProps = {};\nexport type BoardViewComponentProps = {\n\twindowHistory: History;\n};\nexport type SettingsViewProps = {};\nexport type SearchViewProps = {\n\tuseQuery: () => [QueryChip[], Function];\n\tResultsHeader: FC<{ label: string }>;\n\tuseDisableSearch: () => [boolean, Function];\n};\nexport type PrimaryAccessoryViewProps = {};\nexport type SecondaryAccessoryViewProps = { expanded: boolean };\nexport type PanelMode = 'closed' | 'overlap' | 'open';\n\nexport type UtilityBarComponentProps = { mode: PanelMode; setMode: (mode: PanelMode) => void };\nexport type PrimaryBarView = Omit<CarbonioView<PrimaryBarComponentProps>, 'component'> & {\n\tcomponent: string | ComponentType<PrimaryBarComponentProps>;\n\tbadge: BadgeInfo;\n\tposition: number;\n\tvisible: boolean;\n\tlabel: string;\n};\n\nexport type SecondaryBarView = CarbonioView<SecondaryBarComponentProps>;\n\nexport type AppView = CarbonioView<AppViewComponentProps>;\n\nexport type BoardView = CarbonioView<BoardViewComponentProps>;\n\nexport type UtilityView = CarbonioAccessoryView<UtilityBarComponentProps> & {\n\tbutton: string | ComponentType<UtilityBarComponentProps>;\n\tcomponent: ComponentType<UtilityBarComponentProps>;\n\tbadge: BadgeInfo;\n\tlabel: string;\n};\nexport type SettingsSubSection = { label: string; id: string };\nexport type SettingsView = CarbonioView<SettingsViewProps> & {\n\ticon: string;\n\tlabel: string;\n\tposition: number;\n\tsubSections?: Array<SettingsSubSection>;\n};\n\nexport type SearchView = CarbonioView<SearchViewProps> & {\n\ticon: string;\n\tlabel: string;\n\tposition: number;\n};\n\nexport type PrimaryAccessoryView = CarbonioAccessoryView<PrimaryAccessoryViewProps> & {\n\tcomponent: string | ComponentType;\n\tonClick?: (ev: KeyboardEvent | React.MouseEvent<HTMLButtonElement> | undefined) => void;\n\tlabel: string;\n};\n\nexport type SecondaryAccessoryView = CarbonioAccessoryView<SecondaryAccessoryViewProps>;\n\nexport type AppRouteDescriptor = {\n\tid: string;\n\troute: string;\n\tapp: string;\n\tprimaryBar: string | ComponentType<PrimaryBarComponentProps>;\n\tbadge: BadgeInfo;\n\tposition: number;\n\tvisible: boolean;\n\tlabel: string;\n\tsecondaryBar?: ComponentType<SecondaryBarComponentProps>;\n\tappView: ComponentType<AppViewComponentProps>;\n\tstandalone?: StandaloneFlags;\n};\nexport type AppSetters = {\n\taddApps: (apps: Array<Partial<CarbonioModule>>) => void;\n\t// add route (id route primaryBar secondaryBar app)\n\taddRoute: (routeData: AppRouteDescriptor) => string;\n\tsetRouteVisibility: (id: string, visible: boolean) => void;\n\t// remove route (id | route)\n\tremoveRoute: (id: string) => void;\n\t//\n\t// update primaryBar\n\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n\t//\n\t// add board\n\taddBoardView: (data: BoardView) => string;\n\t// remove board\n\tremoveBoardView: (id: string) => void;\n\t//\n\t// add settings\n\taddSettingsView: (data: SettingsView) => string;\n\t// remove settings\n\tremoveSettingsView: (id: string) => void;\n\t//\n\t// add search\n\taddSearchView: (data: SearchView) => string;\n\t// remove search\n\tremoveSearchView: (id: string) => void;\n\t//\n\t// add utility\n\taddUtilityView: (data: UtilityView) => string;\n\t// remove utility\n\tremoveUtilityView: (id: string) => void;\n\t//\n\t// add primaryAccessory\n\taddPrimaryAccessoryView: (data: PrimaryAccessoryView) => string;\n\t// remove primaryAccessory\n\tremovePrimaryAccessoryView: (id: string) => void;\n\t//\n\t// add secondaryAccessory\n\taddSecondaryAccessoryView: (data: SecondaryAccessoryView) => string;\n\t// remove secondaryAccessory\n\tremoveSecondaryAccessoryView: (id: string) => void;\n\tsetAppContext: (app: string) => (context: unknown) => void;\n};\nexport type AppState = {\n\tstandalone: false | string;\n\tapps: Record<string, CarbonioModule>;\n\tappContexts: Record<string, unknown>;\n\tentryPoints: Record<string, ComponentType>;\n\troutes: Record<string, AppRoute>;\n\tviews: {\n\t\tprimaryBar: Array<PrimaryBarView>;\n\t\tsecondaryBar: Array<SecondaryBarView>;\n\t\tappView: Array<AppView>;\n\t\tboard: Array<BoardView>;\n\t\tutilityBar: Array<UtilityView>;\n\t\tsettings: Array<SettingsView>;\n\t\tsearch: Array<SearchView>;\n\t\tprimaryBarAccessories: Array<PrimaryAccessoryView>;\n\t\tsecondaryBarAccessories: Array<SecondaryAccessoryView>;\n\t};\n\tsetters: AppSetters;\n\tshell: CarbonioModule;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport type Board<T = unknown> = {\n\tid: string;\n\turl: string;\n\tapp: string;\n\ticon: string;\n\ttitle: string;\n\tcontext?: T;\n\tonClose?: (board: Board<T>) => void;\n\tonGoToPanel?: (board: Board<T>) => void;\n};\n\nexport type BoardState = {\n\tboards: Record<string, Board<any>>;\n\texpanded: boolean;\n\tminimized: boolean;\n\tcurrent?: string;\n};\n\nexport type BoardHooksContext = {\n\tcloseBoard: () => void;\n\tupdateBoard: (b: Partial<Board>) => void;\n\tsetCurrentBoard: () => void;\n\tgetBoardContext: <T>() => T;\n\tgetBoard: <T>() => Board<T>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { i18n } from 'i18next';\nimport { ComponentType, Dispatch, FC, SetStateAction } from 'react';\nimport { TFunction } from 'react-i18next';\nimport { LinkProps } from 'react-router-dom';\nimport {\n\tAccount,\n\tAccountRightName,\n\tAccountRights,\n\tAccountRightTarget,\n\tAccountSettings,\n\tSoapFetch\n} from '../account';\nimport {\n\tAppRoute,\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../apps';\nimport { Board, BoardHooksContext } from '../boards';\nimport { Folder, Folders } from '../folder';\nimport { Action, ActionFactory, AnyFunction, CombinedActionFactory } from '../integrations';\nimport { AccordionFolder, HistoryParams, ShellModes } from '../misc';\nimport { CreateTagResponse, Mods, SoapNotify, SoapRefresh, TagActionResponse } from '../network';\nimport { INotificationManager } from '../notification';\nimport { QueryChip } from '../search';\nimport { Tag, Tags } from '../tags';\n\ndeclare const getBridgedFunctions: () => {\n\tcreateModal: (...params: any[]) => void;\n\tcreateSnackbar: (...params: any[]) => void;\n\tgetHistory: () => History;\n};\ndeclare const editSettings: (mods: Mods) => Promise<any>;\ndeclare const ZIMBRA_STANDARD_COLORS: Array<{ zValue: number; hex: string; zLabel: string }>;\ndeclare const FOLDERS: {\n\t[name: string]: string;\n};\ndeclare const SHELL_APP_ID = 'carbonio-shell-ui';\ndeclare const SETTINGS_APP_ID = 'settings';\ndeclare const SEARCH_APP_ID = 'search';\ndeclare const ACTION_TYPES: {\n\t[name: string]: string;\n};\ndeclare const ROOT_NAME: string;\ndeclare const SHELL_MODES: Record<string, ShellModes>;\ndeclare const BASENAME: string;\n\ndeclare const IS_STANDALONE: boolean;\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ndeclare const getIntegratedFunction: (id: string) => [Function, boolean];\ndeclare const getIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\ndeclare const getActions: <T>(target: T, type: string) => Array<Action>;\ndeclare const getActionsFactory: (type: string) => <T>(target: T) => Array<Action>;\ndeclare const getAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\ndeclare const getActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\n// eslint-disable-next-line @typescript-eslint/ban-types\ndeclare const useIntegratedFunction: (id: string) => [Function, boolean];\ndeclare const useIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\ndeclare const useActions: <T>(target: T, type: string) => Array<Action>;\ndeclare const useActionsFactory: <T>(type: string) => CombinedActionFactory<T>;\ndeclare const useAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\ndeclare const useActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\ndeclare const useApp: () => CarbonioModule;\ndeclare const getApp: () => CarbonioModule;\ndeclare const useAppContext: <T>() => T;\ndeclare const getAppContext: <T>() => T;\ndeclare const useUserAccount: () => Account;\ndeclare const useUserAccounts: () => Array<Account>;\ndeclare const useUserRights: () => AccountRights;\ndeclare const useUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\ndeclare const getUserAccount: () => Account;\ndeclare const getUserAccounts: () => Array<Account>;\ndeclare const getUserRights: () => AccountRights;\ndeclare const getUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\ndeclare const useTags: () => Tags;\ndeclare const getTags: () => Tags;\ndeclare const useTag: (id: string) => Tag;\ndeclare const getTag: (id: string) => Tag;\ndeclare const useFolder: (id: string) => BaseFolder | Folder | LinkFolder;\ndeclare const getFolder: (id: string) => BaseFolder | Folder | LinkFolder;\ndeclare const useFolders: () => Folders;\ndeclare const getFolders: () => Folders;\ndeclare const useRoot: (name: string) => Folder;\ndeclare const getRoot: (name: string) => Folder;\ndeclare const useRoots: () => Roots;\ndeclare const getRoots: () => Roots;\ndeclare const useRootByView: (view: string) => Folder;\ndeclare const getRootByView: (view: string) => Folder;\ndeclare const createTag: (tag: Omit<Tag, 'id'>) => Promise<CreateTagResponse>;\ndeclare const renameTag: (id: string, name: string) => Promise<TagActionResponse>;\ndeclare const deleteTag: (id: string) => Promise<TagActionResponse>;\ndeclare const changeTagColor: (id: string, color: number | string) => Promise<TagActionResponse>;\ndeclare const useUserSettings: () => AccountSettings;\ndeclare const useUserSetting: <T = void>(...path: Array<string>) => string | T;\ndeclare const getUserSettings: () => AccountSettings;\ndeclare const getUserSetting: <T = void>(...path: Array<string>) => string | T;\ndeclare const useNotify: () => Array<SoapNotify>;\ndeclare const useRefresh: () => SoapRefresh;\ndeclare const AppLink: FC<LinkProps>;\ndeclare const Spinner: FC;\n\ndeclare const useIsMobile: () => boolean;\ndeclare const soapFetch: SoapFetch;\ndeclare const xmlSoapFetch: SoapFetch;\ndeclare const report: (error: Error, hint?: unknown) => void;\ndeclare const setAppContext: <T>(obj: T) => void;\n\ndeclare const removeActions: (...ids: Array<string>) => void;\ndeclare const registerActions: (\n\t...items: Array<{ id: string; action: ActionFactory<unknown>; type: string }>\n) => void;\ndeclare const removeComponents: (...ids: Array<string>) => void;\ndeclare const registerComponents: (\n\t...items: Array<{ id: string; component: ComponentType }>\n) => void;\ndeclare const removeFunctions: (...ids: Array<string>) => void;\ndeclare const registerFunctions: (...items: Array<{ id: string; fn: AnyFunction }>) => void;\n// add route (id route primaryBar secondaryBar app)\ndeclare const addRoute: (routeData: Partial<AppRouteDescriptor>) => string;\ndeclare const setRouteVisibility: (id: string, visible: boolean) => void;\n// remove route (id | route)\ndeclare const removeRoute: (id: string) => void;\n//\n// update primaryBar\ndeclare const updatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string) => void;\ndeclare const updateUtilityBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n//\n// add board\ndeclare const addBoardView: (data: Record<string, unknown> & Partial<BoardView>) => string;\n// remove board\ndeclare const removeBoardView: (id: string) => void;\n//\n// add settings\ndeclare const addSettingsView: (data: Partial<SettingsView>) => string;\n// remove settings\ndeclare const removeSettingsView: (id: string) => void;\n//\n// add search\ndeclare const addSearchView: (data: Partial<SearchView>) => string;\n// remove search\ndeclare const removeSearchView: (id: string) => void;\n//\n// add utility\ndeclare const addUtilityView: (data: Partial<UtilityView>) => string;\n// remove utility\ndeclare const removeUtilityView: (id: string) => void;\n//\n// add primaryAccessory\ndeclare const addPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) => string;\n// remove primaryAccessory\ndeclare const removePrimaryAccessoryView: (id: string) => void;\n//\n// add secondaryAccessory\ndeclare const addSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) => string;\n// remove secondaryAccessory\ndeclare const removeSecondaryAccessoryView: (id: string) => void;\ndeclare const usePushHistoryCallback: () => (params: HistoryParams) => void;\ndeclare const useReplaceHistoryCallback: () => (params: HistoryParams) => void;\ndeclare const useGoBackHistoryCallback: () => () => void;\ndeclare const pushHistory: (params: HistoryParams) => void;\ndeclare const replaceHistory: (params: HistoryParams) => void;\ndeclare const goBackHistory: () => void;\ndeclare const useCurrentRoute: () => AppRoute | undefined;\ndeclare const getCurrentRoute: () => AppRoute | undefined;\n\n// FOLDERS\n\n// ROOTS\n\n// ROOTS BY USER\ndeclare const useRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\ndeclare const getRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\n\n// SEARCHES\n\ndeclare const useSearchFolder: (id: string) => SearchFolder | undefined;\ndeclare const useSearchFolders: (id: string) => SearchFolder | undefined;\ndeclare const getSearchFolder: () => Searches;\ndeclare const getSearchFolders: () => Searches;\n\n// Accordion-ize\n\ndeclare const useFoldersByView: (view: string) => Array<Folder>;\n\ndeclare const useFoldersAccordionByView: (\n\tview: string,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n) => Array<AccordionFolder>;\n\n// NOTIFICATION\ndeclare const getNotificationManager: () => INotificationManager;\n\n// Run Search\ndeclare const runSearch: (query: Array<QueryChip>, module: string) => void;\n\ndeclare const useLocalStorage: <T>(\n\tkey: string,\n\tinitialValue: T\n) => [T, Dispatch<SetStateAction<T>>];\n\n// TRANSLATIONS\ndeclare const getI18n: () => i18n;\ndeclare const useI18n: () => i18n;\ndeclare const t: TFunction;\n\ndeclare const addBoard: <T = any>(\n\tboard: Omit<Board<T>, 'app' | 'icon' | 'id'> & { id?: string; icon?: string },\n\texpanded?: boolean\n) => Board;\ndeclare const closeBoard: (id: string) => void;\ndeclare const updateBoard: <T = any>(id: string, board: Partial<Board<T>>) => void;\ndeclare const updateBoardContext: <T = any>(id: string, context: T) => void;\ndeclare const getBoardById: <T>(id: string) => Board<T>;\ndeclare const getBoardContextById: <T>(id: string) => T;\ndeclare const useBoardContextById: <T>(id: string) => T;\ndeclare const useBoardById: <T>(id: string) => Board<T>;\ndeclare const minimizeBoards: () => void;\ndeclare const reopenBoards: () => void;\ndeclare const setCurrentBoard: (id: string) => void;\ndeclare const useBoardHooks: () => BoardHooksContext;\ndeclare const useBoard: <T>() => Board<T>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { BaseFolder, LinkFolderFields, SearchFolderFields } from '../misc';\n\nexport type FolderFields = {\n\t// Additional Parameters\n\tisLink: boolean;\n\tdepth: number;\n\tparent?: Folder;\n\tchildren: Array<Folder>;\n};\n\nexport type UserFolder = BaseFolder & FolderFields & { isLink: false };\n\nexport type LinkFolder = BaseFolder & FolderFields & LinkFolderFields & { isLink: true };\n\nexport type SearchFolder = BaseFolder &\n\tPick<FolderFields, 'parent' | 'isLink'> &\n\tSearchFolderFields;\nexport type Folder = UserFolder | LinkFolder;\n\nexport type Folders = { [id: string]: Folder };\nexport type Roots = { [id: string]: Folder };\nexport type Searches = { [id: string]: SearchFolder };\nexport type FolderState = {\n\tfolders: Folders;\n\troots: Roots;\n\tsearches: Searches;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { i18n } from 'i18next';\n\nexport type I18nState = {\n\tinstances: Record<string, i18n>;\n\tdefaultI18n: i18n;\n\tlocale: string;\n\tsetters: {\n\t\tsetLocale: (locale: string) => void;\n\t};\n\tactions: {\n\t\taddI18n: (apps: Array<CarbonioModule>, locale: string) => void;\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './network';\nexport * from './exports';\nexport * from './account';\nexport * from './apps';\nexport * from './notification';\nexport * from './integrations';\nexport * from './theme';\nexport * from './search';\nexport * from './misc';\nexport * from './tags';\nexport * from './workers';\nexport * from './folder';\nexport * from './i18n';\nexport * from './boards';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ComponentType } from 'react';\nimport { DropdownItem } from '@zextras/carbonio-design-system';\n\nexport type IntegrationsState = {\n\tactions: ActionMap;\n\tcomponents: ComponentMap;\n\tfunctions: FunctionMap;\n\tremoveActions: (...ids: Array<string>) => void;\n\tregisterActions: (\n\t\t...items: Array<{ id: string; action: ActionFactory<unknown>; type: string }>\n\t) => void;\n\tremoveComponents: (...ids: Array<string>) => void;\n\tregisterComponents: (\n\t\tapp: string\n\t) => (...items: Array<{ id: string; component: ComponentType }>) => void;\n\tremoveFunctions: (...ids: Array<string>) => void;\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>) => void;\n};\n\nexport type Action = DropdownItem & {\n\tprimary?: boolean;\n\tgroup?: string;\n\t/** @deprecated use onClick instead */\n\tclick?: DropdownItem['onClick'];\n};\n\nexport type ActionFactory<T> = (target: T) => Action;\nexport type CombinedActionFactory<T> = (target: T) => Array<Action>;\n\nexport type ActionMap = Record<string, Record<string, ActionFactory<unknown>>>;\nexport type ComponentMap = Record<string, { app: string; item: ComponentType<any> }>;\nexport type FunctionMap = Record<string, AnyFunction>;\n\nexport type AnyFunction = (...args: unknown[]) => unknown;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store } from '@reduxjs/toolkit';\nimport { To } from 'history';\nimport React, { ComponentType } from 'react';\nimport { CarbonioModule, PanelMode } from '../apps';\nimport { DARK_READER_VALUES } from '../../src/constants';\n\n// eslint-disable-next-line no-shadow\nexport enum JSNS {\n\tACCOUNT = 'urn:zimbraAccount',\n\tADMIN = 'urn:zimbraAdmin',\n\tMAIL = 'urn:zimbraMail',\n\tALL = 'urn:zimbra',\n\tSYNC = 'urn:zimbraSync'\n}\n\nexport type DarkReaderPropValues = typeof DARK_READER_VALUES[number];\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type PackageDependentFunction = (app: string) => Function;\n\nexport type ContextBridgeState = {\n\tpackageDependentFunctions: Record<string, PackageDependentFunction>;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tfunctions: Record<string, Function>;\n\tadd: (content: Partial<Omit<ContextBridgeState, 'add'>>) => void;\n};\n\nexport type LoadedAppRuntime = AppInjections & {\n\tpkg: CarbonioModule;\n};\n\nexport type LoadedAppsCache = {\n\t[pkgName: string]: LoadedAppRuntime;\n};\n\nexport type AppInjections = {\n\tstore: Store;\n};\n\nexport type HistoryParams =\n\t| {\n\t\t\tpath: To;\n\t\t\troute?: string;\n\t }\n\t| string;\nexport type UtilityBarStore = {\n\tmode: PanelMode;\n\tsetMode: (mode: PanelMode) => void;\n\tcurrent?: string;\n\tsetCurrent: (current: string) => void;\n\tsecondaryBarState: boolean;\n\tsetSecondaryBarState: (state: boolean) => void;\n};\n\nexport type AccountProps = {\n\taccountId?: string;\n\ttype?: string;\n\tid?: number;\n\temail?: string;\n\tlabel?: string;\n\tpersonaLabel?: string;\n\tidentityId?: string;\n};\n\nexport type IdentityProps = {\n\tid: string;\n\t/**\n\t * Type of the identity\n\t */\n\tflgType: 'primary' | 'persona' | 'IMAP' | 'POP';\n\t/**\n\t * Localized description of the type of identity\n\t */\n\ttype: string;\n\tidentityId: string | number;\n\tfromAddress?: string;\n\tidentityName?: string;\n\tfromDisplay?: string;\n\trecoveryAccount?: string;\n\treplyToDisplay?: string;\n\treplyToAddress?: string;\n\treplyToEnabled?: string;\n\tsaveToSent?: string;\n\tsentMailFolder?: string;\n\twhenInFoldersEnabled?: string;\n\twhenSentToEnabled?: string;\n\twhenSentToAddresses?: string;\n};\n\nexport type CreateModalProps = {\n\tbackground: string;\n\tcentered: boolean;\n\tchildren: React.ReactElement;\n\tconfirmColor: string;\n\tconfirmLabel: string;\n\tcopyLabel: string;\n\tcustomFooter: React.ReactElement;\n\tdisablePortal: boolean;\n\tdismissLabel: string;\n\thideFooter: boolean;\n\tmaxHeight: string;\n\tonClose: () => void;\n\tonConfirm: () => void;\n\tonSecondaryAction: () => void;\n\toptionalFooter: React.ReactElement;\n\tsecondaryActionLabel: string;\n\tshowCloseIcon: boolean;\n\tsize: string;\n\ttitle: string;\n\ttype: string;\n\tzIndex: number;\n};\n\n// Custom metadata\ntype Meta<T extends Record<string, unknown>> = {\n\t// Section. Normally present. If absent this indicates that CustomMetadata info is present but there are no sections to report on.\n\tsection?: string;\n\t_attrs: T;\n};\n// Grants\ntype Grant = {\n\t// Rights - Some combination of (r)ead, (w)rite, (i)nsert, (d)elete, (a)dminister, workflow action (x), view (p)rivate, view (f)reebusy, (c)reate subfolder\n\tperm: string;\n\t/* The type of Grantee:\n\t\"usr\",\n\t\"grp\",\n\t\"dom\" (domain),\n\t\"cos\",\n\t\"all\" (all authenticated users),\n\t\"pub\" (public authenticated and unauthenticated access),\n\t\"guest\" (non-Zimbra email address and password),\n\t\"key\" (non-Zimbra email address and access key)\n\t*/\n\tgt: 'usr' | 'grp' | 'dom' | 'cos' | 'all' | 'guest' | 'key' | 'pub';\n\t// Grantee ID\n\tzid: string;\n\t// Time when this grant expires. For internal/guest grant: If this attribute is not specified, the expiry of the grant is derived from internalGrantExpiry/guestGrantExpiry of the ACL it is part of. If this attribute is specified (overridden), the expiry value can not be greater than the corresponding expiry value in the ACL. For public grant: If this attribute is not specified, defaults to the maximum allowed expiry for a public grant. If not specified in the response, defaults to 0. Value of 0 indicates that this grant never expires.\n\texpiry?: string;\n\t// Name or email address of the principal being granted rights. optional if {grantee-type} is \"all\"/\"guest\"/\"pub\". When specified in a request, this can be just the username portion of the address in the default domain.\n\td?: string;\n\t// Optional argument. password when {grantee-type} is \"guest\"\n\tpw?: string;\n\t// Optional argument. Access key when {grantee-type} is \"key\"\n\tkey?: string;\n};\nexport type SoapPolicy = {\n\t// Retention policy type\n\ttype?: 'user' | 'system';\n\tid?: string;\n\tname?: string;\n\tlifetime?: string;\n};\n\nexport type SoapRetentionPolicy = Array<{\n\tkeep: Array<{ policy: SoapPolicy }>;\n\tpurge: Array<{ policy: SoapPolicy }>;\n}>;\n\nexport type FolderView =\n\t| 'search folder'\n\t| 'tag'\n\t| 'conversation'\n\t| 'message'\n\t| 'contact'\n\t| 'document'\n\t| 'appointment'\n\t| 'virtual conversation'\n\t| 'remote folder'\n\t| 'wiki'\n\t| 'task'\n\t| 'chat';\nexport type BaseFolder = {\n\t// Folder ID\n\tid: string;\n\t// Item's UUID - a globally unique identifier\n\tuuid: string;\n\t// Name of folder; max length 128; whitespace is trimmed by server; Cannot contain ':', '\"', '/', or any character below 0x20\n\tname: string;\n\t// Absolute Folder path\n\tabsFolderPath?: string;\n\t// ID of parent folder (absent for root folder)\n\tl?: string;\n\t// UUID of parent folder (absent for root folder)\n\tluuid?: string;\n\t// Flags - checked in UI (#), exclude free/(b)usy info, IMAP subscribed (*), does not (i)nherit rights from parent, is a s(y)nc folder with external data source, sync is turned on(~), folder does n(o)t allow inferiors / children\n\tf?: string;\n\t// color numeric; range 0-127; defaults to 0 if not present; client can display only 0-7\n\tcolor?: string;\n\t// RGB color in format #rrggbb where r,g and b are hex digits\n\trgb?: string;\n\t// Number of unread messages in folder\n\tu?: number;\n\t// Number of unread messages with this tag, including those with the IMAP \\Deleted flag set\n\ti4u?: number;\n\t// (optional) Default type for the folder; used by web client to decide which view to use;\n\tview?: FolderView;\n\t// Revision\n\trev?: number;\n\t// Modified sequence\n\tms?: number;\n\t// Modified date in seconds\n\tmd?: number;\n\t// Number of non-subfolder items in folder\n\tn?: number;\n\t// Number of non-subfolder items in folder, including those with the IMAP \\Deleted flag set\n\ti4n?: number;\n\t// Total size of all of non-subfolder items in folder\n\ts?: number;\n\t// Imap modified sequence\n\ti4ms?: number;\n\t// IMAP UIDNEXT\n\ti4next?: number;\n\t// URL (RSS, iCal, etc.) this folder syncs its contents to\n\turl?: string;\n\tactivesyncdisabled: boolean;\n\t// Number of days for which web client would sync folder data for offline use\n\twebOfflineSyncDays?: number;\n\t// For remote folders, the access rights the authenticated user has on the folder - will contain the calculated (c)reate folder permission if the user has both (i)nsert and (r)ead access on the folder\n\tperm?: string;\n\t// recursive\n\trecursive: boolean;\n\t// URL to the folder in the REST interface for rest-enabled apps (such as notebook)\n\trest?: string;\n\t// whether this folder can be deleted\n\tdeletable: boolean;\n\t// custom metadata\n\tmeta?: Array<Meta>;\n\t// ACL for sharing\n\tacl?: { grant: Array<Grant> };\n\tretentionPolicy?: SoapRetentionPolicy;\n\t// indicates whether this folder is displayed in Calendars\n\tchecked?: boolean;\n};\n\nexport type LinkFolderFields = {\n\t// Primary email address of the owner of the linked-to resource\n\towner?: string;\n\t// Zimbra ID (guid) of the owner of the linked-to resource\n\tzid?: string;\n\t// Item ID of the linked-to resource in the remote mailbox\n\trid?: string;\n\t// UUID of the linked-to resource in the remote mailbox\n\truuid?: string;\n\t// The name presently used for the item by the owner\n\toname?: string;\n\t// If set, client should display reminders for shared appointments/tasks\n\treminder: boolean;\n\t// If \"tr\" is true in the request, broken is set if this is a broken link\n\tbroken: boolean;\n};\nexport type SearchFolderFields = {\n\t// Query\n\tquery?: string;\n\t// Sort by\n\tsortBy?: SortBy;\n\t// Comma-separated list. Legal values in list are:\n\t// appointment|chat|contact|conversation|document|message|tag|task|wiki (default is \"conversation\")\n\ttypes?: string;\n};\n\nexport type SortBy =\n\t| 'dateDesc'\n\t| 'dateAsc'\n\t| 'idDesc'\n\t| 'idAsc'\n\t| 'subjDesc'\n\t| 'subjAsc'\n\t| 'nameDesc'\n\t| 'nameAsc'\n\t| 'durDesc'\n\t| 'durAsc'\n\t| 'none'\n\t| 'taskDueAsc'\n\t| 'taskDueDesc'\n\t| 'taskStatusAsc'\n\t| 'taskStatusDesc'\n\t| 'taskPercCompletedAsc'\n\t| 'taskPercCompletedDesc'\n\t| 'rcptAsc'\n\t| 'rcptDesc'\n\t| 'readAsc'\n\t| 'readDesc';\n\nexport type AccordionFolder = {\n\tid: string;\n\tlabel: string;\n\tfolder: Folder;\n\tCustomComponent: ComponentType<{ folder: Folder }>;\n\titems: Array<AccordionFolder>;\n};\n\nexport type TreeNode<T> = T & {\n\tid: string;\n\tchildren: TreeNode<T>[];\n\tparent?: TreeNode<T>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { AccountRights, ZimletProp } from '../account';\nimport { Tag } from '../tags';\nimport { AccountACEInfo, Identity } from './entities';\n\nexport * from './soap';\n\nexport type ZimletPkgDescription = {\n\tzimlet: Array<{\n\t\tname: string;\n\t\tlabel: string;\n\t\tdescription: string;\n\t\tversion: string;\n\t\t/* Property related to Zextras */ zapp?: 'true';\n\t\t/* Property related to Zextras */ 'zapp-main'?: string;\n\t\t/* Property related to Zextras */ 'zapp-version'?: string;\n\t\t/* Property related to Zextras */ 'zapp-handlers'?: string;\n\t\t/* Property related to Zextras */ 'zapp-style'?: string;\n\t\t/* Property related to Zextras */ 'zapp-theme'?: string;\n\t\t/* Property related to Zextras */ 'zapp-serviceworker-extension'?: string;\n\t}>;\n\tzimletContext: Array<{\n\t\tbaseUrl: string;\n\t\tpresence: 'enabled';\n\t\tpriority: number;\n\t}>;\n};\n\nexport type GetInfoResponse = {\n\tname: string;\n\tid: string;\n\tattrs: {\n\t\t_attrs: {\n\t\t\tdisplayName: string;\n\t\t};\n\t};\n\tprefs: {\n\t\t_attrs: Record<string, string>;\n\t};\n\tsignatures: {\n\t\tsignature: Array<any>;\n\t};\n\tidentities: {\n\t\tidentity: Array<any>;\n\t};\n\tzimlets: {\n\t\tzimlet: Array<ZimletPkgDescription>;\n\t};\n\tprops: {\n\t\tprop: Array<ZimletProp>;\n\t};\n\tversion: string;\n\trights: AccountRights;\n};\n\nexport type PropsMods = Record<string, { app: string; value: unknown }>;\n\nexport type PermissionsMods = {\n\tfreeBusy: {\n\t\tcurrent: AccountACEInfo[];\n\t\tnew: AccountACEInfo;\n\t};\n\tinviteRight: {\n\t\tcurrent: AccountACEInfo[];\n\t\tnew: AccountACEInfo;\n\t};\n};\n\nexport type CreateIdentityProps = {\n\trequestId: number;\n\t/** name of the identity */\n\tzimbraPrefIdentityName: string | undefined;\n\t/** personal part of email address put in from header */\n\tzimbraPrefFromDisplay: string | undefined;\n\t/** email address to put in from header. Deprecated on data source as of bug 67068. */\n\tzimbraPrefFromAddress: string | undefined;\n\t/** Type of the email address from header. (sendAs or sendOnBehalfOf) */\n\tzimbraPrefFromAddressType: 'sendAs' | 'sendOnBehalfOf';\n\t/** TRUE if we should set a reply-to header */\n\t// TODO: update to boolean?\n\tzimbraPrefReplyToEnabled: 'TRUE' | 'FALSE' | undefined;\n\t/** personal part of email address put in reply-to header */\n\tzimbraPrefReplyToDisplay: string | undefined;\n\t/** address to put in reply-to header */\n\tzimbraPrefReplyToAddress: string | undefined;\n\t/** default mail signature for account/identity/dataSource */\n\tzimbraPrefDefaultSignatureId: string | undefined;\n\t/** forward/reply signature id for account/identity/dataSource */\n\tzimbraPrefForwardReplySignatureId: string | undefined;\n\t/** TRUE if we should look at zimbraPrefWhenSentToAddresses (deprecatedSince 5.0 in account) */\n\tzimbraPrefWhenSentToEnabled: string | undefined;\n\t/** TRUE if we should look at zimbraPrefWhenInFolderIds (deprecatedSince 5.0 in account) */\n\tzimbraPrefWhenInFoldersEnabled: string | undefined;\n};\n\nexport type CreateIdentityResponse = {\n\tidentity: [Identity];\n};\nexport type ModifyIdentityResponse = Record<string, never>;\nexport type DeleteIdentityResponse = Record<string, never>;\nexport type ModifyPropertiesResponse = Record<string, never>;\nexport type ModifyPrefsResponse = Record<string, never>;\nexport type RevokeRightsResponse = {\n\tace?: AccountACEInfo[];\n};\nexport type GrantRightsResponse = {\n\tace?: AccountACEInfo[];\n};\n\nexport type IdentityMods = {\n\tmodifyList?: Record<string, { id: string; prefs: Record<string, string | boolean> }>;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\n\nexport type PrefsMods = Record<string, unknown>;\n\nexport type Mods = Record<string, Record<string, unknown>> & {\n\tprops?: PropsMods;\n\tprefs?: PrefsMods;\n\tpermissions?: PermissionsMods;\n\tidentity?: IdentityMods;\n};\n\nexport type AddMod = (\n\ttype: keyof Mods,\n\tkey: keyof NonNullable<Mods[typeof type]>,\n\tvalue: NonNullable<Mods[keyof Mods]>[typeof key]\n) => void;\n\nexport type RemoveMod = (type: keyof Mods, key: keyof NonNullable<Mods[typeof type]>) => void;\n\nexport type Locale = {\n\tid: string;\n\tlocalName: string;\n\tname: string;\n};\nexport type AvailableLocalesResponse = {\n\tlocale: Array<Locale>;\n};\n\nexport type NetworkState = SoapContext & {\n\tnoOpTimeout?: Timeout;\n\tpollingInterval: number;\n\tseq: number;\n};\n\nexport type CreateTagRequest = {\n\ttag: Omit<Tag, id>;\n\t_jsns: string;\n};\n\nexport type CreateTagResponse = {\n\ttag: [Tag];\n};\n\nexport type TagActionRequest = {\n\t_jsns: string;\n\taction: {\n\t\top: 'rename' | 'color' | 'delete' | 'update';\n\t\tid: string;\n\t\tname?: string;\n\t\tcolor?: number;\n\t\trgb?: string;\n\t};\n};\nexport type TagActionResponse = {\n\taction: { op: string; id: string };\n\t_jsns: string;\n};\n","import { MetaProperty } from '@babel/types';\nimport { BaseFolder, LinkFolderFields, SearchFolderFields } from '../misc';\n\n/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport type SoapHeader = {\n\tcontext: SoapContext;\n};\n\nexport type SuccessSoapResponse<R> = {\n\tBody: Record<string, R>;\n\tHeader: SoapHeader;\n};\n\nexport type SoapFault = {\n\tDetail: {\n\t\tError: {\n\t\t\tCode: string;\n\t\t\tDetail: string;\n\t\t};\n\t};\n\tReason: {\n\t\tText: string;\n\t};\n};\n\nexport type ErrorSoapBodyResponse = {\n\tFault: SoapFault;\n};\n\nexport type ErrorSoapResponse = {\n\tBody: ErrorSoapBodyResponse;\n\tHeader: SoapHeader;\n};\n\nexport type SoapResponse<R> = SuccessSoapResponse<R> | ErrorSoapResponse;\n\nexport type SoapContext = {\n\trefresh?: SoapRefresh;\n\tnotify?: Array<SoapNotify>;\n\tchange?: { token: number };\n\tsession?: { id: number; _content: number };\n};\n\nexport type SoapFolder = BaseFolder & {\n\tfolder?: Array<SoapFolder>;\n\tlink?: Array<SoapLink>;\n\tsearch?: Array<SoapSearchFolder>;\n};\n\nexport type SoapSearchFolder = SoapFolder & SearchFolderFields;\nexport type SoapLink = SoapFolder & LinkFolderFields;\nexport type SoapRefresh = {\n\tseq?: number;\n\tversion?: string;\n\tmbx?: [{ s: number }];\n\tfolder?: SoapFolder[];\n\ttags?: { tag: Array<Tag> };\n};\n\nexport type SoapNotify = {\n\tseq: number;\n\tcreated?: {\n\t\tm?: Array<unknown>;\n\t\tc?: Array<unknown>;\n\t\tfolder?: Array<SoapFolder>;\n\t\tlink?: Array<SoapLink>;\n\t\ttag?: Array<Tag>;\n\t};\n\tmodified?: {\n\t\tm?: Array<unknown>;\n\t\tc?: Array<unknown>;\n\t\tfolder?: Array<Partial<SoapFolder>>;\n\t\tlink?: Array<Partial<SoapLink>>;\n\t\ttag?: Array<Partial<Tag>>;\n\t\tmbx: [{ s: number }];\n\t};\n\tdeleted: string[];\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport type PopupNotificationConfig = {\n\ttitle?: string;\n\tmessage?: string;\n\ticon?: string;\n\tvibrate?: Array<number>;\n\ttag?: string;\n\tonClick?: (event: Event) => void;\n};\n\nexport type AudioNotificationConfig = {\n\tsound?: string;\n};\n\nexport type NotificationConfig = {\n\tshowPopup?: boolean;\n\tplaySound?: boolean;\n} & PopupNotificationConfig &\n\tAudioNotificationConfig;\n\nexport interface INotificationManager {\n\tplaySound: (config: AudioNotificationConfig) => void;\n\tshowPopup: (config: PopupNotificationConfig) => void;\n\tnotify: (config: NotificationConfig) => void;\n\tmultipleNotify: (config: NotificationConfig[]) => void;\n}","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { QueryChip } from './items';\n\nexport * from './items';\nexport type SearchState = {\n\tquery: Array<QueryChip>;\n\tmodule?: string;\n\tsearchDisabled: boolean;\n\ttooltip?: string;\n\tsetSearchDisabled: (searchDisabled: boolean) => void;\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)) => void;\n\tupdateModule: (module: string) => void;\n};\n\nexport enum ResultLabelType {\n\tNORMAL = 'normal',\n\tWARNING = 'warning',\n\tERROR = 'error'\n}\n\n// export type SelectLabelFactoryProps = {\n// \tselected: [{ label: string; value: string }];\n// \topen: boolean;\n// \tfocus: boolean;\n// \tdisabled: boolean;\n// };\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport type QueryChip = {\n\tid: string;\n\tlabel: string;\n\tvalue?: string;\n\tisGeneric?: boolean;\n\tisQueryFilter?: boolean;\n\thasAvatar?: boolean;\n\tapp?: string;\n};\n","/* eslint-disable @typescript-eslint/ban-types */\n/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport type Tag = {\n\tcolor?: number;\n\tid: string;\n\tname: string;\n\trgb?: string;\n\tu?: number;\n\tn?: number;\n};\n\nexport type Tags = Record<string, Tag>;\n\nexport type TagState = {\n\ttags: Tags;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { DefaultTheme } from 'styled-components';\n\nexport type ThemeExtension = (theme: DefaultTheme) => DefaultTheme;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../network';\nimport { Tags } from '../tags';\n\nexport type SyncNotifyMessage = {\n\top: 'notify';\n\tnotify: SoapNotify;\n};\n\nexport type SyncRefreshMessage = SoapRefresh & {\n\top: 'refresh';\n};\n\nexport type SyncMessage = SyncNotifyMessage | SyncRefreshMessage;\n\nexport type WorkerMessage<T> = { data: SyncMessage & T };\n\nexport type TagMessage = WorkerMessage<{ state: Tags }>;\n\nexport type FolderMessage = WorkerMessage<Record<string, never>>;\n","var map = {\n\t\"./de/index.js\": [\n\t\t\"./node_modules/date-fns/locale/de/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_de_index_js\"\n\t],\n\t\"./en-US/index.js\": [\n\t\t\"./node_modules/date-fns/locale/en-US/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_en-US_index_js\"\n\t],\n\t\"./es/index.js\": [\n\t\t\"./node_modules/date-fns/locale/es/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_es_index_js\"\n\t],\n\t\"./fr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/fr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_fr_index_js\"\n\t],\n\t\"./hi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/hi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_hi_index_js\"\n\t],\n\t\"./it/index.js\": [\n\t\t\"./node_modules/date-fns/locale/it/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_it_index_js\"\n\t],\n\t\"./ja/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ja/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ja_index_js\"\n\t],\n\t\"./nl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/nl/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_nl_index_js\"\n\t],\n\t\"./pl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pl/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_pl_index_js\"\n\t],\n\t\"./pt-BR/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt-BR/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt-BR_index_js\"\n\t],\n\t\"./pt/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt_index_js\"\n\t],\n\t\"./ro/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ro/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ro_index_js\"\n\t],\n\t\"./ru/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ru/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_ru_index_js\"\n\t],\n\t\"./th/index.js\": [\n\t\t\"./node_modules/date-fns/locale/th/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_th_index_js\"\n\t],\n\t\"./tr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/tr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_tr_index_js\"\n\t],\n\t\"./vi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/vi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_vi_index_js\"\n\t],\n\t\"./zh-CN/index.js\": [\n\t\t\"./node_modules/date-fns/locale/zh-CN/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_zh-CN_index_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"./node_modules/date-fns/locale lazy recursive \\\\.[/\\\\\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\\\\\]index\\\\.js$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["React","I18nextProvider","SHELL_APP_ID","useI18nStore","AppErrorCatcher","AppContextProvider","pkg","children","getState","instances","defaultI18n","i18n","useCallback","Catcher","onError","error","console","reduce","getApp","getAppContext","useApp","useAppContext","useContextBridge","getAction","getActions","getActionsFactory","getActionFactory","getIntegratedComponent","getIntegratedFunction","getUserAccount","getUserAccounts","getUserSetting","getUserSettings","useUserAccount","useUserAccounts","useUserSetting","useUserSettings","useUserRight","useUserRights","getUserRight","getUserRights","useIsMobile","useLocalStorage","useAction","useActions","useActionsFactory","useActionFactory","useIntegratedComponent","useIntegratedFunction","usePushHistoryCallback","useGoBackHistoryCallback","useReplaceHistoryCallback","getCurrentRoute","useCurrentRoute","replaceHistory","goBackHistory","pushHistory","getSoapFetch","getXmlSoapFetch","getFolder","getFolders","useFolder","useFolders","useRoot","getRoot","useRoots","getRoots","useSearchFolder","useSearchFolders","getSearchFolder","getSearchFolders","useFoldersByView","useFoldersAccordionByView","useRootByUser","getRootByUser","getTags","useTags","useNotify","useRefresh","changeTagColor","createTag","deleteTag","renameTag","runSearch","getI18n","getTFunction","addBoard","closeBoard","updateBoard","updateBoardContext","getBoardById","getBoardContextById","useBoardContextById","useBoardById","useBoard","minimizeBoards","reopenBoards","setCurrentBoard","useBoardHooks","getNotificationManager","getAppFunctions","name","t","soapFetch","xmlSoapFetch","getBridgedFunctions","packageDependentFunctions","functions","acc","f","memo","Suspense","useMemo","isEmpty","map","useAppStore","Mounter","appId","AppLoaderMounter","entryPoints","s","entries","Comp","MemoComp","height","overflow","getEditSettingsForApp","normalizeRoute","normalizeSettingsView","normalizeSearchView","normalizeUtilityView","normalizePrimaryAccessoryView","normalizeSecondaryAccessoryView","normalizeBoardView","useIntegrationsStore","getAppSetters","appSetters","setters","integrations","updatePrimaryBadge","updateUtilityBadge","setAppContext","addRoute","route","setRouteVisibility","routeId","visible","removeRoute","addBoardView","data","removeBoardView","addSettingsView","removeSettingsView","addSearchView","removeSearchView","addUtilityView","removeUtilityView","addPrimaryAccessoryView","removePrimaryAccessoryView","addSecondaryAccessoryView","removeSecondaryAccessoryView","registerFunctions","removeFunctions","registerActions","removeActions","registerComponents","removeComponents","editSettings","produce","SEARCH_APP_ID","SETTINGS_APP_ID","Feedback","SearchAppView","AccountWrapper","GeneralSettings","settingsSubSections","SettingsAppView","SettingsSidebar","settingsRoute","id","app","settingsPrimaryBar","component","position","label","badge","show","settingsSecondaryBar","settingsAppView","settingsGeneralView","icon","subSections","settingsAccountsView","searchRoute","searchPrimaryBar","searchAppView","feedbackBoardView","registerDefaultViews","setState","routes","views","primaryBar","secondaryBar","appView","settings","board","forOwn","Spinner","AppLink","CONSTANTS","report","SettingsHeader","_scripts","_scriptId","loadApp","appPkg","Promise","_resolve","_reject","resolved","resolve","reject","e","window","__ZAPP_SHARED_LIBRARIES__","__ZAPP_HMR_EXPORT__","appComponent","state","info","script","document","createElement","setAttribute","version","js_entrypoint","body","appendChild","err","unloadApps","then","parentNode","removeChild","filter","registerLocale","setDefaultLocale","useReporter","useAccountStore","getT","injectSharedLibraries","localeList","getDateFnsLocale","locale","loadApps","apps","appsToLoad","attrKey","log","prefs","zimbraPrefLocale","attrs","zimbraLocale","actions","addI18n","localeObj","find","item","localeDateFnsKey","dateFnsLocale","value","localeDateFns","setClients","allSettled","unloadAllApps","ReactDOM","Lodash","ReactRouterDom","Moment","ReactI18n","ReactRedux","ReduxJSToolkit","ZappUI","StyledComponents","Preview","react","lodash","moment","BootstrapperContextProvider","ModalManager","ModalManagerContext","SnackbarManager","SnackbarManagerContext","useContext","useEffect","useTranslation","BrowserRouter","Route","Switch","useHistory","useParams","useBridge","BASENAME","IS_STANDALONE","NotificationPermissionChecker","ShellView","ContextBridge","history","createSnackbar","createModal","getHistory","StandaloneListener","standalone","DefaultViewsRegister","BootstrapperRouter","init","ThemeProvider","Bootstrapper","getInfo","loginConfig","all","Object","values","createContext","useLayoutEffect","useState","generateColorSet","UIThemeProvider","auto","disable","enable","setFetchMethod","createGlobalStyle","darkReaderDynamicThemeFixes","LOCAL_STORAGE_SETTINGS_KEY","getAutoScalingFontSize","useGetPrimaryColor","fetch","ThemeCallbacksContext","addExtension","Error","setDarkReaderState","paletteExtension","customTheme","theme","palette","shared","regular","hover","active","focus","disabled","linked","iconExtension","icons","Shared","ArrowCircleRight","Linked","ArrowCircleLeft","GlobalStyle","baseFontSize","localStorageSettings","extensions","setExtensions","primaryColor","customThemePalette","primary","extension","darkReaderState","sepia","aggregatedExtensions","themeAccumulator","themeExtensionFn","newExtension","ext","savedScalingValueSetting","undefined","useTheme","size","LOCAL_STORAGE_LAST_PRIMARY_KEY","useLoginConfigStore","useDarkMode","localStorageLastPrimary","setLocalStorageLastPrimary","carbonioWebUiPrimaryColor","carbonioWebUiDarkPrimaryColor","darkModeEnabled","darkReaderStatus","dark","light","prevState","ZIMBRA_STANDARD_COLORS","zValue","hex","zLabel","FOLDERS","USER_ROOT","INBOX","TRASH","SPAM","SENT","DRAFTS","CONTACTS","TAGS","CONVERSATIONS","CALENDAR","ROOT","NOTEBOOK","AUTO_CONTACTS","IM_LOGS","TASKS","BRIEFCASE","LAST_SYSTEM_FOLDER_POSITION","ACCOUNTS_APP_ID","ACTION_TYPES","CONVERSATION","CONVERSATION_lIST","MESSAGE","MESSAGE_lIST","CONTACT","CONTACT_lIST","INVITE","INVITE_lIST","APPOINTMENT","APPOINTMENT_lIST","FOLDER","FOLDER_lIST","CALENDAR_lIST","NEW","ignoreImageAnalysis","invert","css","ignoreInlineStyle","disableStyleSheetsProxy","base","standaloneBase","location","pathname","startsWith","EMAIL_VALIDATION_REGEX","ROOT_NAME","DARK_READER_VALUES","FOLDER_VIEW","search_folder","tag","conversation","message","contact","appointment","virtual_conversation","remote_folder","wiki","task","chat","LOCAL_STORAGE_SEARCH_KEY","SCALING_OPTIONS","BASE_FONT_SIZE","SCALING_LIMIT","WIDTH","HEIGHT","DPR","LOGIN_V3_CONFIG_PATH","DARK_READER_PROP_KEY","useDarkReaderResultValue","getPrefersColorSchemeDarkMedia","darkReaderResultValue","setDarkModeEnabled","matches","setCallback","event","addEventListener","removeEventListener","isZappDarkreaderModeZimletProp","prop","zimlet","isDarkReaderPropValues","maybeDarkReaderPropValue","includes","carbonioWebUiDarkMode","settingReceived","props","result","_content","matchMedia","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","r","module","parseParams","params","routeToApply","path","search","hash","cb","push","goBack","findIndex","forEach","isArray","mods","key","pref","p","join","identity","modifyList","deleteList","createList","requestId","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","email","propIndex","account","displayName","identities","tempResult","itemMods","indexAccount","keys","_index","_attrs","i","CreateIdentityResponse","type","maxBy","goToLogin","userAgent","useNetworkStore","handleSync","noOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","sessionId","session","normalizeContext","context","notify","deleted","split","handleResponse","api","res","noOpTimeout","usedQuota","clearTimeout","Body","Fault","code","Detail","Code","authenticated","Reason","Text","Header","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","waitDisallowed","setTimeout","signal","zimbraVersion","method","headers","JSON","stringify","json","shellSoap","normalizeAccount","parsePollingInterval","pollingPref","zimbraPrefMailPollingInterval","pollingValue","parseInt","Number","isNaN","components","addApps","rights","assign","origin","response","favicon","getElementById","HTMLLinkElement","href","carbonioWebUiFavicon","BASE_PATH","carbonioWebUiTitle","title","reason","warn","logout","logoff","action","op","color","rgb","UAParser","os","browser","debounce","noop","defaultAudio","defaultIcon","PopupNotificationDefaultConfig","vibrate","AudioNotificationDefaultConfig","sound","NotificationDefaultConfig","showPopup","playSound","NotificationManager","Map","has","set","Audio","play","DEBOUNCE_TIME","get","config","defConfig","getAudioFileFunction","n","Notification","onClick","conf","instance","getInstance","requestPermission","ButtonOld","Button","Container","Icon","Row","Select","useReducer","styled","useAppList","feedback","TextArea","textarea","gray5","text","fonts","sizes","font","gray4","TextContainer","ButtonContainer","TAContainer","SubHeadingText","lineHeight","LabelContainer","gray2","emptyEvent","level","release","extra","topic","user","reducer","payload","getTopics","ModuleLabelFactory","selected","open","length","alignSelf","_LabelFactory","showErr","allApps","sentryDsn","appItems","display","acct","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","style","scrollHeight","checkTopicSelect","keyCode","confirmHandler","feedbackId","disabledSend","LabelFactory","topics","bottom","vertical","hint","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","defaultIntegrations","defaultStackParser","Hub","makeFetchTransport","transport","stackParser","dsn","maxValueLength","Dropdown","SelectorContainer","ModuleSelectorComponent","modules","updateModule","fullModule","m","setOpen","dropdownItems","click","left","MemoModuleSelector","ModuleSelector","activeRoute","query","searchDisabled","Chip","Divider","Padding","Redirect","ResultLabelType","useQuery","updateQuery","useDisableSearch","setSearchDisabled","getIconAndColor","labelType","WARNING","ERROR","ResultsHeader","NORMAL","setDisabled","resetQuery","labelTypeElem","horizontal","q","searchViews","view","ChipInput","IconButton","Tooltip","useRef","OutlinedIconButton","StyledChipInput","StyledContainer","SearchBar","inputRef","storedValue","setStoredValue","inputTyped","setInputTyped","tooltip","isTyping","setIsTyping","options","setOptions","inputHasFocus","setInputHasFocus","inputState","setInputState","showClear","clearSearch","onSearch","currentQuery","ref","newInputState","hasAvatar","chip","c","qchip","appSuggestions","v","reverse","updateOptions","textContent","indexOf","slice","onQueryChange","newQuery","onInputType","suggestions","suggestion","triggerSearch","setTriggerSearch","containerRef","addFocus","removeFocus","searchCb","disableOptions","placeholder","clearButtonPlaceholder","searchButtonsAreDisabled","searchBtnTooltipLabel","onChipAdd","newChip","cursor","overflowX","iconSize","paddingSize","isFunction","AccountsSettings","accountSettings","identitiesDefault","temp","index","toString","flgType","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","recoveryAccount","zimbraRecoveryAccount","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","whenSentToAddresses","zimbraPrefWhenSentToAddresses","pop","useSnackbar","lowerFirst","uniq","AccountsList","PrimaryAccountSettings","SettingsSentMessages","Delegates","PersonaSettings","PersonaUseSection","getAvailableEmailAddresses","targets","addr","zimbraMailAlias","String","setMods","activeDelegateView","setActiveDelegateView","selectedIdentityId","setSelectedIdentityId","setIdentities","delegates","setDelegates","maxIdentities","zimbraIdentityMaxNumEntries","addMod","arg","modifyProp","prevRecord","newCreateList","newDeleteList","modifyCreateList","modifiedCreateList","createIdentities","updateIdentities","updatedIdentityKey","deleteIdentities","ace","resultReduced","splice","onSave","autoHideTimeout","hideButton","onCancel","isDirty","availableEmailAddresses","top","List","max","changeView","ListItem","createListrequestId","setCreateListrequestId","setCreateList","addNewPersona","newPersonaNextNumber","parseFloat","newPersonaName","zimbraPrefFromAddressType","setDeleteList","onConfirmDelete","newIdentities","onDelete","closeModal","onConfirm","confirmLabel","confirmColor","showCloseIcon","onClose","Radio","RadioGroup","items","activeValue","setActiveValue","width","justifyContent","newValue","Input","personaValue","setPersonaValue","personaLabel","onChange","Checkbox","whenSentToLabel","setWhenInFoldersEnabled","setWhenSentToEnabled","setWhenSentToAddresses","whenSentToAddressesLabel","onClickWhenSentToEnabled","isValidEmail","test","onChangeWhenSentToAddresses","emailLabel","accountNameValue","setAccountNameValue","accountLabel","onChangeDisabled","blankItem","isExternalAccount","replyToEnabledValue","setReplyToEnabledValue","setReplyToAddress","dropdownOpen","setDropdownOpen","fromDisplayValue","setFromDisplayValue","setReplyToDisplay","fromAddressArray","address","setFromAddress","k","onClickReplyToEnabled","fromDisplayLabel","onChangeFromDisplayValue","fromAddressLabel","onChangeFromAddress","newAddress","replyToEnabledLabel","replyToDisplayLabel","onChangePrefReplyToDisplay","replyToAddressLabel","replyToAddressArray","onChangeReplyToAddress","flexGrow","Styler","allDay","medium","weight","DateTimePicker","momentLocalizer","Heading","changeDateEvent","endOfDate","getDateEvent","startOfDate","DateTimeSelect","sendAutoReply","dateDisabled","setDateDisabled","zimbraPrefOutOfOfficeFromDate","zimbraPrefOutOfOfficeUntilDate","sendAutoReplyTimePeriod","setSendAutoReplyTimePeriod","dateZimbraPrefOutOfOfficeFromDate","setZimbraPrefOutOfOfficeFromDate","dateZimbraPrefOutOfOfficeUntilDate","setZimbraPrefOutOfOfficeUntilDate","setAllDay","allDayDisabled","setAllDayDisabled","timeDisabled","setTimeDisabled","updatePrefs","prefValue","prefKey","toggleSendAutoReplyTimePeriod","maxWidth","Date","diff","add","valueOf","readOnly","subtract","appearanceSubSection","AppearanceSettings","subSection","DarkThemeSettingSection","removeMod","selection","setSelection","setSelectNewValue","onSelectionChange","FormSubSection","accountSubSection","Logout","sectionTitle","Badge","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","HTMLElement","navigator","clipboard","writeText","innerText","filteredList","description","backgroundColor","success","gray6","outOfOfficeSubSection","getExternalSendersPrefsData","getOutOfOfficeStatusPrefsData","ItemsExternalSenders","ItemsOutOfOfficeStatus","ItemsSendAutoReplies","OutOfOfficeView","zimbraPrefOutOfOfficeReplyEnabled","setSendAutoReply","zimbraPrefOutOfOfficeReply","inputZimbraPrefOutOfOfficeReply","setInputZimbraPrefOutOfOfficeReply","zimbraPrefOutOfOfficeExternalReply","inputZimbraPrefOutOfOfficeExternalReply","setInputZimbraPrefOutOfOfficeExternalReply","createAppointmentDisabled","setCreateAppointmentDisabled","zimbraPrefOutOfOfficeExternalReplyEnabled","externalReplyInput","setExternalReplyInput","createAppointment","setCreateAppointment","externalSendersHandler","createAppointmentAsHandler","itemsSendAutoReplies","defaultSendAutoreply","defaultOutOfOfficeStatus","selectedItemSendAutoReplies","outOfOfficeSection","useImperativeHandle","Slider","ScalingSliderContainer","ExampleContainer","$fontSize","ExampleText","BASE_FONT_OPTION_INDEX","option","AUTOSCALING_FONT_SIZE","AUTOSCALING_FONT_OPTION_INDEX","ScalingSettingSection","forwardRef","ScalingSettingSectionFn","scalingSettings","addLocalStoreChange","cleanLocalStoreChange","labels","scalingOptionValues","scalingOptionLabels","savedOptionIndex","optionIndex","autoScaling","setAutoScaling","scalingValue","setScalingValue","increaseScalingByStep","decreaseScalingByStep","toggleAutoScaling","onChangeScalingValue","newValueIndex","reset","exampleText","exampleFontSize","Math","round","Quota","quotaSubSection","UserQuota","mobileView","used","quota","userQuota","zimbraMailQuota","defaultValue","fillBackground","Breadcrumbs","RouteLeavingGuard","useparam","crumbs","querySelector","scrollIntoView","ret","itemsExternalSenders","zimbraPrefOutOfOfficeSuppressExternalReply","zimbraPrefExternalSendersType","itemsOutOfOfficeStatus","zimbraPrefOutOfOfficeFreeBusyStatus","date","utc","format","local","startOf","endOf","localName","timeZoneList","screen","devicePixelRatio","baseFontIndex","timezoneAndLanguageSubSection","searchPrefsSubSection","OutOfOfficeSettings","LanguageAndTimeZoneSettings","SearchSettingsView","userSettings","localStorageUnAppliedChanges","setLocalStorageUnAppliedChanges","setLocalStorageSettings","nextState","prevType","nextType","unAppliedPrevState","localStorageSettingsPrevState","scalingSettingSectionRef","Modal","LanguageAndTimeZone","locales","timezones","defaultLocale","onLocaleChange","defaultTimeZone","zimbraPrefTimeZoneId","onTimeZoneChange","reload","zimbraPrefIncludeSpamInSearch","searchInSpamFolder","setSearchInSpamFolder","zimbraPrefIncludeTrashInSearch","searchInTrashFolder","setSearchInTrashFolder","zimbraPrefIncludeSharedItemsInSearch","searchInSharedFolder","setSearchInSharedFolder","setMode","onClickSpam","onClickTrash","onClickShared","settingsViews","Accordion","expanded","disableHover","stopPropagation","collapsedItems","_BoardsRouterContainer","FirstAppRedirect","mainRoute","AppViewContainer","appViews","MiniBadge","BadgeWrap","showCount","padding","fontSize","count","closeAllBoards","expandBoards","onGoToPanel","reduceBoards","useBoardStore","AppBoard","TabsList","BoardContainerComp","div","minimized","Board","BoardHeader","BoardDetailContainer","BackButton","Actions","BoardContainer","boards","onReturnToApp","b","useHiddenCount","AppBoardTab","tabContainerRef","hiddenTabsCount","recalculateHiddenTabs","tab","TabContainer","gray3","VerticalDivider","extrasmall","onRemove","Router","createMemoryHistory","BoardProvider","initialEntries","url","boardViews","windowHistory","unlisten","listen","l","Bubble","Collapser","MultiButton","groupBy","CreationButtonComponent","primaryAction","a","group","byApp","secondaryActions","onOpen","MemoCreationButton","CreationButton","locationFull","truncateLocation","ShellContext","isMobile","initialValue","readValue","localStorage","getItem","parse","setValue","valueToStore","Function","valueToStoreJSON","prevValueJSON","setItem","dispatchEvent","Event","updateValue","useScreenMode","ShellContextProvider","screenMode","Responsive","Logo","CustomImg","img","ShellHeader","mobileNavIsOpen","onMobileMenuClick","carbonioWebUiAppLogo","carbonioWebUiDarkAppLogo","logoSrc","searchEnabled","Collapse","SidebarComponent","secondary","ShellMobileNavComponent","menuTree","val","CustomComponent","zIndex","maxHeight","overflowY","ShellMobileNavMemo","ShellMobileNav","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","ContainerWithDivider","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","ShellPrimaryBarComponent","primaryBarViews","setRoutes","primaryBarAccessoryViews","primaryBarAccessories","accessories","hidePrimaryBar","minHeight","MemoShellPrimaryBarComponent","useUtilityBarStore","SidebarContainer","sidebarIsOpen","ShellSecondaryBarComponent","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","MemoShellSecondaryBar","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","useLoginRedirection","allowUnauthenticated","auth","ShellComponent","hideShellHeader","mobileNavOpen","setMobileNavOpen","MemoShell","normalizeSettings","signatures","lastNotificationTime","now","useApps","priority","getAppList","getApps","appContexts","getShell","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","STANDALONE_RESPONSE","commit","utilityBar","routeData","idx","bar","FallbackView","normalizeBadgeInfo","whitelistRoutes","blacklistRoutes","button","boardContext","boardHooksContext","callbacks","getBoardContext","getBoard","trimStart","uniqueId","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","folders","roots","userId","searches","itemProps","mapFunction","folder","filterFunction","recursionKey","sortFunction","deep","folderWorker","onmessage","hasId","getOriginalId","parts","toLowerCase","isTrash","oname","childrenSorted","i18next","Backend","dropRight","addShell","defaultLng","createInstance","lng","setLocale","i18nInst","changeLanguage","getters","getLocale","appsWithShell","newI18n","use","returnEmptyString","compatibilityJSON","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","_","__","backend","loadPath","tinymce","Editor","FileInput","input","Composer","onEditorChange","onFileSelect","inline","rest","_onEditorChange","newContent","editor","getContent","defaultStyle","zimbraPrefHtmlEditorDefaultFontFamily","zimbraPrefHtmlEditorDefaultFontSize","zimbraPrefHtmlEditorDefaultFontColor","onFileClick","inlineLabel","setupCallback","ui","registry","addMenuButton","callback","onAction","editorInitConfig","content_css","language_url","language","setup","min_height","auto_focus","menubar","statusbar","branding","resize","fontsize_formats","object_resizing","style_formats","block","wrapper","merge_siblings","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","forced_root_block","content_style","visualblocks_default_state","end_container_on_empty_block","relative_urls","remove_script_host","fileInputOnChange","files","compact","integration","Integration","C","factories","factory","combinedFactory","composer","fn","ids","actionTypeMap","actionFactory","actionFactoryId","tagWorker","useTagStore","postMessage","tags","pick","Link","RRLink","to","_to","textDecoration","Prompt","when","lastLocationInitial","modalVisible","setModalVisible","lastLocation","setLastLocation","confirmedNavigation","setConfirmedNavigation","handleBlockedNavigation","nextLocation","useUtilityViews","UtilityBarItem","mode","setCurrent","accountItems","itemTextSize","Panel","Spacer","currentPanel","intersection","checkList","l1","l2","activeRouteValues","utilityViews","Worker","URL","import","meta","JSNS"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.2f41c2dd.chunk.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEkC;AACc;AACD;AACC;AACE;AAElD,IAAMK,kBAAuC,GAAG,SAA1CA,kBAAuC,OAA0B;EAAA;EAAA,IAApBC,GAAG,QAAHA,GAAG;IAAEC,QAAQ,QAARA,QAAQ;EAC/D,4BAAmCJ,8DAAqB,EAAE;IAAlDM,SAAS,yBAATA,SAAS;IAAEC,WAAW,yBAAXA,WAAW;EAC9B,IAAMC,IAAI,8BAAGF,SAAS,CAACH,GAAG,CAAC,2DAAIG,SAAS,CAACP,oDAAY,CAAC,yCAAIQ,WAAW;EACrE,oBACC,2DAAC,0DAAe;IAAC,IAAI,EAAEC;EAAK,gBAC3B,2DAAC,0DAAe,QAAEJ,QAAQ,CAAmB,CAC5B;AAEpB,CAAC;AAED,iEAAeF,kBAAkB;;;;;;;;;;;;;;;;;;;ACtBjC;AACA;AACA;AACA;AACA;;AAE+C;AACW;AAE1D,IAAMD,eAAmB,GAAG,SAAtBA,eAAmB,OAAqB;EAAA,IAAfG,QAAQ,QAARA,QAAQ;EACtC,IAAMO,OAAO,GAAGF,kDAAW,CAAC,UAACG,KAAK,EAAK;IACtCC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACpB;EACD,CAAC,EAAE,EAAE,CAAC;EACN,oBAAO,2DAAC,oEAAO;IAAC,OAAO,EAAED;EAAQ,GAAEP,QAAQ,CAAW;AACvD,CAAC;AACD,iEAAeH,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChB9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEgC;AAC+C;AACjB;AAQpB;AAcb;AACoC;AAQzB;AAWX;AACuC;AAkBxC;AACwB;AACQ;AACyB;AACjC;AACK;AAe7B;AACoD;;AAEhF;AACO,IAAMgG,eAAe,GAAG,SAAlBA,eAAe,CAAI9F,GAAmB;EAAA,OAAgC;IAClF;IACA8E,OAAO,EAAEA,qDAAO,CAAC9E,GAAG,CAAC+F,IAAI,CAAC;IAC1BC,CAAC,EAAEjB,0DAAY,CAAC/E,GAAG,CAAC+F,IAAI,CAAC;IACzB;IACAE,SAAS,EAAE9C,6DAAY,CAACnD,GAAG,CAAC+F,IAAI,CAAC;IACjCG,YAAY,EAAE9C,gEAAe,CAACpD,GAAG,CAAC+F,IAAI,CAAC;IAEvC;IACAhF,aAAa,EAAEA,0DAAa,CAACf,GAAG,CAAC+F,IAAI,CAAC;IACtClF,aAAa,EAAEA,0DAAa,CAACb,GAAG,CAAC+F,IAAI,CAAC;IACtCjF,MAAM,EAAEA,mDAAM,CAACd,GAAG,CAAC+F,IAAI,CAAC;IACxBnF,MAAM,EAAEA,mDAAM,CAACZ,GAAG,CAAC+F,IAAI,CAAC;IAExB;IACArD,qBAAqB,EAArBA,6EAAqB;IACrBpB,qBAAqB,EAArBA,+EAAqB;IACrBmB,sBAAsB,EAAtBA,8EAAsB;IACtBpB,sBAAsB,EAAtBA,gFAAsB;IACtBgB,SAAS,EAATA,iEAAS;IACTpB,SAAS,EAATA,mEAAS;IACTqB,UAAU,EAAVA,kEAAU;IACVpB,UAAU,EAAVA,oEAAU;IACVqB,iBAAiB,EAAjBA,yEAAiB;IACjBpB,iBAAiB,EAAjBA,2EAAiB;IACjBqB,gBAAgB,EAAhBA,wEAAgB;IAChBpB,gBAAgB,EAAhBA,0EAAgB;IAChB;IACAO,cAAc,EAAdA,2DAAc;IACdJ,cAAc,EAAdA,2DAAc;IACdK,eAAe,EAAfA,4DAAe;IACfJ,eAAe,EAAfA,4DAAe;IACfM,eAAe,EAAfA,4DAAe;IACfJ,eAAe,EAAfA,4DAAe;IACfD,cAAc,EAAdA,2DAAc;IACdI,cAAc,EAAdA,2DAAc;IACdE,YAAY,EAAZA,yDAAY;IACZC,aAAa,EAAbA,0DAAa;IACbC,YAAY,EAAZA,yDAAY;IACZC,aAAa,EAAbA,0DAAa;IACboC,OAAO,EAAPA,iDAAO;IACPD,OAAO,EAAPA,iDAAO;IACPE,SAAS,EAATA,sDAAS;IACTC,UAAU,EAAVA,uDAAU;IACV;IACAP,gBAAgB,EAAhBA,4DAAgB;IAChBC,yBAAyB,EAAzBA,qEAAyB;IACzBX,SAAS,EAATA,qDAAS;IACTF,SAAS,EAATA,qDAAS;IACTG,UAAU,EAAVA,sDAAU;IACVF,UAAU,EAAVA,sDAAU;IACVG,OAAO,EAAPA,mDAAO;IACPC,OAAO,EAAPA,mDAAO;IACPC,QAAQ,EAARA,oDAAQ;IACRC,QAAQ,EAARA,oDAAQ;IACRC,eAAe,EAAfA,2DAAe;IACfC,gBAAgB,EAAhBA,4DAAgB;IAChBC,eAAe,EAAfA,2DAAe;IACfC,gBAAgB,EAAhBA,4DAAgB;IAChBG,aAAa,EAAbA,yDAAa;IACbC,aAAa,EAAbA,yDAAa;IACb;IACAY,QAAQ,EAAEA,wDAAQ,CAAChF,GAAG,CAAC+F,IAAI,CAAC;IAC5Bd,UAAU,EAAVA,sDAAU;IACVC,WAAW,EAAXA,uDAAW;IACXC,kBAAkB,EAAlBA,8DAAkB;IAClBC,YAAY,EAAZA,wDAAY;IACZC,mBAAmB,EAAnBA,+DAAmB;IACnBG,QAAQ,EAARA,oDAAQ;IACRD,YAAY,EAAZA,wDAAY;IACZD,mBAAmB,EAAnBA,+DAAmB;IACnBG,cAAc,EAAdA,0DAAc;IACdC,YAAY,EAAZA,wDAAY;IACZC,eAAe,EAAfA,2DAAe;IACfC,aAAa,EAAbA,yDAAa;IACb;IACAjD,sBAAsB,EAAtBA,mEAAsB;IACtBC,wBAAwB,EAAxBA,qEAAwB;IACxBC,yBAAyB,EAAzBA,sEAAyB;IACzBE,eAAe,EAAfA,4DAAe;IACfD,eAAe,EAAfA,4DAAe;IACfI,WAAW,EAAXA,wDAAW;IACXD,aAAa,EAAbA,0DAAa;IACbD,cAAc,EAAdA,2DAAc;IACd;IACA0B,SAAS,EAATA,qDAAS;IACTE,SAAS,EAATA,qDAAS;IACTH,cAAc,EAAdA,0DAAc;IACdE,SAAS,EAATA,qDAAS;IACT;IACAkB,sBAAsB,EAAtBA,sFAAsB;IAEtB;IACAhB,SAAS,EAATA,0DAAS;IACT1C,WAAW,EAAXA,sDAAW;IACXC,eAAe,EAAfA,0DAAe;IACf+D,mBAAmB,EAAE,+BAAe;MACnC,4BAAiDnF,6EAAyB,EAAE;QAApEoF,yBAAyB,yBAAzBA,yBAAyB;QAAEC,SAAS,yBAATA,SAAS;MAC5C,uCACIA,SAAS,GACT1F,+CAAM,CAACyF,yBAAyB,EAAE,UAACE,GAAG,EAAEC,CAAC,EAAER,IAAI;QAAA,uCAAWO,GAAG,6FAAGP,IAAI,EAAGQ,CAAC,CAACvG,GAAG,CAAC+F,IAAI,CAAC;MAAA,CAAG,EAAE,CAAC,CAAC,CAAC;IAE/F;EACD,CAAC;AAAA,CAAC;;;;;;;;;;;;;;;;;;;;;ACtMF;AACA;AACA;AACA;AACA;;AAE2D;AACrB;AACQ;AACU;AAExD,IAAMe,OAA8B,GAAG,SAAjCA,OAA8B;EAAA,IAAM7G,QAAQ,QAARA,QAAQ;IAAE8G,KAAK,QAALA,KAAK;EAAA,oBACxD;IAAK,GAAG,EAAEA,KAAM;IAAC,EAAE,EAAEA;EAAM,gBAC1B,2DAAC,6DAAkB;IAAC,GAAG,EAAEA,KAAM;IAAC,GAAG,EAAEA;EAAM,gBAC1C,2DAAC,2CAAQ;IAAC,QAAQ,EAAE;EAAG,GAAE9G,QAAQ,CAAY,CACzB,CAChB;AAAA,CACN;AAED,IAAM+G,gBAAoB,GAAG,SAAvBA,gBAAoB,GAAS;EAClC,IAAMC,WAAW,GAAGJ,uDAAW,CAAC,UAACK,CAAC;IAAA,OAAKA,CAAC,CAACD,WAAW;EAAA,EAAC;EACrD,IAAME,OAAO,GAAGT,8CAAO,CACtB;IAAA,OACCC,+CAAO,CAACM,WAAW,CAAC,GACjB,IAAI,GACJL,2CAAG,CAACK,WAAW,EAAE,UAACG,IAAI,EAAEL,KAAK,EAAK;MAClC,IAAMM,QAAQ,gBAAGb,2CAAI,CAACY,IAAI,CAAC;MAC3B,oBACC,2DAAC,OAAO;QAAC,GAAG,EAAEL,KAAM;QAAC,KAAK,EAAEA;MAAM,gBACjC,2DAAC,QAAQ,OAAG,CACH;IAEX,CAAC,CAAC;EAAA,GACN,CAACE,WAAW,CAAC,CACb;EAED,oBACC;IACC,eAAY,aAAa;IACzB,GAAG,EAAC,aAAa;IACjB,MAAM;IACN,KAAK,EAAE;MAAEK,MAAM,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAS;EAAE,GAExCJ,OAAO,CACH;AAER,CAAC;AAED,iEAAeH,gBAAgB;;;;;;;;;;;;;;;;;;;;;;AChD/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAYoE;AACtB;AASf;AACuC;;AAEtE;AACO,IAAMiB,aAAa,GAAG,SAAhBA,aAAa,CAAIjI,GAAmB,EAA+B;EAC/E,IAAMkI,UAAU,GAAGrB,4DAAoB,EAAE,CAACsB,OAAO;EACjD,IAAMC,YAAY,GAAGJ,oFAA6B,EAAE;EACpD,OAAO;IACNK,kBAAkB,EAAEH,UAAU,CAACG,kBAAkB;IACjDC,kBAAkB,EAAEJ,UAAU,CAACI,kBAAkB;IACjDC,aAAa,EAAEL,UAAU,CAACK,aAAa,CAACvI,GAAG,CAAC+F,IAAI,CAAC;IACjDyC,QAAQ,EAAE,kBAACC,KAAkC;MAAA,OAC5CP,UAAU,CAACM,QAAQ,CAACf,gEAAc,CAACgB,KAAK,EAAEzI,GAAG,CAAC,CAAC;IAAA;IAChD0I,kBAAkB,EAAE,4BAACC,OAAe,EAAEC,OAAgB;MAAA,OACrDV,UAAU,CAACQ,kBAAkB,CAACC,OAAO,EAAEC,OAAO,CAAC;IAAA;IAChDC,WAAW,EAAE,qBAACF,OAAe;MAAA,OAAKT,UAAU,CAACW,WAAW,CAACF,OAAO,CAAC;IAAA;IACjE;IACAG,YAAY,EAAE,sBAACC,IAAwB;MAAA,OACtCb,UAAU,CAACY,YAAY,CAACf,oEAAkB,CAACgB,IAAI,EAAE/I,GAAG,CAAC,CAAC;IAAA;IACvD;IACAgJ,eAAe,EAAEd,UAAU,CAACc,eAAe;IAC3C;IACA;IACAC,eAAe,EAAE,yBAACF,IAA2B;MAAA,OAC5Cb,UAAU,CAACe,eAAe,CAACvB,uEAAqB,CAACqB,IAAI,EAAE/I,GAAG,CAAC,CAAC;IAAA;IAC7D;IACAkJ,kBAAkB,EAAEhB,UAAU,CAACgB,kBAAkB;IACjD;IACA;IACAC,aAAa,EAAE,uBAACJ,IAAyB;MAAA,OACxCb,UAAU,CAACiB,aAAa,CAACxB,qEAAmB,CAACoB,IAAI,EAAE/I,GAAG,CAAC,CAAC;IAAA;IACzD;IACAoJ,gBAAgB,EAAElB,UAAU,CAACkB,gBAAgB;IAC7C;IACA;IACAC,cAAc,EAAE,wBAACN,IAA0B;MAAA,OAC1Cb,UAAU,CAACmB,cAAc,CAACzB,sEAAoB,CAACmB,IAAI,EAAE/I,GAAG,CAAC,CAAC;IAAA;IAC3D;IACAsJ,iBAAiB,EAAEpB,UAAU,CAACoB,iBAAiB;IAC/C;IACA;IACAC,uBAAuB,EAAE,iCAACR,IAAmC;MAAA,OAC5Db,UAAU,CAACqB,uBAAuB,CAAC1B,+EAA6B,CAACkB,IAAI,EAAE/I,GAAG,CAAC,CAAC;IAAA;IAC7E;IACAwJ,0BAA0B,EAAEtB,UAAU,CAACsB,0BAA0B;IACjE;IACA;IACAC,yBAAyB,EAAE,mCAACV,IAAqC;MAAA,OAChEb,UAAU,CAACuB,yBAAyB,CAAC3B,iFAA+B,CAACiB,IAAI,EAAE/I,GAAG,CAAC,CAAC;IAAA;IACjF;IACA0J,4BAA4B,EAAExB,UAAU,CAACwB,4BAA4B;IACrEC,iBAAiB,EAAEvB,YAAY,CAACuB,iBAAiB;IACjDC,eAAe,EAAExB,YAAY,CAACwB,eAAe;IAC7CC,eAAe,EAAEzB,YAAY,CAACyB,eAAe;IAC7CC,aAAa,EAAE1B,YAAY,CAAC0B,aAAa;IACzCC,kBAAkB,EAAE3B,YAAY,CAAC2B,kBAAkB,CAAC/J,GAAG,CAAC+F,IAAI,CAAC;IAC7DiE,gBAAgB,EAAE5B,YAAY,CAAC4B,gBAAgB;IAC/CC,YAAY,EAAEzC,6EAAqB,CAACxH,GAAG,CAAC+F,IAAI;EAC7C,CAAC;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFD;AACA;AACA;AACA;AACA;AACA;;AAE4B;AAGmD;AAC/B;AACa;AACD;AACE;AACqB;AAChB;AACD;AACpB;AAE9C,IAAM6E,aAAa,GAAG;EACrBnC,KAAK,EAAE2B,uDAAe;EACtBS,EAAE,EAAET,uDAAe;EACnBU,GAAG,EAAEV,uDAAeA;AACrB,CAAC;AAED,IAAMW,kBAAkB,GAAG,SAArBA,kBAAkB,CAAI/E,CAAY;EAAA,OAAsB;IAC7D6E,EAAE,EAAET,uDAAe;IACnBU,GAAG,EAAEV,uDAAe;IACpB3B,KAAK,EAAE2B,uDAAe;IACtBY,SAAS,EAAE,oBAAoB;IAC/BC,QAAQ,EAAE,EAAE;IACZrC,OAAO,EAAE,IAAI;IACbsC,KAAK,EAAElF,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC;IACpCmF,KAAK,EAAE;MACNC,IAAI,EAAE;IACP;EACD,CAAC;AAAA,CAAC;AACF,IAAMC,oBAAoB,GAAG;EAC5BR,EAAE,EAAET,uDAAe;EACnBU,GAAG,EAAEV,uDAAe;EACpB3B,KAAK,EAAE2B,uDAAe;EACtBY,SAAS,EAAEL,uEAAeA;AAC3B,CAAC;AAED,IAAMW,eAAe,GAAG;EACvBT,EAAE,EAAET,uDAAe;EACnBU,GAAG,EAAEV,uDAAe;EACpB3B,KAAK,EAAE2B,uDAAe;EACtBY,SAAS,EAAEN,wEAAeA;AAC3B,CAAC;AACD,IAAMa,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIvF,CAAY;EAAA,OAAoB;IAC5D6E,EAAE,EAAE,SAAS;IACbpC,KAAK,EAAE,SAAS;IAChBqC,GAAG,EAAElL,oDAAY;IACjBoL,SAAS,EAAER,kEAAe;IAC1BgB,IAAI,EAAE,oBAAoB;IAC1BN,KAAK,EAAElF,CAAC,CAAC,0BAA0B,EAAE,kBAAkB,CAAC;IACxDiF,QAAQ,EAAE,CAAC;IACXQ,WAAW,EAAEhB,4FAAmB,CAACzE,CAAC;EACnC,CAAC;AAAA,CAAC;AAEF,IAAM0F,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAI1F,CAAY;EAAA,OAAoB;IAC7D6E,EAAE,EAAE,UAAU;IACdpC,KAAK,EAAE,UAAU;IACjBqC,GAAG,EAAElL,oDAAY;IACjBoL,SAAS,EAAET,iEAAc;IACzBiB,IAAI,EAAE,eAAe;IACrBN,KAAK,EAAElF,CAAC,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACzCiF,QAAQ,EAAE;EACX,CAAC;AAAA,CAAC;AAEF,IAAMU,WAAW,GAAG;EACnBlD,KAAK,EAAE0B,qDAAa;EACpBU,EAAE,EAAEV,qDAAa;EACjBW,GAAG,EAAEX,qDAAaA;AACnB,CAAC;AACD,IAAMyB,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAI5F,CAAY;EAAA,OAAsB;IAC3D6E,EAAE,EAAEV,qDAAa;IACjBW,GAAG,EAAEX,qDAAa;IAClB1B,KAAK,EAAE0B,qDAAa;IACpBa,SAAS,EAAE,kBAAkB;IAC7BC,QAAQ,EAAE,EAAE;IACZrC,OAAO,EAAE,IAAI;IACbsC,KAAK,EAAElF,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC;IAChCmF,KAAK,EAAE;MACNC,IAAI,EAAE;IACP;EACD,CAAC;AAAA,CAAC;AACF,IAAMS,aAAa,GAAG;EACrBhB,EAAE,EAAEV,qDAAa;EACjBW,GAAG,EAAEX,qDAAa;EAClB1B,KAAK,EAAE0B,qDAAa;EACpBa,SAAS,EAAEV,kEAAaA;AACzB,CAAC;AAED,IAAMwB,iBAAiB,GAAG;EACzBjB,EAAE,EAAE,UAAU;EACdC,GAAG,EAAElL,oDAAY;EACjBoL,SAAS,EAAEX,2DAAQ;EACnB5B,KAAK,EAAE;AACR,CAAC;AACM,IAAMsD,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAI/F,CAAY,EAAW;EAC3Da,4DAAoB,CACnBqD,kDAAO,CAAC,UAAChD,CAAW,EAAK;IAAA;IACxBA,CAAC,CAAC+E,MAAM,iHACN9B,qDAAa,EAAGwB,WAAW,gGAC3BvB,uDAAe,EAAGQ,aAAa,aAChC;IACD1D,CAAC,CAACgF,KAAK,CAACC,UAAU,GAAG,CAACP,gBAAgB,CAAC5F,CAAC,CAAC,EAAE+E,kBAAkB,CAAC/E,CAAC,CAAC,CAAC;IACjEkB,CAAC,CAACgF,KAAK,CAACE,YAAY,GAAG,CAACf,oBAAoB,CAAC;IAC7CnE,CAAC,CAACgF,KAAK,CAACG,OAAO,GAAG,CAACR,aAAa,EAAEP,eAAe,CAAC;IAClDpE,CAAC,CAACgF,KAAK,CAACI,QAAQ,GAAG,CAACf,mBAAmB,CAACvF,CAAC,CAAC,EAAE0F,oBAAoB,CAAC1F,CAAC,CAAC,CAAC;IACpEkB,CAAC,CAACgF,KAAK,CAACK,KAAK,GAAG,CAACT,iBAAiB,CAAC;EACpC,CAAC,CAAC,CACF;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpHD;AACA;AACA;AACA;AACA;;AAEgC;AAEc;AACW;AACP;AACC;AACN;AAEQ;AACZ;AAC8B;AAEhE,IAAMgB,QAAkD,GAAG,CAAC,CAAC;AACpE,IAAIC,SAAS,GAAG,CAAC;AAEV,SAASC,OAAO,CAACC,MAAsB,EAA2B;EACxE,OAAO,IAAIC,OAAO,CAAC,UAACC,QAAQ,EAAEC,OAAO,EAAK;IACzC,IAAIC,QAAQ,GAAG,KAAK;IACpB,IAAMC,OAAO,GAAG,SAAVA,OAAO,GAAe;MAC3B,IAAI,CAACD,QAAQ,EAAE;QACdA,QAAQ,GAAG,IAAI;QACfF,QAAQ,CAACF,MAAM,CAAC;MACjB;IACD,CAAC;IACD,IAAMM,MAAM,GAAG,SAATA,MAAM,CAAIC,CAAU,EAAW;MACpC,IAAI,CAACH,QAAQ,EAAE;QACdA,QAAQ,GAAG,IAAI;QACfD,OAAO,CAACI,CAAC,CAAC;MACX;IACD,CAAC;IACD,IAAI;MACH,IACCC,MAAM,CAACC,yBAAyB,IAChCD,MAAM,CAACC,yBAAyB,CAAC,4BAA4B,CAAC,EAC7D;QACDD,MAAM,CAACC,yBAAyB,CAAC,4BAA4B,CAAC,CAACT,MAAM,CAAClH,IAAI,CAAC;UAC1E6G,MAAM,EAAEA,mDAAM,CAACK,MAAM,CAAClH,IAAI,CAAC;UAC3B2G,OAAO,EAAPA,yDAAO;UACPD,OAAO,EAAPA,wDAAO;UACPI,cAAc,EAAdA,6EAAcA;QAAA,GACX5E,mEAAa,CAACgF,MAAM,CAAC,GACrBnH,uEAAe,CAACmH,MAAM,CAAC,GACvBN,wCAAS,CACZ;MACF;MAEAc,MAAM,CAACE,mBAAmB,CAACV,MAAM,CAAClH,IAAI,CAAC,GAAG,UAAC6H,YAA2B,EAAW;QAChF/G,6DAAoB,CAAC,UAACgH,KAAK;UAAA,OAAM;YAChC5G,WAAW,kCACP4G,KAAK,CAAC5G,WAAW,6FACnBgG,MAAM,CAAClH,IAAI,EAAG6H,YAAY;UAE7B,CAAC;QAAA,CAAC,CAAC;QACHlN,OAAO,CAACoN,IAAI,qBACEb,MAAM,CAAClH,IAAI,GACxB,uHAAuH,CACvH;QACDuH,OAAO,EAAE;MACV,CAAC;MAED,IAAMS,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;MAC/CF,MAAM,CAACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC;MAC9CH,MAAM,CAACG,YAAY,CAAC,eAAe,EAAEjB,MAAM,CAAClH,IAAI,CAAC;MACjDgI,MAAM,CAACG,YAAY,CAAC,kBAAkB,EAAEjB,MAAM,CAACkB,OAAO,CAAC;MACvDJ,MAAM,CAACG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;MAC1CH,MAAM,CAACG,YAAY,CAAC,KAAK,YAAKjB,MAAM,CAACmB,aAAa,EAAG;MACrDJ,QAAQ,CAACK,IAAI,CAACC,WAAW,CAACP,MAAM,CAAC;MACjCjB,QAAQ,WAAIG,MAAM,CAAClH,IAAI,qBAAYgH,SAAS,IAAI,CAAC,EAAI,GAAGgB,MAAM;IAC/D,CAAC,CAAC,OAAOQ,GAAY,EAAE;MACtB7N,OAAO,CAACD,KAAK,CAAC8N,GAAG,CAAC;MAClBhB,MAAM,CAACgB,GAAG,CAAC;IACZ;EACD,CAAC,CAAC;AACH;AAEO,SAASC,UAAU,GAAkB;EAC3C,OAAOtB,OAAO,CAACI,OAAO,EAAE,CAACmB,IAAI,CAAC,YAAM;IACnCjC,+CAAM,CAACM,QAAQ,EAAE,UAACiB,MAAM,EAAK;MAC5B,IAAIA,MAAM,CAACW,UAAU,EAAEX,MAAM,CAACW,UAAU,CAACC,WAAW,CAACZ,MAAM,CAAC;IAC7D,CAAC,CAAC;EACH,CAAC,CAAC;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFA;AACA;AACA;AACA;AACA;;AAEqC;AAE8C;AAGpC;AACD;AACwB;AAChB;AACL;AACU;AACE;AAE7D,IAAMqB,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,MAAc;EAAA,OACvC,+LAAO,YAAmBA,MAAM,eAAY;AAAA;AAEtC,SAASC,QAAQ,CAACC,IAA2B,EAAQ;EAAA;EAC3DL,yEAAqB,EAAE;EACvB,IAAMM,UAAU,GAAGZ,8CAAM,CAACW,IAAI,EAAE,UAACzE,GAAG,EAAK;IACxC,IAAIA,GAAG,CAAC/E,IAAI,KAAKnG,oDAAY,EAAE,OAAO,KAAK;IAC3C,IAAIkL,GAAG,CAAC2E,OAAO,IAAIhO,+DAAc,CAAC,OAAO,EAAEqJ,GAAG,CAAC2E,OAAO,CAAC,KAAK,OAAO,EAAE,OAAO,KAAK;IACjF,OAAO,IAAI;EACZ,CAAC,CAAC;EACF/O,OAAO,CAACgP,GAAG,CACV,gBAAgB,EAChB,uHAAuH,CACvH;EACD,4BAAqBV,qEAAwB,EAAE;IAAvC1C,QAAQ,yBAARA,QAAQ;EAChB,IAAM+C,MAAM,oBACV/C,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEqD,KAAK,oDAAf,gBAAiBC,gBAAgB,yCACjCtD,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEuD,KAAK,oDAAf,gBAAiBC,YAAY,uCAC9B,IAAI;EACLjQ,+DAAqB,EAAE,CAACkQ,OAAO,CAACC,OAAO,CAACR,UAAU,EAAEH,MAAM,CAAC;EAC3D,IAAMY,SAAS,GAAGd,uEAAU,CAACF,kDAAI,EAAE,CAAC,CAACiB,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKA,IAAI,CAACtF,EAAE,KAAKwE,MAAM;EAAA,EAAC;EACvE,IAAIY,SAAS,EAAE;IACd,IAAMG,gBAAgB,GAAGH,SAAS,CAACI,aAAa,IAAIJ,SAAS,CAACK,KAAK;IACnElB,gBAAgB,CAACgB,gBAAgB,CAAC,CAAC3B,IAAI,CAAC,UAAC8B,aAAa,EAAK;MAC1D1B,gFAAc,CAACuB,gBAAgB,EAAEG,aAAa,CAAC;MAC/CzB,kFAAgB,CAACsB,gBAAgB,CAAC;IACnC,CAAC,CAAC;EACH;EACArB,6DAAoB,EAAE,CAACyB,UAAU,CAAChB,UAAU,CAAC;EAC7CtC,OAAO,CAACuD,UAAU,CAAC7J,2CAAG,CAAC4I,UAAU,EAAE,UAAC1E,GAAG;IAAA,OAAKkC,mDAAO,CAAClC,GAAG,CAAC;EAAA,EAAC,CAAC;AAC3D;AAEO,SAAS4F,aAAa,GAAkB;EAC9C,OAAOlC,sDAAU,EAAE;AACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;;AAE0B;AACY;AACL;AACkB;AAClB;AACU;AACD;AACS;AACO;AACJ;AACE;AAEjD,SAASU,qBAAqB,GAAS;EAC7C,IAAI,CAACzB,MAAM,CAACC,yBAAyB,EAAE;IACtCD,MAAM,CAACC,yBAAyB,GAAG;MAClC2D,KAAK,EAAE3R,8CAAK;MACZ,WAAW,EAAEiR,sCAAQ;MACrB,eAAe,EAAEI,0CAAS;MAC1B,aAAa,EAAEC,wCAAU;MACzBM,MAAM,EAAEV,mCAAM;MACd,kBAAkB,EAAEC,6CAAc;MAClCU,MAAM,EAAET,mCAAM;MACd,mBAAmB,EAAEK,8CAAgB;MACrC,kBAAkB,EAAEF,6CAAc;MAClC,4BAA4B,EAAE,CAAC,CAAC;MAChC,iCAAiC,EAAEC,6DAAM;MACzC,8BAA8B,EAAEE,yDAAOA;IACxC,CAAC;IACD3D,MAAM,CAACE,mBAAmB,GAAG,CAAC,CAAC;EAChC;AACD;;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;;AAEkC;AACc;AACJ;AACC;AAE7C,IAAM6D,2BAA+B,GAAG,SAAlCA,2BAA+B,OAAqB;EAAA,IAAfvR,QAAQ,QAARA,QAAQ;EAClD,IAAMI,IAAI,GAAGR,yDAAY,CAAC,UAACqH,CAAC;IAAA,OAAKA,CAAC,CAAC/G,SAAS,CAACP,oDAAY,CAAC;EAAA,EAAC;EAC3D,oBAAO,2DAAC,0DAAe;IAAC,IAAI,EAAES;EAAK,GAAEJ,QAAQ,CAAmB;AACjE,CAAC;AACD,iEAAeuR,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACf1C;AACA;AACA;AACA;AACA;;AAOyC;AACgB;AACC;AAC6B;AACnC;AACI;AACD;AACuC;AAClD;AACD;AACgB;AAE3D,IAAMkB,aAAiB,GAAG,SAApBA,aAAiB,GAAS;EAC/B,IAAMC,OAAO,GAAGR,4DAAU,EAAE;EAC5B;EACA,IAAMS,cAAc,GAAGf,iDAAU,CAACD,oFAAsB,CAAa;EACrE;EACA,IAAMiB,WAAW,GAAGhB,iDAAU,CAACH,iFAAmB,CAAa;EAC/DW,gEAAS,CAAC;IACThM,SAAS,EAAE;MACVyM,UAAU,EAAE;QAAA,OAAMH,OAAO;MAAA;MACzBC,cAAc,EAAdA,cAAc;MACdC,WAAW,EAAXA;IACD;EACD,CAAC,CAAC;EACF,OAAO,IAAI;AACZ,CAAC;AAED,IAAME,kBAAsB,GAAG,SAAzBA,kBAAsB,GAAS;EACpC,iBAAkBX,2DAAS,EAAsB;IAAzC3J,KAAK,cAALA,KAAK;EACbqJ,gDAAS,CAAC,YAAM;IACf,IAAIrJ,KAAK,EAAE5B,4DAAoB,CAAC;MAAEmM,UAAU,EAAEvK;IAAM,CAAC,CAAC;EACvD,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACX,OAAO,IAAI;AACZ,CAAC;AAED,IAAMwK,oBAA0C,GAAG,SAA7CA,oBAA0C,OAAc;EAAA,IAARjN,CAAC,QAADA,CAAC;EACtD8L,gDAAS,CAAC,YAAM;IACf/F,wEAAoB,CAAC/F,CAAC,CAAC;EACxB,CAAC,EAAE,CAACA,CAAC,CAAC,CAAC;EACP,OAAO,IAAI;AACZ,CAAC;AAED,IAAMkN,kBAAsB,GAAG,SAAzBA,kBAAsB,GAAS;EACpC,sBAAYnB,8DAAc,EAAE;IAAA;IAArB/L,CAAC;EACR,oBACC,2DAAC,4DAAa;IAAC,QAAQ,EAAEsM,gDAAQA;EAAC,gBACjC,2DAAC,6EAAe,qBACf,2DAAC,0EAAY,QACXC,qDAAa,iBACb,2DAAC,oDAAM,qBACN,2DAAC,mDAAK;IAAC,IAAI,EAAE;EAAU,gBACtB,2DAAC,kBAAkB,OAAG,CACf,CAET,eACD,2DAAC,oBAAoB;IAAC,CAAC,EAAEvM;EAAE,EAAG,eAC9B,2DAAC,sGAA6B,OAAG,eACjC,2DAAC,aAAa,OAAG,eACjB,2DAAC,+DAAgB,OAAG,eACpB,2DAAC,yDAAS,OAAG,CACC,CACE,CACH;AAElB,CAAC;AACD,iEAAekN,kBAAkB;;;;;;;;;;;;;;;;;;;;;;AC7EjC;AACA;AACA;AACA;AACA;;AAE6C;AACG;AACkB;AACX;AACzB;AACmB;AAEjD,IAAMG,YAAgB,GAAG,SAAnBA,YAAgB,GAAS;EAC9BvB,gDAAS,CAAC,YAAM;IACfqB,2CAAI,EAAE;IACN,OAAO,YAAM;MACZzC,6DAAa,EAAE;IAChB,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;EACN,oBACC,2DAAC,0DAAa,qBACb,2DAAC,8DAA2B,qBAC3B,2DAAC,4DAAkB,OAAG,CACO,CACf;AAElB,CAAC;AAED,iEAAe2C,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7B3B;AACA;AACA;AACA;AACA;;AAE8C;AACH;AACA;AACW;AAE/C,IAAMF,IAAI,GAAG,SAAPA,IAAI,GAAe;EAC/BjG,OAAO,CAACsG,GAAG,CAAC,CAACD,mEAAW,EAAE,EAAED,0DAAO,EAAE,CAAC,CAAC,WAAQ,CAAC,YAAM;IACrDhE,wDAAQ,CAACmE,MAAM,CAACC,MAAM,CAAC7M,4DAAoB,EAAE,CAAC0I,IAAI,CAAC,CAAC;EACrD,CAAC,CAAC;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfD;AACA;AACA;AACA;AACA;;AASe;AAK0B;AAC0B;AACnC;AACoC;AAEmB;AACtC;AAEqB;AACT;AAE7D4E,2DAAc,CAAC1G,MAAM,CAACgH,KAAK,CAAC;AAOrB,IAAMC,qBAAqB,gBAAGf,qDAAa,CAAiB;EAClEgB,YAAY,EAAE,wBAAM;IACnB,MAAMC,KAAK,CAAC,iBAAiB,CAAC;EAC/B,CAAC;EACDC,kBAAkB,EAAE,8BAAM;IACzB,MAAMD,KAAK,CAAC,iBAAiB,CAAC;EAC/B;AACD,CAAC,CAAC;AAMF,IAAME,gBAAgB,GACrB,SADKA,gBAAgB;EAAA,IACpBC,WAAwB,uEAAG,CAAC,CAAC;EAAA,OAC9B,UAACC,KAAmB;IAAA,qDAChBA,KAAK,GACLD,WAAW;MACdE,OAAO,gDACHD,KAAK,CAACC,OAAO,GACbF,WAAW,CAACE,OAAO;QACtBC,MAAM,EAAE;UACPC,OAAO,EAAE,SAAS;UAClBC,KAAK,EAAE,SAAS;UAChBC,MAAM,EAAE,SAAS;UACjBC,KAAK,EAAE,SAAS;UAChBC,QAAQ,EAAE;QACX,CAAC;QACDC,MAAM,EAAE;UACPL,OAAO,EAAE,SAAS;UAClBC,KAAK,EAAE,SAAS;UAChBC,MAAM,EAAE,SAAS;UACjBC,KAAK,EAAE,SAAS;UAChBC,QAAQ,EAAE;QACX;MAAC;IACD;EAAA,CACA;AAAA;AAEH,IAAME,aAA6B,GAAG,SAAhCA,aAA6B,CAAIT,KAAK;EAAA,uCACxCA,KAAK;IACRU,KAAK,kCACDV,KAAK,CAACU,KAAK;MACdC,MAAM,EAAEX,KAAK,CAACU,KAAK,CAACE,gBAAgB;MACpCC,MAAM,EAAEb,KAAK,CAACU,KAAK,CAACI;IAAe;EACnC;AAAA,CACA;AAMF,IAAMC,WAAW,GAAG3B,qEAAiB,4BAEpB;EAAA,IAAG4B,YAAY,QAAZA,YAAY;EAAA,iBAAkBA,YAAY;AAAA,CAAG,CAEhE;AAKM,IAAM5C,aAAa,GAAG,SAAhBA,aAAa,QAAsD;EAAA,IAAhDnT,QAAQ,SAARA,QAAQ;EACvC,uBAA+BmC,8DAAe,CAAkBkS,mEAA0B,EAAE,CAAC,CAAC,CAAC;IAAA;IAAxF2B,oBAAoB;EAE3B,gBAAoCpC,gDAAQ,CAC3C,CAAC,CAAC,CACF;IAAA;IAFMqC,UAAU;IAAEC,aAAa;EAIhC,IAAMC,YAAY,GAAG5B,2EAAkB,EAAE;EAEzCZ,uDAAe,CAAC,YAAM;IACrB,IAAMyC,kBAAoD,GAAGD,YAAY,GACtE;MAAEE,OAAO,EAAExC,kFAAgB,CAAC;QAAEqB,OAAO,EAAEiB;MAAa,CAAC;IAAE,CAAC,GACxD,CAAC,CAAC;IACLD,aAAa,CAAC,UAACI,SAAS;MAAA,uCACpBA,SAAS;QACZtB,OAAO,EAAEH,gBAAgB,CAAC;UACzBG,OAAO,EAAEoB;QACV,CAAC,CAAC;QACFX,KAAK,EAAED;MAAa;IAAA,CACnB,CAAC;EACJ,CAAC,EAAE,CAACW,YAAY,CAAC,CAAC;EAElB,iBAA8CvC,gDAAQ,CAAuB,UAAU,CAAC;IAAA;IAAjF2C,eAAe;IAAE3B,kBAAkB;EAE1C/C,iDAAS,CAAC,YAAM;IACf,QAAQ0E,eAAe;MACtB,KAAK,UAAU;QACdxC,iDAAI,CAAC,KAAK,CAAC;QACXC,oDAAO,EAAE;QACT;MACD,KAAK,SAAS;QACbD,iDAAI,CAAC,KAAK,CAAC;QACXE,mDAAM,CACL;UACCuC,KAAK,EAAE,CAAC;QACT,CAAC,EACDpC,oEAA2B,CAC3B;QACD;MACD,KAAK,MAAM;MACX;QACCL,iDAAI,CACH;UACCyC,KAAK,EAAE,CAAC;QACT,CAAC,EACDpC,oEAA2B,CAC3B;QACD;IAAM;EAET,CAAC,EAAE,CAACmC,eAAe,CAAC,CAAC;EAErB,IAAME,oBAAoB,GAAGpW,mDAAW,CACvC,UAAC0U,KAAK;IAAA,OACLrU,+CAAM,CACLuV,UAAU,EACV,UAACS,gBAAgB,EAAEC,gBAAgB,EAAK;MACvC,IAAIA,gBAAgB,EAAE;QACrB,OAAOA,gBAAgB,CAACD,gBAAgB,CAAC;MAC1C;MACA,OAAOA,gBAAgB;IACxB,CAAC,EACD3B,KAAK,CACL;EAAA,GACF,CAACkB,UAAU,CAAC,CACZ;EAED,IAAMvB,YAAY,GAAGrU,mDAAW,CAAiC,UAACuW,YAAY,EAAEhM,EAAE,EAAK;IACtFsL,aAAa,CAAC,UAACW,GAAG;MAAA,uCAAWA,GAAG,6FAAGjM,EAAE,EAAGgM,YAAY;IAAA,CAAG,CAAC;EACzD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMb,YAAY,GAAGtP,+CAAO,CAAoC,YAAM;IACrE,IAAMqQ,wBAAwB,GAAGd,oBAAoB,CAAC,qCAAqC,CAAC;IAC5F,IAAIc,wBAAwB,KAAKC,SAAS,EAAE;MAC3C,OAAOD,wBAAwB;IAChC;IACA,OAAOxC,mFAAsB,EAAE;EAChC,CAAC,EAAE,CAAC0B,oBAAoB,CAAC,CAAC;EAE1B,oBACC,4DAAC,2EAAe;IAAC,SAAS,EAAES;EAAqB,gBAChD,4DAAC,qBAAqB,CAAC,QAAQ;IAAC,KAAK,EAAE;MAAE/B,YAAY,EAAZA,YAAY;MAAEE,kBAAkB,EAAlBA;IAAmB;EAAE,gBAC3E,4DAAC,WAAW;IAAC,YAAY,EAAEmB;EAAa,EAAG,EAC1C/V,QAAQ,CACuB,CAChB;AAEpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtLD;AACA;AACA;AACA;AACA;AAC2D;AAChB;AACb;AACmB;AACa;AACH;AACF;AAElD,SAASuU,kBAAkB,GAAuB;EACxD,uBAA8DpS,8DAAe,CAE3E+U,uEAA8B,EAAEH,SAAS,CAAC;IAAA;IAFrCM,uBAAuB;IAAEC,0BAA0B;EAG1D,2BAAqEH,wEAAmB,EAAE;IAAlFI,yBAAyB,wBAAzBA,yBAAyB;IAAEC,6BAA6B,wBAA7BA,6BAA6B;EAChE,mBAA8CJ,sEAAW,EAAE;IAAnDK,eAAe,gBAAfA,eAAe;IAAEC,gBAAgB,gBAAhBA,gBAAgB;EACzC,IAAM3C,KAAK,GAAGiC,0EAAQ,EAAE;EAExB,IAAMb,YAAY,GAAG1P,+CAAO,CAAC,YAAM;IAClC,IAAIiR,gBAAgB,KAAKX,SAAS,EAAE;MACnC,IAAIQ,yBAAyB,IAAIC,6BAA6B,EAAE;QAC/D,IAAIC,eAAe,EAAE;UACpB,OAAOD,6BAA6B,IAAID,yBAAyB;QAClE;QACA,OAAOA,yBAAyB,IAAIC,6BAA6B;MAClE;IACD;IACA,IAAIH,uBAAuB,IAAIJ,6CAAI,CAACI,uBAAuB,CAAC,GAAG,CAAC,EAAE;MACjE,OACEI,eAAe,KAAKJ,uBAAuB,CAACM,IAAI,IAAIN,uBAAuB,CAACO,KAAK,CAAC,IACnFP,uBAAuB,CAACO,KAAK,IAC7BP,uBAAuB,CAACM,IAAI;IAE9B;IACA,IAAI5C,KAAK,EAAE;MACV,OAAOA,KAAK,CAACC,OAAO,CAACqB,OAAO,CAACnB,OAAO;IACrC;IACA,OAAO6B,SAAS;EACjB,CAAC,EAAE,CACFS,6BAA6B,EAC7BD,yBAAyB,EACzBE,eAAe,EACfC,gBAAgB,EAChBL,uBAAuB,EACvBtC,KAAK,CACL,CAAC;EAEFlD,iDAAS,CAAC,YAAM;IACf,IAAI6F,gBAAgB,KAAKX,SAAS,EAAE;MACnCO,0BAA0B,CAAC,UAACO,SAAS;QAAA,uCACjCA,SAAS,8FACXJ,eAAe,GAAG,MAAM,GAAG,OAAO,EAAGtB,YAAY;MAAA,CACjD,CAAC;IACJ;EACD,CAAC,EAAE,CAACsB,eAAe,EAAEC,gBAAgB,EAAEvB,YAAY,EAAEmB,0BAA0B,CAAC,CAAC;EAEjF,OAAOnB,YAAY;AACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACO,IAAM2B,sBAAsB,GAAG,CACrC;EAAEC,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAQ,CAAC,EAC9C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAO,CAAC,EAC7C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAO,CAAC,EAC7C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAQ,CAAC,EAC9C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAS,CAAC,EAC/C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAM,CAAC,EAC5C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAS,CAAC,EAC/C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAO,CAAC,EAC7C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAO,CAAC,EAC7C;EAAEF,MAAM,EAAE,CAAC;EAAEC,GAAG,EAAE,SAAS;EAAEC,MAAM,EAAE;AAAS,CAAC,CAC/C;AAEM,IAAMC,OAAO,GAAG;EACtBC,SAAS,EAAE,GAAG;EACdC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,GAAG;EACTC,IAAI,EAAE,GAAG;EACTC,MAAM,EAAE,GAAG;EACXC,QAAQ,EAAE,GAAG;EACbC,IAAI,EAAE,GAAG;EACTC,aAAa,EAAE,GAAG;EAClBC,QAAQ,EAAE,IAAI;EACdC,IAAI,EAAE,IAAI;EACVC,QAAQ,EAAE,IAAI;EAAE;EAChBC,aAAa,EAAE,IAAI;EACnBC,OAAO,EAAE,IAAI;EACbC,KAAK,EAAE,IAAI;EACXC,SAAS,EAAE,IAAI;EACfC,2BAA2B,EAAE;AAC9B,CAAC;AAEM,IAAMxZ,YAAY,GAAG,mBAAmB;AACxC,IAAMwK,eAAe,GAAG,UAAU;AAClC,IAAMiP,eAAe,GAAG,UAAU;AAClC,IAAMlP,aAAa,GAAG,QAAQ;AAC9B,IAAMmP,YAAY,GAAG;EAC3BC,YAAY,EAAE,cAAc;EAC5BC,iBAAiB,EAAE,mBAAmB;EACtCC,OAAO,EAAE,SAAS;EAClBC,YAAY,EAAE,cAAc;EAC5BC,OAAO,EAAE,SAAS;EAClBC,YAAY,EAAE,cAAc;EAC5BC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,aAAa;EAC1BC,WAAW,EAAE,aAAa;EAC1BC,gBAAgB,EAAE,kBAAkB;EACpCC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,aAAa;EAC1BrB,QAAQ,EAAE,UAAU;EACpBsB,aAAa,EAAE,eAAe;EAC9BC,GAAG,EAAE;AACN,CAAC;AAEM,IAAM/F,2BAA4C,GAAG;EAC3DgG,mBAAmB,EAAE,CAAC,iBAAiB,CAAC;EACxCC,MAAM,EAAE,EAAE;EACVC,GAAG,2KAKF;EACDC,iBAAiB,EAAE,CAAC,aAAa,CAAC;EAClCC,uBAAuB,EAAE;AAC1B,CAAC;AAED,IAAMC,IAAI,GAAG,YAAY;AAEzB,IAAMC,cAAc,aAAMD,IAAI,eAAY;AAEnC,IAAMnI,aAAa,GAAG9E,MAAM,CAACmN,QAAQ,CAACC,QAAQ,CAACC,UAAU,CAACH,cAAc,CAAC;AACzE,IAAMrI,QAAQ,GAAGC,aAAa,GAAGoI,cAAc,GAAGD,IAAI;AACtD,IAAMK,sBAAsB;AAClC;AACA,4aAA4a;AAEta,IAAMC,SAAS,GAAG,WAAW;AAE7B,IAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAU;AAEnE,IAAMC,WAAW,GAAG;EAC1BC,aAAa,EAAE,eAAe;EAC9BC,GAAG,EAAE,KAAK;EACVC,YAAY,EAAE,cAAc;EAC5BC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBvN,QAAQ,EAAE,UAAU;EACpBwN,WAAW,EAAE,aAAa;EAC1BC,oBAAoB,EAAE,sBAAsB;EAC5CC,aAAa,EAAE,eAAe;EAC9BC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACP,CAAC;AACM,IAAMvH,0BAA0B,GAAG,UAAU;AAC7C,IAAM6C,8BAA8B,GAAG,QAAQ;AAC/C,IAAM2E,wBAAwB,GAAG,oBAAoB;AACrD,IAAMC,eAAe,GAAG,CAC9B;EAAEzL,KAAK,EAAE,EAAE;EAAEpF,KAAK,EAAE;AAAK,CAAC,EAC1B;EAAEoF,KAAK,EAAE,IAAI;EAAEpF,KAAK,EAAE;AAAI,CAAC,EAC3B;EAAEoF,KAAK,EAAE,GAAG;EAAEpF,KAAK,EAAE;AAAI,CAAC,EAC1B;EAAEoF,KAAK,EAAE,KAAK;EAAEpF,KAAK,EAAE;AAAI,CAAC,EAC5B;EAAEoF,KAAK,EAAE,GAAG;EAAEpF,KAAK,EAAE;AAAK,CAAC,CAClB;AACH,IAAM8Q,cAAc,GAAG,GAAG;AAC1B,IAAMC,aAAa,GAAG;EAC5BC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE,GAAG;EACXC,GAAG,EAAE,CAAC,CAAC;AACR,CAAU;;AAEH,IAAMC,oBAAoB,GAAG,qBAAqB;AAClD,IAAMC,oBAAoB,GAAG,oBAAoB;;;;;;;;;;;;;;;;;;;;;AC5HxD;AACA;AACA;AACA;AACA;AAC4C;AAC8B;AACjB;AAGlD,IAAMjF,WAAW,GAAG,SAAdA,WAAW,GAGnB;EACJ,IAAMoF,qBAAqB,GAAGF,uFAAwB,EAAE;EAExD,gBAA8C1I,+CAAQ,CAAU,KAAK,CAAC;IAAA;IAA/D6D,eAAe;IAAEgF,kBAAkB;EAE1C5K,gDAAS,CAAC,YAAM;IACf,IAAI2K,qBAAqB,EAAE;MAC1BC,kBAAkB,CAChBD,qBAAqB,KAAK,MAAM,IAAID,sEAA8B,EAAE,CAACG,OAAO,IAC5EF,qBAAqB,KAAK,SAAS,CACpC;IACF;EACD,CAAC,EAAE,CAACA,qBAAqB,CAAC,CAAC;EAE3B3K,gDAAS,CAAC,YAAM;IACf,IAAM8K,WAAW,GAAG,SAAdA,WAAW,CAAIC,KAA0B,EAAW;MACzDH,kBAAkB,CAACG,KAAK,CAACF,OAAO,CAAC;IAClC,CAAC;IACDH,sEAA8B,EAAE,CAACM,gBAAgB,CAAC,QAAQ,EAAEF,WAAW,CAAC;IACxE,OAAO,YAAY;MAClBJ,sEAA8B,EAAE,CAACO,mBAAmB,CAAC,QAAQ,EAAEH,WAAW,CAAC;IAC5E,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAElF,eAAe,EAAfA,eAAe;IAAEC,gBAAgB,EAAE8E;EAAsB,CAAC;AACpE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCD;AACA;AACA;AACA;AACA;;AAEgC;AACI;AACe;AACQ;AAE2B;AAE/E,SAASO,8BAA8B,CAC7CC,IAAgB,EACuB;EACvC,OAAOA,IAAI,CAAClX,IAAI,KAAKuW,4DAAoB,IAAIW,IAAI,CAACC,MAAM,KAAKtd,oDAAY;AAC1E;AAEO,SAASud,sBAAsB,CACrCC,wBAAiC,EACkB;EACnD,OACC,OAAOA,wBAAwB,KAAK,QAAQ,IAC5CnC,mEAA2B,CAACmC,wBAAwB,CAAyB;AAE/E;;AAEA;AACO,SAASb,wBAAwB,GAAqC;EAC5E,IAAMjQ,QAAQ,GAAGxK,+DAAe,EAAE;EAClC,2BAAkCsV,uEAAmB,EAAE;IAA/CkG,qBAAqB,wBAArBA,qBAAqB;EAE7B,IAAMC,eAAe,GAAG7W,8CAAO,CAC9B;IAAA,OAAMwQ,4CAAI,CAAC5K,QAAQ,CAACqD,KAAK,CAAC,GAAG,CAAC,IAAIuH,4CAAI,CAAC5K,QAAQ,CAACuD,KAAK,CAAC,GAAG,CAAC,IAAIqH,4CAAI,CAAC5K,QAAQ,CAACkR,KAAK,CAAC,GAAG,CAAC;EAAA,GACtF,CAAClR,QAAQ,CAAC,CACV;EAED,OAAO5F,8CAAO,CAAC,YAAM;IACpB,IAAI6W,eAAe,EAAE;MAAA;MACpB,IAAME,MAAM,YAAGvN,4CAAI,CAClB5D,QAAQ,CAACkR,KAAK,EACd,UAAClN,KAAK;QAAA,OAA4C0M,8BAA8B,CAAC1M,KAAK,CAAC;MAAA,EACvF,0CAHc,MAGZoN,QAAQ;MAEX,OAAOD,MAAM,IAAKH,qBAAqB,IAAI,SAAU,IAAI,UAAU;IACpE;IACA,OAAOtG,SAAS;EACjB,CAAC,EAAE,CAACuG,eAAe,EAAEjR,QAAQ,EAAEgR,qBAAqB,CAAC,CAAC;AACvD;;;;;;;;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;;AAEO,IAAMd,8BAA8B,GAAG,SAAjCA,8BAA8B;EAAA,OAC1C/O,MAAM,CAACkQ,UAAU,CAAC,8BAA8B,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPlD;AACA;AACA;AACA;AACA;;AAGyD;AACZ;AACc;AAEd;AACW;AACJ;AACO;AAEpD,IAAM5a,eAAe,GAAG,SAAlBA,eAAe,GAA+B;EAC1D,IAAM6X,QAAQ,GAAGkD,8DAAW,EAAE;EAC9B,IAAM7R,MAAM,GAAG+R,sDAAS,EAAE;EAC1B,OAAOtX,+CAAO,CACb;IAAA,OAAMwJ,6CAAI,CAACjE,MAAM,EAAE,UAACiS,CAAC;MAAA,OAAKpD,mDAAU,CAAC+C,6CAAI,CAACjD,QAAQ,CAACC,QAAQ,EAAE,GAAG,CAAC,EAAEqD,CAAC,CAACzV,KAAK,CAAC;IAAA,EAAC;EAAA,GAC5E,CAACmS,QAAQ,CAACC,QAAQ,EAAE5O,MAAM,CAAC,CAC3B;AACF,CAAC;AACM,IAAMnJ,eAAe,GAAG,SAAlBA,eAAe,GAA+B;EAAA;EAC1D,IAAM6P,OAAO,4BAAG,0BAAA3R,6EAAyB,EAAE,CAACqF,SAAS,EAACyM,UAAU,0DAAhD,kDAAoD;EACpE,IAAM7G,MAAM,GAAGgS,sDAAS,EAAE;EAC1B,IAAMxV,KAAK,GAAGyH,6CAAI,CAACjE,MAAM,EAAE,UAACiS,CAAC;IAAA,OAAKpD,mDAAU,CAAC+C,6CAAI,CAAClL,OAAO,CAACiI,QAAQ,CAACC,QAAQ,EAAE,GAAG,CAAC,EAAEqD,CAAC,CAACzV,KAAK,CAAC;EAAA,EAAC;EAC5F,IAAI,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEA,KAAK,MAAK0B,sDAAa,EAAE;IACnC,uCACI1B,KAAK;MACRA,KAAK,YAAKA,KAAK,CAACA,KAAK,cAAIsV,0EAAuB,EAAE,CAACI,MAAM;IAAE;EAE7D;EACA,OAAO1V,KAAK;AACb,CAAC;AAEM,IAAM2V,WAAW,GAAG,SAAdA,WAAW,CAAIC,MAAqB,EAAS;EACzD,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAAA;IAC/B,OAAOT,gDAAO,gCAAK9a,eAAe,EAAE,qDAAjB,iBAAmB2F,KAAK,cAAI4V,MAAM,GAAI,IAAI,EAAE,GAAG,CAAC;EACpE;EACA,IAAMC,YAAY,GAAGD,MAAM,CAAC5V,KAAK,GAC9ByH,6CAAI,CAAC+N,sDAAS,EAAE,EAAE,UAACC,CAAC;IAAA,OAAKA,CAAC,CAACrT,EAAE,KAAKwT,MAAM,CAAC5V,KAAK,IAAIyV,CAAC,CAACzV,KAAK,KAAK4V,MAAM,CAAC5V,KAAK;EAAA,EAAC,GAC3E3F,eAAe,EAAE;EACpB,OAAO,OAAOub,MAAM,CAACE,IAAI,KAAK,QAAQ,GACnCX,gDAAO,YAAKU,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE7V,KAAK,cAAI4V,MAAM,CAACE,IAAI,GAAI,IAAI,EAAE,GAAG,CAAC,GAC5D;IACAC,MAAM,EAAEH,MAAM,CAACE,IAAI,CAACC,MAAM;IAC1BC,IAAI,EAAEJ,MAAM,CAACE,IAAI,CAACE,IAAI;IACtB5D,QAAQ,EAAE+C,gDAAO,YAAKU,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE7V,KAAK,cAAI4V,MAAM,CAACE,IAAI,CAAC1D,QAAQ,GAAI,IAAI,EAAE,GAAG;EAC9E,CAAC;AACL,CAAC;AAEM,IAAMlY,sBAAsB,GAAG,SAAzBA,sBAAsB,GAA4C;EAC9E,IAAMgQ,OAAO,GAAGR,6DAAU,EAAE;EAC5B,IAAMuM,EAAE,GAAGpe,mDAAW,CACrB,UAAC+d,MAAqB;IAAA,OAAW1L,OAAO,CAACgM,IAAI,CAACP,WAAW,CAACC,MAAM,CAAC,CAAC;EAAA,GAClE,CAAC1L,OAAO,CAAC,CACT;EACD,OAAO+L,EAAE;AACV,CAAC;AAEM,IAAM7b,yBAAyB,GAAG,SAA5BA,yBAAyB,GAA4C;EACjF,IAAM8P,OAAO,GAAGR,6DAAU,EAAE;EAC5B,IAAMuM,EAAE,GAAGpe,mDAAW,CACrB,UAAC+d,MAAqB;IAAA,OAAW1L,OAAO,CAACiL,OAAO,CAACQ,WAAW,CAACC,MAAM,CAAC,CAAC;EAAA,GACrE,CAAC1L,OAAO,CAAC,CACT;EACD,OAAO+L,EAAE;AACV,CAAC;AAEM,SAAS9b,wBAAwB,GAAe;EACtD,IAAM+P,OAAO,GAAGR,6DAAU,EAAE;EAC5B,OAAOQ,OAAO,CAACiM,MAAM;AACtB;AAEO,IAAM1b,WAAW,GAAG,SAAdA,WAAW,CAAImb,MAAqB,EAAW;EAAA;EAC3D,IAAM1L,OAAO,6BAAG,0BAAA3R,6EAAyB,EAAE,CAACqF,SAAS,EAACyM,UAAU,2DAAhD,mDAAoD;EACpEH,OAAO,CAACgM,IAAI,CAACP,WAAW,CAACC,MAAM,CAAC,CAAC;AAClC,CAAC;AAEM,IAAMrb,cAAc,GAAG,SAAjBA,cAAc,CAAIqb,MAAqB,EAAW;EAAA;EAC9D,IAAM1L,OAAO,6BAAG,0BAAA3R,6EAAyB,EAAE,CAACqF,SAAS,EAACyM,UAAU,2DAAhD,mDAAoD;EACpEH,OAAO,CAACiL,OAAO,CAACQ,WAAW,CAACC,MAAM,CAAC,CAAC;AACrC,CAAC;AAEM,IAAMpb,aAAa,GAAG,SAAhBA,aAAa;EAAA;EAAA,iCACzB,0BAAAjC,6EAAyB,EAAE,CAACqF,SAAS,EAACyM,UAAU,2DAAhD,mDAAoD,CAAC8L,MAAM,EAAE;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvF9D;AACA;AACA;AACA;AACA;;AAEgF;AACpC;AACO;AAaT;AAYnC,IAAM3U,YAAY,GAAG,SAAfA,YAAY,CACxB+U,IAAmB;EAAA;EAAA,IACnBjY,KAAa,uEAAGnH,qDAAY;EAAA,OAE5BwD,wDAAe,CAACxD,qDAAY,CAAC,CAC5B,OAAO,gEAENof,IAAI,CAACxB,KAAK,kEAC+C5W,4CAAG,CACzDoY,IAAI,CAACxB,KAAK,EACV,UAACP,IAAI,EAAEgC,GAAG;IAAA;IAAA,8BAAoBA,GAAG,sCAAahC,IAAI,CAACnS,GAAG,iDAAI/D,KAAK,gBAAKkW,IAAI,CAAC3M,KAAK;EAAA,CAAS,CACtF,kCACD,EAAE,SAEL0O,IAAI,CAACrP,KAAK,6DAC0C/I,4CAAG,CAACoY,IAAI,CAACrP,KAAK,EAAE,UAACuP,IAAI,EAAED,GAAG;IAAA,OAC3EF,gDAAO,CAACG,IAAI,CAAC,GACVtY,4CAAG,CAACsY,IAAI,EAAE,UAACC,CAAC;MAAA,8BAAoBF,GAAG,gBAAKE,CAAC;IAAA,CAAS,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,0BAC7CH,GAAG,gBAAKC,IAAI,YAAS;EAAA,EACtC,CAACE,IAAI,CAAC,EAAE,CAAC,6BACV,EAAE,SAEL,kBAAAJ,IAAI,CAACK,QAAQ,2CAAb,eAAeC,UAAU,GACtB1Y,4CAAG,CACHoY,IAAI,CAACK,QAAQ,CAACC,UAAU,EACxB,UAACnP,IAAI;IAAA,mGAEHA,IAAI,CAACtF,EAAE,gBACHjE,4CAAG,CAACuJ,IAAI,CAACR,KAAK,EAAE,UAACW,KAAK,EAAE2O,GAAG;MAAA,2BAAiBA,GAAG,gBAAK3O,KAAK;IAAA,CAAM,CAAC,CAAC8O,IAAI,CACzE,EAAE,CACF;EAAA,CAAqC,CACtC,CAACA,IAAI,CAAC,EAAE,CAAC,GACV,EAAE,SAEL,mBAAAJ,IAAI,CAACK,QAAQ,4CAAb,gBAAeE,UAAU,GACtB3Y,4CAAG,CACHoY,IAAI,CAACK,QAAQ,CAACE,UAAU,EACxB,UAACpP,IAAI;IAAA,mGAC4EA,IAAI;EAAA,CAA6B,CACjH,CAACiP,IAAI,CAAC,EAAE,CAAC,GACV,EAAE,SAEL,mBAAAJ,IAAI,CAACK,QAAQ,4CAAb,gBAAeG,UAAU,GACtB5Y,4CAAG,CACHoY,IAAI,CAACK,QAAQ,CAACG,UAAU,EACxB,UAACrP,IAAI;IAAA,gFAC2DA,IAAI,CAACR,KAAK,CAAC8P,SAAS,iCAAqBtP,IAAI,CAACR,KAAK,CAAC+P,sBAAsB,mDAAsCvP,IAAI,CAACR,KAAK,CAAC+P,sBAAsB,mDAAuCvP,IAAI,CAACR,KAAK,CAACgQ,qBAAqB,mDAAuCxP,IAAI,CAACR,KAAK,CAACiQ,qBAAqB,sGAAwFzP,IAAI,CAACR,KAAK,CAACkQ,wBAAwB,sDAA0C1P,IAAI,CAACR,KAAK,CAACmQ,wBAAwB,sDAA0C3P,IAAI,CAACR,KAAK,CAACoQ,wBAAwB,0DAA8C5P,IAAI,CAACR,KAAK,CAACqQ,4BAA4B,+DAAmD7P,IAAI,CAACR,KAAK,CAACsQ,iCAAiC,yDAA6C9P,IAAI,CAACR,KAAK,CAACuQ,2BAA2B,4DAAgD/P,IAAI,CAACR,KAAK,CAACwQ,8BAA8B;EAAA,CAAyC,CAC5/B,CAACf,IAAI,CAAC,EAAE,CAAC,GACV,EAAE,SAELJ,IAAI,CAACoB,WAAW,8EAEbpB,IAAI,CAACoB,WAAW,CAACC,QAAQ,GACtBzZ,4CAAG,CAACoY,IAAI,CAACoB,WAAW,CAACC,QAAQ,CAACC,OAAO,EAAE,UAACC,KAAK,EAAK;IAClD,IAAIA,KAAK,CAACC,EAAE,KAAK,KAAK,EACrB,kDAAwCD,KAAK,CAACC,EAAE,sBAAUD,KAAK,CAACE,GAAG;IACpE,IAAIF,KAAK,CAACC,EAAE,KAAK,KAAK,IAAID,KAAK,CAACG,IAAI,EACnC,kDAAwCH,KAAK,CAACC,EAAE,sBAAUD,KAAK,CAACE,GAAG;IACpE,IAAIF,KAAK,CAACC,EAAE,KAAK,KAAK,EACrB,kDAAwCD,KAAK,CAACC,EAAE,sBAAUD,KAAK,CAACE,GAAG,oBAAQF,KAAK,CAACI,CAAC;IACnF,kDAAwCJ,KAAK,CAACC,EAAE,sBAAUD,KAAK,CAACE,GAAG;EACnE,CAAC,CAAC,CAACrB,IAAI,CAAC,EAAE,CAAC,GACX,EAAE,SAELJ,IAAI,CAACoB,WAAW,CAACQ,WAAW,GACzBha,4CAAG,CAACoY,IAAI,CAACoB,WAAW,CAACQ,WAAW,CAACN,OAAO,EAAE,UAACC,KAAK,EAAK;IACrD,IAAIA,KAAK,CAACC,EAAE,KAAK,KAAK,IAAID,KAAK,CAACG,IAAI,EACnC,4CAAkCH,KAAK,CAACC,EAAE,sBAAUD,KAAK,CAACE,GAAG;IAC9D,IAAIF,KAAK,CAACC,EAAE,KAAK,KAAK,EACrB,4CAAkCD,KAAK,CAACC,EAAE,sBAAUD,KAAK,CAACE,GAAG,oBAAQF,KAAK,CAACI,CAAC;IAC7E,4CAAkCJ,KAAK,CAACC,EAAE,sBAAUD,KAAK,CAACE,GAAG;EAC7D,CAAC,CAAC,CAACrB,IAAI,CAAC,EAAE,CAAC,GACX,EAAE,mGAELJ,IAAI,CAACoB,WAAW,CAACC,QAAQ,aAClB,YAAc;IAClB,IAAIrB,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACG,EAAE,KAAK,KAAK,EAAE;MAC/C,kDAAwCxB,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACG,EAAE;IACzE;IACA,IACCxB,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACG,EAAE,KAAK,KAAK,IAC1CxB,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACK,IAAI,EACjC;MACD,kDAAwC1B,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACG,EAAE;IACzE;IACA,IAAIxB,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACG,EAAE,KAAK,KAAK,EAAE;MAC/C,OAAO5Z,4CAAG,CACToY,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACM,CAAC,EAC/B,UAACE,CAAC;QAAA;QAAA,OACD;UACA;UACA;UAAA,gEACiC7B,IAAI,CAACoB,WAAW,sDAAhB,kBAAkBC,QAAQ,OAAI,CAACG,EAAE,oBAAQK,CAAC,CAACC,KAAK;QAAA;MAAA,CAAK,CACvF,CAAC1B,IAAI,CAAC,EAAE,CAAC;IACX;IACA,kDAAwCJ,IAAI,CAACoB,WAAW,CAACC,QAAQ,OAAI,CAACG,EAAE;EACxE,CAAC,EAAG,IACJ,EAAE,SAELxB,IAAI,CAACoB,WAAW,CAACQ,WAAW,aACrB,YAAc;IAAA;IAClB,IACC5B,IAAI,CAACoB,WAAW,CAACQ,WAAW,OAAI,CAACJ,EAAE,KAAK,KAAK,IAC7CxB,IAAI,CAACoB,WAAW,CAACQ,WAAW,OAAI,CAACF,IAAI,EACpC;MACD,4CAAkC1B,IAAI,CAACoB,WAAW,CAACQ,WAAW,OAAI,CAACJ,EAAE;IACtE;IACA,IAAIxB,IAAI,CAACoB,WAAW,CAACQ,WAAW,OAAI,CAACJ,EAAE,KAAK,KAAK,EAAE;MAClD,OAAO5Z,4CAAG,CACToY,IAAI,CAACoB,WAAW,CAACQ,WAAW,OAAI,CAACD,CAAC,EAClC,UAACE,CAAC;QAAA;QAAA,OACD;UACA;UACA;UAAA,2DAC2B7B,IAAI,CAACoB,WAAW,uDAAhB,mBAAkBQ,WAAW,OAAI,CAACJ,EAAE,oBAAQK,CAAC,CAACC,KAAK;QAAA;MAAA,CAAK,CACpF,CAAC1B,IAAI,CAAC,EAAE,CAAC;IACX;IACA,kEAAkCJ,IAAI,CAACoB,WAAW,uDAAhB,mBAAkBQ,WAAW,OAAI,CAACJ,EAAE;EACtE,CAAC,EAAG,IACJ,EAAE,iCAGL,EAAE,qBAEN,CAAC/R,IAAI,CAAC,UAACyP,CAAC,EAAK;IACblP,qEAAwB,CAAC,UAAC9H,CAAe;MAAA;MAAA,OAAM;QAC9CoF,QAAQ,kCACJpF,CAAC,CAACoF,QAAQ;UACbqD,KAAK,EAAEhP,+CAAM,CACZqe,IAAI,CAACrP,KAAK,EACV,UAACrJ,GAAG,EAAE4Y,IAAI,EAAED,GAAG;YAAA,uCACX3Y,GAAG,6FACL2Y,GAAG,EAAGC,IAAI;UAAA,CACV,EACFhY,CAAC,CAACoF,QAAQ,CAACqD,KAAK,CAChB;UACD6N,KAAK,EAAE7c,+CAAM,CACZqe,IAAI,CAACxB,KAAK,EACV,UAAClX,GAAG,QAAkB2Y,GAAG,EAAK;YAAA,IAAtBnU,GAAG,QAAHA,GAAG;cAAEwF,KAAK,QAALA,KAAK;YACjB,IAAMyQ,SAAS,GAAGlC,kDAAS,CAACvY,GAAG,EAAE,UAAC6Y,CAAC;cAAA,OAAKA,CAAC,CAACpZ,IAAI,KAAKkZ,GAAG,IAAIE,CAAC,CAACjC,MAAM,KAAKpS,GAAG;YAAA,EAAC;YAC3E,IAAIiW,SAAS,IAAI,CAAC,EAAE;cACnB;cACAza,GAAG,CAACya,SAAS,CAAC,GAAG;gBAChBhb,IAAI,EAAEkZ,GAAG;gBACT/B,MAAM,EAAEpS,GAAG;gBACX4S,QAAQ,EAAEpN;cACX,CAAC;YACF,CAAC,MAAM;cACNhK,GAAG,CAACqY,IAAI,CAAC;gBACR5Y,IAAI,EAAEkZ,GAAG;gBACT/B,MAAM,EAAEpS,GAAG;gBACX4S,QAAQ,EAAEpN;cACX,CAAC,CAAC;YACH;YACA,OAAOhK,GAAG;UACX,CAAC,EACDY,CAAC,CAACoF,QAAQ,CAACkR,KAAK;QAChB,EACD;QACDwD,OAAO,kCACH9Z,CAAC,CAAC8Z,OAAO;UACZC,WAAW,EACV,UAAA/Q,6CAAI,CAAC8O,IAAI,aAAJA,IAAI,0CAAJA,IAAI,CAAEK,QAAQ,oDAAd,gBAAgBC,UAAU,EAAE,UAACnP,IAAI;YAAA;YAAA,OAAKA,IAAI,CAACtF,EAAE,MAAK3D,CAAC,aAADA,CAAC,qCAADA,CAAC,CAAE8Z,OAAO,+CAAV,WAAYnW,EAAE;UAAA,EAAC,0CAAtE,MAAwE8E,KAAK,CAC3E+P,sBAAsB,qBAAIxY,CAAC,CAAC8Z,OAAO,gDAAT,YAAWC,WAAW;UACnDC,UAAU,EAAE;YACX7B,QAAQ,EACP,OAAOnY,CAAC,CAAC8Z,OAAO,KAAK,WAAW,GAC7BrgB,+CAAM,CACNqe,IAAI,aAAJA,IAAI,0CAAJA,IAAI,CAAEK,QAAQ,oDAAd,gBAAgBC,UAAU,EAC1B,UAAChZ,GAAG,SAAoB;cAAA,IAAhBuE,EAAE,SAAFA,EAAE;gBAAE8E,KAAK,SAALA,KAAK;cAChB,IAAMwR,UAAU,GAAG,EAAE;cACrB,IAAMJ,SAAS,GAAGlC,kDAAS,CAC1BvY,GAAG,EACH,UAAC8a,QAAQ,EAAEC,YAAY;gBAAA,OAAK/a,GAAG,CAAC+a,YAAY,CAAC,CAACxW,EAAE,KAAKA,EAAE;cAAA,EACvD;cACD,IAAIkW,SAAS,GAAG,CAAC,CAAC,EAAE;gBACnBjC,gDAAO,CAACrL,MAAM,CAAC6N,IAAI,CAAC3R,KAAK,CAAC,EAAE,UAACQ,IAAI,EAAEoR,MAAM,EAAK;kBAC7C;kBACAjb,GAAG,CAACya,SAAS,CAAC,CAACS,MAAM,CAACrR,IAAI,CAAC,GAAGsD,MAAM,CAACC,MAAM,CAAC/D,KAAK,CAAC,CAAC4R,MAAM,CAAC;kBAC1D,IACCpR,IAAI,KAAK,wBAAwB,IACjC7J,GAAG,CAACya,SAAS,CAAC,CAAChb,IAAI,KAAK,SAAS,EAChC;oBACD;oBACAO,GAAG,CAACya,SAAS,CAAC,CAAChb,IAAI,GAAG0N,MAAM,CAACC,MAAM,CAAC/D,KAAK,CAAC,CAAC4R,MAAM,CAAC;kBACnD;gBACD,CAAC,CAAC;gBACFJ,UAAU,CAACxC,IAAI,CAAChP,KAAK,CAAC;cACvB;cACA,OAAOrJ,GAAG;YACX,CAAC,iGAEGsI,+CAAM,CACR1H,CAAC,CAAC8Z,OAAO,CAACE,UAAU,CAAC7B,QAAQ,EAC7B,UAAClP,IAAI;cAAA;cAAA,OAAK,EAAC6O,IAAI,aAAJA,IAAI,kCAAJA,IAAI,CAAEK,QAAQ,qEAAd,gBAAgBE,UAAU,kDAA1B,sBAA4BlC,QAAQ,CAAClN,IAAI,CAACtF,EAAE,CAAC;YAAA,EACxD,CAAC+D,MAAM,CAAC,UAAC6S,CAAC;cAAA,OAAKA,CAAC,CAAC1b,IAAI,KAAK,SAAS;YAAA,EAAC,wFAClCa,4CAAG,CAACsX,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEwD,sBAAsB,EAAE,UAACvR,IAAI;cAAA,OAAKA,IAAI,CAACkP,QAAQ,CAAC,CAAC,CAAC;YAAA,EAAC,wFAC1DzQ,+CAAM,CACR1H,CAAC,CAAC8Z,OAAO,CAACE,UAAU,CAAC7B,QAAQ,EAC7B,UAAClP,IAAI;cAAA;cAAA,OAAK,EAAC6O,IAAI,aAAJA,IAAI,kCAAJA,IAAI,CAAEK,QAAQ,qEAAd,gBAAgBE,UAAU,kDAA1B,sBAA4BlC,QAAQ,CAAClN,IAAI,CAACtF,EAAE,CAAC;YAAA,EACxD,CAAC+D,MAAM,CAAC,UAAC6S,CAAC;cAAA,OAAKA,CAAC,CAAC1b,IAAI,KAAK,SAAS;YAAA,EAAC,GAErC,GACDiR;UACL;QAAC;MAEH,CAAC;IAAA,CAAC,CAAC;IACH,OAAOkH,CAAC;EACT,CAAC,CAAC;AAAA;AAEI,IAAM1W,qBAAqB,GACjC,SADYA,qBAAqB,CAChCsD,GAAW;EAAA,OACZ,UAACkU,IAAU;IAAA,OACV/U,YAAY,CAAC+U,IAAI,EAAElU,GAAG,CAAC,CAAC2D,IAAI,CAAC,UAACyP,CAAC;MAAA,uCAC3BA,CAAC;QACJyD,IAAI,EAAE;MAAW;IAAA,CAChB,CAAC;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzPL;AACA;AACA;AACA;AACA;;AAE0C;AACA;AAQD;AACH;AACa;AACQ;AACR;AACC;AAE7C,IAAMM,IAAI,GAAG,SAAPA,IAAI,GAAe;EAC/B;EACA9e,YAAY,CAACvD,qDAAY,CAAC,CACzB,MAAM,EACNmiB,qEAAwB,EAAE,CAACG,eAAe,KAAK,GAAG,GAC/C;IAAEC,KAAK,EAAE,gBAAgB;IAAEC,iBAAiB,EAAE,CAAC;IAAEC,IAAI,EAAE;EAAE,CAAC,GAC1D;IAAEF,KAAK,EAAE;EAAiB,CAAC,CAC9B;AACF,CAAC;AAED,IAAMG,UAAU,GAAG,SAAbA,UAAU,CACfhc,GAAa,EACbic,YAAqB,EAC6B;EAClD,IAAIA,YAAY,EAAE;IACjB,OAAO;MACNC,EAAE,EAAE,MAAM;MACV9E,QAAQ,EAAE6E;IACX,CAAC;EACF;EACA,IAAIjc,GAAG,EAAE;IACR,IAAIA,GAAG,CAACP,IAAI,EAAE;MACb,OAAO;QACNyc,EAAE,EAAE,MAAM;QACV9E,QAAQ,EAAEpX,GAAG,CAACP;MACf,CAAC;IACF;IACA,IAAIO,GAAG,CAACuE,EAAE,EAAE;MACX,OAAO;QACN2X,EAAE,EAAE,IAAI;QACR9E,QAAQ,EAAEpX,GAAG,CAACuE;MACf,CAAC;IACF;EACD;EACA,OAAOmM,SAAS;AACjB,CAAC;AAED,IAAMyL,aAAa,GAAG,SAAhBA,aAAa,CAAInc,GAAa,EAAEic,YAAqB,EAAa;EACvE,IAAIA,YAAY,EAAE;IACjB,sCAA6BA,YAAY;EAC1C;EACA,IAAIjc,GAAG,EAAE;IACR,IAAIA,GAAG,CAACP,IAAI,EAAE;MACb,sCAA6BO,GAAG,CAACP,IAAI;IACtC;IACA,IAAIO,GAAG,CAACuE,EAAE,EAAE;MACX,oCAA2BvE,GAAG,CAACuE,EAAE;IAClC;EACD;EACA,OAAO,EAAE;AACV,CAAC;AAED,IAAM6X,aAAa,GAAG,SAAhBA,aAAa,GAAiB;EAAA;EACnC,IAAMC,SAAS,4BAAGZ,qEAAwB,EAAE,CAACa,OAAO,0DAAlC,sBAAoC/X,EAAE;EACxD,IAAI8X,SAAS,EAAE;IACd,+BAAuBA,SAAS;EACjC;EACA,OAAO,EAAE;AACV,CAAC;AAED,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,OAAY,EAAkB;EACvD,IAAIA,OAAO,CAACC,MAAM,EAAE;IACnB;IACAD,OAAO,CAACC,MAAM,GAAGnc,4CAAG,CAACkc,OAAO,CAACC,MAAM,EAAE,UAACA,MAAM;MAAA;MAAA,uCACxCA,MAAM;QACTC,OAAO,qBAAED,MAAM,CAACC,OAAO,0EAAd,gBAAgBnY,EAAE,uDAAlB,mBAAoBoY,KAAK,CAAC,GAAG;MAAC;IAAA,CACtC,CAAC;EACJ;EACA,OAAOH,OAAO;AACf,CAAC;AAED,IAAMI,cAAc,GAAG,SAAjBA,cAAc,CAAOC,GAAW,EAAEC,GAAoB,EAAgC;EAAA;EAC3F,6BAAyCrB,qEAAwB,EAAE;IAA3DG,eAAe,0BAAfA,eAAe;IAAEmB,WAAW,0BAAXA,WAAW;EACpC,4BAAsBrU,qEAAwB,EAAE;IAAxCsU,SAAS,yBAATA,SAAS;EACjB;EACA;EACAC,YAAY,CAACF,WAAW,CAAC;EACzB,IAAID,GAAG,CAACI,IAAI,CAACC,KAAK,EAAE;IAAA;IACnB,IACCvT,6CAAI,CACH,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,EACjD,UAACwT,IAAI;MAAA;MAAA,OAAKA,IAAI,4BAAyBN,GAAG,CAAEI,IAAI,CAACC,KAAK,CAACE,MAAM,gFAA1C,mBAA4C/O,KAAK,0DAAjD,sBAAmDgP,IAAI;IAAA,EAC1E,EACA;MACD,IAAIrR,sDAAa,EAAE;QAClBvD,qEAAwB,CAAC;UAAE6U,aAAa,EAAE;QAAM,CAAC,CAAC;MACnD,CAAC,MAAM;QACNhC,wDAAS,EAAE;MACZ;IACD;IACAnhB,OAAO,CAACD,KAAK,CACZ,IAAImU,KAAK,kCACewO,GAAG,CAAEI,IAAI,CAACC,KAAK,CAACE,MAAM,iFAA1C,oBAA4C/O,KAAK,0DAAjD,sBAAmD+O,MAAM,qCACvCP,GAAG,CAAEI,IAAI,CAACC,KAAK,CAACK,MAAM,uDAA1C,mBAA4CC,IAAI,EAEjD,CACD;EACF;EACA,mBAAIX,GAAG,CAACY,MAAM,wCAAV,YAAYlB,OAAO,EAAE;IAAA;IACxB,IAAMmB,iBAAiB,mDACtBb,GAAG,CAACY,MAAM,CAAClB,OAAO,kFAAlB,oBAAoBoB,OAAO,qFAA3B,uBAA6BC,GAAG,qFAAhC,uBAAmC,CAAC,CAAC,2DAArC,uBAAuCjd,CAAC,iGACxCkc,GAAG,CAACY,MAAM,CAAClB,OAAO,kFAAlB,qBAAoBC,MAAM,oFAA1B,sBAA6B,CAAC,CAAC,qFAA/B,uBAAiCqB,QAAQ,qFAAzC,uBAA2CD,GAAG,qFAA9C,uBAAiD,CAAC,CAAC,2DAAnD,uBAAqDjd,CAAC;IACvD,IAAMmd,QAAQ,GAAGxB,gBAAgB,CAACO,GAAG,CAACY,MAAM,CAAClB,OAAO,CAAC;IACrD,IAAMwB,GAAG,2BAAG1C,8CAAK,CAACyC,QAAQ,CAACtB,MAAM,EAAE,KAAK,CAAC,2CAA7B,OAA+BuB,GAAG,mDAAI,CAAC;IACnDtC,iEAAU,CAACqC,QAAQ,CAAC;IACpBrV,qEAAwB,CAAC;MACxBsU,SAAS,EAAEW,iBAAiB,aAAjBA,iBAAiB,cAAjBA,iBAAiB,GAAIX;IACjC,CAAC,CAAC;IACF,IAAMiB,mBAAmB,GAAInB,GAAG,aAAHA,GAAG,4BAAHA,GAAG,CAAEI,IAAI,sCAAV,UAA4CgB,cAAc,GACnF,KAAK,GACLtC,eAAe;IAClBH,qEAAwB;MACvBsB,WAAW,EAAEoB,UAAU,CAAC;QAAA,OAAMxC,IAAI,EAAE;MAAA,GAAEsC,mBAAmB,CAAC;MAC1DrC,eAAe,EAAEqC,mBAAmB;MACpCD,GAAG,EAAHA;IAAG,GACAD,QAAQ,EACV;EACH;;EAEA;EACA;EACA,OAAOjB,GAAG,aAAHA,GAAG,6BAAHA,GAAG,CAAEI,IAAI,uCAAT,WAAWC,KAAK,GAAIL,GAAG,CAACI,IAAI,GAA8BJ,GAAG,CAACI,IAAI,WAAIL,GAAG,cAAiB;AAClG,CAAC;AACM,IAAMhgB,YAAY,GACxB,SADYA,YAAY,CACvB2H,GAAW;EAAA,OACZ,UACCqY,GAAW,EACX9U,IAAa,EACbkU,YAAqB,EACrBmC,MAAoB,EACG;IAAA;IACvB,6BAAmC1V,qEAAwB,EAAE;MAArD2V,aAAa,0BAAbA,aAAa;MAAE3D,OAAO,0BAAPA,OAAO;IAC9B,6BAA4Be,qEAAwB,EAAE;MAA9CgB,MAAM,0BAANA,MAAM;MAAEH,OAAO,0BAAPA,OAAO;IACvB,OAAOnO,KAAK,yBAAkB0O,GAAG,cAAW;MAC3CuB,MAAM,EAANA,MAAM;MACNE,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACR,cAAc,EAAE;MACjB,CAAC;MACDxW,IAAI,EAAEyW,IAAI,CAACC,SAAS,CAAC;QACpBvB,IAAI,EAAE,gGACDL,GAAG,cAAY9U,IAAI,CACvB;QACD2V,MAAM,EAAE;UACPlB,OAAO,EAAE;YACRX,KAAK,EAAE,YAAY;YACnBY,MAAM,EAAEA,MAAM,aAANA,MAAM,2BAANA,MAAM,CAAG,CAAC,CAAC,qCAAX,SAAauB,GAAG,GACrB;cACAA,GAAG,EAAEvB,MAAM,aAANA,MAAM,oCAANA,MAAM,CAAG,CAAC,CAAC,8CAAX,UAAauB;YAClB,CAAC,GACDtN,SAAS;YACZ4L,OAAO,EAAEA,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,CAAC,CAAC;YACtB5B,OAAO,EAAEsB,UAAU,CAACtB,OAAO,EAAauB,YAAY,CAAC;YACrDT,SAAS,EAAE;cACV/b,IAAI,EAAE+b,mDAAS;cACf3T,OAAO,EAAEwW;YACV;UACD;QACD;MACD,CAAC;IACF,CAAC,CAAC,CAAC;IAAA,CACDlW,IAAI,CAAC,UAAC2U,GAAG;MAAA,OAAKA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE4B,IAAI,EAAE;IAAA,EAAC,CAC1BvW,IAAI,CAAC,UAAC2U,GAA2B;MAAA,OAAKF,cAAc,CAACC,GAAG,EAAEC,GAAG,CAAC;IAAA,EAAC,SAC1D,CAAC,UAAC5V,CAAC,EAAK;MACbZ,mDAAM,CAAC9B,GAAG,CAAC,CAAC0C,CAAC,CAAC;MACd,MAAMA,CAAC;IACR,CAAC,CAAC;EACJ,CAAC;AAAA;AAEK,IAAMpK,eAAe,GAC3B,SADYA,eAAe,CAC1B0H,GAAW;EAAA,OACZ,UAAoBqY,GAAW,EAAE9U,IAAa,EAAEkU,YAAqB,EAAwB;IAC5F,6BAAmCvT,qEAAwB,EAAE;MAArD2V,aAAa,0BAAbA,aAAa;MAAE3D,OAAO,0BAAPA,OAAO;IAC9B,OAAOvM,KAAK,yBAAkB0O,GAAG,cAAW;MAC3CyB,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACR,cAAc,EAAE;MACjB,CAAC;MACDxW,IAAI,uMAEwDyT,mDAAS,0BAAc6C,aAAa,iBAAMjC,aAAa,EAAE,SAAGD,aAAa,CACpIzB,OAAO,EACPuB,YAAY,CACZ,6EACYlU,IAAI;IAElB,CAAC,CAAC,CAAC;IAAA,CACDI,IAAI,CAAC,UAAC2U,GAAG;MAAA,OAAKA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE4B,IAAI,EAAE;IAAA,EAAC,CAC1BvW,IAAI,CAAC,UAAC2U,GAA2B;MAAA,OAAKF,cAAc,CAACC,GAAG,EAAEC,GAAG,CAAC;IAAA,EAAC,SAC1D,CAAC,UAAC5V,CAAC,EAAK;MACbZ,mDAAM,CAAC9B,GAAG,CAAC,CAAC0C,CAAC,CAAC;MACd,MAAMA,CAAC;IACR,CAAC,CAAC;EACJ,CAAC;AAAA;AAEK,IAAMyX,SAAS,GAAG9hB,YAAY,CAACvD,qDAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzNnD;AACA;AACA;AACA;AACA;;AAEgC;AACY;AACD;AACuB;AAG3B;AACY;AACA;AAEnD,IAAMulB,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAI7Y,QAAyB,EAAa;EAAA;EACnE,IAAM8Y,WAAW,+CAAI9Y,QAAQ,CAACqD,KAAK,oDAAd,gBAAgB0V,6BAA6B,yEAAI,EAAa;EACnF,IAAID,WAAW,KAAK,KAAK,EAAE;IAC1B,OAAO,GAAG;EACX;EACA,IAAME,YAAY,GAAGC,QAAQ,CAACH,WAAW,EAAE,EAAE,CAAC;EAC9C,IAAII,MAAM,CAACC,KAAK,CAACH,YAAY,CAAC,EAAE;IAC/B,OAAO,KAAK;EACb;EACA,IAAIF,WAAW,CAAC/H,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC9B,OAAOiI,YAAY,GAAG,EAAE,GAAG,IAAI;EAChC;EACA,OAAOA,YAAY,GAAG,IAAI;AAC3B,CAAC;AAEM,IAAMhS,OAAO,GAAG,SAAVA,OAAO;EAAA,OACnBmB,KAAK,CAAC,8BAA8B,CAAC,CACnChG,IAAI,CAAC,UAACyP,CAAC;IAAA,OAAKA,CAAC,CAAC8G,IAAI,EAAE;EAAA,EAAC,CACrBvW,IAAI,CAAC,gBAA2D;IAAA,IAAxDiX,UAAU,QAAVA,UAAU;IAClB7e,4DAAoB,EAAE,CAACsB,OAAO,CAACwd,OAAO,CACrC/W,8CAAM,CAAC8W,UAAU,EAAE,iBAAc;MAAA,IAAX/D,IAAI,SAAJA,IAAI;MACzB,IAAIA,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,UAAU,EAAE,OAAO,IAAI;MACxD,OAAO,KAAK;IACb,CAAC,CAAC,CACF;EACF,CAAC,CAAC,CACDlT,IAAI,CAAC;IAAA,OACLtL,qDAAY,CAACvD,oDAAY,CAAC,CAAqD,SAAS,EAAE;MACzFuiB,KAAK,EAAE,mBAAmB;MAC1ByD,MAAM,EAAE;IACT,CAAC,CAAC;EAAA,EACF,CACAnX,IAAI,CAAC,UAAC2U,GAAoB,EAAW;IACrC,IAAIA,GAAG,EAAE;MACR,wBAAuC8B,+EAAgB,CAAC9B,GAAG,CAAC;QAApDpC,OAAO,qBAAPA,OAAO;QAAE1U,QAAQ,qBAARA,QAAQ;QAAE6B,OAAO,qBAAPA,OAAO;MAClC4T,qEAAwB,CAAC;QACxBG,eAAe,EAAEiD,oBAAoB,CAAC7Y,QAAQ;MAC/C,CAAC,CAAC;MACF0C,qEAAwB,CAAC;QACxB6U,aAAa,EAAE,IAAI;QACnB7C,OAAO,EAAPA,OAAO;QACP1U,QAAQ,EAARA,QAAQ;QACRqY,aAAa,EAAExW;MAChB,CAAC,CAAC;IACH;EACD,CAAC,CAAC,SACI,CAAC,UAACI,GAAU,EAAK;IACtB7N,OAAO,CAACD,KAAK,CAAC8N,GAAG,CAAC;EACnB,CAAC,CAAC;AAAA;;;;;;;;;;;;;;;AChEJ;AACA;AACA;AACA;AACA;;AAEO,IAAMsT,SAAqB,GAAG,SAAxBA,SAAqB,GAAS;EAAA;EAC1C,WAAApU,MAAM,gEAAN,QAAQmN,QAAQ,8EAAhB,iBAAkBiL,MAAM,0DAAxB,mEAA8BpY,MAAM,kEAAN,SAAQmN,QAAQ,sDAAhB,kBAAkBkL,MAAM,mBAAgB;AACvE,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACRD;AACA;AACA;AACA;AACA;;AAG2D;AACP;AAE7C,IAAMvS,WAAW,GAAG,SAAdA,WAAW;EAAA,OACvBkB,KAAK,CAAC4H,4DAAoB,CAAC,CACzB5N,IAAI,CAAC,UAACsX,QAAQ;IAAA,OAAKA,QAAQ,CAACf,IAAI,EAAE;EAAA,EAAC,CACnCvW,IAAI,CAAC,UAAC1F,IAAsB,EAAK;IACjCqO,4EAA4B,CAACrO,IAAI,CAAC;IAClC,IAAMid,OAAO,GAAGhY,QAAQ,CAACiY,cAAc,CAAC,SAAS,CAAC;IAClD,IAAID,OAAO,IAAIA,OAAO,YAAYE,eAAe,EAAE;MAClDF,OAAO,CAACG,IAAI,GAAGpd,IAAI,CAACqd,oBAAoB,GACrCrd,IAAI,CAACqd,oBAAoB,aACtBC,0EAAS,gBAAa;IAC7B;IACA,IAAItd,IAAI,CAACud,kBAAkB,EAAE;MAC5BtY,QAAQ,CAACuY,KAAK,GAAGxd,IAAI,CAACud,kBAAkB;IACzC;EACD,CAAC,CAAC,SACI,CAAC,UAACE,MAAM,EAAK;IAClB9lB,OAAO,CAAC+lB,IAAI,CAACD,MAAM,CAAC;EACrB,CAAC,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AC3BJ;AACA;AACA;AACA;AACA;;AAE4C;AACL;AACG;AAEnC,IAAME,MAAM,GAAG,SAATA,MAAM;EAAA,OAClBvjB,oDAAY,CAACvD,oDAAY,CAAC,CAAC,YAAY,EAAE;IACxCuiB,KAAK,EAAE,mBAAmB;IAC1BwE,MAAM,EAAE;EACT,CAAC,CAAC,CAAClY,IAAI,CAAC,YAAM;IACbgG,KAAK,CAAC,kBAAkB,CAAC,CACvBhG,IAAI,CAAC,UAAC2U,GAAG;MAAA,OAAKA,GAAG;IAAA,EAAC,CAClB3U,IAAI,CAACoT,mDAAS,CAAC;EAClB,CAAC,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;AClBH;AACA;AACA;AACA;AACA;;AAS4C;AACL;AAEhC,IAAMnd,SAAS,GAAG,SAAZA,SAAS,CAAI0W,GAAoB;EAAA,OAC7CjY,oDAAY,CAACvD,oDAAY,CAAC,CAAsC,WAAW,EAAE;IAC5EuiB,KAAK,EAAE,gBAAgB;IACvB/G,GAAG,EAAHA;EACD,CAAC,CAAC;AAAA;AACI,IAAMzW,SAAS,GAAG,SAAZA,SAAS,CAAIkG,EAAU;EAAA,OACnC1H,oDAAY,CAACvD,oDAAY,CAAC,CAAsC,WAAW,EAAE;IAC5EuiB,KAAK,EAAE,gBAAgB;IACvByE,MAAM,EAAE;MAAEC,EAAE,EAAE,QAAQ;MAAEhc,EAAE,EAAFA;IAAG;EAC5B,CAAC,CAAC;AAAA;AAEI,IAAMjG,SAAS,GAAG,SAAZA,SAAS,CAAIiG,EAAU,EAAE9E,IAAY;EAAA,OACjD5C,oDAAY,CAACvD,oDAAY,CAAC,CAAsC,WAAW,EAAE;IAC5EuiB,KAAK,EAAE,gBAAgB;IACvByE,MAAM,EAAE;MAAEC,EAAE,EAAE,QAAQ;MAAEhc,EAAE,EAAFA,EAAE;MAAE9E,IAAI,EAAJA;IAAK;EAClC,CAAC,CAAC;AAAA;AAEI,IAAMtB,cAAc,GAAG,SAAjBA,cAAc,CAAIoG,EAAU,EAAEic,KAAsB;EAAA,OAChE3jB,oDAAY,CAACvD,oDAAY,CAAC,CAAsC,WAAW,EAAE;IAC5EuiB,KAAK,EAAE,gBAAgB;IACvByE,MAAM,EAAE,OAAOE,KAAK,KAAK,QAAQ,GAAG;MAAED,EAAE,EAAE,OAAO;MAAEC,KAAK,EAALA,KAAK;MAAEjc,EAAE,EAAFA;IAAG,CAAC,GAAG;MAAEgc,EAAE,EAAE,OAAO;MAAEE,GAAG,EAAED,KAAK;MAAEjc,EAAE,EAAFA;IAAG;EAChG,CAAC,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACrCH;AACA;AACA;AACA;AACA;;AAEoC;AAEpC,gBAAwBmc,mDAAQ,EAAE;EAA1BC,EAAE,aAAFA,EAAE;EAAEC,OAAO,aAAPA,OAAO;AACZ,IAAMpF,SAAS,iCAA0BoF,OAAO,CAACnhB,IAAI,cAAImhB,OAAO,CAAC/Y,OAAO,eAAK8Y,EAAE,CAAClhB,IAAI,MAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACT9F;AACA;AACA;AACA;AACA;;AAEwC;AAOiB;AACA;AAEzD,IAAMwhB,8BAA8B,GAAG;EACtChB,KAAK,EAAE,iBAAiB;EACxB/a,IAAI,EAAE8b,uDAAW;EACjBE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;AACxB,CAAC;AAED,IAAMC,8BAA8B,GAAG;EACtCC,KAAK,EAAEL,sDAAYA;AACpB,CAAC;AAED,IAAMM,yBAA6C,iDAC/CJ,8BAA8B,GAC9BE,8BAA8B;EACjCG,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE;AAAK,EAChB;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,mBAAmB;EAAA;IAAA;IAAA;IAAA,qGAaX,IAAIC,GAAG,EAAsB;IAAA,gHAMlB,UAACL,KAAa,EAAmB;MAC/D,IAAI,CAAC,KAAI,CAACrhB,SAAS,CAAC2hB,GAAG,CAACN,KAAK,CAAC,EAAE;QAC/B,KAAI,CAACrhB,SAAS,CAAC4hB,GAAG,CACjBP,KAAK,EACLP,iDAAQ,CAAC,YAAM;UACd,IAAIe,KAAK,CAACR,KAAK,CAAC,CAACS,IAAI,EAAE,CAAC1Z,IAAI,EAAE;UAC9B,KAAI,CAACpI,SAAS,UAAO,CAACqhB,KAAK,CAAC;QAC7B,CAAC,EAAEI,mBAAmB,CAACM,aAAa,CAAC,CACrC;MACF;MACA,IAAM3K,MAAM,GAAG,KAAI,CAACpX,SAAS,CAACgiB,GAAG,CAACX,KAAK,CAAC;MACxC,OAAOjK,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI2J,yCAAI;IACtB,CAAC;IAAA,qGAOkB,UAACkB,MAA+B,EAAW;MAC7D,IAAMC,SAAS,mCACXd,8BAA8B,GAC9Ba,MAAM,CACT;MACD,IAAI,CAACC,SAAS,CAACb,KAAK,EAAE;QACrB;MACD;MAEA,KAAI,CAACc,oBAAoB,CAACD,SAAS,CAACb,KAAK,CAAC,EAAE;IAC7C,CAAC;IAAA,qGAOkB,UAACY,MAA+B,EAAW;MAC7D,IAAMC,SAAS,mCACXhB,8BAA8B,GAC9Be,MAAM,CACT;MAED,IAAMG,CAAC,GAAG,IAAIC,YAAY,CAACH,SAAS,CAAChC,KAAK,EAAE;QAC3ClY,IAAI,EAAEka,SAAS,CAACjN,OAAO;QACvBkM,OAAO,EAAEe,SAAS,CAACf,OAAO;QAC1Bhc,IAAI,EAAE+c,SAAS,CAAC/c,IAAI;QACpB4P,GAAG,EAAEmN,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEnN;MACjB,CAAC,CAAC;MAEF,IAAImN,SAAS,CAACI,OAAO,EAAE;QACtBF,CAAC,CAAC3L,gBAAgB,CAAC,OAAO,EAAEyL,SAAS,CAACI,OAAO,CAAC;MAC/C;IACD,CAAC;IAAA,kGAOe,UAACL,MAA0B,EAAW;MACrD,IAAMC,SAAS,mCACXZ,yBAAyB,GACzBW,MAAM,CACT;MAED,IAAIC,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEX,SAAS,EAAE;QACzB,KAAI,CAACA,SAAS,CAACW,SAAS,CAAC;MAC1B;MAEA,IAAIA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEV,SAAS,EAAE;QACzB,KAAI,CAACA,SAAS,CAACU,SAAS,CAAC;MAC1B;IACD,CAAC;IAAA,0GAOuB,UAACD,MAA4B,EAAW;MAC/DA,MAAM,CAACxJ,OAAO,CAAC,UAAC8J,IAAI;QAAA,OAAK,KAAI,CAAC7F,MAAM,CAAC6F,IAAI,CAAC;MAAA,EAAC;IAC5C,CAAC;EAAA;EAAA;IAAA;IAAA;IAED;AACD;AACA;IACC,uBAAiD;MAChD,IAAI,CAACd,mBAAmB,CAACe,QAAQ,EAAE;QAClCf,mBAAmB,CAACe,QAAQ,GAAG,IAAIf,mBAAmB,EAAE;MACzD;MAEA,OAAOA,mBAAmB,CAACe,QAAQ;IACpC;EAAC;EAAA;AAAA;AACD,kFAhHYf,mBAAmB;AAAA,kFAAnBA,mBAAmB,mBAOA,IAAI;AA2G7B,IAAMjiB,sBAAsB,GAAG,SAAzBA,sBAAsB;EAAA,OAA+BiiB,mBAAmB,CAACgB,WAAW,EAAE;AAAA;;;;;;;;;;;;;;;;;ACjKnG;AACA;AACA;AACA;AACA;AAC2D;AAEpD,IAAMtW,6BAAiC,GAAG,SAApCA,6BAAiC,GAAuB;EACpEV,gDAAS,CAAC,YAAM;IACf,IAAI,EAAE,cAAc,IAAIrE,MAAM,CAAC,EAAE;MAChC;MACA/M,OAAO,CAAC+lB,IAAI,CAAC,qDAAqD,CAAC;IACpE,CAAC,MAAM;MACNiC,YAAY,CAACK,iBAAiB,EAAE;IACjC;EACD,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAO,yHAAK;AACb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;;AAYyC;AACE;AAS5B;AAE0C;AACP;AACR;AACG;AACR;AACE;AAEvC,IAAMW,QAAQ,GAAGH,8EAAe;EAAA;EAAA;AAAA,4NAMjB;EAAA,IAAGvU,KAAK,QAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAAC2U,KAAK,CAACzU,OAAO;AAAA,GAGvD;EAAA,IAAGH,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAAC4U,IAAI,CAAC1U,OAAO;AAAA,GAC3C;EAAA,IAAGH,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAAC8U,KAAK,WAAQ;AAAA,GAC5C;EAAA,IAAG9U,KAAK,SAALA,KAAK;IAAEkC,IAAI,SAAJA,IAAI;EAAA,OAAelC,KAAK,CAAC+U,KAAK,CAACC,IAAI,CAAC9S,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,QAAQ,CAAC;AAAA,GAE7D;EAAA,IAAGlC,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAACgV,KAAK,CAAC9U,OAAO;AAAA,EAGjE;AAED,IAAM+U,aAAa,GAAGX,8DAAM,CAACL,uEAAS,CAAC;EAAA;EAAA;AAAA,4DAItC;AAED,IAAMiB,eAAe,GAAGZ,8DAAM,CAACL,uEAAS,CAAC;EAAA;EAAA;AAAA,oCAGxC;AAED,IAAMkB,WAAW,GAAGb,8DAAM,CAACL,uEAAS,CAAC;EAAA;EAAA;AAAA,mNACtB;EAAA,IAAGlU,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAAC2U,KAAK,CAACzU,OAAO;AAAA,GAOjD;EAAA,IAAGH,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAACgV,KAAK,CAAC9U,OAAO;AAAA,GAE/B;EAAA,IAAGH,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAACqB,OAAO,CAACnB,OAAO;AAAA,EAEtF;AAED,IAAMkV,cAAc,GAAGd,8DAAM,CAACxF,kEAAI,CAAC;EAAA;EAAA;AAAA,qHAKnB;EAAA,IAAGuG,UAAU,SAAVA,UAAU;EAAA,OAAeA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,QAAQ;AAAA,EACjE;AAMD,IAAMC,cAAc,GAAGhB,8DAAM,CAACL,uEAAS,CAAC;EAAA;EAAA;AAAA,4CAEpC;EAAA,IAAGlU,KAAK,UAALA,KAAK;IAAEO,QAAQ,UAARA,QAAQ;EAAA,OACnBA,QAAQ,GAAGP,KAAK,CAACC,OAAO,CAACxU,KAAK,CAAC0U,OAAO,GAAGH,KAAK,CAACC,OAAO,CAACuV,KAAK,CAACrV,OAAO;AAAA,EACtE;AAED,IAAMsV,UAAiB,GAAG;EACzBnP,OAAO,EAAE,EAAE;EACXoP,KAAK,EAAE,MAAM;EACbC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE;IACN9f,GAAG,EAAE,GAAG;IACR+f,KAAK,EAAE;EACR,CAAC;EACDC,IAAI,EAAE,CAAC;AACR,CAAC;AAED,SAASC,OAAO,CAACld,KAAY,UAA4D;EAAA,IAAxD8T,IAAI,UAAJA,IAAI;IAAEqJ,OAAO,UAAPA,OAAO;EAC7C,QAAQrJ,IAAI;IACX,KAAK,UAAU;MACd,uCAAY9T,KAAK;QAAEid,IAAI,EAAEE;MAAO;IACjC,KAAK,OAAO;MACX,OAAOP,UAAU;IAClB,KAAK,aAAa;MACjB,uCAAY5c,KAAK;QAAEyN,OAAO,EAAE0P;MAAO;IACpC,KAAK,YAAY;MAChB,uCACInd,KAAK;QACR8c,OAAO,EAAEK,OAAO,CAAC7c,OAAO;QACxByc,KAAK,kCAAO/c,KAAK,CAAC+c,KAAK;UAAE9f,GAAG,EAAEkgB,OAAO,CAAClgB;QAAG;MAAE;IAE7C,KAAK,cAAc;MAClB,uCAAY+C,KAAK;QAAE+c,KAAK,kCAAO/c,KAAK,CAAC+c,KAAK;UAAEC,KAAK,EAAEG;QAAO;MAAE;IAC7D;MACC,OAAOnd,KAAK;EAAC;AAEhB;AAEA,IAAMod,SAAS,GAAG,SAAZA,SAAS,CAAIjlB,CAAY;EAAA,OAA8C,CAC5E;IAAEkF,KAAK,EAAElF,CAAC,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;IAAEsK,KAAK,EAAE;EAAgB,CAAC,EACjF;IAAEpF,KAAK,EAAElF,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC;IAAEsK,KAAK,EAAE;EAAY,CAAC,EACnE;IAAEpF,KAAK,EAAElF,CAAC,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;IAAEsK,KAAK,EAAE;EAAkB,CAAC,EACvF;IAAEpF,KAAK,EAAElF,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAAEsK,KAAK,EAAE;EAAQ,CAAC,CACvD;AAAA;AAED,IAAM4a,kBAMJ,GAAG,SANCA,kBAMJ;EAAA,IAAMC,QAAQ,UAARA,QAAQ;IAAEjgB,KAAK,UAALA,KAAK;IAAEkgB,IAAI,UAAJA,IAAI;IAAE9V,KAAK,UAALA,KAAK;IAAEC,QAAQ,UAARA,QAAQ;EAAA,oBAC7C,4DAAC,cAAc;IACd,WAAW,EAAC,YAAY;IACxB,KAAK,EAAC,MAAM;IACZ,cAAc,EAAC,QAAQ;IACvB,aAAa,EAAC,eAAe;IAC7B,YAAY,EAAC,MAAM;IACnB,UAAU,EAAC,OAAO;IAClB,OAAO,EAAE;MACR/B,GAAG,EAAE;IACN,CAAE;IACF,QAAQ,EAAE+B;EAAS,gBAEnB,4DAAC,iEAAG;IAAC,kBAAkB;IAAC,aAAa,EAAC;EAAO,gBAC5C,4DAAC,kEAAI;IAAC,IAAI,EAAC,QAAQ;IAAC,KAAK,EAAE6V,IAAI,IAAI9V,KAAK,GAAG,SAAS,GAAG;EAAY,GACjE6V,QAAQ,CAACE,MAAM,GAAG,CAAC,GAAGF,QAAQ,CAAC,CAAC,CAAC,CAACjgB,KAAK,GAAGA,KAAK,CAC1C,CACF,eACN,4DAAC,kEAAI;IACJ,IAAI,EAAC,OAAO;IACZ,IAAI,EAAEkgB,IAAI,GAAG,kBAAkB,GAAG,oBAAqB;IACvD,KAAK,EAAEA,IAAI,IAAI9V,KAAK,GAAG,SAAS,GAAG,WAAY;IAC/C,KAAK,EAAE;MAAEgW,SAAS,EAAE;IAAS;EAAE,EAC9B,CACc;AAAA,CACjB;AAED,IAAMC,aAMJ,GAAG,SANCA,aAMJ;EAAA,IAAMJ,QAAQ,UAARA,QAAQ;IAAEjgB,KAAK,UAALA,KAAK;IAAEkgB,IAAI,UAAJA,IAAI;IAAE9V,KAAK,UAALA,KAAK;IAAEkW,OAAO,UAAPA,OAAO;EAAA,oBAC5C,4DAAC,cAAc;IACd,QAAQ,EAAEA,OAAQ;IAClB,WAAW,EAAC,YAAY;IACxB,KAAK,EAAC,MAAM;IACZ,cAAc,EAAC,QAAQ;IACvB,aAAa,EAAC,eAAe;IAC7B,YAAY,EAAC,MAAM;IACnB,UAAU,EAAC,OAAO;IAClB,OAAO,EAAE;MACRhY,GAAG,EAAE;IACN;EAAE,gBAEF,4DAAC,iEAAG;IAAC,kBAAkB;IAAC,aAAa,EAAC;EAAO,GAC3CgY,OAAO,gBACP,4DAAC,kEAAI;IAAC,IAAI,EAAC,QAAQ;IAAC,KAAK,EAAGJ,IAAI,IAAII,OAAO,IAAKlW,KAAK,GAAG,SAAS,GAAG;EAAQ,GAC1E,GAAG,EACH6V,QAAQ,CAACE,MAAM,GAAG,CAAC,GAAGF,QAAQ,CAAC,CAAC,CAAC,CAACjgB,KAAK,GAAGA,KAAK,CAC1C,gBAEP,4DAAC,kEAAI;IAAC,IAAI,EAAC,QAAQ;IAAC,KAAK,EAAEkgB,IAAI,IAAI9V,KAAK,GAAG,SAAS,GAAG;EAAY,GACjE6V,QAAQ,CAACE,MAAM,GAAG,CAAC,GAAGF,QAAQ,CAAC,CAAC,CAAC,CAACjgB,KAAK,GAAGA,KAAK,CAEjD,CACI,EAELsgB,OAAO,gBACP,4DAAC,kEAAI;IACJ,IAAI,EAAC,OAAO;IACZ,IAAI,EAAEJ,IAAI,GAAG,kBAAkB,GAAG,oBAAqB;IACvD,KAAK,EAAGA,IAAI,IAAII,OAAO,IAAKlW,KAAK,GAAG,SAAS,GAAG,OAAQ;IACxD,KAAK,EAAE;MAAEgW,SAAS,EAAE;IAAS;EAAE,EAC9B,gBAEF,4DAAC,kEAAI;IACJ,IAAI,EAAC,OAAO;IACZ,IAAI,EAAEF,IAAI,GAAG,kBAAkB,GAAG,oBAAqB;IACvD,KAAK,EAAEA,IAAI,IAAI9V,KAAK,GAAG,SAAS,GAAG,WAAY;IAC/C,KAAK,EAAE;MAAEgW,SAAS,EAAE;IAAS;EAAE,EAEhC,CACe;AAAA,CACjB;AAED,IAAMjhB,QAAY,GAAG,SAAfA,QAAY,GAAS;EAAA;EAC1B,IAAMrE,CAAC,GAAGiJ,kDAAI,EAAE;EAChB,IAAMwc,OAAO,GAAGjC,uDAAU,EAAE;EAC5B,IAAMja,IAAI,GAAG7I,+CAAO,CACnB;IAAA,OAAMkI,+CAAM,CAAC6c,OAAO,EAAE,UAAC3gB,GAAG;MAAA,OAAK,CAAC,CAACA,GAAG,CAAC4gB,SAAS;IAAA,EAAC;EAAA,GAE/C,CAACD,OAAO,CAAC,CACT;EACD,IAAME,QAAQ,GAAGjlB,+CAAO,CACvB;IAAA,OACCE,4CAAG,CAAC2I,IAAI,EAAE,UAACzE,GAAG;MAAA,OAAM;QACnBI,KAAK,EAAEJ,GAAG,CAAC8gB,OAAO;QAClBtb,KAAK,EAAExF,GAAG,CAAC/E;MACZ,CAAC;IAAA,CAAC,CAAC;EAAA,GACJ,CAACwJ,IAAI,CAAC,CACN;EACD,IAAMsc,IAAI,GAAGlqB,+DAAc,EAAE;EAC7B,kBAA0B2nB,kDAAU,CAACyB,OAAO,EAAEN,UAAU,CAAC;IAAA;IAAlD5N,KAAK;IAAEiP,QAAQ;EACtB,gBAA8BjY,gDAAQ,CAAC,KAAK,CAAC;IAAA;IAAtC2X,OAAO;IAAEO,UAAU;EAC1B,iBAA0BlY,gDAAQ,CAAC,CAAC,CAAC;IAAA;IAA9BmY,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,WAAW,GAAG5rB,mDAAW,CAC9B,UAAC6rB,EAAE;IAAA;IAAA,OACFL,QAAQ,CAAC;MACRnK,IAAI,EAAE,YAAY;MAClBqJ,OAAO,EAAE;QACRlgB,GAAG,EAAEqhB,EAAE;QACPhe,OAAO,WAAE+B,6CAAI,CAACX,IAAI,EAAE,CAAC,MAAM,EAAE4c,EAAE,CAAC,CAAC,0CAAxB,MAA0Bhe;MACpC;IACD,CAAC,CAAC;EAAA,GACH,CAACoB,IAAI,CAAC,CACN;EAED,IAAM6c,aAAa,GAAG9rB,mDAAW,CAAC,UAAC6rB,EAAE,EAAK;IACzCJ,UAAU,CAAC,KAAK,CAAC;IACjBD,QAAQ,CAAC;MAAEnK,IAAI,EAAE,cAAc;MAAEqJ,OAAO,EAAEmB;IAAG,CAAC,CAAC;EAChD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAME,aAAa,GAAG/rB,mDAAW,CAAC,UAAC6rB,EAAE,EAAK;IACzC;IACAA,EAAE,CAACG,MAAM,CAACC,KAAK,CAACjlB,MAAM,GAAG,MAAM;IAC/B;IACA6kB,EAAE,CAACG,MAAM,CAACC,KAAK,CAACjlB,MAAM,aAAM,EAAE,GAAG6kB,EAAE,CAACG,MAAM,CAACE,YAAY,OAAI;IAC3D,IAAIL,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC+a,MAAM,IAAI,GAAG,EAAE;MAClCY,QAAQ,CAACE,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC+a,MAAM,CAAC;MAChCS,QAAQ,CAAC;QAAEnK,IAAI,EAAE,aAAa;QAAEqJ,OAAO,EAAEmB,EAAE,CAACG,MAAM,CAAChc;MAAM,CAAC,CAAC;IAC5D;EACD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMmc,gBAAgB,GAAGnsB,mDAAW,CACnC,UAAC6rB,EAAE,EAAK;IAAA;IACP,IAAI,iBAAAtP,KAAK,CAAC+N,KAAK,iDAAX,aAAaC,KAAK,MAAK,GAAG,EAAEkB,UAAU,CAAC,IAAI,CAAC,CAAC,KAC5CA,UAAU,CAAC,KAAK,CAAC;IACtB,IAAII,EAAE,CAACO,OAAO,KAAK,CAAC,EAAE;MAAA;MACrB,IAAI,mBAAA7P,KAAK,CAACvB,OAAO,mDAAb,eAAe+P,MAAM,MAAK,CAAC,EAAE;QAChCU,UAAU,CAAC,KAAK,CAAC;MAClB;IACD;EACD,CAAC,EACD,CAACA,UAAU,EAAElP,KAAK,CAAC,CACnB;EAED,IAAMjK,cAAc,GAAGf,kDAAU,CAACD,oFAAsB,CAA4B;EAEpF,IAAM+a,cAAc,GAAGrsB,mDAAW,CAAC,YAAM;IACxC,IAAMssB,UAAU,GAAGnD,qDAAQ,CAAC5M,KAAK,CAAC;IAClCjK,cAAc,CACbga,UAAU,GACP;MAAEjL,IAAI,EAAE,SAAS;MAAEzW,KAAK,EAAElF,CAAC,CAAC,kBAAkB,EAAE,6BAA6B;IAAE,CAAC,GAChF;MACA2b,IAAI,EAAE,OAAO;MACbzW,KAAK,EAAElF,CAAC,CAAC,gBAAgB,EAAE,gDAAgD;IAC3E,CAAC,CACJ;IACDf,0DAAU,CAAC,UAAU,CAAC;EACvB,CAAC,EAAE,CAAC4X,KAAK,EAAEjK,cAAc,EAAE5M,CAAC,CAAC,CAAC;EAE9B8L,iDAAS,CAAC,YAAM;IAAA;IACfga,QAAQ,CAAC;MACRnK,IAAI,EAAE,UAAU;MAChBqJ,OAAO,EAAE;QAAEngB,EAAE,EAAEghB,IAAI,CAAChhB,EAAE;QAAE9E,IAAI,uBAAE8lB,IAAI,CAAC5K,WAAW,iEAAI4K,IAAI,CAAC9lB;MAAK;IAC7D,CAAC,CAAC;EACH,CAAC,EAAE,CAAC8lB,IAAI,CAAC,CAAC;EAEV,IAAMgB,YAAY,GAAGnmB,+CAAO,CAC3B;IAAA;IAAA,OACC,0BAACmW,KAAK,aAALA,KAAK,0CAALA,KAAK,CAAEvB,OAAO,oDAAd,gBAAgB+P,MAAM,yEAAI,CAAC,KAAK,CAAC,IAAI,kBAAAxO,KAAK,CAAC+N,KAAK,kDAAX,cAAaC,KAAK,MAAK,GAAG,IAAI,kBAAAhO,KAAK,CAAC+N,KAAK,kDAAX,cAAa9f,GAAG,MAAK,GAAG;EAAA,GAC7F,CAAC+R,KAAK,CAACvB,OAAO,mBAAEuB,KAAK,CAAC+N,KAAK,kDAAX,cAAaC,KAAK,mBAAEhO,KAAK,CAAC+N,KAAK,kDAAX,cAAa9f,GAAG,CAAC,CACrD;EAED,IAAMgiB,YAAY,GAAGxsB,mDAAW,CAC/B,UAACkd,KAAK;IAAA,oBAAK,4DAAC,aAAa,iFAAKA,KAAK;MAAE,OAAO,EAAEgO;IAAQ,GAAG;EAAA,GACzD,CAACA,OAAO,CAAC,CACT;EAED,IAAMuB,MAAM,GAAGrmB,+CAAO,CAAC;IAAA,OAAMukB,SAAS,CAACjlB,CAAC,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EAE/C,oBACC,4DAAC,uEAAS;IAAC,OAAO,EAAE;MAAEwN,GAAG,EAAE;IAAQ,CAAE;IAAC,aAAa,EAAC;EAAc,gBACjE,4DAAC,uEAAS;IAAC,WAAW,EAAC,YAAY;IAAC,MAAM,EAAC;EAAK,gBAC/C,4DAAC,aAAa;IAAC,aAAa,EAAC,YAAY;IAAC,cAAc,EAAC;EAAY,gBACpE,4DAAC,kEAAI;IAAC,MAAM,EAAC,MAAM;IAAC,IAAI,EAAC;EAAO,GAC9BxN,CAAC,CAAC,2BAA2B,EAAE,kCAAkC,CAAC,CAC7D,eACP,4DAAC,cAAc;IAAC,QAAQ,EAAC,YAAY;IAAC,UAAU,EAAC;EAAK,GACpDA,CAAC,CACD,sBAAsB,EACtB,uKAAuK,CACvK,CACe,eACjB,4DAAC,cAAc;IAAC,QAAQ,EAAC;EAAY,GACnCA,CAAC,CACD,eAAe,EACf,oHAAoH,CACpH,CACe,CACF,eAEhB,4DAAC,eAAe;IAAC,cAAc,EAAC,UAAU;IAAC,aAAa,EAAC;EAAU,gBAClE,4DAAC,uEAAM;IACN,KAAK,EAAEA,CAAC,CAAC,eAAe,EAAE,MAAM,CAAE;IAClC,OAAO,EAAE2mB,cAAe;IACxB,QAAQ,EAAEE;EAAa,EACtB,CACe,CACP,eACZ,4DAAC,uEAAS;IACT,OAAO,EAAE;MAAEG,MAAM,EAAE;IAAS,CAAE;IAC9B,MAAM,EAAC,KAAK;IACZ,aAAa,EAAC,eAAe;IAC7B,cAAc,EAAC,YAAY;IAC3B,WAAW,EAAC;EAAY,gBAExB,4DAAC,uEAAS;IAAC,aAAa,EAAC,eAAe;IAAC,cAAc,EAAC,YAAY;IAAC,QAAQ,EAAC;EAAY,gBACzF,4DAAC,iEAAG;IAAC,OAAO,EAAE;MAAEC,QAAQ,EAAE;IAAQ;EAAE,gBACnC,4DAAC,kEAAI;IAAC,MAAM,EAAC,MAAM;IAAC,IAAI,EAAC;EAAO,GAAC,QAEjC,CAAO,CACF,eACN,4DAAC,oEAAM;IACN,KAAK,EAAEjnB,CAAC,CAAC,0BAA0B,EAAE,iBAAiB,CAAE;IACxD,KAAK,EAAE2lB,QAAS;IAChB,gBAAgB,EAAE;MAAEzgB,KAAK,EAAE,EAAE;MAAEoF,KAAK,EAAE;IAAG,CAAE;IAC3C,QAAQ,EAAE4b,WAAY;IACtB,YAAY,EAAEhB;EAAmB,EAChC,CACS,eACZ,4DAAC,uEAAS;IAAC,aAAa,EAAC,eAAe;IAAC,cAAc,EAAC,YAAY;IAAC,QAAQ,EAAC;EAAY,gBACzF,4DAAC,iEAAG;IAAC,OAAO,EAAE;MAAE+B,QAAQ,EAAE;IAAQ;EAAE,gBACnC,4DAAC,kEAAI;IAAC,MAAM,EAAC,MAAM;IAAC,IAAI,EAAC;EAAO,GAAC,OAEjC,CAAO,CACF,eACN,4DAAC,oEAAM;IACN,KAAK,EAAEjnB,CAAC,CAAC,yBAAyB,EAAE,gBAAgB,CAAE;IACtD,KAAK,EAAE+mB,MAAO;IACd,gBAAgB,YACf7c,6CAAI,CAAC6c,MAAM,EAAE,CAAC,OAAO,mBAAElQ,KAAK,CAAC+N,KAAK,kDAAX,cAAaC,KAAK,CAAC,CAAC,2CAAI;MAAE3f,KAAK,EAAE,EAAE;MAAEoF,KAAK,EAAE;IAAG,CACtE;IACD,QAAQ,EAAE8b,aAAc;IACxB,YAAY,EAAEU,YAAa;IAC3B,QAAQ,EAAE;EAAM,EACf,CACS,CACD,eACZ,4DAAC,WAAW;IAAC,cAAc,EAAC;EAAU,gBACrC,4DAAC,QAAQ;IACR,KAAK,EAAEjQ,KAAK,CAACvB,OAAQ;IACrB,OAAO,EAAEmR,gBAAiB;IAC1B,QAAQ,EAAEJ,aAAc;IACxB,WAAW,EAAErmB,CAAC,CAAC,qBAAqB,EAAE,0BAA0B;EAAE,EACjE,eACF,4DAAC,kEAAI;IAAC,IAAI,EAAC,QAAQ;IAAC,KAAK,EAAC;EAAW,GACnCgmB,KAAK,EAAC,MACR,CAAO,CACM,CACH;AAEd,CAAC;AAED,iEAAe3hB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9YvB;AACA;AACA;AACA;AACA;;AAEsC;AAE/B,IAAMuC,MAAM,GAClB,SADYA,MAAM,CACjB7F,KAAa;EAAA,OACd,UAACtG,KAAY,EAAEysB,IAAgB,EAAa;IAAA;IAC3C,IAAMC,QAAQ,GAAGpe,yDAAoB,EAAE;IACvC,IAAMqe,OAAO,4BAAGD,QAAQ,CAACE,OAAO,CAACtmB,KAAK,CAAC,0DAAvB,sBAAyBumB,gBAAgB,CAAC7sB,KAAK,oBAAOysB,IAAI,EAAG;IAC7E,IAAIE,OAAO,EAAE;MACZ1sB,OAAO,CAACoN,IAAI,CAAC,iBAAiB,EAAEsf,OAAO,CAAC;IACzC;IACA,OAAOA,OAAO;EACf,CAAC;AAAA;AAEK,IAAM3D,QAAQ,GAAG,SAAXA,QAAQ,CAAInO,OAAc,EAAa;EACnD,IAAM6R,QAAQ,GAAGpe,yDAAoB,EAAE;EACvC,IAAMqe,OAAO,GAAGD,QAAQ,CAACE,OAAO,CAACE,SAAS,CAACC,YAAY,iCAAMlS,OAAO;IAAEoP,KAAK,EAAE;EAAM,GAAG;EACtF,IAAI0C,OAAO,EAAE;IACZ1sB,OAAO,CAACoN,IAAI,CAAC,WAAW,EAAEsf,OAAO,EAAE,kBAAkB,CAAC;EACvD;EACA,OAAOA,OAAO;AACf,CAAC;;;;;;;;;;;;;;;;;;;AC1BD;AACA;AACA;AACA;AACA;AACwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLxB;AACA;AACA;AACA;AACA;;AAE0D;AAOjC;AACO;AAEY;AAOrC,IAAMre,WAAW,GAAG0e,mDAAM,CAAgB,UAACxF,GAAG;EAAA;EAAA,OAAM;IAC1DoF,OAAO,8GACLztB,oDAAY,EAAG,IAAIiuB,gDAAG,CACtB,IAAIH,0DAAa,CAAC;MACjBK,SAAS,EAAED,+DAAkB;MAC7BE,WAAW,EAAEJ,+DAAkB;MAC/BxlB,YAAY,EAAEulB,gEAAmB;MACjCM,GAAG,EAAE,mEAAmE;MACxEtD,OAAO,EAAE,GAAG;MACZuD,cAAc,EAAE;IACjB,CAAC,CAAC,CACF,4GACU,IAAIL,gDAAG,CACjB,IAAIH,0DAAa,CAAC;MACjBK,SAAS,EAAED,+DAAkB;MAC7BE,WAAW,EAAEJ,+DAAkB;MAC/BxlB,YAAY,EAAEulB,gEAAmB;MACjCM,GAAG,EAAE,mEAAmE;MACxEtD,OAAO,EAAE,GAAG;MACZuD,cAAc,EAAE;IACjB,CAAC,CAAC,CACF,YACD;IACD1d,UAAU,EAAE,oBAACjB,IAAI,EAAW;MAC3B0Y,GAAG,CAAC,UAAC/gB,CAAC;QAAA,OAAM;UACXmmB,OAAO,EAAE1sB,8CAAM,CACd4O,IAAI,EACJ,UAACjJ,GAAG,EAAEwE,GAAG,EAAK;YACb,IAAIA,GAAG,CAAC4gB,SAAS,EAAE;cAClB;cACAxkB,CAAC,CAACmmB,OAAO,CAACviB,GAAG,CAAC/E,IAAI,CAAC,GAAG,IAAI8nB,gDAAG,CAC5B,IAAIH,0DAAa,CAAC;gBACjBK,SAAS,EAAED,+DAAkB;gBAC7BE,WAAW,EAAEJ,+DAAkB;gBAC/BxlB,YAAY,EAAEulB,gEAAmB;gBACjCM,GAAG,EAAEnjB,GAAG,CAAC4gB,SAAS;gBAClBf,OAAO,EAAE7f,GAAG,CAACqD,OAAO;gBACpB+f,cAAc,EAAE;cACjB,CAAC,CAAC,CACF;YACF;YACA,OAAO5nB,GAAG;UACX,CAAC,EACDY,CAAC,CAACmmB,OAAO;QAEX,CAAC;MAAA,CAAC,CAAC;IACJ;EACD,CAAC;AAAA,CAAC,CAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtE5D;AACA;AACA;AACA;AACA;AACgE;AACzB;AACgD;AAC5C;AACK;AACH;AACmB;AAEhE,IAAMe,iBAAiB,GAAG7E,8DAAM,CAACL,uEAAS,CAAC;EAAA;EAAA;AAAA,mGACV;EAAA,IAAGlU,KAAK,QAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAACgV,KAAK,CAAC9U,OAAO;AAAA,GAEpE;EAAA,IAAGH,KAAK,SAALA,KAAK;IAAEoW,IAAI,SAAJA,IAAI;EAAA,OAAepW,KAAK,CAACC,OAAO,CAACmW,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,CAACjW,OAAO;AAAA,GAG3E;EAAA,IAAGH,KAAK,SAALA,KAAK;IAAEoW,IAAI,SAAJA,IAAI;EAAA,OAAepW,KAAK,CAACC,OAAO,CAACmW,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,CAAChW,KAAK;AAAA,EAEzF;AAED,IAAMiZ,uBAAwD,GAAG,SAA3DA,uBAAwD,QAAgB;EAAA,IAAVvjB,GAAG,SAAHA,GAAG;EACtE,IAAMwjB,OAAO,GAAGznB,uDAAW,CAAC,UAACK,CAAC;IAAA,OAAKA,CAAC,CAACgF,KAAK,CAACsS,MAAM;EAAA,EAAC;EAClD,sBAAiCT,6DAAc,EAAE;IAAzCI,MAAM,mBAANA,MAAM;IAAEoQ,YAAY,mBAAZA,YAAY;EAC5B,IAAMC,UAAU,GAAG9nB,8CAAO,CACzB;IAAA;IAAA,wBAAM4nB,OAAO,CAACpe,IAAI,CAAC,UAACue,CAAC;MAAA,OAAKA,CAAC,CAAChmB,KAAK,KAAK0V,MAAM;IAAA,EAAC,yDAAImQ,OAAO,CAAC,CAAC,CAAC;EAAA,GAC3D,CAACnQ,MAAM,EAAEmQ,OAAO,CAAC,CACjB;EAED,gBAAwBza,+CAAQ,CAAC,KAAK,CAAC;IAAA;IAAhCuX,IAAI;IAAEsD,OAAO;EAEpB,IAAMC,aAAa,GAAGjoB,8CAAO,CAC5B;IAAA,OACC4nB,OAAO,CAAC1nB,GAAG,CAAC;MAAA,IAAGiE,EAAE,SAAFA,EAAE;QAAEK,KAAK,SAALA,KAAK;QAAEM,IAAI,SAAJA,IAAI;QAAE/C,KAAK,SAALA,KAAK;MAAA,OAAQ;QAC5CoC,EAAE,EAAFA,EAAE;QACFK,KAAK,EAALA,KAAK;QACLM,IAAI,EAAJA,IAAI;QACJ6J,MAAM,EAAExK,EAAE,KAAKsT,MAAM;QACrByQ,KAAK,EAAE,iBAAY;UAClBL,YAAY,CAAC9lB,KAAK,CAAC;UACnBvF,4DAAW,CAAC;YAAEuF,KAAK,EAAE0B,qDAAa;YAAEoU,IAAI,aAAM9V,KAAK;UAAG,CAAC,CAAC;QACzD;MACD,CAAC;IAAA,CAAC,CAAC;EAAA,GACJ,CAAC0V,MAAM,EAAEmQ,OAAO,EAAEC,YAAY,CAAC,CAC/B;EAEDzc,gDAAS,CAAC,YAAM;IACf,IAAIhH,GAAG,KAAKX,qDAAa,EAAE;MAC1B,IAAI,CAACqkB,UAAU,IAAI,CAAAA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE1jB,GAAG,MAAKA,GAAG,EAAE;QAAA;QAC3CyjB,YAAY,4BAAED,OAAO,CAACpe,IAAI,CAAC,UAACue,CAAC;UAAA,OAAKA,CAAC,CAAC3jB,GAAG,KAAKA,GAAG;QAAA,EAAC,2DAAIwjB,OAAO,CAAC,CAAC,CAAC,0CAAjD,MAAoD7lB,KAAK,CAAC;MACxE;IACD;IACA;EACD,CAAC,EAAE,CAACqC,GAAG,EAAEwjB,OAAO,EAAEC,YAAY,CAAC,CAAC;EAEhC,IAAI,CAACC,UAAU,EAAE;IAChB,OAAO,IAAI;EACZ;EACA,oBACC,2DAAC,sEAAQ;IACR,KAAK,EAAEG,aAAc;IACrB,MAAM,EAAE;MAAA,OAAYD,OAAO,CAAC,IAAI,CAAC;IAAA,CAAC;IAClC,OAAO,EAAE;MAAA,OAAYA,OAAO,CAAC,KAAK,CAAC;IAAA;EAAC,gBAEpC,2DAAC,iBAAiB;IACjB,WAAW,EAAC,YAAY;IACxB,MAAM,EAAC,UAAU;IACjB,KAAK,EAAC,KAAK;IACX,QAAQ,EAAC,UAAU;IACnB,cAAc,EAAC,QAAQ;IACvB,aAAa,EAAC,eAAe;IAC7B,YAAY,EAAC;EAAM,gBAEnB,2DAAC,iEAAG;IAAC,kBAAkB;IAAC,aAAa,EAAC,OAAO;IAAC,OAAO,EAAE;MAAEG,IAAI,EAAE;IAAQ;EAAE,gBACxE,2DAAC,kEAAI;IAAC,IAAI,EAAC,OAAO;IAAC,KAAK,EAAEzD,IAAI,GAAG,SAAS,GAAG;EAAO,GAClDoD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEtjB,KAAK,CACZ,CACF,eACN,2DAAC,kEAAI;IACJ,IAAI,EAAC,OAAO;IACZ,IAAI,EAAEkgB,IAAI,GAAG,kBAAkB,GAAG,oBAAqB;IACvD,KAAK,EAAEA,IAAI,GAAG,SAAS,GAAG,MAAO;IACjC,KAAK,EAAE;MAAEE,SAAS,EAAE;IAAS;EAAE,EAC9B,CACiB,CACV;AAEb,CAAC;AAED,IAAMwD,kBAAkB,gBAAGpvB,iDAAU,CAAC2uB,uBAAuB,CAAC;AAEvD,IAAMU,cAAc,GAAG,SAAjBA,cAAc,GAAsB;EAChD,IAAMC,WAAW,GAAGjsB,gEAAe,EAAE;EACrC,oBAAO,2DAAC,kBAAkB;IAAC,GAAG,EAAEisB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAElkB;EAAI,EAAG;AACrD,CAAC;;;;;;;;;;;;;;;;;;AChGD;AACA;AACA;AACA;AACA;;AAE6C;AACE;AACC;AAEzC,IAAMjG,SAAS,GAAG,SAAZA,SAAS,CAAIoqB,KAAuB,EAAE9Q,MAAc,EAAW;EAC3EJ,kEAAuB,CAAC;IAAEkR,KAAK,EAALA,KAAK;IAAE9Q,MAAM,EAANA,MAAM;IAAE+Q,cAAc,EAAE;EAAM,CAAC,CAAC;EACjEhsB,2DAAW,CAAC;IAAEuF,KAAK,EAAE0B,qDAAa;IAAEoU,IAAI,aAAMJ,MAAM;EAAG,CAAC,CAAC;AAC1D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbD;AACA;AACA;AACA;AACA;;AAUyC;AACZ;AACyC;AACX;AACF;AACS;AACrB;AACF;AACN;AACW;AAChD;;AAEA;AACA,IAAMqR,QAAQ,GAAG,SAAXA,QAAQ;EAAA,OACbzR,8DAAc,CAAC,UAAC7W,CAAC;IAAA,OAAK,CAACA,CAAC,CAAC+nB,KAAK,EAAE/nB,CAAC,CAACuoB,WAAW,CAAC;EAAA,EAAC;AAAA;AAChD;AACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB;EAAA;IACrB;IACA3R,8DAAc,CAAC,UAAC7W,CAAC;MAAA,OAAK,CAACA,CAAC,CAACgoB,cAAc,EAAEhoB,CAAC,CAACyoB,iBAAiB,CAAC;IAAA;EAAC;AAAA;AAE/D,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAAIC,SAA0B,EAAoB;EACtE,IAAIA,SAAS,KAAKN,2DAAuB,EAAE;IAC1C,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC;EACpC;EACA,IAAIM,SAAS,KAAKN,yDAAqB,EAAE;IACxC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;EAChC;EACA,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;AAChB,CAAC;AAED,IAAMS,aAAiE,GAAG,SAApEA,aAAiE,OAGjE;EAAA,IAFL9kB,KAAK,QAALA,KAAK;IAAA,sBACL2kB,SAAS;IAATA,SAAS,+BAAGN,0DAAsB;EAElC,IAAMvpB,CAAC,GAAGiJ,kDAAI,EAAE;EAChB,gBAA6BugB,QAAQ,EAAE;IAAA;IAAhCP,KAAK;IAAEQ,WAAW;EACzB,wBAAwBC,gBAAgB,EAAE;IAAA;IAAjCQ,WAAW;EAEpB,IAAMC,UAAU,GAAG7vB,kDAAW,CAAC,YAAM;IACpCmvB,WAAW,CAAC,EAAE,CAAC;IACfS,WAAW,CAAC,KAAK,CAAC;EACnB,CAAC,EAAE,CAACT,WAAW,EAAES,WAAW,CAAC,CAAC;EAE9B,IAAME,aAAa,GAAG1pB,8CAAO,CAA2B,YAAM;IAC7D,IAAImpB,SAAS,KAAKN,0DAAsB,EAAE;MACzC,oBAAO,yHAAK;IACb;IAEA,uBAAsBK,eAAe,CAACC,SAAS,CAAC;MAAA;MAAzCrkB,IAAI;MAAEsb,KAAK;IAClB,oBACC,2DAAC,qEAAO;MAAC,KAAK,EAAC;IAAO,gBACrB,2DAAC,kEAAI;MAAC,IAAI,EAAEtb,IAAK;MAAC,IAAI,EAAC,OAAO;MAAC,KAAK,EAAEsb;IAAM,EAAG,CACtC;EAEZ,CAAC,EAAE,CAAC+I,SAAS,CAAC,CAAC;EAEf,oBACC,uIACC,2DAAC,uEAAS;IACT,WAAW,EAAC,YAAY;IACxB,aAAa,EAAC,YAAY;IAC1B,KAAK,EAAC,MAAM;IACZ,UAAU,EAAC,OAAO;IAClB,MAAM,EAAC,KAAK;IACZ,SAAS,EAAC,MAAM;IAChB,SAAS,EAAC,QAAQ;IAClB,KAAK,EAAE;MAAEtoB,QAAQ,EAAE;IAAS,CAAE;IAC9B,OAAO,EAAE;MAAE8oB,UAAU,EAAE,OAAO;MAAEpD,QAAQ,EAAE;IAAS;EAAE,gBAErD,2DAAC,uEAAS;IAAC,KAAK,EAAC,KAAK;IAAC,WAAW,EAAC,YAAY;IAAC,IAAI,EAAC,MAAM;IAAC,aAAa,EAAC;EAAY,GACpFmD,aAAa,eACd,2DAAC,kEAAI;IAAC,KAAK,EAAC;EAAW,GAAEllB,KAAK,CAAQ,EAErCtE,2CAAG,CAACqoB,KAAK,EAAE,UAACqB,CAAC,EAAE7O,CAAC;IAAA,oBAChB,2DAAC,qEAAO;MAAC,GAAG,YAAKA,CAAC,SAAG6O,CAAC,CAACplB,KAAK,CAAG;MAAC,GAAG,EAAC;IAAY,gBAC/C,2DAAC,kEAAI,iFAAKolB,CAAC;MAAE,UAAU,EAAC;IAAO,GAAG,CACzB;EAAA,CACV,CAAC,CACS,EACX,CAAArB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5D,MAAM,IAAG,CAAC,iBACjB,2DAAC,uEAAS;IAAC,KAAK,EAAC,KAAK;IAAC,aAAa,EAAC,YAAY;IAAC,cAAc,EAAC;EAAY,gBAC5E,2DAAC,oEAAM;IACN,KAAK,EAAErlB,CAAC,CAAC,0BAA0B,EAAE,cAAc,CAAE;IACrD,IAAI,EAAC,cAAc;IACnB,KAAK,EAAC,SAAS;IACf,KAAK,EAAC,MAAM;IACZ,IAAI,EAAC,OAAO;IACZ,OAAO,EAAEmqB;EAAW,EACnB,CAEH,CACU,eACZ,2DAAC,qEAAO;IAAC,KAAK,EAAC;EAAO,EAAG,CACvB;AAEL,CAAC;AAEM,IAAM7lB,aAAiB,GAAG,SAApBA,aAAiB,GAAS;EAAA;EACtC,IAAMimB,WAAW,GAAG1pB,wDAAW,CAAC,UAACK,CAAC;IAAA,OAAKA,CAAC,CAACgF,KAAK,CAACsS,MAAM;EAAA,EAAC;EACtD,IAAMvS,MAAM,GAAGvF,8CAAO,CACrB;IAAA,OACCE,2CAAG,CAAC2pB,WAAW,EAAE,UAACC,IAAI;MAAA,oBACrB,2DAAC,oDAAK;QAAC,GAAG,aAAMA,IAAI,CAAC/nB,KAAK,CAAG;QAAC,IAAI,aAAM0B,qDAAa,cAAIqmB,IAAI,CAAC/nB,KAAK;MAAG,gBACrE,2DAAC,sEAAkB;QAAC,GAAG,EAAE+nB,IAAI,CAAC1lB;MAAI,gBACjC,2DAAC,IAAI,CAAC,SAAS;QACd,QAAQ,EAAE0kB,QAAS;QACnB,aAAa,EAAEQ,aAAc;QAC7B,gBAAgB,EAAEN;MAAiB,EAClC,CACkB,CACd;IAAA,CACR,CAAC;EAAA,GACH,CAACa,WAAW,CAAC,CACb;EAED,oBACC,uIAOC,2DAAC,qDAAM,QACLtkB,MAAM,eACP,2DAAC,uDAAQ;IACR,KAAK;IACL,MAAM;IACN,IAAI,aAAM9B,qDAAa,CAAG;IAC1B,EAAE,aAAMA,qDAAa,+BAAIomB,WAAW,CAAC,CAAC,CAAC,kDAAd,cAAgB9nB,KAAK;EAAG,EAChD,CACM,CACP;AAEL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpJD;AACA;AACA;AACA;AACA;;AAEA;;AASyC;AACU;AACkC;AACvC;AACP;AACgC;AACtB;AAGZ;AACc;AACH;AAEhD,IAAMooB,kBAAkB,GAAGtH,8DAAM,CAACmH,wEAAU,CAAC;EAAA;EAAA;AAAA,sEAEzC;EAAA,IAAG1b,KAAK,QAALA,KAAK;IAAEO,QAAQ,QAARA,QAAQ;EAAA,OACnBA,QAAQ,GAAGP,KAAK,CAACC,OAAO,CAACqB,OAAO,CAACf,QAAQ,GAAGP,KAAK,CAACC,OAAO,CAACqB,OAAO,CAACnB,OAAO;AAAA,EAK3E;AAED,IAAM2b,eAAe,GAAGvH,8DAAM,CAACkH,uEAAS,CAAC;EAAA;EAAA;AAAA,8DAIzB;EAAA,IAAGzb,KAAK,SAALA,KAAK;IAAEO,QAAQ,SAARA,QAAQ;EAAA,OAC/BA,QAAQ,GAAG,OAAO,GAAGP,KAAK,CAACC,OAAO,CAAC2U,KAAK,CAACxU,KAAK;AAAA,EAEhD;AAED,IAAM2b,eAAe,GAAGxH,8DAAM,CAACL,uEAAS,CAAC;EAAA;EAAA;AAAA,yFAMxC;AASM,IAAM8H,SAAa,GAAG,SAAhBA,SAAa,GAAS;EAClC,IAAMC,QAAQ,GAAGL,8CAAM,CAAmB,IAAI,CAAC;EAC/C,IAAM5qB,CAAC,GAAGiJ,kDAAI,EAAE;EAChB,uBAAsC7M,8DAAe,CACpD0Z,iEAAwB,EACxB,EAAE,CACF;IAAA;IAHMoV,WAAW;IAAEC,cAAc;EAIlC,gBAAoCtd,gDAAQ,CAAC,EAAE,CAAC;IAAA;IAAzCud,UAAU;IAAEC,aAAa;EAChC,IAAM1e,OAAO,GAAGR,6DAAU,EAAE;EAC5B,sBACC4L,8DAAc,EAAE;IADT0R,WAAW,mBAAXA,WAAW;IAAEtR,MAAM,mBAANA,MAAM;IAAE8Q,KAAK,mBAALA,KAAK;IAAEC,cAAc,mBAAdA,cAAc;IAAES,iBAAiB,mBAAjBA,iBAAiB;IAAE2B,OAAO,mBAAPA,OAAO;EAG9E,iBAAgCzd,gDAAQ,CAAC,KAAK,CAAC;IAAA;IAAxC0d,QAAQ;IAAEC,WAAW;EAE5B,iBAA8B3d,gDAAQ,CACrC,EAAE,CACF;IAAA;IAFM4d,OAAO;IAAEC,UAAU;EAI1B,iBAA0C7d,gDAAQ,CAAC,KAAK,CAAC;IAAA;IAAlD8d,aAAa;IAAEC,gBAAgB;EAEtC,iBAAoC/d,gDAAQ,CAACob,KAAK,CAAC;IAAA;IAA5C4C,UAAU;IAAEC,aAAa;EAChC,IAAMC,SAAS,GAAGrrB,+CAAO,CACxB;IAAA;IAAA,OAAMmrB,UAAU,CAACxG,MAAM,GAAG,CAAC,IAAK,sBAAA4F,QAAQ,CAAC3Q,OAAO,sDAAhB,kBAAkBhQ,KAAK,KAAI,uBAAA2gB,QAAQ,CAAC3Q,OAAO,gFAAhB,mBAAkBhQ,KAAK,0DAAvB,sBAAyB+a,MAAM,IAAG,CAAE;EAAA,GAC/F,CAACwG,UAAU,CAACxG,MAAM,CAAC,CACnB;EACD,IAAM2G,WAAW,GAAG1xB,mDAAW,CAAC,YAAY;IAC3C,IAAI2wB,QAAQ,CAAC3Q,OAAO,EAAE;MAAA;MACrB2Q,QAAQ,CAAC3Q,OAAO,CAAChQ,KAAK,GAAG,EAAE;MAC3B,sBAAA2gB,QAAQ,CAAC3Q,OAAO,uDAAhB,mBAAkBhL,KAAK,EAAE;IAC1B;IACAkc,WAAW,CAAC,KAAK,CAAC;IAClBM,aAAa,CAAC,EAAE,CAAC;IACjBnC,iBAAiB,CAAC,KAAK,CAAC;IACxBF,WAAW,CAAC,EAAE,CAAC;IACf4B,aAAa,CAAC,EAAE,CAAC;EAClB,CAAC,EAAE,CAAC1B,iBAAiB,EAAEF,WAAW,CAAC,CAAC;EAEpC,IAAMwC,QAAQ,GAAG3xB,mDAAW,CAAC,YAAM;IAClCmvB,WAAW,CAAC,UAACyC,YAAY,EAAK;MAC7B,IAAMC,GAAG,GAAGlB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3Q,OAAO;MAC7B,IAAI6R,GAAG,EAAEA,GAAG,CAAC7hB,KAAK,GAAG,EAAE;MACvB,IAAI8gB,UAAU,CAAC/F,MAAM,GAAG,CAAC,EAAE;QAC1B,IAAM+G,aAAa,kGACfP,UAAU,wFACVjrB,4CAAG,CAACwqB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEnO,KAAK,CAAC,GAAG,CAAC,EAAE,UAAC/X,KAAa,EAAEL,EAAU;UAAA,OAAM;YAC9DA,EAAE,YAAKA,EAAE,CAAE;YACXK,KAAK,EAALA,KAAK;YACLmnB,SAAS,EAAE;UACZ,CAAC;QAAA,CAAC,CAAC,EACH;QACDP,aAAa,CAACM,aAAa,CAAC;QAC5Bf,aAAa,CAAC,EAAE,CAAC;QACjB,OAAO1wB,+CAAM,CACZyxB,aAAa,EACb,UAAC9rB,GAAG,EAAEgsB,IAAI,EAAK;UACd,IAAI,CAACpiB,6CAAI,CAACgiB,YAAY,EAAE,UAACK,CAAY;YAAA,OAAcA,CAAC,CAACrnB,KAAK,KAAKonB,IAAI,CAACpnB,KAAK;UAAA,EAAC,EAAE;YAC3E5E,GAAG,CAACqY,IAAI,CAAC2T,IAAI,CAAC;UACf;UACA,OAAOhsB,GAAG;QACX,CAAC,EACDsI,+CAAM,CACLsjB,YAAY,EACZ,UAACM,KAAgB;UAAA,OAChB,CAAC,CAACtiB,6CAAI,CAAC2hB,UAAU,EAAE,UAACU,CAAY;YAAA,OAAcA,CAAC,CAACrnB,KAAK,KAAKsnB,KAAK,CAACtnB,KAAK;UAAA,EAAC;QAAA,EACvE,CACD;MACF;MAEAmmB,aAAa,CAAC,EAAE,CAAC;MAEjB,OAAO1wB,+CAAM,CACZkxB,UAAU,EACV,UAACvrB,GAAG,EAAEgsB,IAAI,EAAK;QACd,IAAI,CAACpiB,6CAAI,CAACgiB,YAAY,EAAE,UAACK,CAAY;UAAA,OAAcA,CAAC,CAACrnB,KAAK,KAAKonB,IAAI,CAACpnB,KAAK;QAAA,EAAC,EAAE;UAC3E5E,GAAG,CAACqY,IAAI,CAAC2T,IAAI,CAAC;QACf;QACA,OAAOhsB,GAAG;MACX,CAAC,EAEDsI,+CAAM,CACLsjB,YAAY,EACZ,UAACM,KAAgB;QAAA,OAChB,CAAC,CAACtiB,6CAAI,CAAC2hB,UAAU,EAAE,UAACU,CAAY;UAAA,OAAcA,CAAC,CAACrnB,KAAK,KAAKsnB,KAAK,CAACtnB,KAAK;QAAA,EAAC;MAAA,EACvE,CACD;IACF,CAAC,CAAC;IACFyH,OAAO,CAACgM,IAAI,YAAKxU,sDAAa,cAAIgU,MAAM,EAAG;EAC5C,CAAC,EAAE,CAACsR,WAAW,EAAE9c,OAAO,EAAEwL,MAAM,EAAEiT,UAAU,EAAES,UAAU,CAAC,CAAC;EAE1D,IAAMY,cAAc,GAAG/rB,+CAAO,CAC7B;IAAA,OACCkI,+CAAM,CAACsiB,WAAW,EAAE,UAACwB,CAAC;MAAA,OAAKA,CAAC,CAAC5nB,GAAG,KAAKqT,MAAM;IAAA,EAAC,CAC1CwU,OAAO,EAAE,CACT/rB,GAAG,CAAC,UAACuJ,IAAe;MAAA,uCACjBA,IAAI;QACPkiB,SAAS,EAAE,KAAK;QAChB9c,QAAQ,EAAE2Z,cAAc;QACxBN,KAAK,EAAE,iBAAY;UAClBkD,aAAa,CAAC,UAACxB,CAAmB;YAAA,sGAASA,CAAC,oCAAOngB,IAAI;cAAEkiB,SAAS,EAAE;YAAK;UAAA,CAAG,CAAC;QAC9E;MAAC;IAAA,CACA,CAAC;EAAA,GACL,CAACnB,WAAW,EAAE/S,MAAM,EAAE+Q,cAAc,CAAC,CACrC;EAED,IAAM0D,aAAa,GAAGtyB,mDAAW,CAChC,UAACgsB,MAAwB,EAAEgE,CAAa,EAAW;IAClD,IAAIhE,MAAM,CAACuG,WAAW,IAAIvG,MAAM,CAACuG,WAAW,CAACxH,MAAM,GAAG,CAAC,EAAE;MACxDqG,UAAU,CACTe,cAAc,CACZ7jB,MAAM,CACN,UAAC8jB,CAAY;QAAA;QAAA,OACZ,aAAAA,CAAC,CAACxnB,KAAK,6CAAP,SAAS4nB,OAAO,CAACxG,MAAM,CAACuG,WAAW,CAAW,MAAK,CAAC,CAAC,IACrD,CAAC3iB,6CAAI,CAACogB,CAAC,EAAE,UAAC7O,CAAC;UAAA,OAAKA,CAAC,CAACnR,KAAK,KAAKoiB,CAAC,CAACxnB,KAAK;QAAA,EAAC;MAAA,EACrC,CACA6nB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACb;IACF,CAAC,MAAM;MACNrB,UAAU,CAACe,cAAc,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC;EACD,CAAC,EACD,CAACN,cAAc,CAAC,CAChB;EAED,IAAMO,aAAa,GAAG1yB,mDAAW,CAChC,UAAC2yB,QAAQ,EAAK;IAAA;IACb,IACC,aAAAA,QAAQ,CAACA,QAAQ,CAAC5H,MAAM,GAAG,CAAC,CAAC,sCAA7B,UAA+BngB,KAAK,IACpCiT,MAAM,IACN,CAACjO,6CAAI,CAACuiB,cAAc,EAAE,UAACC,CAAC;MAAA;MAAA,OAAKA,CAAC,CAACxnB,KAAK,oBAAK+nB,QAAQ,CAACA,QAAQ,CAAC5H,MAAM,GAAG,CAAC,CAAC,+CAA7B,WAA+BngB,KAAK;IAAA,EAAC,EAC7E;MACDimB,cAAc,CAAC,UAAC7gB,KAAK;QAAA,sGACjBA,KAAK,IACR;UACCA,KAAK,EAAE2iB,QAAQ,CAACA,QAAQ,CAAC5H,MAAM,GAAG,CAAC,CAAC,CAACngB,KAAK;UAC1CA,KAAK,EAAE+nB,QAAQ,CAACA,QAAQ,CAAC5H,MAAM,GAAG,CAAC,CAAC,CAACngB,KAAK;UAC1CM,IAAI,EAAE,cAAc;UACpBV,GAAG,EAAEqT,MAAM;UACXtT,EAAE,YAAKyF,KAAK,CAAC+a,MAAM,CAAE;UACrBgH,SAAS,EAAE;QACZ,CAAC;MAAA,CACD,CAAC;IACH;IACA;IACA;IACA;IACA;IACAP,aAAa,CAACmB,QAAQ,CAAC;EACxB,CAAC,EACD,CAACR,cAAc,EAAEtU,MAAM,EAAEgT,cAAc,CAAC,CACxC;EAED,IAAM+B,WAAW,GAAG5yB,mDAAW,CAC9B,UAAC6rB,EAAE,EAAK;IACP,IAAIA,EAAE,CAAC0G,WAAW,KAAK,EAAE,EAAE;MAC1BrB,WAAW,CAAC,KAAK,CAAC;IACnB,CAAC,MAAM;MACNA,WAAW,CAAC,IAAI,CAAC;IAClB;IACAH,aAAa,CAAClF,EAAE,CAAC0G,WAAW,CAAC;IAC7BD,aAAa,CAACzG,EAAE,EAAE8C,KAAK,CAAC;EACzB,CAAC,EACD,CAACA,KAAK,EAAE2D,aAAa,CAAC,CACtB;EAED9gB,iDAAS,CAAC,YAAM;IACf,IAAIqM,MAAM,EAAE;MACX,IAAMgV,WAAW,GAAGvkB,+CAAM,CAAC6jB,cAAc,EAAE,UAACW,UAAU;QAAA,OAAK,CAAAA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEtoB,GAAG,MAAKqT,MAAM;MAAA,EAAC,CAAC4U,KAAK,CAC3F,CAAC,EACD,CAAC,CACD;MAEDrB,UAAU,CAACyB,WAAW,CAAC;IACxB;EACD,CAAC,EAAE,CAACV,cAAc,EAAEtU,MAAM,CAAC,CAAC;EAE5B,kBAA0CtK,gDAAQ,CAAC,KAAK,CAAC;IAAA;IAAlDwf,aAAa;IAAEC,gBAAgB;EACtC,IAAMC,YAAY,GAAG3C,8CAAM,CAAiB,IAAI,CAAC;EACjD,IAAM4C,QAAQ,GAAGlzB,mDAAW,CAAC;IAAA,OAAMsxB,gBAAgB,CAAC,IAAI,CAAC;EAAA,GAAE,EAAE,CAAC;EAC9D,IAAM6B,WAAW,GAAGnzB,mDAAW,CAAC;IAAA,OAAMsxB,gBAAgB,CAAC,KAAK,CAAC;EAAA,GAAE,EAAE,CAAC;;EAElE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA9f,iDAAS,CAAC,YAAM;IACf,IAAMqgB,GAAG,GAAGlB,QAAQ,CAAC3Q,OAAO;IAC5B,IAAMoT,QAAQ,GAAG,SAAXA,QAAQ,CAAIvH,EAAO,EAAW;MACnC,IAAIA,EAAE,CAAClN,GAAG,KAAK,OAAO,EAAE;QACvBwF,UAAU,CAAC,YAAM;UAChB6O,gBAAgB,CAAC,IAAI,CAAC;UACtBG,WAAW,EAAE;QACd,CAAC,EAAE,CAAC,CAAC;MACN;IACD,CAAC;IACD,IAAItB,GAAG,EAAE;MACRA,GAAG,CAACrV,gBAAgB,CAAC,OAAO,EAAE4W,QAAQ,CAAC;IACxC;IACA,OAAO,YAAY;MAClB,IAAIvB,GAAG,EAAE;QACRA,GAAG,CAACpV,mBAAmB,CAAC,OAAO,EAAE2W,QAAQ,CAAC;MAC3C;IACD,CAAC;EACF,CAAC,EAAE,CAACzB,QAAQ,EAAEwB,WAAW,CAAC,CAAC;EAE3B3hB,iDAAS,CAAC,YAAM;IACf,IAAIuhB,aAAa,EAAE;MAClBpB,QAAQ,EAAE;MACVqB,gBAAgB,CAAC,KAAK,CAAC;IACxB;EACD,CAAC,EAAE,CAACrB,QAAQ,EAAEoB,aAAa,CAAC,CAAC;EAE7B,IAAMM,cAAc,GAAGjtB,+CAAO,CAAC;IAAA,OAAM,EAAE+qB,OAAO,CAACpG,MAAM,GAAG,CAAC,CAAC,IAAIkG,QAAQ;EAAA,GAAE,CAACE,OAAO,EAAEF,QAAQ,CAAC,CAAC;EAE5F,IAAMqC,WAAW,GAAGltB,+CAAO,CAC1B;IAAA,OACCirB,aAAa,IAAIxT,MAAM,GACpBnY,CAAC,CAAC,2BAA2B,EAAE,mDAAmD,CAAC,GACnFA,CAAC,CAAC,yBAAyB,EAAE,sBAAsB,EAAE;MACrDmY,MAAM,EAANA;IACA,CAAC,CAAC;EAAA,GACN,CAACwT,aAAa,EAAExT,MAAM,EAAEnY,CAAC,CAAC,CAC1B;EAED,IAAM6tB,sBAAsB,GAAGntB,+CAAO,CACrC;IAAA,OACCqrB,SAAS,IAAIR,QAAQ,GAClBvrB,CAAC,CAAC,cAAc,EAAE,oBAAoB,CAAC,GACvCA,CAAC,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;EAAA,GAC9D,CAAC+rB,SAAS,EAAE/rB,CAAC,EAAEurB,QAAQ,CAAC,CACxB;EAED,IAAMuC,wBAAwB,GAAGptB,+CAAO,CACvC;IAAA,OAAO6qB,QAAQ,GAAG,KAAK,GAAG,CAACQ,SAAS;EAAA,CAAC,EACrC,CAACA,SAAS,EAAER,QAAQ,CAAC,CACrB;EAED,IAAMwC,qBAAqB,GAAGrtB,+CAAO,CAAC,YAAM;IAC3C,IAAI,CAACotB,wBAAwB,IAAIjC,UAAU,CAACxG,MAAM,GAAG,CAAC,EAAE;MACvD,OAAOrlB,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC;IACA,IAAI2rB,aAAa,EAAE;MAClB,OAAO3rB,CAAC,CACP,kCAAkC,EAClC,gDAAgD,CAChD;IACF;IACA,IAAIipB,KAAK,CAAC5D,MAAM,GAAG,CAAC,EAAE;MACrB,OAAOrlB,CAAC,CAAC,4BAA4B,EAAE,qCAAqC,CAAC;IAC9E;IACA,OAAOA,CAAC,CAAC,6BAA6B,EAAE,sCAAsC,CAAC;EAChF,CAAC,EAAE,CAAC8tB,wBAAwB,EAAEjC,UAAU,CAACxG,MAAM,EAAEsG,aAAa,EAAE1C,KAAK,CAAC5D,MAAM,EAAErlB,CAAC,CAAC,CAAC;EAEjF,IAAMguB,SAAS,GAAG1zB,mDAAW,CAC5B,UAAC2zB,OAAyB,EAAe;IACxCzC,WAAW,CAAC,KAAK,CAAC;IAClBH,aAAa,CAAC,EAAE,CAAC;IACjB,IAAIlT,MAAM,EAAE;MACX,IAAMgV,WAAW,GAAGvkB,+CAAM,CACzB6jB,cAAc,EACd,UAACW,UAAU;QAAA,OAAK,CAAAA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEtoB,GAAG,MAAKqT,MAAM;MAAA,EAC1C,CAAC4U,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;MAEbrB,UAAU,CAACyB,WAAW,CAAC;IACxB;IACA,OAAO;MACNjoB,KAAK,EAAE,OAAO+oB,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAG,EAAE;MACjD3jB,KAAK,EAAE2jB,OAAO;MACd5B,SAAS,EAAE;IACZ,CAAC;EACF,CAAC,EACD,CAACI,cAAc,EAAEtU,MAAM,CAAC,CACxB;EAEDrM,iDAAS,CAAC,YAAM;IACfggB,aAAa,CAAClrB,4CAAG,CAACqoB,KAAK,EAAE,UAACqB,CAAC;MAAA,uCAAWA,CAAC;QAAE/a,QAAQ,EAAE2Z;MAAc;IAAA,CAAG,CAAC,CAAC;EACvE,CAAC,EAAE,CAACA,cAAc,EAAED,KAAK,CAAC,CAAC;EAE3B,oBACC,4DAAC,uEAAS;IACT,QAAQ,EAAC,aAAa;IACtB,KAAK,EAAC,KAAK;IACX,QAAQ,EAAC,GAAG;IACZ,WAAW,EAAC,YAAY;IACxB,GAAG,EAAEsE;EAAa,gBAElB,4DAAC,qEAAO;IACP,QAAQ,EAAE,CAACrE,cAAe;IAC1B,QAAQ,EAAC,MAAM;IACf,KAAK,EACJoC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GACPtrB,CAAC,CAAC,8BAA8B,EAAE,mDAAmD;EACrF,gBAED,4DAAC,uEAAS;IAAC,WAAW,EAAC,YAAY;IAAC,KAAK,EAAC;EAAM,gBAC/C,4DAAC,uEAAS;IAAC,QAAQ,EAAC,OAAO;IAAC,KAAK,EAAC;EAAM,gBACvC,4DAAC,uEAAS;IAAC,WAAW,EAAC,YAAY;IAAC,KAAK,EAAC;EAAM,gBAC/C,4DAAC,uEAAS;IAAC,KAAK,EAAC;EAAK,gBACrB,4DAAC,6DAAc,OAAG,CACP,eACZ,4DAAC,eAAe;IAAC,WAAW,EAAC;EAAY,gBACxC,4DAAC,eAAe;IACf,QAAQ,EAAEkpB,cAAe;IACzB,QAAQ,EAAE+B,QAAS;IACnB,KAAK,EAAEY,UAAW;IAClB,KAAK,EAAEmC,SAAU;IACjB,OAAO,EAAEvC,OAAQ;IACjB,WAAW,EAAEmC,WAAY;IACzB,iBAAiB,EAAE,KAAM;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAE;IACvD,UAAU,EAAE1E,cAAc,GAAG,OAAO,GAAG,OAAQ;IAC/C,KAAK,EAAE;MACNgF,MAAM,EAAE,SAAS;MACjBC,SAAS,EAAE;IACZ,CAAE;IACF,QAAQ,EAAEnB,aAAc;IACxB,WAAW,EAAEE,WAAY;IACzB,mBAAmB,EAAE,CAAE;IACvB,MAAM,EAAEO,WAAY;IACpB,OAAO,EAAED,QAAS;IAClB,cAAc,EAAEG,cAAe;IAC/B,kBAAkB,EAAE;EAAM,EACzB,CACe,CACP,CACD,EAEX,CAACG,wBAAwB,iBACzB,4DAAC,qEAAO;IAAC,IAAI,EAAC;EAAO,gBACpB,4DAAC,qEAAO;IAAC,KAAK,EAAED,sBAAuB;IAAC,SAAS,EAAC;EAAQ,gBACzD,4DAAC,kBAAkB;IAClB,IAAI,EAAC,OAAO;IACZ,UAAU,EAAE;MACXO,QAAQ,EAAE,OAAO;MACjBC,WAAW,EAAE;IACd,CAAE;IACF,QAAQ,EAAEP,wBAAyB;IACnC,IAAI,EAAC,kBAAkB;IACvB,SAAS,EAAC,SAAS;IACnB,OAAO,EAAE9B;EAAY,EACpB,CACO,CAEX,eAED,4DAAC,qEAAO;IAAC,IAAI,EAAC;EAAO,gBACpB,4DAAC,qEAAO;IACP,QAAQ,EAAC,MAAM;IACf,QAAQ,EAAE9C,cAAe;IACzB,KAAK,EAAE6E,qBAAsB;IAC7B,SAAS,EAAC;EAAQ,gBAElB,4DAAC,wEAAU;IACV,IAAI,EAAC,OAAO;IACZ,UAAU,EAAE;MACXK,QAAQ,EAAE,OAAO;MACjBC,WAAW,EAAE;IACd,CAAE;IACF,IAAI,EAAC,QAAQ;IACb,QAAQ,EAAEP,wBAAyB;IACnC,eAAe,EAAC,SAAS;IACzB,SAAS,EAAC,OAAO;IACjB,OAAO,EAAE7B;EAAS,EACjB,CACO,CACD,CACC,CACH,CACC;AAEd,CAAC;;;;;;;;;;;;;;;;;;AC3bD;AACA;AACA;AACA;AACA;;AAEoC;AACP;AAGtB,IAAMlU,cAAc,GAAG0P,mDAAM,CAAc,UAACxF,GAAG,EAAEI,GAAG;EAAA,OAAM;IAChE4G,KAAK,EAAE,EAAE;IACTC,cAAc,EAAE,KAAK;IACrBoC,OAAO,EAAEta,SAAS;IAClB2Y,iBAAiB,EAAE,2BAACT,cAAuB,EAAEoC,OAAgB;MAAA,OAC5DrJ,GAAG,CAAC;QAAEiH,cAAc,EAAdA,cAAc;QAAEoC,OAAO,EAAPA;MAAQ,CAAC,CAAC;IAAA;IACjC7B,WAAW,EAAE,qBAACR,KAAqE;MAAA,OAClFhH,GAAG,CAAC;QAAEgH,KAAK,EAAEqF,kDAAU,CAACrF,KAAK,CAAC,GAAGA,KAAK,CAAC5G,GAAG,EAAE,CAAC4G,KAAK,CAAC,GAAGA;MAAM,CAAC,CAAC;IAAA;IAC/DV,YAAY,EAAE,sBAACpQ,MAAc;MAAA,OAAW8J,GAAG,CAAC;QAAE9J,MAAM,EAANA;MAAO,CAAC,CAAC;IAAA;EACxD,CAAC;AAAA,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAE6B;AACU;AACW;AACb;AACkB;AAGvD,IAAM5T,cAAc,GAAG,SAAjBA,cAAc,GAAoC;EACvD,IAAMiqB,eAAe,GAAG7yB,8DAAc,EAAE;EACxC,IAAMqE,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,IAAMwlB,iBAAiB,GAAG/tB,8CAAO,CAAC,YAAM;IACvC,IAAMguB,IAAI,GAAG9tB,2CAAG,CACf4tB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEtT,UAAU,CAAC7B,QAAQ,EACpC,UAAClP,IAAI,EAAEwkB,KAAK;MAAA,OACV;QACA9pB,EAAE,EAAEsF,IAAI,CAACpK,IAAI,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC4uB,KAAK,GAAG,CAAC,EAAEC,QAAQ,EAAE;QAC1DC,OAAO,EAAE1kB,IAAI,CAACpK,IAAI,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS;QACxD4b,IAAI,EACHxR,IAAI,CAACpK,IAAI,KAAK,SAAS,GAAGC,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,GAAGA,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC;QACxF8uB,UAAU,EAAE3kB,IAAI,CAACqR,MAAM,CAACuT,oBAAoB,IAAI,EAAE;QAClDC,WAAW,EAAE7kB,IAAI,CAACqR,MAAM,CAAC5B,qBAAqB,IAAI,EAAE;QACpDqV,YAAY,EAAE9kB,IAAI,CAACqR,MAAM,CAAC9B,sBAAsB,IAAI,EAAE;QACtDwV,WAAW,EAAE/kB,IAAI,CAACqR,MAAM,CAAC7B,qBAAqB,IAAI,EAAE;QACpDwV,eAAe,EAAEhlB,IAAI,CAACqR,MAAM,CAAC4T,qBAAqB,IAAI,EAAE;QACxDC,cAAc,EAAEllB,IAAI,CAACqR,MAAM,CAAC1B,wBAAwB,IAAI,EAAE;QAC1DwV,cAAc,EAAEnlB,IAAI,CAACqR,MAAM,CAACzB,wBAAwB,IAAI,EAAE;QAC1DwV,cAAc,EAAEplB,IAAI,CAACqR,MAAM,CAAC3B,wBAAwB,IAAI,EAAE;QAC1D2V,UAAU,EAAErlB,IAAI,CAACqR,MAAM,CAACiU,oBAAoB,IAAI,EAAE;QAClDC,cAAc,EAAEvlB,IAAI,CAACqR,MAAM,CAACmU,wBAAwB,IAAI,EAAE;QAC1DC,oBAAoB,EAAEzlB,IAAI,CAACqR,MAAM,CAACrB,8BAA8B,IAAI,EAAE;QACtE0V,iBAAiB,EAAE1lB,IAAI,CAACqR,MAAM,CAACtB,2BAA2B,IAAI,EAAE;QAChE4V,mBAAmB,EAAE3lB,IAAI,CAACqR,MAAM,CAACuU,6BAA6B,IAAI;MACnE,CAAC;IAAA,CAAkB,CACpB;IACD,IAAMtY,MAAM,IAAIiX,IAAI,CAACA,IAAI,CAACrJ,MAAM,GAAG,CAAC,CAAC,8FAAKqJ,IAAI,EAAC;IAC/CjX,MAAM,CAACuY,GAAG,EAAE;IACZ,OAAOvY,MAAM;EACd,CAAC,EAAE,CAAC+W,eAAe,EAAExuB,CAAC,CAAC,CAAC;EAExB,OAAOyuB,iBAAiB,CAACpJ,MAAM,GAAG,CAAC,gBAClC,2DAAC,iEAAgB;IAAC,OAAO,EAAEmJ,eAAgB;IAAC,iBAAiB,EAAEC,iBAAkB;IAAC,CAAC,EAAEzuB;EAAE,EAAG,GACvF,IAAI;AACT,CAAC;AAED,iEAAeuE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClD7B;AACA;AACA;AACA;AACA;;AAEuF;AACd;AAazD;AACyC;AACD;AACZ;AAE2B;AACqB;AACJ;AAEN;AACL;AACK;AACxB;AACP;;AAEnD;AACA;AACA;AACA;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMmsB,0BAA0B,GAAG,SAA7BA,0BAA0B,CAAI1V,OAAgB,EAAE1U,QAAyB,EAAe;EAAA;EAC7F,IAAMmR,MAAgB,GAAG,EAAE;;EAE3B;EACAA,MAAM,CAACkB,IAAI,CAACqC,OAAO,CAACjb,IAAI,CAAC;;EAEzB;EACA,uBAAIib,OAAO,CAAC4E,MAAM,4CAAd,gBAAgB+Q,OAAO,EAAE;IAAA;IAC5B,oBAAA3V,OAAO,CAAC4E,MAAM,qDAAd,iBAAgB+Q,OAAO,CAAC7X,OAAO,CAAC,UAACwN,MAAM,EAAK;MAC3C,IAAIA,MAAM,CAAC/L,KAAK,KAAK,QAAQ,IAAI+L,MAAM,CAACA,MAAM,EAAE;QAC/CA,MAAM,CAACA,MAAM,CAACxN,OAAO,CAAC,UAACgM,IAAI,EAAK;UAC/B,IAAIA,IAAI,CAACnJ,IAAI,KAAK,SAAS,IAAImJ,IAAI,CAAChK,KAAK,EAAE;YAC1CgK,IAAI,CAAChK,KAAK,CAAChC,OAAO,CAAC,UAACgC,KAAK,EAAK;cAC7BrD,MAAM,CAACkB,IAAI,CAACmC,KAAK,CAAC8V,IAAI,CAAC;YACxB,CAAC,CAAC;UACH;QACD,CAAC,CAAC;MACH;IACD,CAAC,CAAC;EACH;;EAEA;EACA,IAAItqB,QAAQ,CAACuD,KAAK,CAACgnB,eAAe,EAAE;IACnC,IAAI9X,gDAAO,CAACzS,QAAQ,CAACuD,KAAK,CAACgnB,eAAe,CAAC,EAAE;MAC5CpZ,MAAM,CAACkB,IAAI,OAAXlB,MAAM,uFAAUnR,QAAQ,CAACuD,KAAK,CAACgnB,eAAe,EAAc;IAC7D,CAAC,MAAM;MACNpZ,MAAM,CAACkB,IAAI,CAACmY,MAAM,CAACxqB,QAAQ,CAACuD,KAAK,CAACgnB,eAAe,CAAC,CAAC;IACpD;EACD;EAEA,OAAOV,6CAAI,CAAC1Y,MAAM,CAAC;AACpB,CAAC;AAEM,IAAM8W,gBAAgB,GAAG,SAAnBA,gBAAgB,OAIa;EAAA;EAAA,IAHzCvT,OAAO,QAAPA,OAAO;IACPyT,iBAAiB,QAAjBA,iBAAiB;IACjBzuB,CAAC,QAADA,CAAC;EAED,gBAAwB6N,gDAAQ,CAAO,CAAC,CAAC,CAAC;IAAA;IAAnCmL,IAAI;IAAE+X,OAAO;EACpB,iBAAoDljB,gDAAQ,CAAC,GAAG,CAAC;IAAA;IAA1DmjB,kBAAkB;IAAEC,qBAAqB;EAChD,iBAAoDpjB,gDAAQ,CAAC,CAAC,CAAC;IAAA;IAAxDqjB,kBAAkB;IAAEC,qBAAqB;EAChD,iBAAoCtjB,gDAAQ,CAAkB4gB,iBAAiB,CAAC;IAAA;IAAzEvT,UAAU;IAAEkW,aAAa;EAChC,iBAAkCvjB,gDAAQ,CAAiB,EAAE,CAAC;IAAA;IAAvDwjB,SAAS;IAAEC,YAAY;EAC9B,IAAMhrB,QAAQ,GAAGxK,sEAAe,EAAE;EAClC,IAAMy1B,aAAa,GAAGjrB,QAAQ,CAACuD,KAAK,CAAC2nB,2BAA2B;EAChE,IAAMC,MAAM,GAAGn3B,mDAAW,CACzB,UAACo3B,GAAgB,EAAK;IACrB,IAAQ/V,IAAI,GAAyC+V,GAAG,CAAhD/V,IAAI;MAAEgW,UAAU,GAA6BD,GAAG,CAA1CC,UAAU;MAAEpY,UAAU,GAAiBmY,GAAG,CAA9BnY,UAAU;MAAEC,UAAU,GAAKkY,GAAG,CAAlBlY,UAAU;IAChDuX,OAAO,CAAC,UAACjf,SAAS,EAAK;MAAA;MACtB,IAAM8f,UAAU,YAAG1nB,6CAAI,CACtB4H,SAAS,aAATA,SAAS,8CAATA,SAAS,CAAEuH,QAAQ,wDAAnB,oBAAqBC,UAAU,EAC/B,UAACnP,IAAI;QAAA,OAAKA,IAAI,CAACtF,EAAE,MAAK8sB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE9sB,EAAE;MAAA,EACpC,0CAHkB,MAGhB8E,KAAK;MACR,IAAM2P,UAAU,GACf,OAAOqY,UAAU,KAAK,WAAW,2DAE3B7f,SAAS,CAACuH,QAAQ,yDAAlB,qBAAoBC,UAAU,6FAChCqY,UAAU,CAAC9sB,EAAE,EAAG;QAChBA,EAAE,EAAE8sB,UAAU,CAAC9sB,EAAE;QACjB8E,KAAK,kCAAOioB,UAAU,6FAAGD,UAAU,CAAC1Y,GAAG,EAAG0Y,UAAU,CAACrnB,KAAK;MAC3D,CAAC,6BAEDwH,SAAS,CAACuH,QAAQ,yDAAlB,qBAAoBC,UAAU;MAClC,IAAMuY,aAAa,GAAG,yBAAA/f,SAAS,CAACuH,QAAQ,yDAAlB,qBAAoBG,UAAU,KAAIA,UAAU;MAClE,IAAMsY,aAAa,GAAG,yBAAAhgB,SAAS,CAACuH,QAAQ,yDAAlB,qBAAoBE,UAAU,KAAIA,UAAU;MAClE,uCACIzH,SAAS,6FAEX6J,IAAI,EAAG;QACPpC,UAAU,EAAEuY,aAAa;QACzBtY,UAAU,EAAEqY,aAAa;QACzBvY,UAAU,EAAVA;MACD,CAAC;IAEH,CAAC,CAAC;EACH,CAAC,EACD,CAACyX,OAAO,CAAC,CACT;EAED,IAAMgB,gBAAgB,GAAGz3B,mDAAW,CAAC,UAACo3B,GAAgB,EAAK;IAC1D,IAAQ/V,IAAI,GAAiB+V,GAAG,CAAxB/V,IAAI;MAAEgW,UAAU,GAAKD,GAAG,CAAlBC,UAAU;IACxBZ,OAAO,CAAC,UAACjf,SAAS,EAAK;MAAA;MACtB,IAAM8f,UAAU,aAAG1nB,6CAAI,CACtB4H,SAAS,aAATA,SAAS,+CAATA,SAAS,CAAEuH,QAAQ,yDAAnB,qBAAqBG,UAAU,EAC/B,UAACrP,IAAI;QAAA,OAAKA,IAAI,CAACR,KAAK,CAAC8P,SAAS,MAAKkY,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE9sB,EAAE;MAAA,EACjD,2CAHkB,OAGhB8E,KAAK;MACR,IAAMqoB,kBAAkB,GACvB,OAAOL,UAAU,KAAK,WAAW,2DAE3B7f,SAAS,CAACuH,QAAQ,yDAAlB,qBAAoBG,UAAU,6FAChCmY,UAAU,CAAC9sB,EAAE,EAAG;QAChB8E,KAAK,kCAAOioB,UAAU,6FAAGD,UAAU,CAAC1Y,GAAG,EAAG0Y,UAAU,CAACrnB,KAAK;MAC3D,CAAC,KAED0G,SAAS;MACb,uCACIc,SAAS,6FAEX6J,IAAI,EAAG;QACPnC,UAAU,EAAEwY,kBAAkB;QAC9BzY,UAAU,0BAAEzH,SAAS,CAACuH,QAAQ,yDAAlB,qBAAoBE,UAAU;QAC1CD,UAAU,0BAAExH,SAAS,CAACuH,QAAQ,yDAAlB,qBAAoBC;MACjC,CAAC;IAEH,CAAC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,IAAM2Y,gBAAgB,GAAG33B,mDAAW,CACnC,UAACkf,UAA4C,EAAK;IACjD,IAAMkY,GAAG,GAAG;MACX/V,IAAI,EAAE,UAAU;MAChBnC,UAAU,EAAVA;IACD,CAAC;IACDiY,MAAM,CAACC,GAAG,CAAC;EACZ,CAAC,EACD,CAACD,MAAM,CAAC,CACR;EAED,IAAMS,gBAAgB,GAAG53B,mDAAW,CACnC,UAACq3B,UAAyE,EAAK;IAC9E,IAAMD,GAAG,GAAG;MACX/V,IAAI,EAAE,UAAU;MAChBgW,UAAU,EAAE;QAAE9sB,EAAE,EAAE8sB,UAAU,CAAC9sB,EAAE;QAAEoU,GAAG,EAAE0Y,UAAU,CAAC1Y,GAAG;QAAE3O,KAAK,EAAEqnB,UAAU,CAACrnB;MAAM;IAC/E,CAAC;IACD,IAAI,OAAOqnB,UAAU,CAAC9sB,EAAE,KAAK,QAAQ,EAAE;MACtC4sB,MAAM,CAACC,GAAG,CAAC;IACZ,CAAC,MAAM,IAAI,OAAOC,UAAU,CAAC9sB,EAAE,KAAK,QAAQ,EAAE;MAC7CktB,gBAAgB,CAACL,GAAG,CAAC;IACtB;IACA,IAAMS,kBAAkB,GAAGjC,mDAAU,CAACtY,gDAAO,CAAC+Z,UAAU,CAAC1Y,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAChFmY,aAAa,CACZxwB,4CAAG,CAACsa,UAAU,EAAE,UAAC/Q,IAAI;MAAA,OACpBA,IAAI,CAAC2kB,UAAU,KAAK6C,UAAU,CAAC9sB,EAAE,mCACzBsF,IAAI,6FAAGgoB,kBAAkB,EAAGR,UAAU,CAACrnB,KAAK,KACjDH,IAAI;IAAA,EACP,CACD;EACF,CAAC,EACD,CAACsnB,MAAM,EAAEvW,UAAU,EAAE6W,gBAAgB,CAAC,CACtC;EAED,IAAMK,gBAAgB,GAAG93B,mDAAW,CACnC,UAACif,UAAoB,EAAK;IACzB,IAAMmY,GAAG,GAAG;MACX/V,IAAI,EAAE,UAAU;MAChBpC,UAAU,EAAVA;IACD,CAAC;IACDkY,MAAM,CAACC,GAAG,CAAC;EACZ,CAAC,EACD,CAACD,MAAM,CAAC,CACR;EAED,IAAM7kB,cAAc,GAAGqjB,6EAAW,EAAE;EAEpCnkB,iDAAS,CAAC,YAAM;IACf1O,gEAAe,CAACxD,qDAAY,CAAC,CAC5B,WAAW,sEAEX,CAAC6O,IAAI,CAAC,UAAC2U,GAAQ,EAAK;MACpB,IAAIA,GAAG,CAACiV,GAAG,EAAE;QACZ,IAAMlX,UAA6B,GAAGva,4CAAG,CAACwc,GAAG,CAACiV,GAAG,EAAE,UAACloB,IAAI;UAAA,OAAM;YAC7D2Q,KAAK,EAAE3Q,IAAI,CAACwQ,CAAC;YACbJ,KAAK,EAAEpQ,IAAI,CAACoQ;UACb,CAAC;QAAA,CAAC,CAAC;QACH,IAAM+X,aAAa,GAAG33B,+CAAM,CAC3BwgB,UAAU,EACV,UAAC1D,MAAyB,EAAEtN,IAAI,EAAK;UACpC,IAAMwkB,KAAK,GAAG9V,kDAAS,CAACpB,MAAM,EAAE;YAAEqD,KAAK,EAAE3Q,IAAI,CAAC2Q;UAAM,CAAC,CAAC;UACtD,IAAI6T,KAAK,KAAK,CAAC,CAAC,EAAE;YACjBlX,MAAM,CAACkB,IAAI,CAAC;cAAEmC,KAAK,EAAE3Q,IAAI,CAAC2Q,KAAK;cAAEP,KAAK,EAAEpQ,IAAI,CAACoQ;YAAM,CAAC,CAAC;UACtD,CAAC,MAAM;YACN9C,MAAM,CAACkB,IAAI,CAAC;cACXmC,KAAK,EAAE3Q,IAAI,CAAC2Q,KAAK;cACjBP,KAAK,YAAKpQ,IAAI,CAACoQ,KAAK,kBAAQ9C,MAAM,CAACkX,KAAK,CAAC,CAACpU,KAAK;YAChD,CAAC,CAAC;YACF9C,MAAM,CAAC8a,MAAM,CAAC5D,KAAK,EAAE,CAAC,CAAC;UACxB;UACA,OAAOlX,MAAM;QACd,CAAC,EACD,EAAE,CACF;QACD,IAAMA,MAAM,GAAG7W,4CAAG,CAAC0xB,aAAa,EAAE,UAACnoB,IAAqB,EAAEwkB,KAAK;UAAA,uCAC3DxkB,IAAI;YACPtF,EAAE,EAAE8pB,KAAK,CAACC,QAAQ;UAAE;QAAA,CACnB,CAAC;QACH0C,YAAY,CAAC7Z,MAAM,CAAC;MACrB;IACD,CAAC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN3L,iDAAS,CAAC,YAAM;IACfslB,aAAa,CAAC3C,iBAAiB,CAAC;IAChCsC,OAAO,CAAC,CAAC,CAAC,CAAC;EACZ,CAAC,EAAE,CAACtC,iBAAiB,CAAC,CAAC;EAEvB,IAAM+D,MAAM,GAAGl4B,mDAAW,CAAC,YAAM;IAAA;IAChC,IACCm0B,iBAAiB,CAACpJ,MAAM,IACtB,mBAAArM,IAAI,CAACK,QAAQ,4EAAb,eAAeG,UAAU,0DAAzB,sBAA2B6L,MAAM,KAAI,CAAC,CAAC,IACvC,CAAArM,IAAI,aAAJA,IAAI,0CAAJA,IAAI,CAAEK,QAAQ,6EAAd,gBAAgBE,UAAU,0DAA1B,sBAA4B8L,MAAM,KAAI,CAAC,CAAC,GAC1CkM,aAAa,EACZ;MACD3kB,cAAc,CAAC;QACdqM,GAAG,OAAO;QACVrB,OAAO,EAAE,IAAI;QACb+D,IAAI,EAAE,OAAO;QACbzW,KAAK,EAAElF,CAAC,CACP,4CAA4C,EAC5C,mFAAmF,CACnF;QACDyyB,eAAe,EAAE,IAAI;QACrBC,UAAU,EAAE;MACb,CAAC,CAAC;MACF;IACD;IACAzuB,qEAAY,CAAC+U,IAAI,CAAC,CAChBvQ,IAAI,CAAC,YAAM;MACXmE,cAAc,CAAC;QACdqM,GAAG,OAAO;QACVrB,OAAO,EAAE,IAAI;QACb+D,IAAI,EAAE,MAAM;QACZzW,KAAK,EAAElF,CAAC,CAAC,iCAAiC,EAAE,uBAAuB,CAAC;QACpEyyB,eAAe,EAAE,IAAI;QACrBC,UAAU,EAAE;MACb,CAAC,CAAC;IACH,CAAC,CAAC,SACI,CAAC,YAAM;MACZ9lB,cAAc,CAAC;QACdqM,GAAG,OAAO;QACVrB,OAAO,EAAE,IAAI;QACb+D,IAAI,EAAE,OAAO;QACbzW,KAAK,EAAElF,CAAC,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;QACpEyyB,eAAe,EAAE,IAAI;QACrBC,UAAU,EAAE;MACb,CAAC,CAAC;IACH,CAAC,CAAC;IACH3B,OAAO,CAAC,CAAC,CAAC,CAAC;EACZ,CAAC,EAAE,CAACtC,iBAAiB,CAACpJ,MAAM,EAAErM,IAAI,EAAEuY,aAAa,EAAE3kB,cAAc,EAAE5M,CAAC,CAAC,CAAC;EAEtE,IAAM2yB,QAAQ,GAAGr4B,mDAAW,CAAC;IAAA,OAAMy2B,OAAO,CAAC,CAAC,CAAC,CAAC;EAAA,GAAE,EAAE,CAAC;EACnD,IAAMxQ,KAAa,GAAGvgB,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC;EACrD,IAAM4yB,OAAO,GAAGlyB,+CAAO,CAAC;IAAA,OAAM,CAACC,gDAAO,CAACqY,IAAI,CAAC;EAAA,GAAE,CAACA,IAAI,CAAC,CAAC;EACrD,IAAM6Z,uBAAuB,GAAGnyB,+CAAO,CACtC;IAAA,OAAMgwB,0BAA0B,CAAC1V,OAAO,EAAE1U,QAAQ,CAAC;EAAA,GACnD,CAAC0U,OAAO,EAAE1U,QAAQ,CAAC,CACnB;EAED,oBACC,yIACC,4DAAC,oEAAc;IAAC,MAAM,EAAEksB,MAAO;IAAC,QAAQ,EAAEG,QAAS;IAAC,OAAO,EAAEC,OAAQ;IAAC,KAAK,EAAErS;EAAM,EAAG,eACtF,4DAAC,uEAAS;IAAC,UAAU,EAAC,OAAO;IAAC,OAAO,EAAE;MAAEuS,GAAG,EAAE;IAAQ,CAAE;IAAC,MAAM,EAAC;EAAK,EAAG,eACxE,4DAAC,uEAAS;IACT,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC,YAAY;IAC1B,OAAO,EAAE;MAAEtlB,GAAG,EAAE;IAAQ,CAAE;IAC1B,KAAK,EAAE;MAAEjM,QAAQ,EAAE;IAAO;EAAE,gBAE5B,4DAAC,mFAAY;IACZ,CAAC,EAAEvB,CAAE;IACL,OAAO,EAAEgb,OAAQ;IACjB,UAAU,EAAEE,UAAW;IACvB,aAAa,EAAEkW,aAAc;IAC7B,kBAAkB,EAAEF,kBAAmB;IACvC,qBAAqB,EAAEC,qBAAsB;IAC7C,gBAAgB,EAAEiB,gBAAiB;IACnC,gBAAgB,EAAEH;EAAiB,EAClC,EACD,0BAAA/W,UAAU,CAACgW,kBAAkB,CAAC,0DAA9B,sBAAgCrC,OAAO,MAAK,SAAS,iBACrD,yIACC,4DAAC,8FAAsB;IACtB,CAAC,EAAE7uB,CAAE;IACL,OAAO,EAAEgb,OAAQ;IACjB,QAAQ,EAAEE,UAAU,CAAC,CAAC,CAAE;IACxB,gBAAgB,EAAEgX;EAAiB,EAClC,eACF,4DAAC,4FAAoB;IACpB,CAAC,EAAElyB,CAAE;IACL,QAAQ,EAAEkb,UAAU,CAACgW,kBAAkB,CAAE;IACzC,iBAAiB,EAAE,KAAM;IACzB,gBAAgB,EAAEgB,gBAAiB;IACnC,uBAAuB,EAAEW;EAAwB,EAChD,eAMF,4DAAC,+EAAS;IACT,CAAC,EAAE7yB,CAAE;IACL,KAAK,EAAEqxB,SAAU;IACjB,kBAAkB,EAAEL,kBAAmB;IACvC,qBAAqB,EAAEC;EAAsB,EAC5C,CAEH,EACA,2BAAA/V,UAAU,CAACgW,kBAAkB,CAAC,2DAA9B,uBAAgCrC,OAAO,MAAK,SAAS,iBACrD,yIACC,4DAAC,sFAAe;IACf,CAAC,EAAE7uB,CAAE;IACL,KAAK,EAAEkb,UAAU,CAACgW,kBAAkB,CAAE;IACtC,gBAAgB,EAAEgB;EAAiB,EAClC,eACF,4DAAC,4FAAoB;IACpB,CAAC,EAAElyB,CAAE;IACL,QAAQ,EAAEkb,UAAU,CAACgW,kBAAkB,CAAE;IACzC,iBAAiB,EAAE,KAAM;IACzB,gBAAgB,EAAEgB,gBAAiB;IACnC,uBAAuB,EAAEW;EAAwB,EAChD,eACF,4DAAC,yFAAiB;IACjB,CAAC,EAAE7yB,CAAE;IACL,QAAQ,EAAEkb,UAAU,CAACgW,kBAAkB,CAAE;IACzC,gBAAgB,EAAEgB;EAAiB,EAClC,CAEH,EACA7a,iDAAQ,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,4BAAE6D,UAAU,CAACgW,kBAAkB,CAAC,2DAA9B,uBAAgCrC,OAAO,CAAC,iBAClE,2HAYA,CACU,CACV;AAEL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChZD;AACA;AACA;AACA;AACA;;AAE+E;AAYtC;AAEO;AAchD,IAAMuB,YAAY,GAAG,SAAfA,YAAY,OASqB;EAAA;EAAA,IARtCpwB,CAAC,QAADA,CAAC;IACDgb,OAAO,QAAPA,OAAO;IACPkW,kBAAkB,QAAlBA,kBAAkB;IAClBhW,UAAU,QAAVA,UAAU;IACVkW,aAAa,QAAbA,aAAa;IACbD,qBAAqB,QAArBA,qBAAqB;IACrBiB,gBAAgB,QAAhBA,gBAAgB;IAChBH,gBAAgB,QAAhBA,gBAAgB;EAEhB,IAAMgB,UAAU,GAAG,SAAbA,UAAU,CAAI3oB,KAAa;IAAA,OAAW6mB,qBAAqB,CAAC7mB,KAAK,CAAC;EAAA;EAExE,IAAM4oB,QAAQ,GAAG,SAAXA,QAAQ;IAAA,IAAM/oB,IAAI,SAAJA,IAAI;IAAA,oBACvB,yIACC,4DAAC,uEAAS;MACT,OAAO,EAAE,mBAAY;QACpB8oB,UAAU,CAACzT,MAAM,CAACrV,IAAI,CAACtF,EAAE,CAAC,CAAC;MAC5B,CAAE;MACF,WAAW,EAAC,YAAY;MACxB,aAAa,EAAC,YAAY;MAC1B,OAAO,EAAE;QAAE2I,GAAG,EAAE;MAAQ;IAAE,gBAE1B,4DAAC,iEAAG;MAAC,KAAK,EAAC,MAAM;MAAC,aAAa,EAAC;IAAe,gBAC9C,4DAAC,uEAAS;MAAC,WAAW,EAAC,YAAY;MAAC,aAAa,EAAC,YAAY;MAAC,KAAK,EAAC;IAAK,gBACzE,4DAAC,qEAAO;MAAC,KAAK,EAAC;IAAO,gBACrB,4DAAC,kEAAI;MAAC,IAAI,EAAC,yBAAyB;MAAC,IAAI,EAAC,OAAO;MAAC,KAAK,EAAC;IAAS,EAAG,CAC3D,eACV,4DAAC,qEAAO;MAAC,KAAK,EAAC;IAAO,gBACrB,4DAAC,kEAAI;MAAC,MAAM,EAAC,SAAS;MAAC,IAAI,EAAC;IAAO,GACjCrD,IAAI,CAAC8kB,YAAY,CACZ,CACE,eACV,4DAAC,qEAAO;MAAC,KAAK,EAAC;IAAO,gBACrB,4DAAC,kEAAI;MAAC,MAAM,EAAC,SAAS;MAAC,IAAI,EAAC,OAAO;MAAC,KAAK,EAAC;IAAW,GAAC,GACpD,EAAC9kB,IAAI,CAAC0kB,OAAO,KAAK,SAAS,GAAG7T,OAAO,CAACjb,IAAI,GAAGoK,IAAI,CAAC6kB,WAAW,EAAC,GAChE,CAAO,CACE,CACC,eACZ,4DAAC,uEAAS;MAAC,KAAK,EAAC,KAAK;MAAC,aAAa,EAAC;IAAU,gBAC9C,4DAAC,kEAAI;MAAC,MAAM,EAAC,SAAS;MAAC,IAAI,EAAC;IAAO,GACjC7kB,IAAI,CAACwR,IAAI,CACJ,CACI,CACP,eAEN,4DAAC,iEAAG;MAAC,KAAK,EAAC;IAAK,EAAO,CACZ,eACZ,4DAAC,qEAAO,OAAG,CACT;EAAA,CACH;EAED,IAAM9O,WAAW,GAAGhB,kDAAU,CAACH,iFAAmB,CAAC;EAEnD,gBAAsDmC,gDAAQ,CAAC,CAAC,CAAC;IAAA;IAA1DslB,mBAAmB;IAAEC,sBAAsB;EAClD,iBAAoCvlB,gDAAQ,CAAmC,EAAE,CAAC;IAAA;IAA3E2L,UAAU;IAAE6Z,aAAa;EAChC,IAAMC,aAAa,GAAGh5B,mDAAW,CAAC,YAAM;IAAA;IACvC,IAAMi5B,oBAAoB,GACzB/T,MAAM,CACLwT,4CAAG,CAAC,qFACApqB,+CAAM,CACRhI,4CAAG,CACFA,4CAAG,CACFgI,+CAAM,CAACsS,UAAU,EAAE,UAAC/Q,IAAI;MAAA;MAAA,6BAAKA,IAAI,CAAC8kB,YAAY,uDAAjB,mBAAmB5X,QAAQ,CAAC,aAAa,CAAC;IAAA,EAAC,EACxE,UAAClN,IAAmB;MAAA,OAAKA,IAAI,CAAC8kB,YAAY;IAAA,EAC1C,EACD,UAAC9kB,IAAY;MAAA,OAAKqpB,UAAU,CAACrpB,IAAI,CAACyN,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAAA,EAC9D,EACD,UAACzN,IAAI;MAAA,OAAKqV,MAAM,CAACrV,IAAI,CAAC;IAAA,EACtB,EACA,CACF,GAAG,CAAC;IACN,IAAMspB,cAAc,yBAAkBF,oBAAoB,IAAI,CAAC,CAAE;IACjErY,UAAU,CAACvC,IAAI,CAAC;MACf9T,EAAE,YAAKqW,UAAU,CAACmK,MAAM,CAAE;MAC1BwJ,OAAO,EAAE,SAAS;MAClBlT,IAAI,EAAE3b,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC;MACnC8uB,UAAU,EAAEqE,mBAAmB;MAC/BnE,WAAW,kBAAE9T,UAAU,CAAC,CAAC,CAAC,iDAAb,aAAe8T,WAAW;MACvCC,YAAY,EAAEwE,cAAc;MAC5BvE,WAAW,mBAAEhU,UAAU,CAAC,CAAC,CAAC,kDAAb,cAAegU,WAAW;MACvCG,cAAc,EAAE,EAAE;MAClBC,cAAc,EAAE,EAAE;MAClBC,cAAc,EAAE,OAAO;MACvBC,UAAU,EAAE,EAAE;MACdE,cAAc,EAAE,EAAE;MAClBE,oBAAoB,EAAE,EAAE;MACxBC,iBAAiB,EAAE;IACpB,CAAC,CAAC;IACFuB,aAAa,CAAClW,UAAU,CAAC;IACzBkY,sBAAsB,CAACD,mBAAmB,GAAG,CAAC,CAAC;IAC/CE,aAAa,CAAC,UAACxrB,KAAK,EAAK;MAAA;MACxBA,KAAK,CAAC8Q,IAAI,CAAC;QACVhP,KAAK,EAAE;UACN8P,SAAS,EAAE0Z,mBAAmB;UAC9BzZ,sBAAsB,EAAE+Z,cAAc;UACtC9Z,qBAAqB,mBAAEuB,UAAU,CAAC,CAAC,CAAC,kDAAb,cAAegU,WAAW;UACjDtV,qBAAqB,mBAAEsB,UAAU,CAAC,CAAC,CAAC,kDAAb,cAAe8T,WAAW;UACjD0E,yBAAyB,EAAE,QAAQ;UACnC7Z,wBAAwB,EAAE,OAAO;UACjCC,wBAAwB,EAAE,EAAE;UAC5BC,wBAAwB,EAAE,EAAE;UAC5BC,4BAA4B,EAAE,EAAE;UAChCC,iCAAiC,EAAE,EAAE;UACrCC,2BAA2B,EAAE,OAAO;UACpCC,8BAA8B,EAAE;QACjC;MACD,CAAC,CAAC;MACF,OAAOtS,KAAK;IACb,CAAC,CAAC;IACFoqB,gBAAgB,CAACzY,UAAU,CAAC;IAC5B2X,qBAAqB,CAACjW,UAAU,CAACmK,MAAM,GAAG,CAAC,CAAC;EAC7C,CAAC,EAAE,CACFnK,UAAU,EACVkW,aAAa,EACbpxB,CAAC,EACDiyB,gBAAgB,EAChBkB,mBAAmB,EACnB3Z,UAAU,EACV2X,qBAAqB,CACrB,CAAC;EAEF,iBAAoCtjB,gDAAQ,CAAW,EAAE,CAAC;IAAA;IAAnD0L,UAAU;IAAEoa,aAAa;EAChC,IAAMC,eAAe,GAAGt5B,mDAAW,CAAC,YAAY;IAC/C,IAAMu5B,aAAa,GAAGjzB,4CAAG,CACxBgI,+CAAM,CACLsS,UAAU,EACV,UAAC7B,QAAQ;MAAA;MAAA,OAAK,CAAAA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEyV,UAAU,gCAAK5T,UAAU,CAACgW,kBAAkB,CAAC,0DAA9B,sBAAgCpC,UAAU;IAAA,EACjF,EACD,UAAC3kB,IAAmB,EAAEwkB,KAAa;MAAA,uCAAWxkB,IAAI;QAAEtF,EAAE,EAAE8pB,KAAK,CAACC,QAAQ;MAAE;IAAA,CAAG,CAC3E;IACD+E,aAAa,CAAC,UAAC9rB,KAAK,EAAK;MAAA;MACxBA,KAAK,CAAC8Q,IAAI,2BAACuC,UAAU,CAACgW,kBAAkB,CAAC,2DAA9B,uBAAgCpC,UAAU,CAACF,QAAQ,EAAE,CAAC;MACjE,OAAO/mB,KAAK;IACb,CAAC,CAAC;IACFupB,aAAa,CAACyC,aAAa,CAAC;IAC5BzB,gBAAgB,CAAC7Y,UAAU,CAAC;IAC5B4X,qBAAqB,CAACD,kBAAkB,GAAG,CAAC,CAAC;EAC9C,CAAC,EAAE,CACFhW,UAAU,EACVkW,aAAa,EACbgB,gBAAgB,EAChB7Y,UAAU,EACV4X,qBAAqB,EACrBD,kBAAkB,CAClB,CAAC;EACF,IAAM4C,QAAQ,GAAGx5B,mDAAW,CAAC,YAAY;IACxC;IACA;IACA;IACA,IAAMy5B,UAAU,GAAGlnB,WAAW,CAAC;MAC9B0T,KAAK,EAAEvgB,CAAC,CAAC,8BAA8B,EAAE,kDAAkD,CAAC;MAC5Fg0B,SAAS,EAAE,qBAAM;QAChBJ,eAAe,EAAE;QACjBG,UAAU,EAAE;MACb,CAAC;MACDE,YAAY,EAAEj0B,CAAC,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;MACjEk0B,YAAY,EAAE,OAAO;MACrBC,aAAa,EAAE,IAAI;MACnBC,OAAO,EAAE;QAAA,OAAML,UAAU,EAAE;MAAA;MAC3B95B,QAAQ,eACP,4DAAC,qEAAO;QAAC,GAAG,EAAC;MAAO,gBACnB,4DAAC,kEAAI;QAAC,QAAQ,EAAC;MAAY,GACzB+F,CAAC,CACD,gCAAgC,EAChC,sFAAsF,CACtF,CACK;IAGV,CAAC,CAAC;EACH,CAAC,EAAE,CAAC6M,WAAW,EAAE7M,CAAC,EAAE4zB,eAAe,CAAC,CAAC;EAErC,oBACC,yIACC,4DAAC,uEAAS;IACT,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEpmB,GAAG,EAAE;IAAQ,CAAE;IAC1B,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,4DAAC,qEAAO;IAAC,UAAU,EAAC,QAAQ;IAAC,MAAM,EAAC,OAAO;IAAC,KAAK,EAAC;EAAM,gBACvD,4DAAC,kEAAI;IAAC,MAAM,EAAC;EAAM,GAAExN,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAQ,CAC7D,eACV,4DAAC,kEAAI;IACJ,KAAK,EAAEkb,UAAW;IAClB,aAAa,EAAEgY,QAAS;IACxB,MAAM,4BAAEhY,UAAU,CAACgW,kBAAkB,CAAC,2DAA9B,uBAAgCrsB,EAAG;IAC3C,MAAM,EAAC;EAAK,EACX,CACS,eACZ,4DAAC,iEAAG;IACH,OAAO,EAAE;MAAEwlB,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ,CAAE;IAClD,KAAK,EAAC,MAAM;IACZ,aAAa,EAAC,YAAY;IAC1B,UAAU,EAAC;EAAO,gBAWlB,4DAAC,qEAAO;IAAC,KAAK,EAAC;EAAO,gBACrB,4DAAC,uEAAM;IACN,KAAK,EAAEhnB,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAE;IAC7C,OAAO,EAAE;MAAA,OAAYszB,aAAa,EAAE;IAAA,CAAC;IACrC,KAAK,EAAC,SAAS;IACf,IAAI,EAAC;EAAU,EACd,CACO,eACV,4DAAC,uEAAM;IACN,KAAK,EAAEtzB,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAE;IACnC,OAAO,EAAE;MAAA,OAAY8zB,QAAQ,EAAE;IAAA,CAAC;IAChC,KAAK,EAAC,OAAO;IACb,IAAI,EAAC,UAAU;IACf,QAAQ,EAAE,2BAAA5Y,UAAU,CAACgW,kBAAkB,CAAC,2DAA9B,uBAAgCrC,OAAO,MAAK;EAAU,EAC/D,CACG,eACN,4DAAC,qEAAO;IAAC,MAAM,EAAC;EAAO,EAAG,CACxB;AAEL,CAAC;AAED,iEAAeuB,YAAY;;;;;;;;;;;;;;;;;;;;;;;ACtQ3B;AACA;AACA;AACA;AACA;;AAEsD;AAab;AAEX;AAe9B,IAAMG,SAAS,GAAG,SAAZA,SAAS,OAKqB;EAAA,IAJnCvwB,CAAC,QAADA,CAAC;IACDu0B,KAAK,QAALA,KAAK;IACLvD,kBAAkB,QAAlBA,kBAAkB;IAClBC,qBAAqB,QAArBA,qBAAqB;EAErB,gBAAsCpjB,+CAAQ,CAAC,GAAG,CAAC;IAAA;IAA5C2mB,WAAW;IAAEC,cAAc;EAElC,IAAMxB,UAAU,GAAG,SAAbA,UAAU,CAAI3oB,KAAa;IAAA,OAAW2mB,qBAAqB,CAAC3mB,KAAK,CAAC;EAAA;EAExE,IAAM4oB,QAAQ,GAAG,SAAXA,QAAQ;IAAA,IAAM/oB,IAAI,SAAJA,IAAI;IAAA,oBACvB,uIACC,2DAAC,sEAAS;MACT,OAAO,EAAE;QAAA,OAAY8oB,UAAU,CAAC9oB,IAAI,CAACtF,EAAE,CAAC;MAAA,CAAC;MACzC,WAAW,EAAC,YAAY;MACxB,aAAa,EAAC,YAAY;MAC1B,OAAO,EAAE;QAAE2I,GAAG,EAAE;MAAQ;IAAE,gBAE1B,2DAAC,gEAAG;MAAC,KAAK,EAAC,MAAM;MAAC,aAAa,EAAC;IAAe,gBAC9C,2DAAC,sEAAS;MAAC,WAAW,EAAC,YAAY;MAAC,aAAa,EAAC,YAAY;MAAC,KAAK,EAAC;IAAK,gBACzE,2DAAC,oEAAO;MAAC,KAAK,EAAC;IAAO,gBACrB,2DAAC,iEAAI;MAAC,MAAM,EAAC,SAAS;MAAC,IAAI,EAAC;IAAO,GACjCrD,IAAI,CAACjF,KAAK,CACL,CACE,eACV,2DAAC,oEAAO;MAAC,KAAK,EAAC;IAAO,gBACrB,2DAAC,iEAAI;MAAC,MAAM,EAAC,SAAS;MAAC,IAAI,EAAC,OAAO;MAAC,KAAK,EAAC;IAAW,GACnDiF,IAAI,CAAC2Q,KAAK,CACL,CACE,CACC,eACZ,2DAAC,sEAAS;MAAC,KAAK,EAAC,KAAK;MAAC,aAAa,EAAC;IAAU,gBAC9C,2DAAC,iEAAI;MAAC,MAAM,EAAC,SAAS;MAAC,IAAI,EAAC;IAAO,GACjC3Q,IAAI,CAACoQ,KAAK,CACL,CACI,CACP,eAEN,2DAAC,gEAAG;MAAC,KAAK,EAAC;IAAK,EAAO,CACZ,eACZ,2DAAC,oEAAO,OAAG,CACT;EAAA,CACH;EAED,oBACC,uIACC,2DAAC,sEAAS;IACT,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAE/M,GAAG,EAAE;IAAQ,CAAE;IAC1B,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,oEAAO;IAAC,UAAU,EAAC,QAAQ;IAAC,MAAM,EAAC,OAAO;IAAC,KAAK,EAAC;EAAM,gBACvD,2DAAC,iEAAI;IAAC,MAAM,EAAC;EAAM,GAAExN,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAQ,CACrD,eACV,2DAAC,iEAAI;IAAC,KAAK,EAAEu0B,KAAM;IAAC,aAAa,EAAErB,QAAS;IAAC,MAAM,EAAElC,kBAAmB;IAAC,MAAM,EAAC;EAAK,EAAG,CAC7E,eACZ,2DAAC,gEAAG;IACH,OAAO,EAAE;MAAE3G,UAAU,EAAE;IAAQ,CAAE;IACjC,KAAK,EAAC,MAAM;IACZ,aAAa,EAAC,YAAY;IAC1B,UAAU,EAAC;EAAO,gBAElB,2DAAC,oEAAO;IAAC,KAAK,EAAC;EAAO,gBACrB,2DAAC,mEAAM;IACN,KAAK,EAAErqB,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAE;IAC/C,KAAK,EAAC,SAAS;IACf,IAAI,EAAC,UAAU;IACf,QAAQ;IACR,OAAO,EAAEohB,wCAAIA;EAAC,EACb,CACO,eACV,2DAAC,oEAAO;IAAC,KAAK,EAAC;EAAO,gBACrB,2DAAC,mEAAM;IACN,KAAK,EAAEphB,CAAC,CAAC,wBAAwB,EAAE,kBAAkB,CAAE;IACvD,KAAK,EAAC,SAAS;IACf,IAAI,EAAC,UAAU;IACf,QAAQ;IACR,OAAO,EAAEohB,wCAAIA;EAAC,EACb,CACO,eACV,2DAAC,mEAAM;IACN,KAAK,EAAEphB,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAE;IACnC,KAAK,EAAC,OAAO;IACb,IAAI,EAAC,UAAU;IACf,QAAQ;IACR,OAAO,EAAEohB,wCAAIA;EAAC,EACb,CACG,eACN,2DAAC,sEAAS;IACT,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAE5T,GAAG,EAAE;IAAQ,CAAE;IAC1B,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,uEAAU;IACV,KAAK,EAAE;MAAEknB,KAAK,EAAE,MAAM;MAAEC,cAAc,EAAE;IAAa,CAAE;IACvD,KAAK,EAAEH,WAAY;IACnB,QAAQ,EAAE,kBAACI,QAAgB;MAAA,OAAWH,cAAc,CAACG,QAAQ,CAAC;IAAA;EAAC,gBAE/D,2DAAC,kEAAK;IACL,KAAK,EAAC,MAAM;IACZ,KAAK,EAAE50B,CAAC,CACP,8BAA8B,EAC9B,gDAAgD,CAC/C;IACF,KAAK,EAAC;EAAG,EACR,eACF,2DAAC,kEAAK;IACL,KAAK,EAAEA,CAAC,CACP,4BAA4B,EAC5B,wDAAwD,CACvD;IACF,KAAK,EAAC;EAAG,EACR,eACF,2DAAC,kEAAK;IACL,KAAK,EAAEA,CAAC,CACP,yBAAyB,EACzB,sEAAsE,CACrE;IACF,KAAK,EAAC;EAAG,EACR,eACF,2DAAC,kEAAK;IAAC,KAAK,EAAEA,CAAC,CAAC,iBAAiB,EAAE,oCAAoC,CAAE;IAAC,KAAK,EAAC;EAAG,EAAG,CAC1E,eACb,2DAAC,oEAAO;IAAC,MAAM,EAAC;EAAO,EAAG,CACf,CACV;AAEL,CAAC;AAED,iEAAeuwB,SAAS;;;;;;;;;;;;;;;;;;;;;AC1KxB;AACA;AACA;AACA;AACA;;AAEuF;AACA;AAcvF,IAAMC,eAAe,GAAG,SAAlBA,eAAe,OAA2E;EAAA,IAArExwB,CAAC,QAADA,CAAC;IAAEu0B,KAAK,QAALA,KAAK;IAAErC,gBAAgB,QAAhBA,gBAAgB;EACpD,gBAAwCrkB,+CAAQ,CAAC0mB,KAAK,CAACtF,YAAY,CAAC;IAAA;IAA7D6F,YAAY;IAAEC,eAAe;EACpC,IAAMC,YAAY,GAAGt0B,8CAAO,CAC3B;IAAA,OAAOo0B,YAAY,GAAG,EAAE,GAAG90B,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC;EAAA,CAAC,EACnE,CAAC80B,YAAY,EAAE90B,CAAC,CAAC,CACjB;EACD8L,gDAAS,CAAC,YAAM;IACfipB,eAAe,CAACR,KAAK,CAACtF,YAAY,CAAC;EACpC,CAAC,EAAE,CAACsF,KAAK,CAACtF,YAAY,CAAC,CAAC;EAExB,IAAMgG,QAAQ,GAAG36B,kDAAW,CAC3B,UAAC6rB,EAAE,EAAK;IACP4O,eAAe,CAAC5O,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;IAChC,IAAMqnB,UAAU,GAAG;MAClB9sB,EAAE,EAAE0vB,KAAK,CAACzF,UAAU;MACpB7V,GAAG,EAAE,wBAAwB;MAC7B3O,KAAK,EAAE6b,EAAE,CAACG,MAAM,CAAChc;IAClB,CAAC;IAED4nB,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EACD,CAACO,gBAAgB,EAAEqC,KAAK,CAACzF,UAAU,EAAEiG,eAAe,CAAC,CACrD;EAED,oBACC,uIACC,2DAAC,sEAAS;IACT,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEvnB,GAAG,EAAE;IAAQ,CAAE;IAC1B,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,oEAAO;IAAC,UAAU,EAAC,QAAQ;IAAC,KAAK,EAAC;EAAM,gBACxC,2DAAC,iEAAI;IAAC,MAAM,EAAC;EAAM,GAAExN,CAAC,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAQ,CACnE,CACC,eACZ,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEqqB,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ,CAAE;IAClD,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,gEAAG;IAAC,WAAW,EAAC,UAAU;IAAC,aAAa,EAAC,YAAY;IAAC,KAAK,EAAC;EAAM,gBAClE,2DAAC,gEAAG;IAAC,WAAW,EAAC,YAAY;IAAC,KAAK,EAAC,MAAM;IAAC,aAAa,EAAC;EAAY,gBACpE,2DAAC,iEAAI;IAAC,KAAK,EAAC;EAAW,GACrBhnB,CAAC,CACD,0BAA0B,EAC1B,4EAA4E,CAC5E,CACK,CACF,eACN,2DAAC,gEAAG;IAAC,WAAW,EAAC,YAAY;IAAC,KAAK,EAAC,MAAM;IAAC,aAAa,EAAC;EAAY,gBACpE,2DAAC,iEAAI;IAAC,KAAK,EAAC;EAAW,GACrBA,CAAC,CACD,0BAA0B,EAC1B,qGAAqG,CACrG,CACK,CACF,CACD,CACD,eACN,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEqqB,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ,CAAE;IAClD,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,gEAAG;IAAC,kBAAkB;EAAA,gBACtB,2DAAC,kEAAK;IAAC,KAAK,EAAEgO,YAAa;IAAC,KAAK,EAAEF,YAAa;IAAC,QAAQ,EAAEG;EAAS,EAAG,CAClE,CACD,eAEN,2DAAC,oEAAO;IAAC,MAAM,EAAC;EAAO,EAAG,CACxB;AAEL,CAAC;AAED,iEAAezE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;ACtG9B;AACA;AACA;AACA;AACA;;AAEiG;AAEV;AAE3B;AAY5D,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiB,OAIqB;EAAA,IAH3CzwB,CAAC,QAADA,CAAC;IACDqZ,QAAQ,QAARA,QAAQ;IACR6Y,gBAAgB,QAAhBA,gBAAgB;EAEhB,IAAM3R,KAAK,GAAG7f,8CAAO,CAAC;IAAA,OAAMV,CAAC,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EAC5E,IAAMm1B,eAAe,GAAGn1B,CAAC,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;;EAEjG;EACA;EACA;;EAEA,gBAAwD6N,+CAAQ,CAC/DwL,QAAQ,CAACuW,oBAAoB,KAAK,MAAM,CACxC;IAAA;IAFMA,oBAAoB;IAAEwF,uBAAuB;EAGpD,iBAAkDvnB,+CAAQ,CAACwL,QAAQ,CAACwW,iBAAiB,KAAK,MAAM,CAAC;IAAA;IAA1FA,iBAAiB;IAAEwF,oBAAoB;EAC9C,iBAAsDxnB,+CAAQ,CAACwL,QAAQ,CAACyW,mBAAmB,CAAC;IAAA;IAArFA,mBAAmB;IAAEwF,sBAAsB;EAElDxpB,gDAAS,CAAC,YAAM;IACfupB,oBAAoB,CAAChc,QAAQ,CAACwW,iBAAiB,KAAK,MAAM,CAAC;EAC5D,CAAC,EAAE,CAACxW,QAAQ,CAACwW,iBAAiB,CAAC,CAAC;EAChC/jB,gDAAS,CAAC,YAAM;IACfwpB,sBAAsB,CAACjc,QAAQ,CAACyW,mBAAmB,CAAC;EACrD,CAAC,EAAE,CAACzW,QAAQ,CAACyW,mBAAmB,CAAC,CAAC;EAClChkB,gDAAS,CAAC,YAAM;IACfspB,uBAAuB,CAAC/b,QAAQ,CAACuW,oBAAoB,KAAK,MAAM,CAAC;EAClE,CAAC,EAAE,CAACvW,QAAQ,CAACuW,oBAAoB,CAAC,CAAC;EAEnC,IAAM2F,wBAAwB,GAAG70B,8CAAO,CACvC;IAAA,OAAOovB,mBAAmB,GAAG,EAAE,GAAG9vB,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC;EAAA,CAAC,EACrE,CAACA,CAAC,EAAE8vB,mBAAmB,CAAC,CACxB;EACD,IAAM0F,wBAAwB,GAAGl7B,kDAAW,CAAC,YAAM;IAClD+6B,oBAAoB,CAAC,CAACxF,iBAAiB,CAAC;IACxC,IAAM8B,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,6BAA6B;MAClC3O,KAAK,EAAEulB,iBAAiB,GAAG,OAAO,GAAG;IACtC,CAAC;IACDqC,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EAAE,CAACtY,QAAQ,CAACyV,UAAU,EAAEoD,gBAAgB,EAAErC,iBAAiB,CAAC,CAAC;EAE9D,IAAM4F,YAAY,GAAG/0B,8CAAO,CAC3B;IAAA,OAAMmvB,iBAAiB,IAAI,CAAC9a,mEAA2B,CAAC+a,mBAAmB,IAAI,EAAE,CAAC;EAAA,GAClF,CAACA,mBAAmB,EAAED,iBAAiB,CAAC,CACxC;EAED,IAAM8F,2BAA2B,GAAGr7B,kDAAW,CAC9C,UAACgQ,KAAa,EAAK;IAClBgrB,sBAAsB,CAAChrB,KAAK,CAAC;IAC7B,IAAMqnB,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,+BAA+B;MACpC3O,KAAK,EAALA;IACD,CAAC;IAED4nB,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EACD,CAACO,gBAAgB,EAAE7Y,QAAQ,CAACyV,UAAU,CAAC,CACvC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,oBACC,uIACC,2DAAC,sEAAS;IACT,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEthB,GAAG,EAAE;IAAQ,CAAE;IAC1B,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,oEAAO;IAAC,UAAU,EAAC,QAAQ;IAAC,KAAK,EAAC;EAAM,gBACxC,2DAAC,iEAAI;IAAC,MAAM,EAAC;EAAM,GAAE+S,KAAK,CAAQ,CACzB,CACC,eACZ,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC,YAAY;IAC1B,OAAO,EAAE;MAAE8J,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ;EAAE,gBAElD,2DAAC,qEAAQ;IACR,KAAK,EAAEmO,eAAgB;IACvB,KAAK,EAAEtF,iBAAkB;IACzB,OAAO,EAAE2F;EAAyB,EACjC,CACG,eACN,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEnL,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ,CAAE;IAClD,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,gEAAG;IAAC,KAAK,EAAC,KAAK;IAAC,OAAO,EAAE;MAAEzM,KAAK,EAAE;IAAQ;EAAE,gBAC5C,2DAAC,kEAAK;IACL,KAAK,EAAEgb,wBAAyB;IAChC,KAAK,EAAEzF,mBAAoB;IAC3B,QAAQ,EAAE,CAACD,iBAAkB;IAC7B,QAAQ,EAAE4F,YAAa;IACvB,QAAQ,EAAE,kBAACtP,EAAE;MAAA,OAAWwP,2BAA2B,CAACxP,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;IAAA;EAAC,EACpE,CACG,CACD,eAoCN,2DAAC,oEAAO;IAAC,MAAM,EAAC;EAAO,EAAG,CAExB;AAEL,CAAC;AAED,iEAAemmB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;ACpMhC;AACA;AACA;AACA;AACA;;AAEuF;AACA;AAevF,IAAMJ,sBAAsB,GAAG,SAAzBA,sBAAsB,OAKqB;EAAA,IAJhDrwB,CAAC,QAADA,CAAC;IACDgb,OAAO,QAAPA,OAAO;IACP3B,QAAQ,QAARA,QAAQ;IACR6Y,gBAAgB,QAAhBA,gBAAgB;EAEhB,IAAM0D,UAAU,GAAGl1B,8CAAO,CACzB;IAAA,OAAOsa,OAAO,CAACjb,IAAI,GAAG,EAAE,GAAGC,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;EAAA,CAAC,EACtE,CAACgb,OAAO,CAACjb,IAAI,EAAEC,CAAC,CAAC,CACjB;EACD,gBAAgD6N,+CAAQ,CAACwL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE4V,YAAY,CAAC;IAAA;IAAzE4G,gBAAgB;IAAEC,mBAAmB;EAE5ChqB,gDAAS,CAAC;IAAA,OAAMgqB,mBAAmB,CAACzc,QAAQ,CAAC4V,YAAY,CAAC;EAAA,GAAE,CAAC5V,QAAQ,CAAC4V,YAAY,CAAC,CAAC;EACpF,IAAM8G,YAAY,GAAGr1B,8CAAO,CAC3B;IAAA,OAAOm1B,gBAAgB,GAAG,EAAE,GAAG71B,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC;EAAA,CAAC,EACvE,CAAC61B,gBAAgB,EAAE71B,CAAC,CAAC,CACrB;EAED,IAAMg2B,gBAAgB,GAAG17B,kDAAW,CAAC;IAAA,OAAM,IAAI;EAAA,GAAE,EAAE,CAAC;EACpD,IAAM26B,SAAQ,GAAG36B,kDAAW,CAC3B,UAACgQ,KAAa,EAAW;IACxBwrB,mBAAmB,CAACxrB,KAAK,CAAC;IAE1B,IAAMqnB,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,wBAAwB;MAC7B3O,KAAK,EAALA;IACD,CAAC;IAED4nB,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EACD,CAACO,gBAAgB,EAAE7Y,QAAQ,CAACyV,UAAU,CAAC,CACvC;EAED,oBACC,uIACC,2DAAC,sEAAS;IACT,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEthB,GAAG,EAAE;IAAQ,CAAE;IAC1B,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,oEAAO;IAAC,UAAU,EAAC,QAAQ;IAAC,KAAK,EAAC;EAAM,gBACxC,2DAAC,iEAAI;IAAC,MAAM,EAAC;EAAM,GAAExN,CAAC,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAQ,CAC1E,CACC,eACZ,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAEqqB,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ,CAAE;IAClD,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,gEAAG;IAAC,KAAK,EAAC,KAAK;IAAC,OAAO,EAAE;MAAEzM,KAAK,EAAE;IAAQ;EAAE,gBAC5C,2DAAC,kEAAK;IAAC,KAAK,EAAEqb,UAAW;IAAC,KAAK,EAAE5a,OAAO,CAACjb,IAAI,IAAI,GAAI;IAAC,QAAQ,EAAEi2B;EAAiB,EAAG,CAC/E,eACN,2DAAC,gEAAG;IAAC,KAAK,EAAC;EAAK,gBACf,2DAAC,kEAAK;IACL,KAAK,EAAED,YAAa;IACpB,KAAK,EAAEF,gBAAgB,IAAI,GAAI;IAC/B,QAAQ,EAAE,kBAAC1P,EAAE;MAAA,OAAW8O,SAAQ,CAAC9O,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;IAAA;EAAC,EACjD,CACG,CACD,eACN,2DAAC,oEAAO;IAAC,MAAM,EAAC;EAAO,EAAG,CACxB;AAEL,CAAC;AAED,iEAAe+lB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7FrC;AACA;AACA;AACA;AACA;;AAcyC;AAEH;AACiD;AAE3B;AAc5D,IAAM4F,SAAqB,GAAG;EAAE/wB,KAAK,EAAE,EAAE;EAAEoF,KAAK,EAAE;AAAG,CAAC;AAEtD,IAAMgmB,oBAAoB,GAAG,SAAvBA,oBAAoB,OAMqB;EAAA,IAL9CtwB,CAAC,QAADA,CAAC;IACDqZ,QAAQ,QAARA,QAAQ;IACR6c,iBAAiB,QAAjBA,iBAAiB;IACjBhE,gBAAgB,QAAhBA,gBAAgB;IAChBW,uBAAuB,QAAvBA,uBAAuB;EAEvB,IAAMtS,KAAK,GAAG7f,8CAAO,CAAC;IAAA,OAAMV,CAAC,CAAC,8BAA8B,EAAE,4BAA4B,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EACjG,gBAAsD6N,+CAAQ,CAC7DwL,QAAQ,CAACkW,cAAc,KAAK,MAAM,CAClC;IAAA;IAFM4G,mBAAmB;IAAEC,sBAAsB;EAGlD,iBAA4CvoB,+CAAQ,CAACwL,QAAQ,CAACiW,cAAc,CAAC;IAAA;IAAtEA,cAAc;IAAE+G,iBAAiB;EACxC,iBAAwCxoB,+CAAQ,CAAC,KAAK,CAAC;IAAA;IAAhDyoB,YAAY;IAAEC,eAAe;EACpC,iBAAgD1oB,+CAAQ,CAACwL,QAAQ,CAAC6V,WAAW,CAAC;IAAA;IAAvEsH,gBAAgB;IAAEC,mBAAmB;EAC5C,iBAA4C5oB,+CAAQ,CAACwL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEgW,cAAc,CAAC;IAAA;IAAvEA,cAAc;IAAEqH,iBAAiB;EACxC,IAAMC,gBAAgB,GAAGj2B,8CAAO,CAC/B;IAAA,OACCmyB,uBAAuB,GACpBA,uBAAuB,CAACjyB,GAAG,CAAC,UAACg2B,OAAO;MAAA,OAAM;QAAEtsB,KAAK,EAAEssB,OAAO;QAAE1xB,KAAK,EAAE0xB;MAAQ,CAAC;IAAA,CAAC,CAAC,GAC9E,CAACX,SAAS,CAAC;EAAA,GACf,CAACpD,uBAAuB,CAAC,CACzB;EACD,kBAAsChlB,+CAAQ,CAC7C;MAAA;MAAA,gBAAM3D,4CAAI,CAACysB,gBAAgB,EAAE,UAACxsB,IAAI;QAAA,OAAKA,IAAI,CAACG,KAAK,KAAK+O,QAAQ,CAAC2V,WAAW;MAAA,EAAC,yCAAIiH,SAAS;IAAA,EACxF;IAAA;IAFMjH,WAAW;IAAE6H,cAAc;EAIlC/qB,gDAAS,CAAC,YAAM;IACfsqB,sBAAsB,CAAC/c,QAAQ,CAACkW,cAAc,KAAK,MAAM,CAAC;EAC3D,CAAC,EAAE,CAAClW,QAAQ,CAACkW,cAAc,CAAC,CAAC;EAC7BzjB,gDAAS,CAAC,YAAM;IACf2qB,mBAAmB,CAACpd,QAAQ,CAAC6V,WAAW,CAAC;EAC1C,CAAC,EAAE,CAAC7V,QAAQ,CAAC6V,WAAW,CAAC,CAAC;EAC1BpjB,gDAAS,CAAC,YAAM;IAAA;IACf,IAAMgrB,CAAC,aAAG5sB,4CAAI,CAACysB,gBAAgB,EAAE,UAACxsB,IAAI;MAAA,OAAKA,IAAI,CAACG,KAAK,KAAK+O,QAAQ,CAAC2V,WAAW;IAAA,EAAC,2CAAIiH,SAAS;IAC5FY,cAAc,CAACC,CAAC,CAAC;EAClB,CAAC,EAAE,CAACH,gBAAgB,EAAEtd,QAAQ,CAAC2V,WAAW,CAAC,CAAC;EAC5CljB,gDAAS,CAAC,YAAM;IACf4qB,iBAAiB,CAAC,CAAArd,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEgW,cAAc,MAAKre,SAAS,GAAG,EAAE,GAAGqI,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEgW,cAAc,CAAC;EAC1F,CAAC,EAAE,CAAChW,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEgW,cAAc,CAAC,CAAC;EAC9BvjB,gDAAS,CAAC,YAAM;IACfuqB,iBAAiB,CAAChd,QAAQ,CAACiW,cAAc,CAAC;EAC3C,CAAC,EAAE,CAACjW,QAAQ,CAACiW,cAAc,CAAC,CAAC;EAE7B,IAAMyH,qBAAqB,GAAGz8B,kDAAW,CAAC,YAAM;IAC/C87B,sBAAsB,CAAC,CAACD,mBAAmB,CAAC;IAC5C,IAAMxE,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,0BAA0B;MAC/B3O,KAAK,EAAE6rB,mBAAmB,GAAG,OAAO,GAAG;IACxC,CAAC;IACDjE,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EAAE,CAACtY,QAAQ,CAACyV,UAAU,EAAEqH,mBAAmB,EAAEjE,gBAAgB,CAAC,CAAC;EAEhE,IAAM8E,gBAAgB,GAAGt2B,8CAAO,CAC/B;IAAA,OAAO81B,gBAAgB,GAAG,EAAE,GAAGx2B,CAAC,CAAC,iBAAiB,EAAE,cAAc,CAAC;EAAA,CAAC,EACpE,CAACA,CAAC,EAAEw2B,gBAAgB,CAAC,CACrB;EACD,IAAMS,wBAAwB,GAAG,SAA3BA,wBAAwB,CAAI3sB,KAAa,EAAW;IACzDmsB,mBAAmB,CAACnsB,KAAK,CAAC;IAC1B,IAAMqnB,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,uBAAuB;MAC5B3O,KAAK,EAALA;IACD,CAAC;IACD4nB,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC;EAED,IAAMuF,gBAAgB,GAAGx2B,8CAAO,CAC/B;IAAA,OAAOsuB,WAAW,GAAG,EAAE,GAAGhvB,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC;EAAA,CAAC,EACxD,CAACgvB,WAAW,EAAEhvB,CAAC,CAAC,CAChB;EAED,IAAMm3B,mBAAmB,GAAG78B,kDAAW,CACtC,UAAC88B,UAAU,EAAK;IACf,IAAI,CAACA,UAAU,EAAE;MAChB;IACD;IAEA,IAAI,CAAApI,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE1kB,KAAK,MAAK8sB,UAAU,EAAE;MACtC;IACD;IACAP,cAAc,CAACjuB,8CAAM,CAAC+tB,gBAAgB,EAAE,UAACxsB,IAAI;MAAA,OAAKA,IAAI,CAACG,KAAK,KAAK8sB,UAAU;IAAA,EAAC,CAAC,CAAC,CAAC,CAAC;IAChF,IAAMzF,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,uBAAuB;MAC5B3O,KAAK,EAAE8sB;IACR,CAAC;IACDlF,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EACD,CAACtY,QAAQ,CAACyV,UAAU,EAAEoD,gBAAgB,EAAEyE,gBAAgB,EAAE3H,WAAW,CAAC1kB,KAAK,CAAC,CAC5E;EAED,IAAM+sB,mBAAmB,GAAGr3B,CAAC,CAC5B,0BAA0B,EAC1B,gDAAgD,CAChD;EAED,IAAMs3B,mBAAmB,GAAG52B,8CAAO,CAClC;IAAA,OAAO2uB,cAAc,GAAG,EAAE,GAAGrvB,CAAC,CAAC,8BAA8B,EAAE,gBAAgB,CAAC;EAAA,CAAC,EACjF,CAACA,CAAC,EAAEqvB,cAAc,CAAC,CACnB;EACD,IAAMkI,0BAA0B,GAAGj9B,kDAAW,CAC7C,UAACgQ,KAAa,EAAW;IACxBosB,iBAAiB,CAACpsB,KAAK,CAAC;IACxB,IAAMqnB,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,0BAA0B;MAC/B3O,KAAK,EAALA;IACD,CAAC;IACD4nB,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EACD,CAACO,gBAAgB,EAAE7Y,QAAQ,CAACyV,UAAU,CAAC,CACvC;EAED,IAAM0I,mBAAmB,GAAG92B,8CAAO,CAClC;IAAA,OAAO4uB,cAAc,GAAG,EAAE,GAAGtvB,CAAC,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;EAAA,CAAC,EAC5E,CAACA,CAAC,EAAEsvB,cAAc,CAAC,CACnB;EAED,IAAMmI,mBAAmB,GAAG/2B,8CAAO,CAClC;IAAA;IAAA,OAAM,CACL;MACCmE,EAAE,EAAE,GAAG;MACPK,KAAK,2BAAEmU,QAAQ,CAAC2V,WAAW,yEAAI;IAChC,CAAC,CACD;EAAA,GACD,CAAC3V,QAAQ,CAAC2V,WAAW,CAAC,CACtB;EAED,IAAM0I,sBAAsB,GAAGp9B,kDAAW,CACzC,UAACgQ,KAAa,EAAK;IAClB+rB,iBAAiB,CAAC/rB,KAAK,CAAC;IACxB,IAAMqnB,UAAU,GAAG;MAClB9sB,EAAE,EAAEwU,QAAQ,CAACyV,UAAU;MACvB7V,GAAG,EAAE,0BAA0B;MAC/B3O,KAAK,EAALA;IACD,CAAC;IACD4nB,gBAAgB,CAACP,UAAU,CAAC;EAC7B,CAAC,EACD,CAACO,gBAAgB,EAAE7Y,QAAQ,CAACyV,UAAU,CAAC,CACvC;EAED,IAAM2G,YAAY,GAAG/0B,8CAAO,CAC3B;IAAA,OAAMy1B,mBAAmB,IAAI,CAACphB,mEAA2B,CAACua,cAAc,IAAI,EAAE,CAAC;EAAA,GAC/E,CAAC6G,mBAAmB,EAAE7G,cAAc,CAAC,CACrC;EAED,oBACC,uIACC,2DAAC,sEAAS;IACT,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAE9hB,GAAG,EAAE;IAAQ,CAAE;IAC1B,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,oEAAO;IAAC,UAAU,EAAC,QAAQ;IAAC,KAAK,EAAC;EAAM,gBACxC,2DAAC,iEAAI;IAAC,MAAM,EAAC;EAAM,GAAE+S,KAAK,CAAQ,CACzB,CACC,eACZ,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAE8J,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ,CAAE;IAClD,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,gEAAG;IACH,KAAK,EAAEkP,iBAAiB,GAAG,MAAM,GAAG,KAAM;IAC1C,OAAO,EAAE;MAAE3b,KAAK,EAAE2b,iBAAiB,GAAG,EAAE,GAAG;IAAQ;EAAE,gBAErD,2DAAC,kEAAK;IACL,KAAK,EAAEc,gBAAiB;IACxB,KAAK,EAAER,gBAAiB;IACxB,QAAQ,EAAE,kBAACrQ,EAAE;MAAA,OAAW8Q,wBAAwB,CAAC9Q,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;IAAA;EAAC,EACjE,CACG,EACL,CAAC4rB,iBAAiB,iBAClB,2DAAC,gEAAG;IAAC,KAAK,EAAC;EAAK,gBACf,2DAAC,mEAAM;IACN,KAAK,EAAEgB,gBAAiB;IACxB,SAAS,EAAElI,WAAY;IACvB,KAAK,EAAE2H,gBAAiB;IACxB,YAAY,EAAE,KAAM;IACpB,UAAU,EAAC,OAAO;IAClB,QAAQ,EAAEQ;EAAoB,EAC7B,CAEH,CACI,eACN,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC,YAAY;IAC1B,OAAO,EAAE;MAAE9M,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ;EAAE,gBAElD,2DAAC,qEAAQ;IACR,KAAK,EAAEqQ,mBAAoB;IAC3B,KAAK,EAAElB,mBAAoB;IAC3B,OAAO,EAAE;MAAA,OAAYY,qBAAqB,EAAE;IAAA;EAAC,EAC5C,CACG,eACN,2DAAC,gEAAG;IACH,KAAK,EAAC,MAAM;IACZ,OAAO,EAAE;MAAE1M,UAAU,EAAE,OAAO;MAAErD,MAAM,EAAE;IAAQ,CAAE;IAClD,MAAM,EAAC,KAAK;IACZ,UAAU,EAAC,OAAO;IAClB,aAAa,EAAC;EAAY,gBAE1B,2DAAC,gEAAG;IAAC,KAAK,EAAC,KAAK;IAAC,OAAO,EAAE;MAAEzM,KAAK,EAAE;IAAQ;EAAE,gBAC5C,2DAAC,kEAAK;IACL,KAAK,EAAE+c,mBAAoB;IAC3B,KAAK,EAAEjI,cAAe;IACtB,QAAQ,EAAE,CAAC8G,mBAAoB;IAC/B,QAAQ,EAAE,kBAAChQ,EAAE;MAAA,OAAWoR,0BAA0B,CAACpR,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;IAAA;EAAC,EACnE,CACG,eACN,2DAAC,gEAAG;IAAC,KAAK,EAAC;EAAK,gBACf,2DAAC,qEAAQ;IACR,KAAK,EAAEmtB,mBAAoB;IAC3B,SAAS,EAAC,cAAc;IACxB,KAAK,EAAE;MAAEE,QAAQ,EAAE;IAAI,CAAE;IACzB,OAAO,EAAE;MAAA,OAAYpB,eAAe,CAAC,KAAK,CAAC;IAAA,CAAC;IAC5C,MAAM,EAAE;MAAA,OAAYA,eAAe,CAAC,IAAI,CAAC;IAAA,CAAC;IAC1C,QAAQ,EAAE,CAACJ;EAAoB,gBAE/B,2DAAC,kEAAK;IACL,KAAK,EAAEqB,mBAAoB;IAC3B,KAAK,EAAElI,cAAe;IACtB,QAAQ,EAAE,kBAACnJ,EAAE;MAAA,OAAWuR,sBAAsB,CAACvR,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;IAAA,CAAC;IAChE,QAAQ,EAAEmrB,YAAa;IACvB,UAAU,EAAE;MAAA,oBACX,2DAAC,iEAAI;QAAC,IAAI,EAAEa,YAAY,GAAG,SAAS,GAAG;MAAY,EAAG;IAAA,CACrD;IACF,QAAQ,EAAE,CAACH;EAAoB,EAC9B,CACQ,CACN,CACD,eACN,2DAAC,oEAAO;IAAC,MAAM,EAAC;EAAO,EAAG,CACxB;AAEL,CAAC;AAED,iEAAe7F,oBAAoB;;;;;;;;;;;;;;;;;;AC5RnC;AACA;AACA;AACA;AACA;;AAE4D;AACrB;AAEvC,IAAMsH,MAAM,GAAGrU,6DAAM,CAACL,sEAAS,CAAC;EAAA;EAAA;AAAA;AAyD9B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAgF,EAAE,EAM9E,6BAA8B,EAAE,EA0Hd;EAAA,IAAGlU,KAAK,QAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAAC2U,KAAK,CAACzU,OAAO;AAAA,GACrD;EAAA,IAAGH,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAACuV,KAAK,CAACrV,OAAO;AAAA,GAO/C;EAAA,IAAGH,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAAC2U,KAAK,CAACtU,KAAK;AAAA,GACnD;EAAA,IAAGN,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAACqB,OAAO,CAACnB,OAAO;AAAA,GA2C5D;EAAA,IAAG0oB,MAAM,SAANA,MAAM;EAAA,OAAgBA,MAAM,GAAG,UAAU,GAAG,SAAS;AAAA,CAAC,EAyHhE,6DAA8D,EAAE;AA8JjE;AACH;AACA;AACA;AAAG,6BAA6B,EA2O5B,oBAAqB,EAAE,EAavB,gEAAiE,EAAE;AAkBpE;AACH;AAAuB,EAAE,EAiMf;EAAA,IAAG7oB,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAAC4U,IAAI,CAAC1U,OAAO;AAAA,GAC3C;EAAA,IAAGH,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAAC8U,KAAK,WAAQ;AAAA,GAC5C;EAAA,IAAG9U,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAAC+U,KAAK,CAACC,IAAI,CAAC8T,MAAM;AAAA,GAC5C;EAAA,IAAG9oB,KAAK,SAALA,KAAK;EAAA,OAAeA,KAAK,CAAC8U,KAAK,CAACiU,MAAM,CAAC5oB,OAAO;AAAA,EAChE;AAED,iEAAeyoB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1+BrB;AACA;AACA;AACA;AACA;;AAE2F;AACvB;AAExC;AACkC;AACX;AAEV;AACA;AACD;AACwC;AAEhFK,2DAAe,EAAE;AAEjB,IAAMM,cAIJ,GAAG,SAJCA,cAIJ,OAA4C;EAAA,IAAtCjyB,QAAQ,QAARA,QAAQ;IAAEmrB,MAAM,QAANA,MAAM;IAAE+G,aAAa,QAAbA,aAAa;EACtC,IAAMx4B,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,gBAAwC4E,+CAAQ,CAAU,KAAK,CAAC;IAAA;IAAzD4qB,YAAY;IAAEC,eAAe;EACpC,iBAA8D7qB,+CAAQ,CACrE,CAAC,EACAvH,QAAQ,CAACqD,KAAK,CAACgvB,6BAA6B,IAAIryB,QAAQ,CAACqD,KAAK,CAACivB,8BAA8B,CAC7F,CACD;IAAA;IAJMC,uBAAuB;IAAEC,0BAA0B;EAM1D,iBAA8EjrB,+CAAQ,CACrFvH,QAAQ,CAACqD,KAAK,CAACgvB,6BAA6B,CAC5C;IAAA;IAFMI,iCAAiC;IAAEC,gCAAgC;EAI1E,iBAAgFnrB,+CAAQ,CACvFvH,QAAQ,CAACqD,KAAK,CAACivB,8BAA8B,CAC7C;IAAA;IAFMK,kCAAkC;IAAEC,iCAAiC;EAG5E,iBAA4BrrB,+CAAQ,CAAU,KAAK,CAAC;IAAA;IAA7CgqB,MAAM;IAAEsB,SAAS;EACxB,kBAA4CtrB,+CAAQ,CAAU,KAAK,CAAC;IAAA;IAA7DurB,cAAc;IAAEC,iBAAiB;EACxC,kBAAwCxrB,+CAAQ,CAAU,KAAK,CAAC;IAAA;IAAzDyrB,YAAY;IAAEC,eAAe;EACpC,IAAMC,WAAW,GAAGl/B,kDAAW,CAC9B,UAACm/B,SAAqC,EAAEC,OAAwB,EAAK;IACpEjI,MAAM,CAAC,OAAO,EAAEiI,OAAO,EAAED,SAAS,CAAC;EACpC,CAAC,EACD,CAAChI,MAAM,CAAC,CACR;EAED3lB,gDAAS,CAAC,YAAM;IACf,IAAI0sB,aAAa,EAAE;MAClB,IAAIK,uBAAuB,EAAE;QAC5BU,eAAe,CAAC,KAAK,CAAC;QACtBF,iBAAiB,CAAC,KAAK,CAAC;QACxBX,eAAe,CAAC,KAAK,CAAC;MACvB,CAAC,MAAM;QACNW,iBAAiB,CAAC,IAAI,CAAC;QACvBE,eAAe,CAAC,IAAI,CAAC;QACrBb,eAAe,CAAC,IAAI,CAAC;MACtB;MACA,IAAIb,MAAM,EAAE;QACXmB,gCAAgC,CAACV,mDAAW,CAACS,iCAAiC,CAAC,CAAC;QAChFS,WAAW,CACVlB,mDAAW,CAACS,iCAAiC,CAAC,EAC9C,+BAA+B,CAC/B;QACDG,iCAAiC,CAACd,iDAAS,CAACa,kCAAkC,CAAC,CAAC;QAChFO,WAAW,CACVpB,iDAAS,CAACa,kCAAkC,CAAC,EAC7C,gCAAgC,CAChC;QAEDM,eAAe,CAAC,IAAI,CAAC;MACtB;IACD,CAAC,MAAM;MACNb,eAAe,CAAC,IAAI,CAAC;MACrBa,eAAe,CAAC,IAAI,CAAC;MACrBJ,SAAS,CAAC,KAAK,CAAC;MAChBE,iBAAiB,CAAC,IAAI,CAAC;IACxB;EACD,CAAC,EAAE,CACF/yB,QAAQ,CAACqD,KAAK,CAACgvB,6BAA6B,EAC5Ca,WAAW,EACXT,iCAAiC,EACjCE,kCAAkC,EAClCpB,MAAM,EACNW,aAAa,EACbK,uBAAuB,CACvB,CAAC;EACF,IAAMc,6BAA6B,GAAG,SAAhCA,6BAA6B,GAAe;IACjDb,0BAA0B,CAAC,CAACD,uBAAuB,CAAC;EACrD,CAAC;EAED,oBACC,uIACC,2DAAC,yDAAO;IAAC,KAAK,EAAE74B,CAAC,CAAC,6CAA6C,EAAE,aAAa;EAAE,EAAG,eACnF,2DAAC,sEAAQ;IACR,KAAK,EAAEA,CAAC,CACP,sDAAsD,EACtD,gDAAgD,CAC/C;IACF,KAAK,EAAE64B,uBAAwB;IAC/B,OAAO,EAAEc,6BAA8B;IACvC,QAAQ,EAAE,CAACnB;EAAc,EACxB,eACF,2DAAC,0DAAM;IAAC,WAAW,EAAC,YAAY;IAAC,MAAM;IAAC,MAAM,EAAC,KAAK;IAAC,aAAa,EAAC;EAAe,gBACjF,2DAAC,uEAAS;IACT,cAAc,EAAC,YAAY;IAC3B,KAAK,EAAE;MAAEoB,QAAQ,EAAE;IAAM,CAAE;IAC3B,OAAO,EAAE;MAAEpsB,GAAG,EAAE;IAAQ;EAAE,gBAE1B,2DAAC,qEAAO;IAAC,MAAM,EAAC;EAAY,gBAC3B,2DAAC,kEAAI;IAAC,IAAI,EAAC;EAAO,GAAExN,CAAC,CAAC,0CAA0C,EAAE,YAAY,CAAC,CAAQ,CAC9E,eACV,2DAAC,yEAAc;IACd,QAAQ,EAAEy4B,YAAa;IACvB,KAAK,EACJM,iCAAiC,GAC9BV,oDAAY,CAACU,iCAAiC,CAAC,GAC/C,IAAIc,IAAI,EACX;IACD,IAAI,EAAE,KAAM;IACZ,QAAQ,EAAE,kBAACvvB,KAAU,EAAW;MAC/B0uB,gCAAgC,CAACb,uDAAe,CAAC7tB,KAAK,CAAC,CAAC;MACxDkvB,WAAW,CAACrB,uDAAe,CAAC7tB,KAAK,CAAC,EAAE,+BAA+B,CAAC;MACpE,IACCiB,6CAAM,CAACjB,KAAK,CAAC,CAACwvB,IAAI,CAACzB,oDAAY,CAACY,kCAAkC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EACnF;QACDC,iCAAiC,CAChCf,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAACyvB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACC,OAAO,EAAE,CAAC,CAAC,CAC9D;QACDR,WAAW,CACVrB,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAACyvB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACC,OAAO,EAAE,CAAC,CAAC,EAC9D,gCAAgC,CAChC;MACF;IACD,CAAE;IACF,QAAQ,eACP,2DAAC,qEAAO;MAAC,GAAG,EAAC;IAAO,gBACnB,2DAAC,kEAAI;MAAC,IAAI,EAAC;IAAiB,EAAG,CAEhC;IACD,QAAQ,eACP,2DAAC,qEAAO;MAAC,GAAG,EAAC;IAAO,gBACnB,2DAAC,kEAAI;MAAC,IAAI,EAAC;IAAc,EAAG;EAE7B,EACA,CACS,eACZ,2DAAC,uEAAS;IACT,cAAc,EAAC,YAAY;IAC3B,KAAK,EAAE;MAAEJ,QAAQ,EAAE;IAAM,CAAE;IAC3B,OAAO,EAAE;MAAEpsB,GAAG,EAAE;IAAQ;EAAE,gBAE1B,2DAAC,qEAAO;IAAC,MAAM,EAAC;EAAY,gBAC3B,2DAAC,kEAAI;IAAC,IAAI,EAAC;EAAO,GAAExN,CAAC,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAQ,CAC1E,eACV,2DAAC,yEAAc;IACd,QAAQ,EAAEy4B,YAAa;IACvB,UAAU,EAAE;MAAEwB,QAAQ,EAAE;IAAK,CAAE;IAC/B,KAAK,EACJhB,kCAAkC,GAC/BZ,oDAAY,CAACY,kCAAkC,CAAC,GAChD,IAAIY,IAAI,EACX;IACD,IAAI,EAAE,KAAM;IACZ,QAAQ,EAAE,kBAACvvB,KAAU,EAAW;MAC/B4uB,iCAAiC,CAACf,uDAAe,CAAC7tB,KAAK,CAAC,CAAC;MACzDkvB,WAAW,CAACrB,uDAAe,CAAC7tB,KAAK,CAAC,EAAE,gCAAgC,CAAC;MACrE,IACCiB,6CAAM,CAACjB,KAAK,CAAC,CAACwvB,IAAI,CAACzB,oDAAY,CAACU,iCAAiC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EAClF;QACDC,gCAAgC,CAC/Bb,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAAC4vB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAACF,OAAO,EAAE,CAAC,CAAC,CACnE;QACDR,WAAW,CACVrB,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAAC4vB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAACF,OAAO,EAAE,CAAC,CAAC,EACnE,+BAA+B,CAC/B;MACF;IACD,CAAE;IACF,QAAQ,eACP,2DAAC,qEAAO;MAAC,GAAG,EAAC;IAAO,gBACnB,2DAAC,kEAAI;MAAC,IAAI,EAAC;IAAiB,EAAG,CAEhC;IACD,QAAQ,eACP,2DAAC,qEAAO;MAAC,GAAG,EAAC;IAAO,gBACnB,2DAAC,kEAAI;MAAC,IAAI,EAAC;IAAc,EAAG;EAE7B,EACA,CACS,CACJ,eAET,2DAAC,uEAAS;IAAC,cAAc,EAAC;EAAY,gBACrC,2DAAC,sEAAQ;IACR,QAAQ,EAAEZ,cAAe;IACzB,KAAK,EAAEp5B,CAAC,CAAC,uCAAuC,EAAE,UAAU,CAAE;IAC9D,KAAK,EAAE63B,MAAO;IACd,OAAO,EAAE,mBAAY;MACpBsB,SAAS,CAAC,CAACtB,MAAM,CAAC;IACnB;EAAE,EACD,CACS,eACZ,2DAAC,0DAAM;IAAC,WAAW,EAAC,YAAY;IAAC,MAAM;IAAC,MAAM,EAAC,KAAK;IAAC,aAAa,EAAC;EAAe,gBACjF,2DAAC,uEAAS;IACT,cAAc,EAAC,YAAY;IAC3B,KAAK,EAAE;MAAE+B,QAAQ,EAAE;IAAM,CAAE;IAC3B,OAAO,EAAE;MAAEpsB,GAAG,EAAE;IAAQ;EAAE,gBAE1B,2DAAC,qEAAO;IAAC,MAAM,EAAC;EAAY,gBAC3B,2DAAC,kEAAI;IAAC,IAAI,EAAC;EAAO,GAAExN,CAAC,CAAC,0CAA0C,EAAE,aAAa,CAAC,CAAQ,CAC/E,eACV,2DAAC,yEAAc;IACd,QAAQ,EAAEs5B,YAAa;IACvB,IAAI,EAAE,KAAM;IACZ,KAAK,EACJP,iCAAiC,GAC9BV,oDAAY,CAACU,iCAAiC,CAAC,GAC/C,IAAIc,IAAI,EACX;IACD,IAAI;IACJ,QAAQ,EAAE,kBAACvvB,KAAU,EAAW;MAC/B0uB,gCAAgC,CAACb,uDAAe,CAAC7tB,KAAK,CAAC,CAAC;MACxDkvB,WAAW,CAACrB,uDAAe,CAAC7tB,KAAK,CAAC,EAAE,+BAA+B,CAAC;MACpE,IACCiB,6CAAM,CAACjB,KAAK,CAAC,CAACwvB,IAAI,CAACzB,oDAAY,CAACY,kCAAkC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EACnF;QACDC,iCAAiC,CAChCf,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAACyvB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACC,OAAO,EAAE,CAAC,CAAC,CAC9D;QACDR,WAAW,CACVrB,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAACyvB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACC,OAAO,EAAE,CAAC,CAAC,EAC9D,gCAAgC,CAChC;MACF;IACD,CAAE;IACF,QAAQ,eACP,2DAAC,qEAAO;MAAC,GAAG,EAAC;IAAO,gBACnB,2DAAC,kEAAI;MAAC,IAAI,EAAC;IAAiB,EAAG,CAEhC;IACD,QAAQ,eACP,2DAAC,qEAAO;MAAC,GAAG,EAAC;IAAO,gBACnB,2DAAC,kEAAI;MAAC,IAAI,EAAC;IAAc,EAAG;EAE7B,EACA,CACS,eACZ,2DAAC,uEAAS;IACT,cAAc,EAAC,YAAY;IAC3B,KAAK,EAAE;MAAEJ,QAAQ,EAAE;IAAM,CAAE;IAC3B,OAAO,EAAE;MAAEpsB,GAAG,EAAE;IAAQ;EAAE,gBAE1B,2DAAC,qEAAO;IAAC,MAAM,EAAC;EAAY,gBAC3B,2DAAC,kEAAI;IAAC,IAAI,EAAC;EAAO,GAAExN,CAAC,CAAC,wCAAwC,EAAE,WAAW,CAAC,CAAQ,CAC3E,eACV,2DAAC,yEAAc;IACd,QAAQ,EAAEs5B,YAAa;IACvB,IAAI,EAAE,KAAM;IACZ,KAAK,EACJL,kCAAkC,GAC/BZ,oDAAY,CAACY,kCAAkC,CAAC,GAChD,IAAIY,IAAI,EACX;IACD,IAAI;IACJ,QAAQ,EAAE,kBAACvvB,KAAU,EAAW;MAC/B4uB,iCAAiC,CAACf,uDAAe,CAAC7tB,KAAK,CAAC,CAAC;MACzDkvB,WAAW,CAACrB,uDAAe,CAAC7tB,KAAK,CAAC,EAAE,gCAAgC,CAAC;MACrE,IACCiB,6CAAM,CAACjB,KAAK,CAAC,CAACwvB,IAAI,CAACzB,oDAAY,CAACU,iCAAiC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EAClF;QACDC,gCAAgC,CAC/Bb,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAAC4vB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAACF,OAAO,EAAE,CAAC,CAAC,CACnE;QACDR,WAAW,CACVrB,uDAAe,CAAC,IAAI0B,IAAI,CAACtuB,6CAAM,CAACjB,KAAK,CAAC,CAAC4vB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAACF,OAAO,EAAE,CAAC,CAAC,EACnE,+BAA+B,CAC/B;MACF;IACD,CAAE;IACF,QAAQ,eACP,2DAAC,qEAAO;MAAC,GAAG,EAAC;IAAO,gBACnB,2DAAC,kEAAI;MAAC,IAAI,EAAC;IAAc,EAAG;EAE7B,EACA,CACS,CACJ,CACP;AAEL,CAAC;AAED,iEAAezB,cAAc;;;;;;;;;;;;;;;;;;;;;ACvS7B;AACA;AACA;AACA;AACA;;AAEkE;AAC3B;AACI;AACgC;AAM3E,IAAM6B,kBAAkB,GAAG,SAArBA,kBAAkB,OAA2D;EAAA,IAArDngC,QAAQ,QAARA,QAAQ;EACrC,IAAM+F,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,IAAMoxB,UAAU,GAAG35B,8CAAO,CAAC;IAAA,OAAMy5B,oFAAoB,CAACn6B,CAAC,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EAC9D,oBACC,2DAAC,sEAAS;IACT,aAAa,EAAC,YAAY;IAC1B,cAAc,EAAC,YAAY;IAC3B,GAAG,EAAC,MAAM;IACV,OAAO,EAAE,OAAQ;IACjB,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,KAAK;IACX,MAAM,EAAE,KAAM;IACd,EAAE,EAAEq6B,UAAU,CAACx1B,EAAG;IAClB,UAAU,EAAE;EAAQ,gBAEpB,2DAAC,iEAAI;IAAC,MAAM,EAAE,MAAO;IAAC,IAAI,EAAE;EAAS,GACnCw1B,UAAU,CAACn1B,KAAK,CACX,EACNjL,QAAQ,CACE;AAEd,CAAC;AAED,iEAAemgC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCjC;AACA;AACA;AACA;AACA;;AAEoG;AACtE;AAC2D;AAEpB;AACG;AAC7B;AAIc;AAEzD,IAAME,uBAGJ,GAAG,SAHCA,uBAGJ,OAA8B;EAAA,IAAxB7I,MAAM,QAANA,MAAM;IAAE8I,SAAS,QAATA,SAAS;EACxB,kBAA+B1uB,iDAAU,CAAC6C,uEAAqB,CAAC;IAAxDG,kBAAkB,eAAlBA,kBAAkB;EAC1B,IAAM4H,qBAAqB,GAAGF,iGAAwB,EAAE;EACxD,gBAAkC1I,+CAAQ,EAAc;IAAA;IAAjD2sB,SAAS;IAAEC,YAAY;EAE9B,IAAMz6B,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,IAAMsrB,KAAK,GAAG7zB,8CAAO,CACpB;IAAA,OAAM,CACL;MACCwE,KAAK,EAAElF,CAAC,CAAC,6BAA6B,EAAE,MAAM,CAAC;MAC/CsK,KAAK,EAAE;IACR,CAAC,EACD;MACCpF,KAAK,EAAElF,CAAC,CAAC,gCAAgC,EAAE,SAAS,CAAC;MACrDsK,KAAK,EAAE;IACR,CAAC,EACD;MACCpF,KAAK,EAAElF,CAAC,CAAC,iCAAiC,EAAE,UAAU,CAAC;MACvDsK,KAAK,EAAE;IACR,CAAC,CACD;EAAA,GACD,CAACtK,CAAC,CAAC,CACH;EAED,IAAM06B,iBAAiB,GAAGpgC,kDAAW,CACpC,UAACgQ,KAA2B,EAAK;IAChC,IAAMH,IAAI,GAAGD,4CAAI,CAACqqB,KAAK,EAAE;MAAEjqB,KAAK,EAALA;IAAM,CAAC,CAAC;IACnC,IAAIH,IAAI,EAAE;MACTswB,YAAY,CAACtwB,IAAI,CAAC;IACnB;IACA0E,kBAAkB,CAACvE,KAAK,CAAC;EAC1B,CAAC,EACD,CAACiqB,KAAK,EAAE1lB,kBAAkB,CAAC,CAC3B;EAED,IAAM8rB,iBAAiB,GAAGrgC,kDAAW,CACpC,UAACgQ,KAAK,EAAK;IACV,IAAI6M,+FAAsB,CAAC7M,KAAK,CAAC,EAAE;MAClC,IAAIA,KAAK,EAAE;QACVowB,iBAAiB,CAACpwB,KAAK,CAAC;MACzB;MACA,IAAIA,KAAK,KAAKmM,qBAAqB,EAAE;QACpCgb,MAAM,CAAC,OAAO,EAAEnb,4DAAoB,EAAE;UAAExR,GAAG,EAAElL,oDAAY;UAAE0Q,KAAK,EAALA;QAAM,CAAC,CAAC;MACpE,CAAC,MAAM;QACNiwB,SAAS,CAAC,OAAO,EAAEjkB,4DAAoB,CAAC;MACzC;IACD;EACD,CAAC,EACD,CAACmb,MAAM,EAAEhb,qBAAqB,EAAE8jB,SAAS,EAAEG,iBAAiB,CAAC,CAC7D;EAED5uB,gDAAS,CAAC,YAAM;IACf,IAAI2K,qBAAqB,EAAE;MAC1BikB,iBAAiB,CAACjkB,qBAAqB,CAAC;IACzC;EACD,CAAC,EAAE,CAACA,qBAAqB,EAAE8d,KAAK,EAAEmG,iBAAiB,CAAC,CAAC;EAErD,IAAI,CAACF,SAAS,EAAE;IACf,OAAO,IAAI;EACZ;EACA,oBACC,uIACC,2DAAC,iEAAI;IAAC,IAAI,EAAC,QAAQ;IAAC,MAAM,EAAC;EAAM,GAC/Bx6B,CAAC,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAC/C,eACP,2DAAC,mEAAM;IACN,KAAK,EAAEu0B,KAAM;IACb,SAAS,EAAEiG,SAAU;IACrB,KAAK,EAAEx6B,CAAC,CAAC,4BAA4B,EAAE,WAAW,CAAE;IACpD,QAAQ,EAAE26B;EAAkB,EAC3B,CACA;AAEL,CAAC;AAED,iEAAeL,uBAAuB;;;;;;;;;;;;;;;;;;;;;;AChGtC;AACA;AACA;AACA;AACA;;AAEsF;AAC9B;AACP;AACN;AAC6B;AAExE,IAAMQ,MAAU,GAAG,SAAbA,MAAU,GAAS;EACxB,IAAM96B,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,IAAM0Z,OAAO,GAAGroB,kDAAW,CAAC,YAAM;IACjComB,uDAAM,EAAE;EACT,CAAC,EAAE,EAAE,CAAC;EACN,IAAMqa,YAAY,GAAGr6B,8CAAO,CAAC;IAAA,OAAMm6B,iFAAiB,CAAC76B,CAAC,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EAC7D,oBACC,2DAAC,2EAAc;IACd,KAAK,EAAE+6B,YAAY,CAAC71B,KAAM;IAC1B,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,KAAK;IACX,EAAE,EAAE61B,YAAY,CAACl2B;EAAG,gBAEpB,2DAAC,sEAAM;IAAC,KAAK,EAAE7E,CAAC,CAAC,iCAAiC,EAAE,QAAQ,CAAE;IAAC,OAAO,EAAE2iB;EAAQ,EAAG,CACnE;AAEnB,CAAC;AAED,iEAAemY,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BrB;AACA;AACA;AACA;AACA;;AAWyC;AACZ;AACuB;AACJ;AAGoB;AACzB;AAC8B;AAEzE,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqB,GAAsB;EAChD,IAAM3xB,IAAI,GAAGia,sDAAU,EAAE;EACzB,IAAMxjB,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,IAAM+F,KAAK,GAAGiC,0EAAQ,EAAE;EAExB,IAAMkqB,eAAe,GAAG7gC,kDAAW,CAAoC,UAACkN,CAAC,EAAK;IAC7EA,CAAC,CAAC4zB,cAAc,EAAE;IAClB,IAAI5zB,CAAC,CAAC8e,MAAM,YAAY+U,WAAW,EAAE;MACpCC,SAAS,CAACC,SAAS,CAACC,SAAS,CAACh0B,CAAC,CAAC8e,MAAM,CAACmV,SAAS,CAAC;IAClD;EACD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,YAAY,GAAGh7B,8CAAO,CAC3B;IAAA,OAAM6I,IAAI,CAACX,MAAM,CAAC,UAAC9D,GAAG;MAAA,OAAKA,GAAG,CAAC/E,IAAI,KAAKoE,qDAAa,IAAIW,GAAG,CAAC/E,IAAI,KAAKqE,uDAAe;IAAA,EAAC;EAAA,GACtF,CAACmF,IAAI,CAAC,CACN;EACD,IAAMwxB,YAAY,GAAGr6B,8CAAO,CAAC;IAAA,OAAMu6B,mFAAkB,CAACj7B,CAAC,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EAE9D,oBACC,uIACC,2DAAC,4EAAc;IACd,KAAK,EAAE+6B,YAAY,CAAC71B,KAAM;IAC1B,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,KAAK;IACX,EAAE,EAAE61B,YAAY,CAACl2B;EAAG,GAEnBjE,2CAAG,CAAC86B,YAAY,EAAE,UAAC52B,GAAmB;IAAA,oBACtC,2DAAC,uEAAS;MAAC,GAAG,EAAEA,GAAG,CAAC/E,IAAK;MAAC,OAAO,EAAE;QAAEsqB,UAAU,EAAE,OAAO;QAAEpD,QAAQ,EAAE;MAAQ;IAAE,gBAC7E,2DAAC,uEAAS;MAAC,WAAW,EAAC,YAAY;MAAC,aAAa,EAAC;IAAe,gBAChE,2DAAC,kEAAI,QAAEniB,GAAG,CAAC8gB,OAAO,CAAQ,eAC1B,2DAAC,qEAAO;MAAC,SAAS,EAAC,KAAK;MAAC,KAAK,EAAE5lB,CAAC,CAAC,qBAAqB,EAAE,eAAe;IAAE,gBACzE,2DAAC,kEAAI;MAAC,KAAK,EAAE;QAAEkuB,MAAM,EAAE;MAAU,CAAE;MAAC,OAAO,EAAEiN;IAAgB,GAAC,WACpD,EAACr2B,GAAG,CAACqD,OAAO,CACf,CACE,CACC,eACZ,2DAAC,uEAAS;MACT,WAAW,EAAC,YAAY;MACxB,aAAa,EAAC,eAAe;MAC7B,OAAO,EAAE;QAAE2qB,GAAG,EAAE,YAAY;QAAE9L,MAAM,EAAE;MAAS;IAAE,gBAEjD,2DAAC,kEAAI;MAAC,KAAK,EAAC;IAAW,GAAEliB,GAAG,CAAC62B,WAAW,CAAQ,eAChD,2DAAC,mEAAK;MACL,KAAK,EAAC,QAAQ;MACd,KAAK,EAAE;QACNC,eAAe,EAAE5sB,KAAK,CAACC,OAAO,CAAC4sB,OAAO,CAAC1sB,OAAO;QAC9C2R,KAAK,EAAE9R,KAAK,CAACC,OAAO,CAAC6sB,KAAK,CAAC3sB;MAC5B;IAAE,EACD,CACS,eACZ,2DAAC,qEAAO;MAAC,KAAK,EAAC;IAAO,EAAG,CACd;EAAA,CACZ,CAAC,CACc,CACf;AAEL,CAAC;AAED,iEAAe+rB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnFpC;AACA;AACA;AACA;AACA;;AAQyC;AACoC;AACtC;AACT;AACqB;AAET;AACY;AACX;AACiC;AAO1D;AAElB,IAAMxX,QAAQ,GAAGH,6EAAe;EAAA;EAAA;AAAA,kMAIjB;EAAA,IAAGvU,KAAK,QAALA,KAAK;EAAA,OAAeA,KAAK,CAACC,OAAO,CAAC2U,KAAK,CAACzU,OAAO;AAAA,EAWhE;AAED8oB,2DAAe,EAAE;AAEjB,IAAMoE,eAGJ,GAAG,SAHCA,eAGJ,QAA6B;EAAA,IAAvB/1B,QAAQ,SAARA,QAAQ;IAAEmrB,MAAM,SAANA,MAAM;EACvB,IAAMzxB,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,gBAA0C4E,+CAAQ,CACjDvH,QAAQ,CAACqD,KAAK,CAAC2yB,iCAAiC,KAAK,MAAM,CAC3D;IAAA;IAFM9D,aAAa;IAAE+D,gBAAgB;EAGtC,iBAA8E1uB,+CAAQ,CACrFvH,QAAQ,CAACqD,KAAK,CAAC6yB,0BAA0B,CACzC;IAAA;IAFMC,+BAA+B;IAAEC,kCAAkC;EAI1E,iBACC7uB,+CAAQ,CAASvH,QAAQ,CAACqD,KAAK,CAACgzB,kCAAkC,CAAW;IAAA;IADvEC,uCAAuC;IAAEC,0CAA0C;EAG1F,iBAAkEhvB,+CAAQ,CAAU,KAAK,CAAC;IAAA;IAAnFivB,yBAAyB;IAAEC,4BAA4B;EAC9D,iBAAoDlvB,+CAAQ,CAC3DvH,QAAQ,CAACqD,KAAK,CAACqzB,yCAAyC,KAAK,MAAM,CACnE;IAAA;IAFMC,kBAAkB;IAAEC,qBAAqB;EAIhD,kBAAkDrvB,+CAAQ,CAAU,IAAI,CAAC;IAAA;IAAlEsvB,iBAAiB;IAAEC,oBAAoB;EAE9C,IAAM5D,WAAW,GAAGl/B,kDAAW,CAC9B,UAACm/B,SAAqC,EAAEC,OAAwB,EAAK;IACpEjI,MAAM,CAAC,OAAO,EAAEiI,OAAO,EAAED,SAAS,CAAC;EACpC,CAAC,EACD,CAAChI,MAAM,CAAC,CACR;EAED3lB,gDAAS,CAAC,YAAM;IACf,IAAI0sB,aAAa,EAAE;MAClBuE,4BAA4B,CAAC,KAAK,CAAC;IACpC,CAAC,MAAM;MACNA,4BAA4B,CAAC,IAAI,CAAC;IACnC;EACD,CAAC,EAAE,CACFvE,aAAa,EACblyB,QAAQ,CAACqD,KAAK,CAACgvB,6BAA6B,EAC5Ca,WAAW,EACX4D,oBAAoB,EACpBL,4BAA4B,CAC5B,CAAC;EAEF,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAsB,CAAI3Q,CAAM,EAAW;IAChDwQ,qBAAqB,CAAC,KAAK,CAAC;IAE5B,IAAIxQ,CAAC,KAAK,iBAAiB,EAAE;MAC5B8M,WAAW,CAAC,OAAO,EAAE,4CAA4C,CAAC;MAClEA,WAAW,CAAC,OAAO,EAAE,2CAA2C,CAAC;MACjEA,WAAW,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACrD,CAAC,MAAM,IAAI9M,CAAC,KAAK,iBAAiB,EAAE;MACnC8M,WAAW,CAAC,YAAY,EAAE,+BAA+B,CAAC;MAC1DA,WAAW,CAAC,MAAM,EAAE,2CAA2C,CAAC;MAChEA,WAAW,CAAC,OAAO,EAAE,4CAA4C,CAAC;MAClE0D,qBAAqB,CAAC,IAAI,CAAC;IAC5B,CAAC,MAAM,IAAIxQ,CAAC,KAAK,qBAAqB,EAAE;MACvC8M,WAAW,CAAC,KAAK,EAAE,+BAA+B,CAAC;MACnDA,WAAW,CAAC,OAAO,EAAE,2CAA2C,CAAC;MACjEA,WAAW,CAAC,MAAM,EAAE,4CAA4C,CAAC;MACjE0D,qBAAqB,CAAC,IAAI,CAAC;IAC5B,CAAC,MAAM;MACN1D,WAAW,CAAC,MAAM,EAAE,4CAA4C,CAAC;MACjEA,WAAW,CAAC,MAAM,EAAE,+BAA+B,CAAC;MACpDA,WAAW,CAAC,OAAO,EAAE,2CAA2C,CAAC;IAClE;EACD,CAAC;EAED,IAAM8D,0BAA0B,GAAG,SAA7BA,0BAA0B,CAAI5Q,CAAM,EAAW;IACpD8M,WAAW,CAAC9M,CAAC,EAAE,qCAAqC,CAAC;EACtD,CAAC;EAED,IAAM6Q,oBAAoB,GAAG78B,8CAAO,CAAC;IAAA,OAAM07B,4DAAoB,CAACp8B,CAAC,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EACxE,IAAMw9B,oBAAoB,GAAG98B,8CAAO,CACnC;IAAA,OAAMs7B,mEAA2B,CAAC11B,QAAQ,EAAE,OAAO,EAAEtG,CAAC,CAAC;EAAA,GACvD,CAACsG,QAAQ,EAAEtG,CAAC,CAAC,CACb;EACD,IAAMy9B,wBAAwB,GAAG/8B,8CAAO,CACvC;IAAA,OAAMu7B,qEAA6B,CAAC31B,QAAQ,EAAEtG,CAAC,CAAC;EAAA,GAChD,CAACsG,QAAQ,EAAEtG,CAAC,CAAC,CACb;EACD,IAAM09B,2BAA2B,GAAGh9B,8CAAO,CAC1C;IAAA,OAAMwJ,4CAAI,CAACqzB,oBAAoB,EAAE,UAACpzB,IAAI;MAAA,OAAKA,IAAI,IAAKA,IAAI,CAACG,KAAK,KAAK,MAAM,KAAMkuB,aAAa;IAAA,EAAC;EAAA,GAC7F,CAAC+E,oBAAoB,EAAE/E,aAAa,CAAC,CACrC;EAED,IAAMmF,kBAAkB,GAAGj9B,8CAAO,CAAC;IAAA,OAAMq7B,qFAAqB,CAAC/7B,CAAC,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EAEvE,oBACC,2DAAC,4EAAc;IACd,KAAK,EAAE29B,kBAAkB,CAACz4B,KAAM;IAChC,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,KAAK;IACX,EAAE,EAAEy4B,kBAAkB,CAAC94B;EAAG,gBAE1B,2DAAC,uEAAS;IAAC,cAAc,EAAC,UAAU;IAAC,OAAO,EAAE;MAAE2I,GAAG,EAAE;IAAQ;EAAE,gBAC9D,2DAAC,oEAAM;IACN,KAAK,EAAE+vB,oBAAqB;IAC5B,UAAU,EAAC,OAAO;IAClB,KAAK,EAAEv9B,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAE;IACjD,QAAQ,EAAE,kBAACsK,KAAU,EAAW;MAC/B,IAAIA,KAAK,IAAKA,KAAK,KAAK,MAAM,KAAMkuB,aAAa,EAAE;QAClDgB,WAAW,CAAClvB,KAAK,EAAE,mCAAmC,CAAC;QACvDiyB,gBAAgB,CAACjyB,KAAK,KAAK,MAAM,CAAC;MACnC;IACD,CAAE;IACF,SAAS,EAAEozB;EAA4B,EACtC,eACF,2DAAC,qEAAO;IAAC,GAAG,EAAC,OAAO;IAAC,KAAK,EAAC;EAAM,gBAChC,2DAAC,QAAQ;IACR,KAAK,EAAEjB,+BAA+B,IAAI,EAAG;IAC7C,QAAQ,EAAE,CAACjE,aAAc;IACzB,WAAW,EAAEx4B,CAAC,CACb,kDAAkD,EAClD,qBAAqB,CACpB;IACF,QAAQ,EAAE,kBAACmmB,EAAE,EAAW;MACvBuW,kCAAkC,CAACvW,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;MACnDkvB,WAAW,CAACrT,EAAE,CAACG,MAAM,CAAChc,KAAK,EAAE,4BAA4B,CAAC;IAC3D;EAAE,EACD,CACO,eACV,2DAAC,qEAAO;IAAC,GAAG,EAAC,OAAO;IAAC,KAAK,EAAC;EAAM,gBAChC,2DAAC,oEAAM;IACN,QAAQ,EAAE,CAACkuB,aAAc;IACzB,KAAK,EAAE0D,4DAAoB,CAACl8B,CAAC,CAAE;IAC/B,UAAU,EAAC,OAAO;IAClB,KAAK,EAAEA,CAAC,CAAC,gDAAgD,EAAE,kBAAkB,CAAE;IAC/E,QAAQ,EAAE,kBAACsK,KAAc,EAAW;MACnC,IAAIA,KAAK,IAAIA,KAAK,MAAKkzB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAElzB,KAAK,GAAE+yB,sBAAsB,CAAC/yB,KAAK,CAAC;IAClF,CAAE;IACF,SAAS,EAAEkzB;EAAqB,EAC/B,CACO,EACTP,kBAAkB,iBAClB,2DAAC,qEAAO;IAAC,GAAG,EAAC,OAAO;IAAC,KAAK,EAAC;EAAM,gBAChC,2DAAC,QAAQ;IACR,KAAK,EAAEL,uCAAuC,IAAI,EAAG;IACrD,QAAQ,EAAE,CAACpE,aAAc;IACzB,WAAW,EAAEx4B,CAAC,CACb,2DAA2D,EAC3D,0CAA0C,CACzC;IACF,QAAQ,EAAE,kBAACmmB,EAAE,EAAW;MACvB0W,0CAA0C,CAAC1W,EAAE,CAACG,MAAM,CAAChc,KAAK,CAAC;MAC3DkvB,WAAW,CAACrT,EAAE,CAACG,MAAM,CAAChc,KAAK,EAAE,oCAAoC,CAAC;IACnE;EAAE,EACD,CAEH,CACU,eACZ,2DAAC,uEAAS;IAAC,cAAc,EAAC,UAAU;IAAC,OAAO,EAAE;MAAEkD,GAAG,EAAE;IAAQ;EAAE,gBAC9D,2DAAC,8DAAc;IAAC,QAAQ,EAAElH,QAAS;IAAC,MAAM,EAAEmrB,MAAO;IAAC,aAAa,EAAE+G;EAAc,EAAG,eACpF,2DAAC,uEAAS;IAAC,cAAc,EAAC;EAAY,gBACrC,2DAAC,yDAAO;IACP,KAAK,EAAEx4B,CAAC,CAAC,oDAAoD,EAAE,sBAAsB;EAAE,EACtF,eACF,2DAAC,sEAAQ;IACR,QAAQ,EAAE88B,yBAA0B;IACpC,KAAK,EAAE98B,CAAC,CAAC,kDAAkD,EAAE,qBAAqB,CAAE;IACpF,KAAK,EAAEm9B,iBAAkB;IACzB,OAAO,EAAE,iBAAC7yB,KAAU,EAAW;MAC9B8yB,oBAAoB,CAAC,CAACD,iBAAiB,CAAC;IACzC;EAAE,EACD,CACS,eACZ,2DAAC,uEAAS;IAAC,cAAc,EAAC,UAAU;IAAC,OAAO,EAAE;MAAE3vB,GAAG,EAAE;IAAQ;EAAE,gBAC9D,2DAAC,qEAAO;IAAC,GAAG,EAAC,OAAO;IAAC,KAAK,EAAC;EAAK,gBAC/B,2DAAC,oEAAM;IACN,QAAQ,EAAEsvB,yBAA0B;IACpC,KAAK,EAAEX,8DAAsB,CAACn8B,CAAC,CAAE;IACjC,UAAU,EAAC,OAAO;IAClB,KAAK,EAAEA,CAAC,CACP,oDAAoD,EACpD,uBAAuB,CACtB;IACF,QAAQ,EAAE,kBAACsK,KAAc,EAAW;MACnC,IAAIA,KAAK,IAAIA,KAAK,MAAKmzB,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAEnzB,KAAK,GACrDgzB,0BAA0B,CAAChzB,KAAK,CAAC;IACnC,CAAE;IACF,SAAS,EAAEmzB;EAAyB,EACnC,CACO,CACC,CACD,CACI;AAEnB,CAAC;AAED,iEAAepB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7O9B;AACA;AACA;AACA;AACA;AAC+C;AAC+C;AASrD;AACuB;AAEK;AACnB;AAElD,IAAMyB,sBAAsB,GAAGva,6DAAM,CAACL,sEAAS,CAAC;EAAA;EAAA;AAAA,0EAG/C;AAED,IAAM6a,gBAAgB,GAAGxa,6DAAM,CAACL,sEAAS,CAAC;EAAA;EAAA;AAAA,wBAC5B;EAAA,IAAG8a,SAAS,QAATA,SAAS;EAAA,OAA4BA,SAAS,cAAOA,SAAS,MAAG;AAAA,EACjF;AAED,IAAMC,WAAW,GAAG1a,6DAAM,CAACxF,iEAAI,CAAC;EAAA;EAAA;AAAA,sBAE/B;AAaD,IAAMmgB,sBAAsB,GAAGnoB,iEAAyB,CACvD,UAACooB,MAAM;EAAA,OAAKA,MAAM,CAAC7zB,KAAK,KAAK0L,sDAAc;AAAA,EAC3C;AAED,IAAMooB,qBAAqB,GAAG7vB,8DAAsB,EAAE;AACtD,IAAM8vB,6BAA6B,GAAGtoB,iEAAyB,CAC9D,UAACooB,MAAM;EAAA,OAAKA,MAAM,CAAC7zB,KAAK,KAAK8zB,qBAAqB;AAAA,EAClD;AAEM,IAAME,qBAAqB,gBAAG5kC,uDAAgB,CAGnD,SAAS8kC,uBAAuB,QAEjCrS,GAAG,EACF;EAAA;EAAA,IAFCsS,eAAe,SAAfA,eAAe;IAAEC,mBAAmB,SAAnBA,mBAAmB;IAAEC,qBAAqB,SAArBA,qBAAqB;EAG7D,sBAAY5yB,6DAAc,EAAE;IAAA;IAArB/L,CAAC;EAER,eAAmDU,8CAAO,CACzD;MAAA,OACCqV,8DAAsB,CACrB,iBAAmBooB,MAAM,EAAK;QAAA;UAA5BzwB,MAAM;UAAEkxB,MAAM;QACflxB,MAAM,CAACiL,IAAI,CAACwlB,MAAM,CAAC7zB,KAAK,CAAC;QACzBs0B,MAAM,CAACjmB,IAAI,CAAC3Y,CAAC,CAAC,4BAA4B,EAAE;UAAE8c,OAAO,EAAEqhB,MAAM,CAACj5B;QAAM,CAAC,CAAC,CAAC;QACvE,OAAO,CAACwI,MAAM,EAAEkxB,MAAM,CAAC;MACxB,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACR;IAAA,GACF,CAAC5+B,CAAC,CAAC,CACH;IAAA;IAXM6+B,mBAAmB;IAAEC,mBAAmB;EAa/C,IAAMC,gBAAgB,GAAGr+B,8CAAO,CAAS,YAAM;IAC9C,IAAMqQ,wBAAwB,GAAG0tB,eAAe,CAAC,qCAAqC,CAAC;IACvF,IAAI1tB,wBAAwB,KAAKC,SAAS,EAAE;MAC3C,IAAMguB,WAAW,GAAGH,mBAAmB,CAAChmB,SAAS,CAChD,UAACslB,MAAM;QAAA,OAAKA,MAAM,KAAKptB,wBAAwB;MAAA,EAC/C;MACD,IAAIiuB,WAAW,IAAI,CAAC,EAAE;QACrB,OAAOA,WAAW;MACnB;IACD;IACA,OAAOX,6BAA6B;EACrC,CAAC,EAAE,CAACQ,mBAAmB,EAAEJ,eAAe,CAAC,CAAC;EAE1C,gBAAsC5wB,+CAAQ,0BAC7C4wB,eAAe,CAAC,kCAAkC,CAAC,yEAAI,IAAI,CAC3D;IAAA;IAFMQ,WAAW;IAAEC,cAAc;EAGlC,iBAAwCrxB,+CAAQ,CAASkxB,gBAAgB,CAAC;IAAA;IAAnEI,YAAY;IAAEC,eAAe;EAEpCtzB,gDAAS,CAAC,YAAM;IACf;IACAszB,eAAe,CAACL,gBAAgB,CAAC;EAClC,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtBjzB,gDAAS,CAAC,YAAM;IACf,IAAI+yB,mBAAmB,CAACM,YAAY,CAAC,EAAE;MACtC,IAAIA,YAAY,KAAKJ,gBAAgB,EAAE;QACtCL,mBAAmB,CAClB,qCAAqC,EACrCG,mBAAmB,CAACM,YAAY,CAAC,CACjC;MACF,CAAC,MAAM;QACNR,qBAAqB,CAAC,qCAAqC,CAAC;MAC7D;IACD;EACD,CAAC,EAAE,CACFD,mBAAmB,EACnBC,qBAAqB,EACrBI,gBAAgB,EAChBF,mBAAmB,EACnBJ,eAAe,EACfU,YAAY,CACZ,CAAC;EAEFrzB,gDAAS,CAAC,YAAM;IACf,IACE2yB,eAAe,CAAC,kCAAkC,CAAC,KAAKztB,SAAS,IACjEiuB,WAAW,KAAKR,eAAe,CAAC,kCAAkC,CAAC,IACnEA,eAAe,CAAC,kCAAkC,CAAC,KAAKztB,SAAS,IAAI,CAACiuB,WAAY,EAClF;MACDP,mBAAmB,CAAC,kCAAkC,EAAEO,WAAW,CAAC;MACpE,IAAIA,WAAW,EAAE;QAChBP,mBAAmB,CAAC,qCAAqC,EAAE1tB,SAAS,CAAC;MACtE;IACD,CAAC,MAAM;MACN2tB,qBAAqB,CAAC,kCAAkC,CAAC;IAC1D;EACD,CAAC,EAAE,CAACD,mBAAmB,EAAEO,WAAW,EAAEN,qBAAqB,EAAEF,eAAe,CAAC,CAAC;EAE9E,IAAMY,qBAAqB,GAAG/kC,kDAAW,CAAC,YAAM;IAC/C8kC,eAAe,CAAC,UAACttB,SAAS;MAAA,OACzBA,SAAS,GAAGiE,8DAAsB,GAAG,CAAC,GAAGjE,SAAS,GAAG,CAAC,GAAGA,SAAS;IAAA,EAClE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMwtB,qBAAqB,GAAGhlC,kDAAW,CAAC,YAAM;IAC/C8kC,eAAe,CAAC,UAACttB,SAAS;MAAA,OAAMA,SAAS,GAAG,CAAC,GAAGA,SAAS,GAAG,CAAC,GAAGA,SAAS;IAAA,CAAC,CAAC;EAC5E,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMytB,iBAAiB,GAAGjlC,kDAAW,CAAC,YAAM;IAC3C4kC,cAAc,CAAC,UAACptB,SAAS;MAAA,OAAK,CAACA,SAAS;IAAA,EAAC;IACzCstB,eAAe,CAACL,gBAAgB,CAAC;EAClC,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtB,IAAMS,oBAAoB,GAAGllC,kDAAW,CACvC,UAAC6rB,EAAE,EAAEsZ,aAAa,EAAK;IACtBL,eAAe,CAACK,aAAa,CAAC;EAC/B,CAAC,EACD,EAAE,CACF;EAED7B,0DAAmB,CAACzR,GAAG,EAAE;IAAA,OAAO;MAC/BuT,KAAK,EAAE,iBAAY;QAAA;QAClBN,eAAe,CAACL,gBAAgB,CAAC;QACjCG,cAAc,2BAACT,eAAe,CAAC,kCAAkC,CAAC,2EAAI,IAAI,CAAC;MAC5E;IACD,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMkB,WAAW,GAAGj/B,8CAAO,CAC1B;IAAA,OACCV,CAAC,CACA,gDAAgD,EAChD,8CAA8C,CAC9C;EAAA,GACF,CAACA,CAAC,CAAC,CACH;EAED,IAAM4/B,eAAe,GAAGl/B,8CAAO,CAC9B;IAAA;MACC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACC,CAACm+B,mBAAmB,CAACgB,IAAI,CAACC,KAAK,CAACX,YAAY,CAAC,CAAC,IAAI,GAAG,IACrDN,mBAAmB,CAACE,gBAAgB,CAAC,GACtC;IAAG;EAAA,GACJ,CAACA,gBAAgB,EAAEF,mBAAmB,EAAEM,YAAY,CAAC,CACrD;EAED,oBACC,2DAAC,sEAAS;IACT,WAAW,EAAE,UAAW;IACxB,aAAa,EAAE,YAAa;IAC5B,cAAc,EAAE,YAAa;IAC7B,GAAG,EAAE,MAAO;IACZ,MAAM,EAAE,KAAM;IACd,KAAK,EAAE;EAAO,gBAEd,2DAAC,sEAAS;IACT,WAAW,EAAE,UAAW;IACxB,GAAG,EAAE,MAAO;IACZ,MAAM,EAAE,KAAM;IACd,KAAK,EAAE,KAAM;IACb,aAAa,EAAE,YAAa;IAC5B,cAAc,EAAE,YAAa;IAC7B,QAAQ,EAAE;EAAO,gBAEjB,2DAAC,iEAAI;IAAC,IAAI,EAAC,OAAO;IAAC,QAAQ,EAAE;EAAa,GACxCn/B,CAAC,CACD,oDAAoD,EACpD,sDAAsD,CACtD,CACK,eACP,2DAAC,sBAAsB;IACtB,WAAW,EAAC,YAAY;IACxB,KAAK,EAAC,MAAM;IACZ,MAAM,EAAC,MAAM;IACb,OAAO,EAAE;MAAEinB,QAAQ,EAAE,OAAO;MAAEoD,UAAU,EAAE;IAAQ,CAAE;IACpD,GAAG,EAAE,QAAS;IACd,QAAQ,EAAE;EAAE,gBAEZ,2DAAC,oEAAO;IACP,KAAK,EAAErqB,CAAC,CAAC,qCAAqC,EAAE,UAAU,EAAE;MAC3D8c,OAAO,EAAEqiB,YAAY,KAAK,CAAC,GAAG,UAAU,GAAG;IAC5C,CAAC;EAAE,gBAEH,2DAAC,sEAAS;IAAC,KAAK,EAAC,KAAK;IAAC,MAAM,EAAC,KAAK;IAAC,QAAQ,EAAE;EAAc,gBAC3D,2DAAC,mEAAM;IACN,QAAQ,EAAEF,WAAW,IAAIE,YAAY,KAAK,CAAE;IAC5C,KAAK,EAAEn/B,CAAC,CAAC,8BAA8B,EAAE,GAAG,CAAE;IAC9C,IAAI,EAAE,OAAQ;IACd,IAAI,EAAE,YAAa;IACnB,KAAK,EAAE,MAAO;IACd,OAAO,EAAEs/B,qBAAsB;IAC/B,QAAQ,EAAE;EAAc,EACvB,CACS,CACH,eACV,2DAAC,mEAAM;IACN,QAAQ,EAAEL,WAAY;IACtB,OAAO,EAAEH,mBAAoB;IAC7B,QAAQ,EAAEU,oBAAqB;IAC/B,KAAK,EACJP,WAAW,IAAIf,sBAAsB,IAAI,CAAC,GAAGA,sBAAsB,GAAGiB;EACtE,EACA,eACF,2DAAC,oEAAO;IACP,KAAK,EAAEn/B,CAAC,CAAC,qCAAqC,EAAE,UAAU,EAAE;MAC3D8c,OAAO,EAAEqiB,YAAY,KAAKppB,8DAAsB,GAAG,CAAC,GAAG,UAAU,GAAG;IACrE,CAAC;EAAE,gBAEH,2DAAC,sEAAS;IAAC,KAAK,EAAC,KAAK;IAAC,MAAM,EAAC,KAAK;IAAC,QAAQ,EAAE;EAAc,gBAC3D,2DAAC,mEAAM;IACN,QAAQ,EAAEkpB,WAAW,IAAIE,YAAY,KAAKppB,8DAAsB,GAAG,CAAE;IACrE,KAAK,EAAE/V,CAAC,CAAC,8BAA8B,EAAE,GAAG,CAAE;IAC9C,IAAI,EAAE,OAAQ;IACd,IAAI,EAAE,YAAa;IACnB,OAAO,EAAEq/B,qBAAsB;IAC/B,KAAK,EAAE,MAAO;IACd,QAAQ,EAAE;EAAc,EACvB,CACS,CACH,CACc,eACzB,2DAAC,qEAAQ;IACR,KAAK,EAAEJ,WAAY;IACnB,OAAO,EAAEM,iBAAkB;IAC3B,KAAK,EAAEv/B,CAAC,CACP,6CAA6C,EAC7C,4DAA4D,CAC3D;IACF,IAAI,EAAE;EAAQ,EACb,CACS,eACZ,2DAAC,gBAAgB;IAChB,UAAU,EAAE,OAAQ;IACpB,OAAO,EAAE,OAAQ;IACjB,GAAG,EAAE,QAAS;IACd,WAAW,EAAE,UAAW;IACxB,aAAa,EAAE,YAAa;IAC5B,cAAc,EAAE,YAAa;IAC7B,KAAK,EAAE,MAAO;IACd,SAAS,EAAE4/B;EAAgB,gBAE3B,2DAAC,WAAW;IAAC,MAAM,EAAE,OAAQ;IAAC,QAAQ,EAAE;EAAa,GACnDD,WAAW,CACC,eACd,2DAAC,WAAW;IAAC,MAAM,EAAE,SAAU;IAAC,QAAQ,EAAE;EAAa,GACrDA,WAAW,CACC,eACd,2DAAC,WAAW;IAAC,MAAM,EAAE,MAAO;IAAC,QAAQ,EAAE;EAAa,GAClDA,WAAW,CACC,CACI,CACR;AAEd,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;ACzSF;AACA;AACA;AACA;AACA;;AAEkG;AACvD;AACoB;AACA;AACpB;AAC2B;AAMtE,IAAMM,SAA6B,GAAG,SAAhCA,SAA6B,OAAuB;EAAA;EAAA,IAAjBC,UAAU,QAAVA,UAAU;EAClD,IAAMlgC,CAAC,GAAGiJ,iDAAI,EAAE;EAEhB,IAAM3C,QAAQ,GAAGxK,qEAAe,EAAE;EAClC,IAAMqkC,IAAI,GAAGn3B,qEAAe,CAAC,UAAC9H,CAAC;IAAA,OAAKA,CAAC,CAACoc,SAAS;EAAA,EAAC;EAChD,IAAM8iB,KAAK,GAAG1/B,8CAAO,CAAC,YAAM;IAAA;IAC3B,IAAM2/B,SAAS,GAAG7gB,MAAM,CAAClZ,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEuD,KAAK,oDAAf,gBAAiBy2B,eAAe,CAAC;IAC1D,IAAIH,IAAI,IAAIE,SAAS,IAAIA,SAAS,GAAG,CAAC,EAAE;MACvC,OAAOR,IAAI,CAACC,KAAK,CAAEK,IAAI,GAAGE,SAAS,GAAI,GAAG,CAAC;IAC5C;IACA,OAAO,CAAC,CAAC;EACV,CAAC,EAAE,CAAC/5B,QAAQ,aAARA,QAAQ,2CAARA,QAAQ,CAAEuD,KAAK,qDAAf,iBAAiBy2B,eAAe,EAAEH,IAAI,CAAC,CAAC;EAE5C,IAAMxE,WAAW,GAAGj7B,8CAAO,CAAC,YAAM;IACjC,QAAQ,IAAI;MACX,KAAK,CAAC0/B,KAAK,IAAIA,KAAK,GAAG,CAAC;QACvB,OAAOpgC,CAAC,CAAC,sBAAsB,EAAE,oCAAoC,CAAC;MACvE,KAAKogC,KAAK,KAAK,GAAG;QACjB,OAAOpgC,CAAC,CAAC,uBAAuB,EAAE,2CAA2C,CAAC;MAC/E;QACC,OAAOA,CAAC,CAAC,oBAAoB,EAAE;UAC9BugC,YAAY,EAAE,mDAAmD;UACjEH,KAAK,EAALA;QACD,CAAC,CAAC;IAAC;EAEN,CAAC,EAAE,CAACA,KAAK,EAAEpgC,CAAC,CAAC,CAAC;EAEd,IAAMwgC,cAAc,GAAG9/B,8CAAO,CAAC,YAAM;IACpC,QAAQ,IAAI;MACX,KAAK0/B,KAAK,IAAI,EAAE;QACf,OAAO,OAAO;MACf,KAAKA,KAAK,IAAI,EAAE;QACf,OAAO,SAAS;MACjB,KAAKA,KAAK,KAAK,CAAC,CAAC;QAChB,OAAO,OAAO;MACf;QACC,OAAO,SAAS;IAAC;EAEpB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACX,IAAMrF,YAAY,GAAGr6B,8CAAO,CAAC;IAAA,OAAMs/B,+EAAe,CAAChgC,CAAC,CAAC;EAAA,GAAE,CAACA,CAAC,CAAC,CAAC;EAC3D,OAAOkgC,UAAU,gBAChB,2DAAC,sEAAS;IAAC,KAAK,EAAC,KAAK;IAAC,OAAO,EAAE;MAAE3lB,KAAK,EAAE;IAAS;EAAE,gBACnD,2DAAC,oEAAO;IAAC,KAAK,EAAEohB,WAAY;IAAC,SAAS,EAAC;EAAQ,gBAC9C,2DAAC,kEAAK;IAAC,IAAI,EAAEyE,KAAK,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAE;IAAC,cAAc,EAAEI;EAAe,EAAG,CAC7D,CACC,gBAEZ,2DAAC,2EAAc;IACd,KAAK,EAAEzF,YAAY,CAAC71B,KAAM;IAC1B,QAAQ,EAAC,wBAAwB;IACjC,KAAK,EAAC,KAAK;IACX,EAAE,EAAE61B,YAAY,CAACl2B;EAAG,gBAEpB,2DAAC,sEAAS;IAAC,KAAK,EAAC,MAAM;IAAC,OAAO,EAAE;MAAEoiB,QAAQ,EAAE;IAAS;EAAE,gBACvD,2DAAC,sEAAS;IACT,WAAW,EAAC,YAAY;IACxB,aAAa,EAAC,YAAY;IAC1B,OAAO,EAAE;MAAED,MAAM,EAAE;IAAS;EAAE,gBAE9B,2DAAC,iEAAI,QAAE2U,WAAW,CAAQ,CACf,eACZ,2DAAC,kEAAK;IAAC,IAAI,EAAEyE,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG,GAAGA,KAAM;IAAC,cAAc,EAAEI;EAAe,EAAG,CAChE,CAEb;AACF,CAAC;AAED,iEAAeP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFxB;AACA;AACA;AACA;AACA;;AAUyC;AACI;AACY;AACP;AACV;AACsB;AAS9D,IAAMp5B,cAAuC,GAAG,SAA1CA,cAAuC,OAA6C;EAAA;EAAA,IAAvC2rB,MAAM,QAANA,MAAM;IAAEG,QAAQ,QAARA,QAAQ;IAAEC,OAAO,QAAPA,OAAO;IAAErS,KAAK,QAALA,KAAK;EAClF,IAAMvgB,CAAC,GAAGiJ,iDAAI,EAAE;EAChB,IAAM0D,OAAO,GAAGR,4DAAU,EAAE;EAC5B,IAAMw0B,QAAQ,GAAGv0B,2DAAS,EAAE;EAC5B,IAAMw0B,MAAM,GAAG,CACd;IACC/7B,EAAE,EAAE,UAAU;IACdK,KAAK,EAAElF,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC;IACpC4oB,KAAK,EAAE;MAAA,OAAYjc,OAAO,CAACgM,IAAI,YAAKvU,uDAAe,OAAI;IAAA;EACxD,CAAC,EACD;IACCS,EAAE,EAAE,SAAS;IACbK,KAAK,EAAEqb,KAAK;IACZqI,KAAK,EAAE;MAAA,OAAYjc,OAAO,CAACgM,IAAI,YAAKvU,uDAAe,OAAI;IAAA;EACxD,CAAC,CACD;EACD,IAAMoU,MAAM,wBAAG7L,OAAO,CAACiI,QAAQ,sDAAhB,kBAAkB4D,MAAM;EACvC1M,gDAAS,CAAC,YAAM;IACf,IAAI0M,MAAM,EAAE;MACXiG,UAAU,CACT;QAAA;QAAA,gCACCzW,QAAQ,CACN64B,aAAa,CAAC,WAAIl0B,OAAO,CAACiI,QAAQ,CAAC4D,MAAM,EAAGZ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,0DADvE,sBAEGkpB,cAAc,EAAE;MAAA,GACpB,CAAC,CACD;IACF;EACD,CAAC,EAAE,CAACn0B,OAAO,EAAEA,OAAO,CAACiI,QAAQ,EAAEjI,OAAO,CAACiI,QAAQ,CAAC4D,MAAM,EAAEA,MAAM,EAAEmoB,QAAQ,CAAC,CAAC;EAC1E,oBACC,uIACC,2DAAC,mEAAiB;IAAC,IAAI,EAAE/N,OAAQ;IAAC,MAAM,EAAEJ;EAAO,gBAChD,2DAAC,iEAAI,QACHxyB,CAAC,CACD,6BAA6B,EAC7B,0DAA0D,CAC1D,CACK,eACP,2DAAC,iEAAI,QAAEA,CAAC,CAAC,6BAA6B,EAAE,uCAAuC,CAAC,CAAQ,CACrE,eACpB,2DAAC,sEAAS;IACT,WAAW,EAAC,UAAU;IACtB,aAAa,EAAC,cAAc;IAC5B,UAAU,EAAC,OAAO;IAClB,MAAM,EAAC;EAAK,gBAEZ,2DAAC,gEAAG;IAAC,WAAW,EAAC,YAAY;IAAC,KAAK,EAAC;EAAM,gBACzC,2DAAC,gEAAG;IACH,OAAO,EAAE;MAAEwN,GAAG,EAAE;IAAQ,CAAE;IAC1B,aAAa,EAAC,YAAY;IAC1B,KAAK,EAAC,KAAK;IACX,cAAc,EAAC;EAAY,gBAE3B,2DAAC,wEAAW;IAAC,MAAM,EAAEozB;EAAO,EAAG,CAC1B,eACN,2DAAC,gEAAG;IACH,OAAO,EAAE;MAAEpzB,GAAG,EAAE;IAAQ,CAAE;IAC1B,KAAK,EAAC,KAAK;IACX,aAAa,EAAC,UAAU;IACxB,cAAc,EAAC;EAAU,gBAEzB,2DAAC,oEAAO;IAAC,KAAK,EAAC;EAAO,gBACrB,2DAAC,sEAAM;IACN,KAAK,EAAExN,CAAC,CAAC,uBAAuB,EAAE,iBAAiB,CAAE;IACrD,OAAO,EAAE2yB,QAAS;IAClB,KAAK,EAAC,WAAW;IACjB,QAAQ,EAAE,CAACC;EAAQ,EAClB,CACO,eACV,2DAAC,sEAAM;IACN,KAAK,EAAE5yB,CAAC,CAAC,YAAY,EAAE,MAAM,CAAE;IAC/B,KAAK,EAAC,SAAS;IACf,OAAO,EAAEwyB,MAAO;IAChB,QAAQ,EAAE,CAACI;EAAQ,EAClB,CACG,CACD,CACK,eACZ,2DAAC,oEAAO,OAAG,CACT;AAEL,CAAC;AAED,iEAAe/rB,cAAc;;;;;;;;;;;;;;;;;;;AC9G7B;AACA;AACA;AACA;AACA;;AAEkC;AACmC;AAErE,IAAMqxB,OAA8B,GAAG,SAAjCA,OAA8B;EAAA,IAAM3X,KAAK,QAALA,KAAK;EAAA,oBAC9C,uIACC,2DAAC,gEAAG;IAAC,OAAO,EAAE;MAAE/S,GAAG,EAAE;IAAQ,CAAE;IAAC,aAAa,EAAC,UAAU;IAAC,cAAc,EAAC,UAAU;IAAC,KAAK,EAAC;EAAM,gBAC9F,2DAAC,iEAAI;IAAC,IAAI,EAAC,OAAO;IAAC,MAAM,EAAC;EAAM,GAC9B+S,KAAK,CACA,CACF,eACN,2DAAC,oEAAO;IAAC,QAAQ,EAAC;EAAO,EAAG,CAC1B;AAAA,CACH;AAED,iEAAe2X,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBtB;AACA;AACA;AACA;AACA;;AAE4B;AAGqD;AAE1E,IAAMkE,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIp8B,CAAY;EAAA,OAAU,CAC1D;IACCkF,KAAK,EAAElF,CAAC,CAAC,0CAA0C,EAAE,mBAAmB,CAAC;IACzEsK,KAAK,EAAE;EACR,CAAC,EACD;IACCpF,KAAK,EAAElF,CAAC,CAAC,iDAAiD,EAAE,0BAA0B,CAAC;IACvFsK,KAAK,EAAE;EACR,CAAC,CACD;AAAA;AAEM,IAAM4xB,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIl8B,CAAY;EAAA,OAAU,CAC1D;IACCkF,KAAK,EAAElF,CAAC,CACP,kEAAkE,EAClE,kCAAkC,CAClC;IACDsK,KAAK,EAAE;EACR,CAAC,EACD;IACCpF,KAAK,EAAElF,CAAC,CACP,qEAAqE,EACrE,6DAA6D,CAC7D;IACDsK,KAAK,EAAE;EACR,CAAC,EACD;IACCpF,KAAK,EAAElF,CAAC,CACP,yEAAyE,EACzE,6EAA6E,CAC7E;IACDsK,KAAK,EAAE;EACR,CAAC,EACD;IACCpF,KAAK,EAAElF,CAAC,CACP,iEAAiE,EACjE,qDAAqD,CACrD;IACDsK,KAAK,EAAE;EACR,CAAC,CACD;AAAA;AAEM,IAAM6xB,sBAAsB,GAAG,SAAzBA,sBAAsB,CAAIn8B,CAAY;EAAA,OAAU,CAC5D;IACCkF,KAAK,EAAElF,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC;IAChDsK,KAAK,EAAE;EACR,CAAC,EACD;IACCpF,KAAK,EAAElF,CAAC,CAAC,oCAAoC,EAAE,MAAM,CAAC;IACtDsK,KAAK,EAAE;EACR,CAAC,CACD;AAAA;AAEM,IAAM0xB,2BAA2B,GAAG,SAA9BA,2BAA2B,CACvC11B,QAAyB,EACzBy6B,GAAW,EACX/gC,CAAY,EAC0B;EACtC,IAAImK,IAAI;EACR,IAAM62B,oBAAoB,GAAG9E,oBAAoB,CAACl8B,CAAC,CAAC;EACpD,IACCsG,QAAQ,CAACqD,KAAK,CAACs3B,0CAA0C,KAAK,OAAO,IACrE36B,QAAQ,CAACqD,KAAK,CAACqzB,yCAAyC,KAAK,OAAO,EACnE;IACD7yB,IAAI,qBAAQ62B,oBAAoB,CAAC,CAAC,CAAC,CAAE;EACtC,CAAC,MAAM,IACN16B,QAAQ,CAACqD,KAAK,CAACu3B,6BAA6B,KAAK,KAAK,IACtD56B,QAAQ,CAACqD,KAAK,CAACqzB,yCAAyC,KAAK,MAAM,EAClE;IACD7yB,IAAI,qBAAQ62B,oBAAoB,CAAC,CAAC,CAAC,CAAE;EACtC,CAAC,MAAM,IACN16B,QAAQ,CAACqD,KAAK,CAACu3B,6BAA6B,KAAK,YAAY,IAC7D56B,QAAQ,CAACqD,KAAK,CAACqzB,yCAAyC,KAAK,MAAM,EAClE;IACD7yB,IAAI,qBAAQ62B,oBAAoB,CAAC,CAAC,CAAC,CAAE;EACtC,CAAC,MAAM;IACN72B,IAAI,qBAAQ62B,oBAAoB,CAAC,CAAC,CAAC,CAAE;EACtC;EAEA,OAAO72B,IAAI;AACZ,CAAC;AAEM,IAAM8xB,6BAA6B,GAAG,SAAhCA,6BAA6B,CACzC31B,QAAyB,EACzBtG,CAAY,EACwC;EACpD,IAAImK,IAAI;EACR,IAAMg3B,sBAAsB,GAAGhF,sBAAsB,CAACn8B,CAAC,CAAC;EACxD,IAAIsG,QAAQ,CAACqD,KAAK,CAACy3B,mCAAmC,KAAK,MAAM,EAAE;IAClEj3B,IAAI,qBAAQg3B,sBAAsB,CAAC,CAAC,CAAC,CAAE;EACxC,CAAC,MAAM;IACNh3B,IAAI,qBAAQg3B,sBAAsB,CAAC,CAAC,CAAC,CAAE;EACxC;EAEA,OAAOh3B,IAAI;AACZ,CAAC;AAEM,IAAMguB,eAAe,GAAG,SAAlBA,eAAe,CAAIkJ,IAAmB;EAAA,OAClD91B,8CAAM,CAACA,8CAAM,CAAC81B,IAAI,EAAE,mBAAmB,CAAC,CAACC,GAAG,EAAE,CAAC,CAACC,MAAM,CAAC,mBAAmB,CAAC;AAAA;AAErE,IAAMlJ,YAAY,GAAG,SAAfA,YAAY,CAAIgJ,IAAY;EAAA,OACxC,IAAIxH,IAAI,CAACtuB,kDAAU,CAAC81B,IAAI,EAAE,mBAAmB,CAAC,CAACG,KAAK,EAAE,CAACxH,OAAO,EAAE,CAAC;AAAA;AAE3D,IAAM1B,WAAW,GAAG,SAAdA,WAAW,CAAI+I,IAAY;EAAA,OACvC91B,kDAAU,CAAC81B,IAAI,EAAE,mBAAmB,CAAC,CAACG,KAAK,EAAE,CAACC,OAAO,CAAC,KAAK,CAAC,CAACH,GAAG,EAAE,CAACC,MAAM,CAAC,mBAAmB,CAAC;AAAA;AAExF,IAAMnJ,SAAS,GAAG,SAAZA,SAAS,CAAIiJ,IAAY;EAAA,OACrC91B,kDAAU,CAAC81B,IAAI,EAAE,mBAAmB,CAAC,CAACG,KAAK,EAAE,CAACE,KAAK,CAAC,KAAK,CAAC,CAACJ,GAAG,EAAE,CAACC,MAAM,CAAC,mBAAmB,CAAC;AAAA;AAWtF,IAAMp4B,UAAU,GAAG,SAAbA,UAAU,CAAInJ,CAAY;EAAA,OAA8B,CACpE;IACC6E,EAAE,EAAE,OAAO;IACX9E,IAAI,EAAE,SAAS;IACf4hC,SAAS,EAAE3hC,CAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;IACvDkF,KAAK,EAAElF,CAAC,CAAC,sBAAsB,EAAE;MAChCsK,KAAK,EAAE,SAAS;MAChBi2B,YAAY,EAAE;IACf,CAAC,CAAC;IACFj2B,KAAK,EAAE,OAAO;IACdD,aAAa,EAAE;EAChB,CAAC,EACD;IACCxF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,YAAY;IAClB4hC,SAAS,EAAE3hC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC;IACrCkF,KAAK,EAAElF,CAAC,CAAC,oBAAoB,EAAE;MAAEsK,KAAK,EAAE,YAAY;MAAEi2B,YAAY,EAAE;IAAoB,CAAC,CAAC;IAC1Fj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,SAAS;IACf4hC,SAAS,EAAE3hC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACzCkF,KAAK,EAAElF,CAAC,CAAC,sBAAsB,EAAE;MAAEsK,KAAK,EAAE,SAAS;MAAEi2B,YAAY,EAAE;IAAsB,CAAC,CAAC;IAC3Fj2B,KAAK,EAAE,IAAI;IACXD,aAAa,EAAE;EAChB,CAAC,EACD;IACCxF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,SAAS;IACf4hC,SAAS,EAAE3hC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC;IACvCkF,KAAK,EAAElF,CAAC,CAAC,qBAAqB,EAAE;MAAEsK,KAAK,EAAE,SAAS;MAAEi2B,YAAY,EAAE;IAAqB,CAAC,CAAC;IACzFj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,OAAO;IACb4hC,SAAS,EAAE3hC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC;IACrCkF,KAAK,EAAElF,CAAC,CAAC,oBAAoB,EAAE;MAAEsK,KAAK,EAAE,OAAO;MAAEi2B,YAAY,EAAE;IAAoB,CAAC,CAAC;IACrFj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,UAAU;IAChB4hC,SAAS,EAAE3hC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACzCkF,KAAK,EAAElF,CAAC,CAAC,sBAAsB,EAAE;MAAEsK,KAAK,EAAE,UAAU;MAAEi2B,YAAY,EAAE;IAAsB,CAAC,CAAC;IAC5Fj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,KAAK;IACX4hC,SAAS,EAAE3hC,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC3CkF,KAAK,EAAElF,CAAC,CAAC,uBAAuB,EAAE;MAAEsK,KAAK,EAAE,KAAK;MAAEi2B,YAAY,EAAE;IAAuB,CAAC,CAAC;IACzFj2B,KAAK,EAAE;EACR,CAAC,EAED;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,WAAW;IACjB4hC,SAAS,EAAE3hC,CAAC,CAAC,mBAAmB,EAAE,YAAY,CAAC;IAC/CkF,KAAK,EAAElF,CAAC,CAAC,yBAAyB,EAAE;MACnCsK,KAAK,EAAE,WAAW;MAClBi2B,YAAY,EAAE;IACf,CAAC,CAAC;IACFj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,QAAQ;IACd4hC,SAAS,EAAE3hC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC;IACvCkF,KAAK,EAAE,iBAAiB;IACxBoF,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,OAAO;IACX9E,IAAI,EAAE,oBAAoB;IAC1B4hC,SAAS,EAAE3hC,CAAC,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;IAC/DkF,KAAK,EAAElF,CAAC,CAAC,gCAAgC,EAAE;MAC1CsK,KAAK,EAAE,oBAAoB;MAC3Bi2B,YAAY,EAAE;IACf,CAAC,CAAC;IACFj2B,KAAK,EAAE,OAAO;IACdD,aAAa,EAAE;EAChB,CAAC,EAED;IACCxF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,QAAQ;IACd4hC,SAAS,EAAE3hC,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC3CkF,KAAK,EAAElF,CAAC,CAAC,uBAAuB,EAAE;MAAEsK,KAAK,EAAE,QAAQ;MAAEi2B,YAAY,EAAE;IAAuB,CAAC,CAAC;IAC5Fj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,SAAS;IACf4hC,SAAS,EAAE3hC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACzCkF,KAAK,EAAElF,CAAC,CAAC,sBAAsB,EAAE;MAAEsK,KAAK,EAAE,SAAS;MAAEi2B,YAAY,EAAE;IAAsB,CAAC,CAAC;IAC3Fj2B,KAAK,EAAE;EACR,CAAC,EAED;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,SAAS;IACf4hC,SAAS,EAAE3hC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACzCkF,KAAK,EAAElF,CAAC,CAAC,sBAAsB,EAAE;MAAEsK,KAAK,EAAE,SAAS;MAAEi2B,YAAY,EAAE;IAAsB,CAAC,CAAC;IAC3Fj2B,KAAK,EAAE;EACR,CAAC,EAED;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,KAAK;IACX4hC,SAAS,EAAE3hC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC;IACnCkF,KAAK,EAAElF,CAAC,CAAC,mBAAmB,EAAE;MAAEsK,KAAK,EAAE,KAAK;MAAEi2B,YAAY,EAAE;IAAmB,CAAC,CAAC;IACjFj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,QAAQ;IACd4hC,SAAS,EAAE3hC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACzCkF,KAAK,EAAElF,CAAC,CAAC,sBAAsB,EAAE;MAAEsK,KAAK,EAAE,QAAQ;MAAEi2B,YAAY,EAAE;IAAsB,CAAC,CAAC;IAC1Fj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,UAAU;IAChB4hC,SAAS,EAAE3hC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC;IACvCkF,KAAK,EAAElF,CAAC,CAAC,qBAAqB,EAAE;MAAEsK,KAAK,EAAE,UAAU;MAAEi2B,YAAY,EAAE;IAAqB,CAAC,CAAC;IAC1Fj2B,KAAK,EAAE;EACR,CAAC,EACD;IACCzF,EAAE,EAAE,IAAI;IACR9E,IAAI,EAAE,YAAY;IAClB4hC,SAAS,EAAE3hC,CAAC,CAAC,mBAAmB,EAAE,YAAY,CAAC;IAC/CkF,KAAK,EAAE,yBAAyB;IAChCoF,KAAK,EAAE;EACR,CAAC,CACD;AAAA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAQO,IAAMs3B,YAAY,GAAG,SAAfA,YAAY,CAAI5hC,CAAY;EAAA,OAAgC,CACxE;IACCsK,KAAK,EAAE,YAAY;IACnBpF,KAAK,EAAElF,CAAC,CAAC,qBAAqB,EAAE;MAAEsK,KAAK,EAAE,YAAY;MAAEi2B,YAAY,EAAE;IAAqB,CAAC;EAC5F,CAAC,EACD;IACCj2B,KAAK,EAAE,gBAAgB;IACvBpF,KAAK,EAAElF,CAAC,CAAC,yBAAyB,EAAE;MAAEsK,KAAK,EAAE,YAAY;MAAEi2B,YAAY,EAAE;IAAkB,CAAC;EAC7F,CAAC,EACD;IACCj2B,KAAK,EAAE,cAAc;I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AIC,GAAG,CAAC,8GAAwB,CAAC,CAAC;AACtE;AACA;AACO,IAAM7I,YAAY,GAAG,IAAI4I,MAAM,CAAC,IAAIC,GAAG,CAAC,sKAA2B,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AOX5E;AACA;AACA;AACA;AACA;;AAE0B;AACA;AACA;AACH;AACQ;AACA;AACP;AACC;AACF;AACA;AACG;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;AElBvB;AACA;AACA;AACA;AACA;;AAQA;AACO,IAAKG,IAAI;AAMf,WANWA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;AAAA,GAAJA,IAAI,KAAJA,IAAI;;;;;;;;;;;;;ACbhB;AACA;AACA;AACA;AACA;;AAMuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AGVvB;AACA;AACA;AACA;AACA;;AAIwB;AAWjB,IAAKrxB,eAAe;;AAM3B;AACA;AACA;AACA;AACA;AACA;AAAA,WAXYA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AKnB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-context-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-error-catcher.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-functions.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-mounter.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-setters.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/default-views.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-app.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-apps.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/shared-libraries.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-router.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/init.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/theme-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/use-get-primary-color.tsx","webpack://@zextras/carbonio-shell-ui/./src/constants/index.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-mode.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-reader-result-value.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/history/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/network/edit-settings.ts","webpack://@zextras/carbonio-shell-ui/./src/network/fetch.ts","webpack://@zextras/carbonio-shell-ui/./src/network/get-info.ts","webpack://@zextras/carbonio-shell-ui/./src/network/go-to-login.ts","webpack://@zextras/carbonio-shell-ui/./src/network/login-config.ts","webpack://@zextras/carbonio-shell-ui/./src/network/logout.ts","webpack://@zextras/carbonio-shell-ui/./src/network/tags.ts","webpack://@zextras/carbonio-shell-ui/./src/network/user-agent.ts","webpack://@zextras/carbonio-shell-ui/./src/notification/NotificationManager.ts","webpack://@zextras/carbonio-shell-ui/./src/notification/NotificationPermissionChecker.tsx","webpack://@zextras/carbonio-shell-ui/./src/reporting/feedback.tsx","webpack://@zextras/carbonio-shell-ui/./src/reporting/functions.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/index.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/store.ts","webpack://@zextras/carbonio-shell-ui/./src/search/module-selector.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/run-search.ts","webpack://@zextras/carbonio-shell-ui/./src/search/search-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-store.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/account-wrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/accounts-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/accounts-list.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/delegates.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-use-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/primary-account-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/settings-sent-messages.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-picker-style.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-time-select-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/appearance-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/dark-theme-settings-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/logout.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/module-version-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/out-of-office-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/scaling-setting-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/user-quota.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-heading.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings-sub-sections.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/language-and-timezone-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/search-settings-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-sidebar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/app-view-container.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/badge-wrap.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-container.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab-list.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/collapser.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/creation-button.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-mobile-nav.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-navigation-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-primary-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-secondary-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/account/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/normalization.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/utils.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/boards/hooks.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/boards/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/boards/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/context-bridge.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/composer.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/getters.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/hooks.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/login/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/store.ts","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/app-link.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/nav-guard.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/spinner.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/index.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/panel.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/store.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/workers/index.ts","webpack://@zextras/carbonio-shell-ui/./types/account/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/apps/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/boards/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/exports/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/folder/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/i18n/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/integrations/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/misc/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/network/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/network/soap.d.ts","webpack://@zextras/carbonio-shell-ui/./types/notification/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/search/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/search/items.d.ts","webpack://@zextras/carbonio-shell-ui/./types/tags/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/theme/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/workers/index.d.ts","webpack://@zextras/carbonio-shell-ui/./node_modules/date-fns/locale/ lazy \\.[/\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\]index\\.js$ namespace object","webpack://@zextras/carbonio-shell-ui/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|canvas","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|fs","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|http","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|https","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|url","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|zlib"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useI18nStore } from '../../store/i18n';\nimport AppErrorCatcher from './app-error-catcher';\n\nconst AppContextProvider: FC<{ pkg: string }> = ({ pkg, children }) => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\tconst i18n = instances[pkg] ?? instances[SHELL_APP_ID] ?? defaultI18n;\n\treturn (\n\t\t<I18nextProvider i18n={i18n}>\n\t\t\t<AppErrorCatcher>{children}</AppErrorCatcher>\n\t\t</I18nextProvider>\n\t);\n};\n\nexport default AppContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback } from 'react';\nimport { Catcher } from '@zextras/carbonio-design-system';\n\nconst AppErrorCatcher: FC = ({ children }) => {\n\tconst onError = useCallback((error) => {\n\t\tconsole.error(error);\n\t\t// ({event: 'report-exception',data: { exception: error }});\n\t}, []);\n\treturn <Catcher onError={onError}>{children}</Catcher>;\n};\nexport default AppErrorCatcher;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { reduce } from 'lodash';\nimport { getApp, getAppContext, useApp, useAppContext } from '../../store/app';\nimport { useContextBridge } from '../../store/context-bridge';\nimport {\n\tgetAction,\n\tgetActions,\n\tgetActionsFactory,\n\tgetActionFactory,\n\tgetIntegratedComponent,\n\tgetIntegratedFunction\n} from '../../store/integrations/getters';\nimport {\n\tgetUserAccount,\n\tgetUserAccounts,\n\tgetUserSetting,\n\tgetUserSettings,\n\tuseUserAccount,\n\tuseUserAccounts,\n\tuseUserSetting,\n\tuseUserSettings,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights\n} from '../../store/account';\nimport { useIsMobile, useLocalStorage } from '../../shell/hooks';\nimport {\n\tuseAction,\n\tuseActions,\n\tuseActionsFactory,\n\tuseActionFactory,\n\tuseIntegratedComponent,\n\tuseIntegratedFunction\n} from '../../store/integrations/hooks';\nimport { CarbonioModule } from '../../../types';\nimport {\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tgetCurrentRoute,\n\tuseCurrentRoute,\n\treplaceHistory,\n\tgoBackHistory,\n\tpushHistory\n} from '../../history/hooks';\nimport { getSoapFetch, getXmlSoapFetch } from '../../network/fetch';\nimport {\n\tgetFolder,\n\tgetFolders,\n\tuseFolder,\n\tuseFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseFoldersByView,\n\tuseFoldersAccordionByView,\n\tuseRootByUser,\n\tgetRootByUser\n} from '../../store/folder';\nimport { getTags, useTags } from '../../store/tags';\nimport { useNotify, useRefresh } from '../../store/network';\nimport { changeTagColor, createTag, deleteTag, renameTag } from '../../network/tags';\nimport { runSearch } from '../../search/run-search';\nimport { getI18n, getTFunction } from '../../store/i18n';\nimport {\n\taddBoard,\n\tcloseBoard,\n\tupdateBoard,\n\tupdateBoardContext,\n\tgetBoardById,\n\tgetBoardContextById,\n\tuseBoardContextById,\n\tuseBoardById,\n\tuseBoard,\n\tminimizeBoards,\n\treopenBoards,\n\tsetCurrentBoard,\n\tuseBoardHooks\n} from '../../store/boards';\nimport { getNotificationManager } from '../../notification/NotificationManager';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppFunctions = (pkg: CarbonioModule): Record<string, Function> => ({\n\t// I18N\n\tgetI18n: getI18n(pkg.name),\n\tt: getTFunction(pkg.name),\n\t// FETCH\n\tsoapFetch: getSoapFetch(pkg.name),\n\txmlSoapFetch: getXmlSoapFetch(pkg.name),\n\n\t// APP STORE FUNCTIONS\n\tuseAppContext: useAppContext(pkg.name),\n\tgetAppContext: getAppContext(pkg.name),\n\tuseApp: useApp(pkg.name),\n\tgetApp: getApp(pkg.name),\n\n\t// INTEGRATIONS\n\tuseIntegratedFunction,\n\tgetIntegratedFunction,\n\tuseIntegratedComponent,\n\tgetIntegratedComponent,\n\tuseAction,\n\tgetAction,\n\tuseActions,\n\tgetActions,\n\tuseActionsFactory,\n\tgetActionsFactory,\n\tuseActionFactory,\n\tgetActionFactory,\n\t// ACCOUNTS\n\tuseUserAccount,\n\tgetUserAccount,\n\tuseUserAccounts,\n\tgetUserAccounts,\n\tuseUserSettings,\n\tgetUserSettings,\n\tgetUserSetting,\n\tuseUserSetting,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights,\n\tuseTags,\n\tgetTags,\n\tuseNotify,\n\tuseRefresh,\n\t// FOLDERS\n\tuseFoldersByView,\n\tuseFoldersAccordionByView,\n\tuseFolder,\n\tgetFolder,\n\tuseFolders,\n\tgetFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseRootByUser,\n\tgetRootByUser,\n\t// BOARDS\n\taddBoard: addBoard(pkg.name),\n\tcloseBoard,\n\tupdateBoard,\n\tupdateBoardContext,\n\tgetBoardById,\n\tgetBoardContextById,\n\tuseBoard,\n\tuseBoardById,\n\tuseBoardContextById,\n\tminimizeBoards,\n\treopenBoards,\n\tsetCurrentBoard,\n\tuseBoardHooks,\n\t// HISTORY\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tuseCurrentRoute,\n\tgetCurrentRoute,\n\tpushHistory,\n\tgoBackHistory,\n\treplaceHistory,\n\t// TAGS\n\tcreateTag,\n\trenameTag,\n\tchangeTagColor,\n\tdeleteTag,\n\t// NOTIFICATION\n\tgetNotificationManager,\n\n\t// STUFF\n\trunSearch,\n\tuseIsMobile,\n\tuseLocalStorage,\n\tgetBridgedFunctions: (): unknown => {\n\t\tconst { packageDependentFunctions, functions } = useContextBridge.getState();\n\t\treturn {\n\t\t\t...functions,\n\t\t\t...reduce(packageDependentFunctions, (acc, f, name) => ({ ...acc, [name]: f(pkg.name) }), {})\n\t\t};\n\t}\n});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, memo, Suspense, useMemo } from 'react';\nimport { isEmpty, map } from 'lodash';\nimport { useAppStore } from '../../store/app';\nimport AppContextProvider from './app-context-provider';\n\nconst Mounter: FC<{ appId: string }> = ({ children, appId }) => (\n\t<div key={appId} id={appId}>\n\t\t<AppContextProvider key={appId} pkg={appId}>\n\t\t\t<Suspense fallback={''}>{children}</Suspense>\n\t\t</AppContextProvider>\n\t</div>\n);\n\nconst AppLoaderMounter: FC = () => {\n\tconst entryPoints = useAppStore((s) => s.entryPoints);\n\tconst entries = useMemo(\n\t\t() =>\n\t\t\tisEmpty(entryPoints)\n\t\t\t\t? null\n\t\t\t\t: map(entryPoints, (Comp, appId) => {\n\t\t\t\t\t\tconst MemoComp = memo(Comp);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Mounter key={appId} appId={appId}>\n\t\t\t\t\t\t\t\t<MemoComp />\n\t\t\t\t\t\t\t</Mounter>\n\t\t\t\t\t\t);\n\t\t\t\t }),\n\t\t[entryPoints]\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"app-mounter\"\n\t\t\tkey=\"app-mounter\"\n\t\t\thidden\n\t\t\tstyle={{ height: 0, overflow: 'hidden' }}\n\t\t>\n\t\t\t{entries}\n\t\t</div>\n\t);\n};\n\nexport default AppLoaderMounter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport {\n\tAppRouteDescriptor,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { getEditSettingsForApp } from '../../network/edit-settings';\nimport { useAppStore } from '../../store/app';\nimport {\n\tnormalizeRoute,\n\tnormalizeSettingsView,\n\tnormalizeSearchView,\n\tnormalizeUtilityView,\n\tnormalizePrimaryAccessoryView,\n\tnormalizeSecondaryAccessoryView,\n\tnormalizeBoardView\n} from '../../store/app/utils';\nimport { useIntegrationsStore } from '../../store/integrations/store';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppSetters = (pkg: CarbonioModule): Record<string, Function> => {\n\tconst appSetters = useAppStore.getState().setters;\n\tconst integrations = useIntegrationsStore.getState();\n\treturn {\n\t\tupdatePrimaryBadge: appSetters.updatePrimaryBadge,\n\t\tupdateUtilityBadge: appSetters.updateUtilityBadge,\n\t\tsetAppContext: appSetters.setAppContext(pkg.name),\n\t\taddRoute: (route: Partial<AppRouteDescriptor>) =>\n\t\t\tappSetters.addRoute(normalizeRoute(route, pkg)),\n\t\tsetRouteVisibility: (routeId: string, visible: boolean) =>\n\t\t\tappSetters.setRouteVisibility(routeId, visible),\n\t\tremoveRoute: (routeId: string) => appSetters.removeRoute(routeId),\n\t\t// add board\n\t\taddBoardView: (data: Partial<BoardView>) =>\n\t\t\tappSetters.addBoardView(normalizeBoardView(data, pkg)),\n\t\t// remove board\n\t\tremoveBoardView: appSetters.removeBoardView,\n\t\t//\n\t\t// add settings\n\t\taddSettingsView: (data: Partial<SettingsView>) =>\n\t\t\tappSetters.addSettingsView(normalizeSettingsView(data, pkg)),\n\t\t// remove settings\n\t\tremoveSettingsView: appSetters.removeSettingsView,\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: Partial<SearchView>) =>\n\t\t\tappSetters.addSearchView(normalizeSearchView(data, pkg)),\n\t\t// remove search\n\t\tremoveSearchView: appSetters.removeSearchView,\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: Partial<UtilityView>) =>\n\t\t\tappSetters.addUtilityView(normalizeUtilityView(data, pkg)),\n\t\t// remove utility\n\t\tremoveUtilityView: appSetters.removeUtilityView,\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) =>\n\t\t\tappSetters.addPrimaryAccessoryView(normalizePrimaryAccessoryView(data, pkg)),\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: appSetters.removePrimaryAccessoryView,\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) =>\n\t\t\tappSetters.addSecondaryAccessoryView(normalizeSecondaryAccessoryView(data, pkg)),\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: appSetters.removeSecondaryAccessoryView,\n\t\tregisterFunctions: integrations.registerFunctions,\n\t\tremoveFunctions: integrations.removeFunctions,\n\t\tregisterActions: integrations.registerActions,\n\t\tremoveActions: integrations.removeActions,\n\t\tregisterComponents: integrations.registerComponents(pkg.name),\n\t\tremoveComponents: integrations.removeComponents,\n\t\teditSettings: getEditSettingsForApp(pkg.name)\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n/* eslint-disable no-param-reassign */\n\nimport produce from 'immer';\nimport { TFunction } from 'react-i18next';\nimport { AppState, PrimaryBarView, SettingsView } from '../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID, SHELL_APP_ID } from '../../constants';\nimport Feedback from '../../reporting/feedback';\nimport { SearchAppView } from '../../search/search-app-view';\nimport AccountWrapper from '../../settings/account-wrapper';\nimport GeneralSettings from '../../settings/general-settings';\nimport { settingsSubSections } from '../../settings/general-settings-sub-sections';\nimport { SettingsAppView } from '../../settings/settings-app-view';\nimport { SettingsSidebar } from '../../settings/settings-sidebar';\nimport { useAppStore } from '../../store/app';\n\nconst settingsRoute = {\n\troute: SETTINGS_APP_ID,\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID\n};\n\nconst settingsPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: 'SettingsModOutline',\n\tposition: 16,\n\tvisible: true,\n\tlabel: t('settings.app', 'Settings'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst settingsSecondaryBar = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsSidebar\n};\n\nconst settingsAppView = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsAppView\n};\nconst settingsGeneralView = (t: TFunction): SettingsView => ({\n\tid: 'general',\n\troute: 'general',\n\tapp: SHELL_APP_ID,\n\tcomponent: GeneralSettings,\n\ticon: 'SettingsModOutline',\n\tlabel: t('settings.general.general', 'General Settings'),\n\tposition: 1,\n\tsubSections: settingsSubSections(t)\n});\n\nconst settingsAccountsView = (t: TFunction): SettingsView => ({\n\tid: 'accounts',\n\troute: 'accounts',\n\tapp: SHELL_APP_ID,\n\tcomponent: AccountWrapper,\n\ticon: 'PersonOutline',\n\tlabel: t('settings.accounts', 'Accounts'),\n\tposition: 1\n});\n\nconst searchRoute = {\n\troute: SEARCH_APP_ID,\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID\n};\nconst searchPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: 'SearchModOutline',\n\tposition: 15,\n\tvisible: true,\n\tlabel: t('search.app', 'Search'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst searchAppView = {\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: SearchAppView\n};\n\nconst feedbackBoardView = {\n\tid: 'feedback',\n\tapp: SHELL_APP_ID,\n\tcomponent: Feedback,\n\troute: 'feedback'\n};\nexport const registerDefaultViews = (t: TFunction): void => {\n\tuseAppStore.setState(\n\t\tproduce((s: AppState) => {\n\t\t\ts.routes = {\n\t\t\t\t[SEARCH_APP_ID]: searchRoute,\n\t\t\t\t[SETTINGS_APP_ID]: settingsRoute\n\t\t\t};\n\t\t\ts.views.primaryBar = [searchPrimaryBar(t), settingsPrimaryBar(t)];\n\t\t\ts.views.secondaryBar = [settingsSecondaryBar];\n\t\t\ts.views.appView = [searchAppView, settingsAppView];\n\t\t\ts.views.settings = [settingsGeneralView(t), settingsAccountsView(t)];\n\t\t\ts.views.board = [feedbackBoardView];\n\t\t})\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forOwn } from 'lodash';\nimport { ComponentType } from 'react';\nimport { useAppStore } from '../../store/app';\nimport { getAppFunctions } from './app-loader-functions';\nimport { Spinner } from '../../ui-extras/spinner';\nimport { AppLink } from '../../ui-extras/app-link';\nimport * as CONSTANTS from '../../constants';\nimport type { CarbonioModule } from '../../../types';\nimport { getAppSetters } from './app-loader-setters';\nimport { report } from '../../reporting';\nimport SettingsHeader from '../../settings/components/settings-header';\n\nexport const _scripts: { [pkgName: string]: HTMLScriptElement } = {};\nlet _scriptId = 0;\n\nexport function loadApp(appPkg: CarbonioModule): Promise<CarbonioModule> {\n\treturn new Promise((_resolve, _reject) => {\n\t\tlet resolved = false;\n\t\tconst resolve = (): void => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_resolve(appPkg);\n\t\t\t}\n\t\t};\n\t\tconst reject = (e: unknown): void => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_reject(e);\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\tif (\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__ &&\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui']\n\t\t\t) {\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][appPkg.name] = {\n\t\t\t\t\treport: report(appPkg.name),\n\t\t\t\t\tAppLink,\n\t\t\t\t\tSpinner,\n\t\t\t\t\tSettingsHeader,\n\t\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t\t...CONSTANTS\n\t\t\t\t};\n\t\t\t}\n\n\t\t\twindow.__ZAPP_HMR_EXPORT__[appPkg.name] = (appComponent: ComponentType): void => {\n\t\t\t\tuseAppStore.setState((state) => ({\n\t\t\t\t\tentryPoints: {\n\t\t\t\t\t\t...state.entryPoints,\n\t\t\t\t\t\t[appPkg.name]: appComponent\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%c loaded ${appPkg.name}`,\n\t\t\t\t\t'color: white; background: #539507;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t\t\t\t);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tconst script = document.createElement('script');\n\t\t\tscript.setAttribute('type', 'text/javascript');\n\t\t\tscript.setAttribute('data-pkg_name', appPkg.name);\n\t\t\tscript.setAttribute('data-pkg_version', appPkg.version);\n\t\t\tscript.setAttribute('data-is_app', 'true');\n\t\t\tscript.setAttribute('src', `${appPkg.js_entrypoint}`);\n\t\t\tdocument.body.appendChild(script);\n\t\t\t_scripts[`${appPkg.name}-loader-${(_scriptId += 1)}`] = script;\n\t\t} catch (err: unknown) {\n\t\t\tconsole.error(err);\n\t\t\treject(err);\n\t\t}\n\t});\n}\n\nexport function unloadApps(): Promise<void> {\n\treturn Promise.resolve().then(() => {\n\t\tforOwn(_scripts, (script) => {\n\t\t\tif (script.parentNode) script.parentNode.removeChild(script);\n\t\t});\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, map } from 'lodash';\n\nimport { registerLocale, setDefaultLocale } from '@zextras/carbonio-design-system';\nimport type { Locale as DateFnsLocale } from 'date-fns';\nimport { CarbonioModule } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useReporter } from '../../reporting';\nimport { getUserSetting, useAccountStore } from '../../store/account';\nimport { getT, useI18nStore } from '../../store/i18n';\nimport { loadApp, unloadApps } from './load-app';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { localeList } from '../../settings/components/utils';\n\nconst getDateFnsLocale = (locale: string): Promise<DateFnsLocale> =>\n\timport(`date-fns/locale/${locale}/index.js`);\n\nexport function loadApps(apps: Array<CarbonioModule>): void {\n\tinjectSharedLibraries();\n\tconst appsToLoad = filter(apps, (app) => {\n\t\tif (app.name === SHELL_APP_ID) return false;\n\t\tif (app.attrKey && getUserSetting('attrs', app.attrKey) === 'FALSE') return false;\n\t\treturn true;\n\t});\n\tconsole.log(\n\t\t'%cLOADING APPS',\n\t\t'color: white; background: #2b73d2;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t);\n\tconst { settings } = useAccountStore.getState();\n\tconst locale =\n\t\t(settings?.prefs?.zimbraPrefLocale as string) ??\n\t\t(settings?.attrs?.zimbraLocale as string) ??\n\t\t'en';\n\tuseI18nStore.getState().actions.addI18n(appsToLoad, locale);\n\tconst localeObj = localeList(getT()).find((item) => item.id === locale);\n\tif (localeObj) {\n\t\tconst localeDateFnsKey = localeObj.dateFnsLocale || localeObj.value;\n\t\tgetDateFnsLocale(localeDateFnsKey).then((localeDateFns) => {\n\t\t\tregisterLocale(localeDateFnsKey, localeDateFns);\n\t\t\tsetDefaultLocale(localeDateFnsKey);\n\t\t});\n\t}\n\tuseReporter.getState().setClients(appsToLoad);\n\tPromise.allSettled(map(appsToLoad, (app) => loadApp(app)));\n}\n\nexport function unloadAllApps(): Promise<void> {\n\treturn unloadApps();\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as Lodash from 'lodash';\nimport * as ReactRouterDom from 'react-router-dom';\nimport * as Moment from 'moment';\nimport * as ReactI18n from 'react-i18next';\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\nimport * as ZappUI from '@zextras/carbonio-design-system';\nimport * as StyledComponents from 'styled-components';\nimport * as Preview from '@zextras/carbonio-ui-preview';\n\nexport function injectSharedLibraries(): void {\n\tif (!window.__ZAPP_SHARED_LIBRARIES__) {\n\t\twindow.__ZAPP_SHARED_LIBRARIES__ = {\n\t\t\treact: React,\n\t\t\t'react-dom': ReactDOM,\n\t\t\t'react-i18next': ReactI18n,\n\t\t\t'react-redux': ReactRedux,\n\t\t\tlodash: Lodash,\n\t\t\t'react-router-dom': ReactRouterDom,\n\t\t\tmoment: Moment,\n\t\t\t'styled-components': StyledComponents,\n\t\t\t'@reduxjs/toolkit': ReduxJSToolkit,\n\t\t\t'@zextras/carbonio-shell-ui': {},\n\t\t\t'@zextras/carbonio-design-system': ZappUI,\n\t\t\t'@zextras/carbonio-ui-preview': Preview\n\t\t};\n\t\twindow.__ZAPP_HMR_EXPORT__ = {};\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { SHELL_APP_ID } from '../constants';\nimport { useI18nStore } from '../store/i18n';\n\nconst BootstrapperContextProvider: FC = ({ children }) => {\n\tconst i18n = useI18nStore((s) => s.instances[SHELL_APP_ID]);\n\treturn <I18nextProvider i18n={i18n}>{children}</I18nextProvider>;\n};\nexport default BootstrapperContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tModalManager,\n\tModalManagerContext,\n\tSnackbarManager,\n\tSnackbarManagerContext\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useContext, useEffect } from 'react';\nimport { TFunction, useTranslation } from 'react-i18next';\nimport { BrowserRouter, Route, Switch, useHistory, useParams } from 'react-router-dom';\nimport { useBridge } from '../store/context-bridge';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport { BASENAME, IS_STANDALONE } from '../constants';\nimport { NotificationPermissionChecker } from '../notification/NotificationPermissionChecker';\nimport ShellView from '../shell/shell-view';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\n\nconst ContextBridge: FC = () => {\n\tconst history = useHistory();\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createSnackbar = useContext(SnackbarManagerContext) as Function;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createModal = useContext(ModalManagerContext) as Function;\n\tuseBridge({\n\t\tfunctions: {\n\t\t\tgetHistory: () => history,\n\t\t\tcreateSnackbar,\n\t\t\tcreateModal\n\t\t}\n\t});\n\treturn null;\n};\n\nconst StandaloneListener: FC = () => {\n\tconst { route } = useParams<{ route?: string }>();\n\tuseEffect(() => {\n\t\tif (route) useAppStore.setState({ standalone: route });\n\t}, [route]);\n\treturn null;\n};\n\nconst DefaultViewsRegister: FC<{ t: TFunction }> = ({ t }) => {\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst BootstrapperRouter: FC = () => {\n\tconst [t] = useTranslation();\n\treturn (\n\t\t<BrowserRouter basename={BASENAME}>\n\t\t\t<SnackbarManager>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t{IS_STANDALONE && (\n\t\t\t\t\t\t<Switch>\n\t\t\t\t\t\t\t<Route path={'/:route'}>\n\t\t\t\t\t\t\t\t<StandaloneListener />\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t</Switch>\n\t\t\t\t\t)}\n\t\t\t\t\t<DefaultViewsRegister t={t} />\n\t\t\t\t\t<NotificationPermissionChecker />\n\t\t\t\t\t<ContextBridge />\n\t\t\t\t\t<AppLoaderMounter />\n\t\t\t\t\t<ShellView />\n\t\t\t\t</ModalManager>\n\t\t\t</SnackbarManager>\n\t\t</BrowserRouter>\n\t);\n};\nexport default BootstrapperRouter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect } from 'react';\nimport { unloadAllApps } from './app/load-apps';\nimport BootstrapperContextProvider from './bootstrapper-provider';\nimport BootstrapperRouter from './bootstrapper-router';\nimport { init } from './init';\nimport { ThemeProvider } from './theme-provider';\n\nconst Bootstrapper: FC = () => {\n\tuseEffect(() => {\n\t\tinit();\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, []);\n\treturn (\n\t\t<ThemeProvider>\n\t\t\t<BootstrapperContextProvider>\n\t\t\t\t<BootstrapperRouter />\n\t\t\t</BootstrapperContextProvider>\n\t\t</ThemeProvider>\n\t);\n};\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { getInfo } from '../network/get-info';\nimport { useAppStore } from '../store/app';\nimport { loadApps } from './app/load-apps';\nimport { loginConfig } from '../network/login-config';\n\nexport const init = (): void => {\n\tPromise.all([loginConfig(), getInfo()]).finally(() => {\n\t\tloadApps(Object.values(useAppStore.getState().apps));\n\t});\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tcreateContext,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseState\n} from 'react';\nimport {\n\tgenerateColorSet,\n\tThemeProvider as UIThemeProvider,\n\tThemeProviderProps as UIThemeProviderProps\n} from '@zextras/carbonio-design-system';\nimport { auto, disable, enable, setFetchMethod } from 'darkreader';\nimport { reduce } from 'lodash';\nimport { createGlobalStyle, DefaultTheme } from 'styled-components';\nimport { DarkReaderPropValues, ThemeExtension } from '../../types';\nimport { darkReaderDynamicThemeFixes, LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { useLocalStorage } from '../shell/hooks';\nimport { ScalingSettings } from '../../types/settings';\nimport { getAutoScalingFontSize } from '../settings/components/utils';\nimport { useGetPrimaryColor } from './use-get-primary-color';\n\nsetFetchMethod(window.fetch);\n\ninterface ThemeCallbacks {\n\taddExtension: (newExtension: ThemeExtension, id: string) => void;\n\tsetDarkReaderState: (newState: DarkReaderPropValues) => void;\n}\n\nexport const ThemeCallbacksContext = createContext<ThemeCallbacks>({\n\taddExtension: () => {\n\t\tthrow Error('Not implemented');\n\t},\n\tsetDarkReaderState: () => {\n\t\tthrow Error('not implemented');\n\t}\n});\n\ntype CustomTheme = Partial<Omit<DefaultTheme, 'palette'>> & {\n\tpalette?: Partial<DefaultTheme['palette']>;\n};\n\nconst paletteExtension =\n\t(customTheme: CustomTheme = {}) =>\n\t(theme: DefaultTheme): DefaultTheme => ({\n\t\t...theme,\n\t\t...customTheme,\n\t\tpalette: {\n\t\t\t...theme.palette,\n\t\t\t...customTheme.palette,\n\t\t\tshared: {\n\t\t\t\tregular: '#FFB74D',\n\t\t\t\thover: '#FFA21A',\n\t\t\t\tactive: '#FFA21A',\n\t\t\t\tfocus: '#FF9800',\n\t\t\t\tdisabled: '#FFD699'\n\t\t\t},\n\t\t\tlinked: {\n\t\t\t\tregular: '#AB47BC',\n\t\t\t\thover: '#8B3899',\n\t\t\t\tactive: '#8B3899',\n\t\t\t\tfocus: '#7A3187',\n\t\t\t\tdisabled: '#DDB4E4'\n\t\t\t}\n\t\t}\n\t});\n\nconst iconExtension: ThemeExtension = (theme) => ({\n\t...theme,\n\ticons: {\n\t\t...theme.icons,\n\t\tShared: theme.icons.ArrowCircleRight,\n\t\tLinked: theme.icons.ArrowCircleLeft\n\t}\n});\n\ninterface GlobalStyledProps {\n\tbaseFontSize: number;\n}\n\nconst GlobalStyle = createGlobalStyle<GlobalStyledProps>`\n html {\n font-size: ${({ baseFontSize }): string => `${baseFontSize}%`};\n }\n`;\n\ninterface ThemeProviderProps {\n\tchildren?: React.ReactNode | React.ReactNode[];\n}\nexport const ThemeProvider = ({ children }: ThemeProviderProps): JSX.Element => {\n\tconst [localStorageSettings] = useLocalStorage<ScalingSettings>(LOCAL_STORAGE_SETTINGS_KEY, {});\n\n\tconst [extensions, setExtensions] = useState<Partial<Record<keyof DefaultTheme, ThemeExtension>>>(\n\t\t{}\n\t);\n\n\tconst primaryColor = useGetPrimaryColor();\n\n\tuseLayoutEffect(() => {\n\t\tconst customThemePalette: Partial<DefaultTheme['palette']> = primaryColor\n\t\t\t? { primary: generateColorSet({ regular: primaryColor }) }\n\t\t\t: {};\n\t\tsetExtensions((extension) => ({\n\t\t\t...extension,\n\t\t\tpalette: paletteExtension({\n\t\t\t\tpalette: customThemePalette\n\t\t\t}),\n\t\t\ticons: iconExtension\n\t\t}));\n\t}, [primaryColor]);\n\n\tconst [darkReaderState, setDarkReaderState] = useState<DarkReaderPropValues>('disabled');\n\n\tuseEffect(() => {\n\t\tswitch (darkReaderState) {\n\t\t\tcase 'disabled':\n\t\t\t\tauto(false);\n\t\t\t\tdisable();\n\t\t\t\tbreak;\n\t\t\tcase 'enabled':\n\t\t\t\tauto(false);\n\t\t\t\tenable(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\tauto(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}, [darkReaderState]);\n\n\tconst aggregatedExtensions = useCallback<NonNullable<UIThemeProviderProps['extension']>>(\n\t\t(theme) =>\n\t\t\treduce(\n\t\t\t\textensions,\n\t\t\t\t(themeAccumulator, themeExtensionFn) => {\n\t\t\t\t\tif (themeExtensionFn) {\n\t\t\t\t\t\treturn themeExtensionFn(themeAccumulator);\n\t\t\t\t\t}\n\t\t\t\t\treturn themeAccumulator;\n\t\t\t\t},\n\t\t\t\ttheme\n\t\t\t),\n\t\t[extensions]\n\t);\n\n\tconst addExtension = useCallback<ThemeCallbacks['addExtension']>((newExtension, id) => {\n\t\tsetExtensions((ext) => ({ ...ext, [id]: newExtension }));\n\t}, []);\n\n\tconst baseFontSize = useMemo<GlobalStyledProps['baseFontSize']>(() => {\n\t\tconst savedScalingValueSetting = localStorageSettings['settings.appearance_setting.scaling'];\n\t\tif (savedScalingValueSetting !== undefined) {\n\t\t\treturn savedScalingValueSetting;\n\t\t}\n\t\treturn getAutoScalingFontSize();\n\t}, [localStorageSettings]);\n\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={{ addExtension, setDarkReaderState }}>\n\t\t\t\t<GlobalStyle baseFontSize={baseFontSize} />\n\t\t\t\t{children}\n\t\t\t</ThemeCallbacksContext.Provider>\n\t\t</UIThemeProvider>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useTheme } from '@zextras/carbonio-design-system';\nimport { useEffect, useMemo } from 'react';\nimport { size } from 'lodash';\nimport { useLocalStorage } from '../shell/hooks';\nimport { LOCAL_STORAGE_LAST_PRIMARY_KEY } from '../constants';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\n\nexport function useGetPrimaryColor(): string | undefined {\n\tconst [localStorageLastPrimary, setLocalStorageLastPrimary] = useLocalStorage<\n\t\tPartial<Record<'dark' | 'light', string>> | undefined\n\t>(LOCAL_STORAGE_LAST_PRIMARY_KEY, undefined);\n\tconst { carbonioWebUiPrimaryColor, carbonioWebUiDarkPrimaryColor } = useLoginConfigStore();\n\tconst { darkModeEnabled, darkReaderStatus } = useDarkMode();\n\tconst theme = useTheme();\n\n\tconst primaryColor = useMemo(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tif (carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor) {\n\t\t\t\tif (darkModeEnabled) {\n\t\t\t\t\treturn carbonioWebUiDarkPrimaryColor || carbonioWebUiPrimaryColor;\n\t\t\t\t}\n\t\t\t\treturn carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor;\n\t\t\t}\n\t\t}\n\t\tif (localStorageLastPrimary && size(localStorageLastPrimary) > 0) {\n\t\t\treturn (\n\t\t\t\t(darkModeEnabled && (localStorageLastPrimary.dark || localStorageLastPrimary.light)) ||\n\t\t\t\tlocalStorageLastPrimary.light ||\n\t\t\t\tlocalStorageLastPrimary.dark\n\t\t\t);\n\t\t}\n\t\tif (theme) {\n\t\t\treturn theme.palette.primary.regular;\n\t\t}\n\t\treturn undefined;\n\t}, [\n\t\tcarbonioWebUiDarkPrimaryColor,\n\t\tcarbonioWebUiPrimaryColor,\n\t\tdarkModeEnabled,\n\t\tdarkReaderStatus,\n\t\tlocalStorageLastPrimary,\n\t\ttheme\n\t]);\n\n\tuseEffect(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tsetLocalStorageLastPrimary((prevState) => ({\n\t\t\t\t...prevState,\n\t\t\t\t[darkModeEnabled ? 'dark' : 'light']: primaryColor\n\t\t\t}));\n\t\t}\n\t}, [darkModeEnabled, darkReaderStatus, primaryColor, setLocalStorageLastPrimary]);\n\n\treturn primaryColor;\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { DynamicThemeFix } from 'darkreader';\n\n/*\n\treference: https://zextras.atlassian.net/wiki/spaces/IRIS/pages/223215854/UI+Guidelines+and+theming\n*/\nexport const ZIMBRA_STANDARD_COLORS = [\n\t{ zValue: 0, hex: '#000000', zLabel: 'black' },\n\t{ zValue: 1, hex: '#2b73d2', zLabel: 'blue' },\n\t{ zValue: 2, hex: '#29B6F6', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#66BB6A', zLabel: 'green' },\n\t{ zValue: 4, hex: '#7e57c2', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#ef5350', zLabel: 'red' },\n\t{ zValue: 6, hex: '#ffc107', zLabel: 'yellow' },\n\t{ zValue: 7, hex: '#edaeab', zLabel: 'pink' },\n\t{ zValue: 8, hex: '#828282', zLabel: 'gray' },\n\t{ zValue: 9, hex: '#FF7043', zLabel: 'orange' }\n];\n\nexport const FOLDERS = {\n\tUSER_ROOT: '1',\n\tINBOX: '2',\n\tTRASH: '3',\n\tSPAM: '4',\n\tSENT: '5',\n\tDRAFTS: '6',\n\tCONTACTS: '7',\n\tTAGS: '8',\n\tCONVERSATIONS: '9',\n\tCALENDAR: '10',\n\tROOT: '11',\n\tNOTEBOOK: '12', // no longer created in new mailboxes since Helix (bug 39647). old mailboxes may still contain a system folder with id 12\n\tAUTO_CONTACTS: '13',\n\tIM_LOGS: '14',\n\tTASKS: '15',\n\tBRIEFCASE: '16',\n\tLAST_SYSTEM_FOLDER_POSITION: '16.1'\n};\n\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const ACCOUNTS_APP_ID = 'accounts';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES = {\n\tCONVERSATION: 'conversation',\n\tCONVERSATION_lIST: 'conversation_list',\n\tMESSAGE: 'message',\n\tMESSAGE_lIST: 'message_list',\n\tCONTACT: 'contact',\n\tCONTACT_lIST: 'contact_list',\n\tINVITE: 'invite',\n\tINVITE_lIST: 'invite_list',\n\tAPPOINTMENT: 'appointment',\n\tAPPOINTMENT_lIST: 'appointment_list',\n\tFOLDER: 'folder',\n\tFOLDER_lIST: 'folder_list',\n\tCALENDAR: 'calendar',\n\tCALENDAR_lIST: 'calendar_list',\n\tNEW: 'new'\n};\n\nexport const darkReaderDynamicThemeFixes: DynamicThemeFix = {\n\tignoreImageAnalysis: ['.no-dr-invert *'],\n\tinvert: [],\n\tcss: `\n\t\t.tox, .force-white-bg, .tox-swatches-menu, .tox .tox-edit-area__iframe {\n\t\t\tbackground-color: #fff !important;\n\t\t\tbackground: #fff !important;\n\t\t}\n\t`,\n\tignoreInlineStyle: ['.tox-menu *'],\n\tdisableStyleSheetsProxy: false\n};\n\nconst base = '/carbonio/';\n\nconst standaloneBase = `${base}standalone`;\n\nexport const IS_STANDALONE = window.location.pathname.startsWith(standaloneBase);\nexport const BASENAME = IS_STANDALONE ? standaloneBase : base;\nexport const EMAIL_VALIDATION_REGEX =\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars, max-len, no-control-regex\n\t/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\n\nexport const ROOT_NAME = 'USER_ROOT';\n\nexport const DARK_READER_VALUES = ['auto', 'enabled', 'disabled'] as const;\n\nexport const FOLDER_VIEW = {\n\tsearch_folder: 'search folder',\n\ttag: 'tag',\n\tconversation: 'conversation',\n\tmessage: 'message',\n\tcontact: 'contact',\n\tdocument: 'document',\n\tappointment: 'appointment',\n\tvirtual_conversation: 'virtual conversation',\n\tremote_folder: 'remote folder',\n\twiki: 'wiki',\n\ttask: 'task',\n\tchat: 'chat'\n};\nexport const LOCAL_STORAGE_SETTINGS_KEY = 'settings';\nexport const LOCAL_STORAGE_LAST_PRIMARY_KEY = 'config';\nexport const LOCAL_STORAGE_SEARCH_KEY = 'search_suggestions';\nexport const SCALING_OPTIONS = [\n\t{ value: 75, label: 'xs' },\n\t{ value: 87.5, label: 's' },\n\t{ value: 100, label: 'm' },\n\t{ value: 112.5, label: 'l' },\n\t{ value: 125, label: 'xl' }\n] as const;\nexport const BASE_FONT_SIZE = 100;\nexport const SCALING_LIMIT = {\n\tWIDTH: 1400,\n\tHEIGHT: 900,\n\tDPR: 2 // device pixel ratio\n} as const;\n\nexport const LOGIN_V3_CONFIG_PATH = '/zx/login/v3/config';\nexport const DARK_READER_PROP_KEY = 'zappDarkreaderMode';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useEffect, useState } from 'react';\nimport { useDarkReaderResultValue } from './use-dark-reader-result-value';\nimport { getPrefersColorSchemeDarkMedia } from './utils';\nimport type { DarkReaderPropValues } from '../../types';\n\nexport const useDarkMode = (): {\n\tdarkModeEnabled: boolean;\n\tdarkReaderStatus: DarkReaderPropValues | undefined;\n} => {\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\n\tconst [darkModeEnabled, setDarkModeEnabled] = useState<boolean>(false);\n\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkModeEnabled(\n\t\t\t\t(darkReaderResultValue === 'auto' && getPrefersColorSchemeDarkMedia().matches) ||\n\t\t\t\t\tdarkReaderResultValue === 'enabled'\n\t\t\t);\n\t\t}\n\t}, [darkReaderResultValue]);\n\n\tuseEffect(() => {\n\t\tconst setCallback = (event: MediaQueryListEvent): void => {\n\t\t\tsetDarkModeEnabled(event.matches);\n\t\t};\n\t\tgetPrefersColorSchemeDarkMedia().addEventListener('change', setCallback);\n\t\treturn (): void => {\n\t\t\tgetPrefersColorSchemeDarkMedia().removeEventListener('change', setCallback);\n\t\t};\n\t}, []);\n\n\treturn { darkModeEnabled, darkReaderStatus: darkReaderResultValue };\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useMemo } from 'react';\nimport { find, size } from 'lodash';\nimport { useUserSettings } from '../store/account';\nimport { useLoginConfigStore } from '../store/login/store';\nimport type { DarkReaderPropValues, ZappDarkreaderModeZimletProp, ZimletProp } from '../../types';\nimport { DARK_READER_PROP_KEY, DARK_READER_VALUES, SHELL_APP_ID } from '../constants';\n\nexport function isZappDarkreaderModeZimletProp(\n\tprop: ZimletProp\n): prop is ZappDarkreaderModeZimletProp {\n\treturn prop.name === DARK_READER_PROP_KEY && prop.zimlet === SHELL_APP_ID;\n}\n\nexport function isDarkReaderPropValues(\n\tmaybeDarkReaderPropValue: unknown\n): maybeDarkReaderPropValue is DarkReaderPropValues {\n\treturn (\n\t\ttypeof maybeDarkReaderPropValue === 'string' &&\n\t\tDARK_READER_VALUES.includes(maybeDarkReaderPropValue as DarkReaderPropValues)\n\t);\n}\n\n// return the final calculated value between ZappDarkreaderModeZimletProp value and carbonioWebUiDarkMode config\nexport function useDarkReaderResultValue(): undefined | DarkReaderPropValues {\n\tconst settings = useUserSettings();\n\tconst { carbonioWebUiDarkMode } = useLoginConfigStore();\n\n\tconst settingReceived = useMemo(\n\t\t() => size(settings.prefs) > 0 || size(settings.attrs) > 0 || size(settings.props) > 0,\n\t\t[settings]\n\t);\n\n\treturn useMemo(() => {\n\t\tif (settingReceived) {\n\t\t\tconst result = find<ZimletProp, ZappDarkreaderModeZimletProp>(\n\t\t\t\tsettings.props,\n\t\t\t\t(value): value is ZappDarkreaderModeZimletProp => isZappDarkreaderModeZimletProp(value)\n\t\t\t)?._content;\n\n\t\t\treturn result || (carbonioWebUiDarkMode && 'enabled') || 'disabled';\n\t\t}\n\t\treturn undefined;\n\t}, [settingReceived, settings, carbonioWebUiDarkMode]);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const getPrefersColorSchemeDarkMedia = (): MediaQueryList =>\n\twindow.matchMedia('(prefers-color-scheme: dark)');\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { To } from 'history';\nimport { find, startsWith, replace, trim } from 'lodash';\nimport { useMemo, useCallback } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { AppRoute, HistoryParams } from '../../types';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useSearchStore } from '../search/search-store';\nimport { useRoutes, getRoutes } from '../store/app';\nimport { useContextBridge } from '../store/context-bridge';\n\nexport const useCurrentRoute = (): AppRoute | undefined => {\n\tconst location = useLocation();\n\tconst routes = useRoutes();\n\treturn useMemo(\n\t\t() => find(routes, (r) => startsWith(trim(location.pathname, '/'), r.route)),\n\t\t[location.pathname, routes]\n\t);\n};\nexport const getCurrentRoute = (): AppRoute | undefined => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\tconst routes = getRoutes();\n\tconst route = find(routes, (r) => startsWith(trim(history.location.pathname, '/'), r.route));\n\tif (route?.route === SEARCH_APP_ID) {\n\t\treturn {\n\t\t\t...route,\n\t\t\troute: `${route.route}/${useSearchStore.getState().module}`\n\t\t};\n\t}\n\treturn route;\n};\n\nexport const parseParams = (params: HistoryParams): To => {\n\tif (typeof params === 'string') {\n\t\treturn replace(`/${getCurrentRoute()?.route}/${params}`, '//', '/');\n\t}\n\tconst routeToApply = params.route\n\t\t? find(getRoutes(), (r) => r.id === params.route || r.route === params.route)\n\t\t: getCurrentRoute();\n\treturn typeof params.path === 'string'\n\t\t? replace(`/${routeToApply?.route}/${params.path}`, '//', '/')\n\t\t: {\n\t\t\t\tsearch: params.path.search,\n\t\t\t\thash: params.path.hash,\n\t\t\t\tpathname: replace(`/${routeToApply?.route}/${params.path.pathname}`, '//', '/')\n\t\t };\n};\n\nexport const usePushHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.push(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport const useReplaceHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.replace(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport function useGoBackHistoryCallback(): () => void {\n\tconst history = useHistory();\n\treturn history.goBack;\n}\n\nexport const pushHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.push(parseParams(params));\n};\n\nexport const replaceHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.replace(parseParams(params));\n};\n\nexport const goBackHistory = (): void =>\n\tuseContextBridge.getState().functions.getHistory?.().goBack();\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, find, findIndex, forEach, map, reduce, isArray } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAccountStore } from '../store/account';\nimport {\n\tAccountState,\n\tMods,\n\tAccount,\n\tCreateIdentityResponse,\n\tModifyPropertiesResponse,\n\tModifyPrefsResponse,\n\tModifyIdentityResponse,\n\tRevokeRightsResponse,\n\tDeleteIdentityResponse,\n\tGrantRightsResponse\n} from '../../types';\nimport { getXmlSoapFetch } from './fetch';\n\ntype EditSettingsBatchResponse = {\n\tModifyPropertiesResponse?: ModifyPropertiesResponse[];\n\tModifyPrefsResponse?: ModifyPrefsResponse[];\n\tModifyIdentityResponse?: ModifyIdentityResponse[];\n\tDeleteIdentityResponse?: DeleteIdentityResponse[];\n\tCreateIdentityResponse?: CreateIdentityResponse[];\n\tRevokeRightsResponse?: RevokeRightsResponse[];\n\tGrantRightsResponse?: GrantRightsResponse[];\n};\n\nexport const editSettings = (\n\tmods: Partial<Mods>,\n\tappId: string = SHELL_APP_ID\n): Promise<EditSettingsBatchResponse> =>\n\tgetXmlSoapFetch(SHELL_APP_ID)<string, EditSettingsBatchResponse>(\n\t\t'Batch',\n\t\t`<BatchRequest xmlns=\"urn:zimbra\" onerror=\"stop\">${\n\t\t\tmods.props\n\t\t\t\t? `<ModifyPropertiesRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t(prop, key) => `<prop name=\"${key}\" zimlet=\"${prop.app ?? appId}\">${prop.value}</prop>`\n\t\t\t\t )}</ModifyPropertiesRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.prefs\n\t\t\t\t? `<ModifyPrefsRequest xmlns=\"urn:zimbraAccount\">${map(mods.prefs, (pref, key) =>\n\t\t\t\t\t\tisArray(pref)\n\t\t\t\t\t\t\t? map(pref, (p) => `<pref name=\"${key}\">${p}</pref>`).join('')\n\t\t\t\t\t\t\t: `<pref name=\"${key}\">${pref}</pref>`\n\t\t\t\t ).join('')}</ModifyPrefsRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.modifyList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.modifyList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<ModifyIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${\n\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t}\">${map(item.prefs, (value, key) => `<a name=\"${key}\">${value}</a>`).join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t)}</identity></ModifyIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.deleteList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.deleteList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<DeleteIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${item}\"/></DeleteIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.createList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.createList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${item.prefs.requestId}\"><identity name=\"${item.prefs.zimbraPrefIdentityName}\"><a name=\"zimbraPrefIdentityName\">${item.prefs.zimbraPrefIdentityName}</a><a name=\"zimbraPrefFromDisplay\">${item.prefs.zimbraPrefFromDisplay}</a><a name=\"zimbraPrefFromAddress\">${item.prefs.zimbraPrefFromAddress}</a><a name=\"zimbraPrefFromAddressType\">sendAs</a><a name=\"zimbraPrefReplyToEnabled\">${item.prefs.zimbraPrefReplyToEnabled}</a><a name=\"zimbraPrefReplyToDisplay\">${item.prefs.zimbraPrefReplyToDisplay}</a><a name=\"zimbraPrefReplyToAddress\">${item.prefs.zimbraPrefReplyToAddress}</a><a name=\"zimbraPrefDefaultSignatureId\">${item.prefs.zimbraPrefDefaultSignatureId}</a><a name=\"zimbraPrefForwardReplySignatureId\">${item.prefs.zimbraPrefForwardReplySignatureId}</a><a name=\"zimbraPrefWhenSentToEnabled\">${item.prefs.zimbraPrefWhenSentToEnabled}</a><a name=\"zimbraPrefWhenInFoldersEnabled\">${item.prefs.zimbraPrefWhenInFoldersEnabled}</a></identity></CreateIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.permissions\n\t\t\t\t? `<RevokeRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? map(mods.permissions.freeBusy.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'dom')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? map(mods.permissions.inviteRight.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }</RevokeRightsRequest><GrantRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"1\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'dom') {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t// FIXME: usage differs from the declaration of the AccountACE\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"viewFreeBusy\" gt=\"${mods.permissions?.freeBusy.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions.inviteRight.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.inviteRight.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t// FIXME: usage differs from the declaration of the AccountACE\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }\n\t</GrantRightsRequest>`\n\t\t\t\t: ''\n\t\t}</BatchRequest>`\n\t).then((r) => {\n\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\tsettings: {\n\t\t\t\t...s.settings,\n\t\t\t\tprefs: reduce(\n\t\t\t\t\tmods.prefs,\n\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t}),\n\t\t\t\t\ts.settings.prefs\n\t\t\t\t),\n\t\t\t\tprops: reduce(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\tif (propIndex >= 0) {\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[propIndex] = {\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\ts.settings.props\n\t\t\t\t)\n\t\t\t},\n\t\t\taccount: {\n\t\t\t\t...s.account,\n\t\t\t\tdisplayName:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\tidentities: {\n\t\t\t\t\tidentity:\n\t\t\t\t\t\ttypeof s.account !== 'undefined'\n\t\t\t\t\t\t\t? reduce(\n\t\t\t\t\t\t\t\t\tmods?.identity?.modifyList,\n\t\t\t\t\t\t\t\t\t(acc, { id, prefs }) => {\n\t\t\t\t\t\t\t\t\t\tconst tempResult = [];\n\t\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\t\t\t\t\t\t\t\t\t\t\tforEach(Object.keys(prefs), (item, _index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs[item] = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem === 'zimbraPrefIdentityName' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name !== 'DEFAULT'\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\ttempResult.push(prefs);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name !== 'DEFAULT'),\n\t\t\t\t\t\t\t\t\t\t...map(r?.CreateIdentityResponse, (item) => item.identity[0]),\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name === 'DEFAULT')\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t} as Account\n\t\t}));\n\t\treturn r;\n\t});\n\nexport const getEditSettingsForApp =\n\t(app: string) =>\n\t(mods: Mods): Promise<EditSettingsBatchResponse & { type?: 'fulfilled' }> =>\n\t\teditSettings(mods, app).then((r) => ({\n\t\t\t...r,\n\t\t\ttype: 'fulfilled'\n\t\t}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, map, maxBy } from 'lodash';\nimport { goToLogin } from './go-to-login';\nimport {\n\tAccount,\n\tErrorSoapBodyResponse,\n\tErrorSoapResponse,\n\tSoapContext,\n\tSoapResponse\n} from '../../types';\nimport { userAgent } from './user-agent';\nimport { report } from '../reporting';\nimport { useAccountStore } from '../store/account';\nimport { IS_STANDALONE, SHELL_APP_ID } from '../constants';\nimport { useNetworkStore } from '../store/network';\nimport { handleSync } from '../store/network/utils';\n\nexport const noOp = (): void => {\n\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\tgetSoapFetch(SHELL_APP_ID)(\n\t\t'NoOp',\n\t\tuseNetworkStore.getState().pollingInterval === 500\n\t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n\t\t\t: { _jsns: 'urn:zimbraMail' }\n\t);\n};\n\nconst getAccount = (\n\tacc?: Account,\n\totherAccount?: string\n): { by: string; _content: string } | undefined => {\n\tif (otherAccount) {\n\t\treturn {\n\t\t\tby: 'name',\n\t\t\t_content: otherAccount\n\t\t};\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn {\n\t\t\t\tby: 'name',\n\t\t\t\t_content: acc.name\n\t\t\t};\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn {\n\t\t\t\tby: 'id',\n\t\t\t\t_content: acc.id\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n};\n\nconst getXmlAccount = (acc?: Account, otherAccount?: string): string => {\n\tif (otherAccount) {\n\t\treturn `<account by=\"name\">${otherAccount}</account>`;\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn `<account by=\"name\">${acc.name}</account>`;\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn `<account by=\"id\">${acc.id}</account>`;\n\t\t}\n\t}\n\treturn '';\n};\n\nconst getXmlSession = (): string => {\n\tconst sessionId = useNetworkStore.getState().session?.id;\n\tif (sessionId) {\n\t\treturn `<session id=\"${sessionId}\"/>`;\n\t}\n\treturn '';\n};\n\nconst normalizeContext = (context: any): SoapContext => {\n\tif (context.notify) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontext.notify = map(context.notify, (notify) => ({\n\t\t\t...notify,\n\t\t\tdeleted: notify.deleted?.id?.split(',')\n\t\t}));\n\t}\n\treturn context;\n};\n\nconst handleResponse = <R>(api: string, res: SoapResponse<R>): R | ErrorSoapBodyResponse => {\n\tconst { pollingInterval, noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tclearTimeout(noOpTimeout);\n\tif (res.Body.Fault) {\n\t\tif (\n\t\t\tfind(\n\t\t\t\t['service.AUTH_REQUIRED', 'service.AUTH_EXPIRED'],\n\t\t\t\t(code) => code === (<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Code\n\t\t\t)\n\t\t) {\n\t\t\tif (IS_STANDALONE) {\n\t\t\t\tuseAccountStore.setState({ authenticated: false });\n\t\t\t} else {\n\t\t\t\tgoToLogin();\n\t\t\t}\n\t\t}\n\t\tconsole.error(\n\t\t\tnew Error(\n\t\t\t\t`${(<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Detail}: ${\n\t\t\t\t\t(<ErrorSoapResponse>res).Body.Fault.Reason?.Text\n\t\t\t\t}`\n\t\t\t)\n\t\t);\n\t}\n\tif (res.Header?.context) {\n\t\tconst responseUsedQuota =\n\t\t\tres.Header.context?.refresh?.mbx?.[0]?.s ??\n\t\t\tres.Header.context?.notify?.[0]?.modified?.mbx?.[0]?.s;\n\t\tconst _context = normalizeContext(res.Header.context);\n\t\tconst seq = maxBy(_context.notify, 'seq')?.seq ?? 0;\n\t\thandleSync(_context);\n\t\tuseAccountStore.setState({\n\t\t\tusedQuota: responseUsedQuota ?? usedQuota\n\t\t});\n\t\tconst nextPollingInterval = (res?.Body as { waitDisallowed?: number })?.waitDisallowed\n\t\t\t? 10000\n\t\t\t: pollingInterval;\n\t\tuseNetworkStore.setState({\n\t\t\tnoOpTimeout: setTimeout(() => noOp(), nextPollingInterval),\n\t\t\tpollingInterval: nextPollingInterval,\n\t\t\tseq,\n\t\t\t..._context\n\t\t});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\treturn res?.Body?.Fault ? (res.Body as ErrorSoapBodyResponse) : (res.Body[`${api}Response`] as R);\n};\nexport const getSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(\n\t\tapi: string,\n\t\tbody: Request,\n\t\totherAccount?: string,\n\t\tsignal?: AbortSignal\n\t): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\tconst { notify, session } = useNetworkStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tsignal,\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tBody: {\n\t\t\t\t\t[`${api}Request`]: body\n\t\t\t\t},\n\t\t\t\tHeader: {\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\t_jsns: 'urn:zimbra',\n\t\t\t\t\t\tnotify: notify?.[0]?.seq\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tseq: notify?.[0]?.seq\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tsession: session ?? {},\n\t\t\t\t\t\taccount: getAccount(account as Account, otherAccount),\n\t\t\t\t\t\tuserAgent: {\n\t\t\t\t\t\t\tname: userAgent,\n\t\t\t\t\t\t\tversion: zimbraVersion\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n\nexport const getXmlSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(api: string, body: Request, otherAccount?: string): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'content-type': 'application/soap+xml'\n\t\t\t},\n\t\t\tbody: `<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\t\t<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\">\n\t\t\t<soap:Header><context xmlns=\"urn:zimbra\"><userAgent name=\"${userAgent}\" version=\"${zimbraVersion}\"/>${getXmlSession()}${getXmlAccount(\n\t\t\t\taccount,\n\t\t\t\totherAccount\n\t\t\t)}<format type=\"js\"/></context></soap:Header>\n\t\t\t<soap:Body>${body}</soap:Body>\n\t\t</soap:Envelope>`\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n\nexport const shellSoap = getSoapFetch(SHELL_APP_ID);\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { normalizeAccount } from '../store/account/normalization';\nimport { AccountSettings, GetInfoResponse, CarbonioModule } from '../../types';\nimport { goToLogin } from './go-to-login';\nimport { getSoapFetch } from './fetch';\nimport { useAccountStore } from '../store/account';\nimport { useNetworkStore } from '../store/network';\n\nconst parsePollingInterval = (settings: AccountSettings): number => {\n\tconst pollingPref = (settings.prefs?.zimbraPrefMailPollingInterval ?? '') as string;\n\tif (pollingPref === '500') {\n\t\treturn 500;\n\t}\n\tconst pollingValue = parseInt(pollingPref, 10);\n\tif (Number.isNaN(pollingValue)) {\n\t\treturn 30000;\n\t}\n\tif (pollingPref.includes('m')) {\n\t\treturn pollingValue * 60 * 1000;\n\t}\n\treturn pollingValue * 1000;\n};\n\nexport const getInfo = (): Promise<void> =>\n\tfetch('/static/iris/components.json')\n\t\t.then((r) => r.json())\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore.getState().setters.addApps(\n\t\t\t\tfilter(components, ({ type }) => {\n\t\t\t\t\tif (type === 'shell' || type === 'carbonio') return true;\n\t\t\t\t\treturn false;\n\t\t\t\t})\n\t\t\t);\n\t\t})\n\t\t.then(() =>\n\t\t\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t\t\t})\n\t\t)\n\t\t.then((res: GetInfoResponse): void => {\n\t\t\tif (res) {\n\t\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\t\tuseNetworkStore.setState({\n\t\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t\t});\n\t\t\t\tuseAccountStore.setState({\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\taccount,\n\t\t\t\t\tsettings,\n\t\t\t\t\tzimbraVersion: version\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.catch((err: Error) => {\n\t\t\tconsole.error(err);\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const goToLogin: () => void = () => {\n\twindow?.location?.assign?.(`${window?.location?.origin}/static/login`);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { LoginConfigStore } from '../../types/loginConfig';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { LOGIN_V3_CONFIG_PATH } from '../constants';\n\nexport const loginConfig = (): Promise<void> =>\n\tfetch(LOGIN_V3_CONFIG_PATH)\n\t\t.then((response) => response.json())\n\t\t.then((data: LoginConfigStore) => {\n\t\t\tuseLoginConfigStore.setState(data);\n\t\t\tconst favicon = document.getElementById('favicon');\n\t\t\tif (favicon && favicon instanceof HTMLLinkElement) {\n\t\t\t\tfavicon.href = data.carbonioWebUiFavicon\n\t\t\t\t\t? data.carbonioWebUiFavicon\n\t\t\t\t\t: `${BASE_PATH}favicon.svg`;\n\t\t\t}\n\t\t\tif (data.carbonioWebUiTitle) {\n\t\t\t\tdocument.title = data.carbonioWebUiTitle;\n\t\t\t}\n\t\t})\n\t\t.catch((reason) => {\n\t\t\tconsole.warn(reason);\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\nimport { goToLogin } from './go-to-login';\n\nexport const logout = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)('EndSession', {\n\t\t_jsns: 'urn:zimbraAccount',\n\t\tlogoff: true\n\t}).then(() => {\n\t\tfetch('/?loginOp=logout')\n\t\t\t.then((res) => res)\n\t\t\t.then(goToLogin);\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tCreateTagRequest,\n\tCreateTagResponse,\n\tTagActionRequest,\n\tTagActionResponse\n} from '../../types';\nimport { Tag } from '../../types/tags';\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\n\nexport const createTag = (tag: Omit<Tag, 'id'>): Promise<CreateTagResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<CreateTagRequest, CreateTagResponse>('CreateTag', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\ttag\n\t});\nexport const deleteTag = (id: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'delete', id }\n\t});\n\nexport const renameTag = (id: string, name: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'rename', id, name }\n\t});\n\nexport const changeTagColor = (id: string, color: string | number): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: typeof color === 'number' ? { op: 'color', color, id } : { op: 'color', rgb: color, id }\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport UAParser from 'ua-parser-js';\n\nconst { os, browser } = UAParser();\nexport const userAgent = `CarbonioWebClient - ${browser.name} ${browser.version} (${os.name})`;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { debounce, noop } from 'lodash';\nimport {\n\tNotificationConfig,\n\tPopupNotificationConfig,\n\tAudioNotificationConfig,\n\tINotificationManager\n} from '../../types/notification';\nimport defaultAudio from '../../assets/notification.mp3';\nimport defaultIcon from '../../assets/carbonio-logo.png';\n\nconst PopupNotificationDefaultConfig = {\n\ttitle: 'Carbonio client',\n\ticon: defaultIcon,\n\tvibrate: [200, 100, 200]\n};\n\nconst AudioNotificationDefaultConfig = {\n\tsound: defaultAudio\n};\n\nconst NotificationDefaultConfig: NotificationConfig = {\n\t...PopupNotificationDefaultConfig,\n\t...AudioNotificationDefaultConfig,\n\tshowPopup: true,\n\tplaySound: false\n};\n\n/**\n * The main goals of the NotificationManager are:\n * - to provide a single and rich implementation for all the Carbonio modules,\n * reducing the boilerplate code needed to send a notification to the user\n * - to optimize the audio notifications avoiding to spam the same sound file\n * in a short period of time\n * - to act as a collector for all the notification (for possible future\n * implementations)\n *\n * In order to reduce the effort needed to send a notification the class\n * provided a set of default values/assets (e.g. icon, sound, title, ...)\n *\n * The class is provided as a singleton\n */\nexport class NotificationManager implements INotificationManager {\n\tprivate static instance: NotificationManager;\n\n\t/**\n\t * Minimum time (ms) to wait before the same audio file will be played\n\t * @private\n\t */\n\tprivate static DEBOUNCE_TIME = 1000;\n\n\t/**\n\t * Map of functions to play a specific audio file\n\t * @private\n\t */\n\tprivate functions = new Map<string, () => void>();\n\n\t/**\n\t * Gets or creates the (debounced) function to play the audio file\n\t * @param sound - relative path to the audio file to play\n\t */\n\tprivate getAudioFileFunction = (sound: string): (() => void) => {\n\t\tif (!this.functions.has(sound)) {\n\t\t\tthis.functions.set(\n\t\t\t\tsound,\n\t\t\t\tdebounce(() => {\n\t\t\t\t\tnew Audio(sound).play().then();\n\t\t\t\t\tthis.functions.delete(sound);\n\t\t\t\t}, NotificationManager.DEBOUNCE_TIME)\n\t\t\t);\n\t\t}\n\t\tconst result = this.functions.get(sound);\n\t\treturn result ?? noop;\n\t};\n\n\t/**\n\t * Executes the debounced function to play the audio file\n\t * @param config - Configuration for the audio notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic playSound = (config: AudioNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...AudioNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\t\tif (!defConfig.sound) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getAudioFileFunction(defConfig.sound)();\n\t};\n\n\t/**\n\t * Shows a popup notification\n\t * @param config - Configuration for the popup notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic showPopup = (config: PopupNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...PopupNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tconst n = new Notification(defConfig.title, {\n\t\t\tbody: defConfig.message,\n\t\t\tvibrate: defConfig.vibrate,\n\t\t\ticon: defConfig.icon,\n\t\t\ttag: defConfig?.tag\n\t\t});\n\n\t\tif (defConfig.onClick) {\n\t\t\tn.addEventListener('click', defConfig.onClick);\n\t\t}\n\t};\n\n\t/**\n\t * Sends a popup/audio notification to the user\n\t * @param config - Configuration for the notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic notify = (config: NotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...NotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tif (defConfig?.showPopup) {\n\t\t\tthis.showPopup(defConfig);\n\t\t}\n\n\t\tif (defConfig?.playSound) {\n\t\t\tthis.playSound(defConfig);\n\t\t}\n\t};\n\n\t/**\n\t * Sends multiple notifications\n\t * @param config - Array of configurations for the notifications. In case of\n\t * missing properties default values are used\n\t */\n\tpublic multipleNotify = (config: NotificationConfig[]): void => {\n\t\tconfig.forEach((conf) => this.notify(conf));\n\t};\n\n\t/**\n\t * Return the singleton instance\n\t */\n\tpublic static getInstance(): NotificationManager {\n\t\tif (!NotificationManager.instance) {\n\t\t\tNotificationManager.instance = new NotificationManager();\n\t\t}\n\n\t\treturn NotificationManager.instance;\n\t}\n}\n\nexport const getNotificationManager = (): INotificationManager => NotificationManager.getInstance();\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, ReactElement, useEffect } from 'react';\n\nexport const NotificationPermissionChecker: FC = (): ReactElement => {\n\tuseEffect(() => {\n\t\tif (!('Notification' in window)) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('This browser does not support desktop notifications');\n\t\t} else {\n\t\t\tNotification.requestPermission();\n\t\t}\n\t}, []);\n\n\treturn <></>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport type { Event } from '@sentry/browser';\nimport {\n\tButtonOld as Button,\n\tContainer,\n\tContainerProps,\n\tIcon,\n\tRow,\n\tSelect,\n\tSnackbarManagerContext,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map } from 'lodash';\nimport React, {\n\tFC,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseReducer,\n\tuseState\n} from 'react';\nimport { TFunction } from 'react-i18next';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { useUserAccount } from '../store/account';\nimport { useAppList } from '../store/app';\nimport { closeBoard } from '../store/boards';\nimport { getT } from '../store/i18n';\nimport { feedback } from './functions';\n\nconst TextArea = styled.textarea<{ size?: keyof DefaultTheme['sizes']['font'] }>`\n\twidth: 100%;\n\tmin-height: 8rem;\n\tbox-sizing: border-box;\n\toutline: none;\n\tborder: none;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tresize: none;\n\ttransition: height 0.4s ease;\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme, size }): string => theme.sizes.font[size ?? 'medium']};\n\t&:focus {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t}\n`;\n\nconst TextContainer = styled(Container)`\n\ttext-align: justify;\n\talign-items: flex-start;\n\twidth: 80%;\n`;\n\nconst ButtonContainer = styled(Container)`\n\twidth: 20%;\n\tposition: relative;\n`;\n\nconst TAContainer = styled(Container)`\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tborder-radius: 0.125rem 0.125rem 0 0;\n\tpadding: 0.5rem;\n\ttransition: height 0.4s ease;\n\theight: auto;\n\tmax-height: 50%;\n\t&:focus-within {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t\tborder-bottom: 0.0625rem solid ${({ theme }): string => theme.palette.primary.regular};\n\t}\n`;\n\nconst SubHeadingText = styled(Text)<{ lineHeight?: string }>`\n\tborder-radius: 0.125rem 0.125rem 0 0;\n\tfont-size: 0.875rem;\n\tfont-weight: 300;\n\tmargin-top: 0.625rem;\n\tline-height: ${({ lineHeight }): string => lineHeight ?? 'normal'};\n`;\n\ninterface LabelContainerProps extends ContainerProps {\n\tdisabled: boolean;\n}\n\nconst LabelContainer = styled(Container)<LabelContainerProps>`\n\tborder-bottom: 0.0625rem solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.error.regular : theme.palette.gray2.regular};\n`;\n\nconst emptyEvent: Event = {\n\tmessage: '',\n\tlevel: 'info',\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\nfunction reducer(state: Event, { type, payload }: { type: string; payload: any }): Event {\n\tswitch (type) {\n\t\tcase 'set-user':\n\t\t\treturn { ...state, user: payload };\n\t\tcase 'reset':\n\t\t\treturn emptyEvent;\n\t\tcase 'set-message':\n\t\t\treturn { ...state, message: payload };\n\t\tcase 'select-app':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trelease: payload.version,\n\t\t\t\textra: { ...state.extra, app: payload.app }\n\t\t\t};\n\t\tcase 'select-topic':\n\t\t\treturn { ...state, extra: { ...state.extra, topic: payload } };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst getTopics = (t: TFunction): Array<{ label: string; value: string }> => [\n\t{ label: t('feedback.user_interface', 'User interface'), value: 'UserInterface' },\n\t{ label: t('feedback.behaviors', 'Behaviors'), value: 'Behaviors' },\n\t{ label: t('feedback.missing_features', 'Missing features'), value: 'MissingFeatures' },\n\t{ label: t('feedback.other', 'Other'), value: 'Other' }\n];\n\nconst ModuleLabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel?: string;\n\topen: boolean;\n\tfocus: boolean;\n\tdisabled: boolean;\n}> = ({ selected, label, open, focus, disabled }) => (\n\t<LabelContainer\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t\tdisabled={disabled}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Icon\n\t\t\tsize=\"large\"\n\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t/>\n\t</LabelContainer>\n);\n\nconst _LabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n\tshowErr: boolean;\n}> = ({ selected, label, open, focus, showErr }) => (\n\t<LabelContainer\n\t\tdisabled={showErr}\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t{showErr ? (\n\t\t\t\t<Text size=\"medium\" color={(open && showErr) || focus ? 'primary' : 'error'}>\n\t\t\t\t\t{' '}\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t) : (\n\t\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Row>\n\n\t\t{showErr ? (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={(open && showErr) || focus ? 'primary' : 'error'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t)}\n\t</LabelContainer>\n);\n\nconst Feedback: FC = () => {\n\tconst t = getT();\n\tconst allApps = useAppList();\n\tconst apps = useMemo(\n\t\t() => filter(allApps, (app) => !!app.sentryDsn),\n\n\t\t[allApps]\n\t);\n\tconst appItems = useMemo(\n\t\t() =>\n\t\t\tmap(apps, (app) => ({\n\t\t\t\tlabel: app.display,\n\t\t\t\tvalue: app.name\n\t\t\t})),\n\t\t[apps]\n\t);\n\tconst acct = useUserAccount();\n\tconst [event, dispatch] = useReducer(reducer, emptyEvent);\n\tconst [showErr, setShowErr] = useState(false);\n\tconst [limit, setLimit] = useState(0);\n\n\tconst onAppSelect = useCallback(\n\t\t(ev) =>\n\t\t\tdispatch({\n\t\t\t\ttype: 'select-app',\n\t\t\t\tpayload: {\n\t\t\t\t\tapp: ev,\n\t\t\t\t\tversion: find(apps, ['name', ev])?.version\n\t\t\t\t}\n\t\t\t}),\n\t\t[apps]\n\t);\n\n\tconst onTopicSelect = useCallback((ev) => {\n\t\tsetShowErr(false);\n\t\tdispatch({ type: 'select-topic', payload: ev });\n\t}, []);\n\n\tconst onInputChange = useCallback((ev) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = `${25 + ev.target.scrollHeight}px`;\n\t\tif (ev.target.value.length <= 500) {\n\t\t\tsetLimit(ev.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: ev.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback(\n\t\t(ev) => {\n\t\t\tif (event.extra?.topic === '0') setShowErr(true);\n\t\t\telse setShowErr(false);\n\t\t\tif (ev.keyCode === 8) {\n\t\t\t\tif (event.message?.length === 0) {\n\t\t\t\t\tsetShowErr(false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setShowErr, event]\n\t);\n\n\tconst createSnackbar = useContext(SnackbarManagerContext) as (snackbar: any) => void;\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(event);\n\t\tcreateSnackbar(\n\t\t\tfeedbackId\n\t\t\t\t? { type: 'success', label: t('feedback.success', 'Thank you for your feedback') }\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('feedback.error', 'There was an error while sending your feedback')\n\t\t\t\t }\n\t\t);\n\t\tcloseBoard('feedback');\n\t}, [event, createSnackbar, t]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: acct.id, name: acct.displayName ?? acct.name }\n\t\t});\n\t}, [acct]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(event?.message?.length ?? 0) <= 0 || event.extra?.topic === '0' || event.extra?.app === '0',\n\t\t[event.message, event.extra?.topic, event.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props) => <_LabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"large\">\n\t\t\t\t\t\t{t('feedback.report_something', 'Do you want to report something?')}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\" lineHeight=\"1.5\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.explanation',\n\t\t\t\t\t\t\t'Please send us your feedback about your new experience with Zextras Server. Your opinion is meaningful for us to improve our product. So tell us what’s on your mind.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.hint',\n\t\t\t\t\t\t\t'Remember: define the topic using module and macro area selectors before write your feedback. Thanks for your help.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t</TextContainer>\n\n\t\t\t\t<ButtonContainer crossAlignment=\"flex-end\" mainAlignment=\"baseline\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('feedback.send', 'SEND')}\n\t\t\t\t\t\tonClick={confirmHandler}\n\t\t\t\t\t\tdisabled={disabledSend}\n\t\t\t\t\t/>\n\t\t\t\t</ButtonContainer>\n\t\t\t</Container>\n\t\t\t<Container\n\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"19.0625rem\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"small\">\n\t\t\t\t\t\t\tModule\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_module', 'Select a module')}\n\t\t\t\t\t\titems={appItems}\n\t\t\t\t\t\tdefaultSelection={{ label: '', value: '' }}\n\t\t\t\t\t\tonChange={onAppSelect}\n\t\t\t\t\t\tLabelFactory={ModuleLabelFactory}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"19.0625rem\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"small\">\n\t\t\t\t\t\t\tTopic\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_topic', 'Select a topic')}\n\t\t\t\t\t\titems={topics}\n\t\t\t\t\t\tdefaultSelection={\n\t\t\t\t\t\t\tfind(topics, ['value', event.extra?.topic]) ?? { label: '', value: '' }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={onTopicSelect}\n\t\t\t\t\t\tLabelFactory={LabelFactory}\n\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t\t<TAContainer crossAlignment=\"flex-end\">\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={event.message}\n\t\t\t\t\tonKeyUp={checkTopicSelect}\n\t\t\t\t\tonChange={onInputChange}\n\t\t\t\t\tplaceholder={t('feedback.write_here', 'Write your feedback here')}\n\t\t\t\t/>\n\t\t\t\t<Text size=\"medium\" color=\"secondary\">\n\t\t\t\t\t{limit}/500\n\t\t\t\t</Text>\n\t\t\t</TAContainer>\n\t\t</Container>\n\t);\n};\n\nexport default Feedback;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport type { Event, EventHint } from '@sentry/browser';\nimport { useReporter } from './store';\n\nexport const report =\n\t(appId: string) =>\n\t(error: Event, hint?: EventHint): string => {\n\t\tconst reporter = useReporter.getState();\n\t\tconst eventId = reporter.clients[appId]?.captureException(error, { ...hint });\n\t\tif (eventId) {\n\t\t\tconsole.info('Reported event ', eventId);\n\t\t}\n\t\treturn eventId;\n\t};\n\nexport const feedback = (message: Event): string => {\n\tconst reporter = useReporter.getState();\n\tconst eventId = reporter.clients.feedbacks.captureEvent({ ...message, level: 'info' });\n\tif (eventId) {\n\t\tconsole.info('Feedback ', eventId, ' sent, Thank you');\n\t}\n\treturn eventId;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './store';\nexport * from './functions';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport {\n\tBrowserClient,\n\tdefaultIntegrations,\n\tdefaultStackParser,\n\tHub,\n\tmakeFetchTransport\n} from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport type { CarbonioModule } from '../../types';\nimport { SHELL_APP_ID } from '../constants';\n\ntype ReporterState = {\n\tclients: Record<string, Hub>;\n\tsetClients: (apps: Array<CarbonioModule>) => void;\n};\n\nexport const useReporter = create<ReporterState>((set) => ({\n\tclients: {\n\t\t[SHELL_APP_ID]: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t),\n\t\tfeedbacks: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: 'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t)\n\t},\n\tsetClients: (apps): void => {\n\t\tset((s) => ({\n\t\t\tclients: reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app) => {\n\t\t\t\t\tif (app.sentryDsn) {\n\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\ts.clients[app.name] = new Hub(\n\t\t\t\t\t\t\tnew BrowserClient({\n\t\t\t\t\t\t\t\ttransport: makeFetchTransport,\n\t\t\t\t\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\t\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\t\t\t\t\tdsn: app.sentryDsn,\n\t\t\t\t\t\t\t\trelease: app.version,\n\t\t\t\t\t\t\t\tmaxValueLength: 500\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.clients\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ReporterState, StoreApi<ReporterState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { Container, Row, Text, Icon, Dropdown } from '@zextras/carbonio-design-system';\nimport { useAppStore } from '../store/app';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useCurrentRoute, pushHistory } from '../history/hooks';\n\nconst SelectorContainer = styled(Container)<{ open?: boolean }>`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray4.regular};\n\tcursor: pointer;\n\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].regular};\n\n\t&:hover {\n\t\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].hover};\n\t}\n`;\n\nconst ModuleSelectorComponent: FC<{ app: string | undefined }> = ({ app }) => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\tconst fullModule = useMemo(\n\t\t() => modules.find((m) => m.route === module) ?? modules[0],\n\t\t[module, modules]\n\t);\n\n\tconst [open, setOpen] = useState(false);\n\n\tconst dropdownItems = useMemo(\n\t\t() =>\n\t\t\tmodules.map(({ id, label, icon, route }) => ({\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\ticon,\n\t\t\t\tactive: id === module,\n\t\t\t\tclick: (): void => {\n\t\t\t\t\tupdateModule(route);\n\t\t\t\t\tpushHistory({ route: SEARCH_APP_ID, path: `/${route}` });\n\t\t\t\t}\n\t\t\t})),\n\t\t[module, modules, updateModule]\n\t);\n\n\tuseEffect(() => {\n\t\tif (app !== SEARCH_APP_ID) {\n\t\t\tif (!fullModule || fullModule?.app !== app) {\n\t\t\t\tupdateModule((modules.find((m) => m.app === app) ?? modules[0])?.route);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [app, modules, updateModule]);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\titems={dropdownItems}\n\t\t\tonOpen={(): void => setOpen(true)}\n\t\t\tonClose={(): void => setOpen(false)}\n\t\t>\n\t\t\t<SelectorContainer\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\theight=\"2.625rem\"\n\t\t\t\twidth=\"fit\"\n\t\t\t\tminWidth=\"9.375rem\"\n\t\t\t\tcrossAlignment=\"center\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tborderRadius=\"half\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace mainAlignment=\"unset\" padding={{ left: 'small' }}>\n\t\t\t\t\t<Text size=\"small\" color={open ? 'primary' : 'text'}>\n\t\t\t\t\t\t{fullModule?.label}\n\t\t\t\t\t</Text>\n\t\t\t\t</Row>\n\t\t\t\t<Icon\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\t\tcolor={open ? 'primary' : 'text'}\n\t\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t\t/>\n\t\t\t</SelectorContainer>\n\t\t</Dropdown>\n\t);\n};\n\nconst MemoModuleSelector = React.memo(ModuleSelectorComponent);\n\nexport const ModuleSelector = (): JSX.Element => {\n\tconst activeRoute = useCurrentRoute();\n\treturn <MemoModuleSelector app={activeRoute?.app} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { QueryChip } from '../../types';\nimport { SEARCH_APP_ID } from '../constants';\nimport { pushHistory } from '../history/hooks';\nimport { useSearchStore } from './search-store';\n\nexport const runSearch = (query: Array<QueryChip>, module: string): void => {\n\tuseSearchStore.setState({ query, module, searchDisabled: false });\n\tpushHistory({ route: SEARCH_APP_ID, path: `/${module}` });\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tButton,\n\tChip,\n\tContainer,\n\tDivider,\n\tIcon,\n\tPadding,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { FC, ReactElement, useCallback, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { QueryChip, ResultLabelType } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useSearchStore } from './search-store';\n// import { RouteLeavingGuard } from '../ui-extras/nav-guard';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useQuery = (): [Array<QueryChip>, Function] =>\n\tuseSearchStore((s) => [s.query, s.updateQuery]);\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useDisableSearch = (): [boolean, Function] =>\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\tuseSearchStore((s) => [s.searchDisabled, s.setSearchDisabled]);\n\nconst getIconAndColor = (labelType: ResultLabelType): Array<string> => {\n\tif (labelType === ResultLabelType.WARNING) {\n\t\treturn ['AlertTriangle', 'warning'];\n\t}\n\tif (labelType === ResultLabelType.ERROR) {\n\t\treturn ['CloseSquare', 'error'];\n\t}\n\treturn ['', ''];\n};\n\nconst ResultsHeader: FC<{ label: string; labelType?: ResultLabelType }> = ({\n\tlabel,\n\tlabelType = ResultLabelType.NORMAL\n}) => {\n\tconst t = getT();\n\tconst [query, updateQuery] = useQuery();\n\tconst [, setDisabled] = useDisableSearch();\n\n\tconst resetQuery = useCallback(() => {\n\t\tupdateQuery([]);\n\t\tsetDisabled(false);\n\t}, [updateQuery, setDisabled]);\n\n\tconst labelTypeElem = useMemo<ReactElement | undefined>(() => {\n\t\tif (labelType === ResultLabelType.NORMAL) {\n\t\t\treturn <></>;\n\t\t}\n\n\t\tconst [icon, color] = getIconAndColor(labelType);\n\t\treturn (\n\t\t\t<Padding right=\"small\">\n\t\t\t\t<Icon icon={icon} size=\"large\" color={color} />\n\t\t\t</Padding>\n\t\t);\n\t}, [labelType]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t\tminHeight=\"3rem\"\n\t\t\t\tmaxHeight=\"7.5rem\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\tpadding={{ horizontal: 'large', vertical: 'medium' }}\n\t\t\t>\n\t\t\t\t<Container width=\"85%\" orientation=\"horizontal\" wrap=\"wrap\" mainAlignment=\"flex-start\">\n\t\t\t\t\t{labelTypeElem}\n\t\t\t\t\t<Text color=\"secondary\">{label}</Text>\n\n\t\t\t\t\t{map(query, (q, i) => (\n\t\t\t\t\t\t<Padding key={`${i}${q.label}`} all=\"extrasmall\">\n\t\t\t\t\t\t\t<Chip {...q} background=\"gray2\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t\t{query?.length > 0 && (\n\t\t\t\t\t<Container width=\"15%\" mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.clear_search_query', 'CLEAR SEARCH')}\n\t\t\t\t\t\t\ticon=\"CloseOutline\"\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\twidth=\"fill\"\n\t\t\t\t\t\t\ttype=\"ghost\"\n\t\t\t\t\t\t\tonClick={resetQuery}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Container>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Divider color=\"gray3\" />\n\t\t</>\n\t);\n};\n\nexport const SearchAppView: FC = () => {\n\tconst searchViews = useAppStore((s) => s.views.search);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(searchViews, (view) => (\n\t\t\t\t<Route key={`/${view.route}`} path={`/${SEARCH_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component\n\t\t\t\t\t\t\tuseQuery={useQuery}\n\t\t\t\t\t\t\tResultsHeader={ResultsHeader}\n\t\t\t\t\t\t\tuseDisableSearch={useDisableSearch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[searchViews]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{/* <RouteLeavingGuard\n\t\t\t\twhen\n\t\t\t\ttitle={t('search.leave.title', 'Are you sure you want to leave this module?')}\n\t\t\t>\n\t\t\t\t<Text>{t('search.leave.warning', 'The current search results will be lost')}</Text>\n\t\t\t</RouteLeavingGuard> */}\n\t\t\t<Switch>\n\t\t\t\t{routes}\n\t\t\t\t<Redirect\n\t\t\t\t\texact\n\t\t\t\t\tstrict\n\t\t\t\t\tfrom={`/${SEARCH_APP_ID}`}\n\t\t\t\t\tto={`/${SEARCH_APP_ID}/${searchViews[0]?.route}`}\n\t\t\t\t/>\n\t\t\t</Switch>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport {\n\tChipInput,\n\tChipItem,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map, reduce } from 'lodash';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { LOCAL_STORAGE_SEARCH_KEY, SEARCH_APP_ID } from '../constants';\nimport { useLocalStorage } from '../shell/hooks';\n\nimport { QueryChip } from '../../types';\nimport { getT } from '../store/i18n';\nimport { ModuleSelector } from './module-selector';\nimport { useSearchStore } from './search-store';\n\nconst OutlinedIconButton = styled(IconButton)`\n\tborder: 0.0625rem solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.primary.disabled : theme.palette.primary.regular};\n\tdisplay: block;\n\t& svg {\n\t\tborder: none;\n\t}\n`;\n\nconst StyledChipInput = styled(ChipInput)`\n\tpadding: 0 1rem;\n\t&:hover {\n\t\toutline: none;\n\t\tbackground: ${({ theme, disabled }): string =>\n\t\t\tdisabled ? 'gray5' : theme.palette.gray5.hover};\n\t}\n`;\n\nconst StyledContainer = styled(Container)`\n\theight: 2.625rem;\n\toverflow-y: hidden;\n\t&:first-child {\n\t\ttransform: translateY(-0.125rem);\n\t}\n`;\n\ntype SearchLocalStorage = Array<{\n\tvalue: string;\n\tlabel: string;\n\ticon: string;\n\tapp: string;\n\tid: string;\n}>;\nexport const SearchBar: FC = () => {\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst t = getT();\n\tconst [storedValue, setStoredValue] = useLocalStorage<SearchLocalStorage>(\n\t\tLOCAL_STORAGE_SEARCH_KEY,\n\t\t[]\n\t);\n\tconst [inputTyped, setInputTyped] = useState('');\n\tconst history = useHistory();\n\tconst { updateQuery, module, query, searchDisabled, setSearchDisabled, tooltip } =\n\t\tuseSearchStore();\n\n\tconst [isTyping, setIsTyping] = useState(false);\n\n\tconst [options, setOptions] = useState<Array<{ id: string; label: string; hasAvatar: false }>>(\n\t\t[]\n\t);\n\n\tconst [inputHasFocus, setInputHasFocus] = useState(false);\n\n\tconst [inputState, setInputState] = useState(query);\n\tconst showClear = useMemo(\n\t\t() => inputState.length > 0 || (inputRef.current?.value && inputRef.current?.value?.length > 0),\n\t\t[inputState.length]\n\t);\n\tconst clearSearch = useCallback((): void => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current?.focus();\n\t\t}\n\t\tsetIsTyping(false);\n\t\tsetInputState([]);\n\t\tsetSearchDisabled(false);\n\t\tupdateQuery([]);\n\t\tsetInputTyped('');\n\t}, [setSearchDisabled, updateQuery]);\n\n\tconst onSearch = useCallback(() => {\n\t\tupdateQuery((currentQuery) => {\n\t\t\tconst ref = inputRef?.current;\n\t\t\tif (ref) ref.value = '';\n\t\t\tif (inputTyped.length > 0) {\n\t\t\t\tconst newInputState = [\n\t\t\t\t\t...inputState,\n\t\t\t\t\t...map(inputTyped?.split(' '), (label: string, id: number) => ({\n\t\t\t\t\t\tid: `${id}`,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t}))\n\t\t\t\t];\n\t\t\t\tsetInputState(newInputState);\n\t\t\t\tsetInputTyped('');\n\t\t\t\treturn reduce(\n\t\t\t\t\tnewInputState,\n\t\t\t\t\t(acc, chip) => {\n\t\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\tfilter(\n\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetInputTyped('');\n\n\t\t\treturn reduce(\n\t\t\t\tinputState,\n\t\t\t\t(acc, chip) => {\n\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\n\t\t\t\tfilter(\n\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\t\thistory.push(`/${SEARCH_APP_ID}/${module}`);\n\t}, [updateQuery, history, module, inputTyped, inputState]);\n\n\tconst appSuggestions = useMemo<Array<QueryChip & { hasAvatar: false }>>(\n\t\t() =>\n\t\t\tfilter(storedValue, (v) => v.app === module)\n\t\t\t\t.reverse()\n\t\t\t\t.map((item: QueryChip) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\thasAvatar: false,\n\t\t\t\t\tdisabled: searchDisabled,\n\t\t\t\t\tclick: (): void => {\n\t\t\t\t\t\tsetInputState((q: Array<QueryChip>) => [...q, { ...item, hasAvatar: false }]);\n\t\t\t\t\t}\n\t\t\t\t})),\n\t\t[storedValue, module, searchDisabled]\n\t);\n\n\tconst updateOptions = useCallback(\n\t\t(target: HTMLInputElement, q: Array<any>): void => {\n\t\t\tif (target.textContent && target.textContent.length > 0) {\n\t\t\t\tsetOptions(\n\t\t\t\t\tappSuggestions\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(v: QueryChip): boolean =>\n\t\t\t\t\t\t\t\tv.label?.indexOf(target.textContent as string) !== -1 &&\n\t\t\t\t\t\t\t\t!find(q, (i) => i.value === v.label)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.slice(0, 5)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetOptions(appSuggestions.slice(0, 5));\n\t\t\t}\n\t\t},\n\t\t[appSuggestions]\n\t);\n\n\tconst onQueryChange = useCallback(\n\t\t(newQuery) => {\n\t\t\tif (\n\t\t\t\tnewQuery[newQuery.length - 1]?.label &&\n\t\t\t\tmodule &&\n\t\t\t\t!find(appSuggestions, (v) => v.label === newQuery[newQuery.length - 1]?.label)\n\t\t\t) {\n\t\t\t\tsetStoredValue((value) => [\n\t\t\t\t\t...value,\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\tlabel: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\ticon: 'ClockOutline',\n\t\t\t\t\t\tapp: module,\n\t\t\t\t\t\tid: `${value.length}`,\n\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t}\n\t\t\t/** Commented for future reference */\n\t\t\t// if (inputRef.current) {\n\t\t\t// \tupdateOptions(inputRef.current, newQuery);\n\t\t\t// }\n\t\t\tsetInputState(newQuery);\n\t\t},\n\t\t[appSuggestions, module, setStoredValue]\n\t);\n\n\tconst onInputType = useCallback(\n\t\t(ev) => {\n\t\t\tif (ev.textContent === '') {\n\t\t\t\tsetIsTyping(false);\n\t\t\t} else {\n\t\t\t\tsetIsTyping(true);\n\t\t\t}\n\t\t\tsetInputTyped(ev.textContent);\n\t\t\tupdateOptions(ev, query);\n\t\t},\n\t\t[query, updateOptions]\n\t);\n\n\tuseEffect(() => {\n\t\tif (module) {\n\t\t\tconst suggestions = filter(appSuggestions, (suggestion) => suggestion?.app === module).slice(\n\t\t\t\t0,\n\t\t\t\t5\n\t\t\t);\n\n\t\t\tsetOptions(suggestions);\n\t\t}\n\t}, [appSuggestions, module]);\n\n\tconst [triggerSearch, setTriggerSearch] = useState(false);\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\n\t// disabled for now, awaiting refactor of the search bar\n\t// useEffect(() => {\n\t// \tconst handler = (event: KeyboardEvent): unknown =>\n\t// \t\thandleKeyboardShortcuts({\n\t// \t\t\tevent,\n\t// \t\t\tinputRef,\n\t// \t\t\tprimaryAction,\n\t// \t\t\tsecondaryActions,\n\t// \t\t\tcurrentApp\n\t// \t\t});\n\t// \tdocument.addEventListener('keydown', handler);\n\t// \treturn (): void => {\n\t// \t\tdocument.removeEventListener('keydown', handler);\n\t// \t};\n\t// }, [currentApp, inputRef, primaryAction, secondaryActions]);\n\n\tuseEffect(() => {\n\t\tconst ref = inputRef.current;\n\t\tconst searchCb = (ev: any): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetTriggerSearch(true);\n\t\t\t\t\tremoveFocus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', searchCb);\n\t\t}\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', searchCb);\n\t\t\t}\n\t\t};\n\t}, [onSearch, removeFocus]);\n\n\tuseEffect(() => {\n\t\tif (triggerSearch) {\n\t\t\tonSearch();\n\t\t\tsetTriggerSearch(false);\n\t\t}\n\t}, [onSearch, triggerSearch]);\n\n\tconst disableOptions = useMemo(() => !(options.length > 0) || isTyping, [options, isTyping]);\n\n\tconst placeholder = useMemo(\n\t\t() =>\n\t\t\tinputHasFocus && module\n\t\t\t\t? t('search.active_input_label', 'Separate your keywords by a comma or pressing TAB')\n\t\t\t\t: t('search.idle_input_label', 'Search in {{module}}', {\n\t\t\t\t\t\tmodule\n\t\t\t\t }),\n\t\t[inputHasFocus, module, t]\n\t);\n\n\tconst clearButtonPlaceholder = useMemo(\n\t\t() =>\n\t\t\tshowClear || isTyping\n\t\t\t\t? t('search.clear', 'Clear search input')\n\t\t\t\t: t('search.already_clear', 'Search input is already clear'),\n\t\t[showClear, t, isTyping]\n\t);\n\n\tconst searchButtonsAreDisabled = useMemo(\n\t\t() => (isTyping ? false : !showClear),\n\t\t[showClear, isTyping]\n\t);\n\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (!searchButtonsAreDisabled && inputState.length > 0) {\n\t\t\treturn t('search.start', 'Start search');\n\t\t}\n\t\tif (inputHasFocus) {\n\t\t\treturn t(\n\t\t\t\t'search.type_or_choose_suggestion',\n\t\t\t\t'Type or choose some keywords to start a search'\n\t\t\t);\n\t\t}\n\t\tif (query.length > 0) {\n\t\t\treturn t('label.edit_to_start_search', 'Edit your search to start a new one');\n\t\t}\n\t\treturn t('search.type_to_start_search', 'Type some keywords to start a search');\n\t}, [searchButtonsAreDisabled, inputState.length, inputHasFocus, query.length, t]);\n\n\tconst onChipAdd = useCallback(\n\t\t(newChip: string | unknown): ChipItem => {\n\t\t\tsetIsTyping(false);\n\t\t\tsetInputTyped('');\n\t\t\tif (module) {\n\t\t\t\tconst suggestions = filter(\n\t\t\t\t\tappSuggestions,\n\t\t\t\t\t(suggestion) => suggestion?.app === module\n\t\t\t\t).slice(0, 5);\n\n\t\t\t\tsetOptions(suggestions);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tlabel: typeof newChip === 'string' ? newChip : '',\n\t\t\t\tvalue: newChip,\n\t\t\t\thasAvatar: false\n\t\t\t};\n\t\t},\n\t\t[appSuggestions, module]\n\t);\n\n\tuseEffect(() => {\n\t\tsetInputState(map(query, (q) => ({ ...q, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\n\n\treturn (\n\t\t<Container\n\t\t\tminWidth=\"fit-content\"\n\t\t\twidth=\"fit\"\n\t\t\tflexGrow=\"1\"\n\t\t\torientation=\"horizontal\"\n\t\t\tref={containerRef}\n\t\t>\n\t\t\t<Tooltip\n\t\t\t\tdisabled={!searchDisabled}\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tlabel={\n\t\t\t\t\ttooltip ??\n\t\t\t\t\tt('search.unable_to_parse_query', 'Unable to complete the search, clear it and retry')\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t<Container minWidth=\"32rem\" width=\"fill\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t\t\t<Container width=\"fit\">\n\t\t\t\t\t\t\t\t<ModuleSelector />\n\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t<StyledContainer orientation=\"horizontal\">\n\t\t\t\t\t\t\t\t<StyledChipInput\n\t\t\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\t\t\t\t\tvalue={inputState}\n\t\t\t\t\t\t\t\t\tonAdd={onChipAdd}\n\t\t\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\tconfirmChipOnBlur={false}\n\t\t\t\t\t\t\t\t\tseparators={['Enter', 'NumpadEnter', 'Comma', 'Space']}\n\t\t\t\t\t\t\t\t\tbackground={searchDisabled ? 'gray5' : 'gray6'}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={onQueryChange}\n\t\t\t\t\t\t\t\t\tonInputType={onInputType}\n\t\t\t\t\t\t\t\t\tonInputTypeDebounce={0}\n\t\t\t\t\t\t\t\t\tonBlur={removeFocus}\n\t\t\t\t\t\t\t\t\tonFocus={addFocus}\n\t\t\t\t\t\t\t\t\tdisableOptions={disableOptions}\n\t\t\t\t\t\t\t\t\trequireUniqueChips={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StyledContainer>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Container>\n\n\t\t\t\t\t{!searchButtonsAreDisabled && (\n\t\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t\t<Tooltip label={clearButtonPlaceholder} placement=\"bottom\">\n\t\t\t\t\t\t\t\t<OutlinedIconButton\n\t\t\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t\t\t\tcustomSize={{\n\t\t\t\t\t\t\t\t\t\ticonSize: 'large',\n\t\t\t\t\t\t\t\t\t\tpaddingSize: 'small'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdisabled={searchButtonsAreDisabled}\n\t\t\t\t\t\t\t\t\ticon=\"BackspaceOutline\"\n\t\t\t\t\t\t\t\t\ticonColor=\"primary\"\n\t\t\t\t\t\t\t\t\tonClick={clearSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\tlabel={searchBtnTooltipLabel}\n\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t\t\tcustomSize={{\n\t\t\t\t\t\t\t\t\ticonSize: 'large',\n\t\t\t\t\t\t\t\t\tpaddingSize: 'small'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon=\"Search\"\n\t\t\t\t\t\t\t\tdisabled={searchButtonsAreDisabled}\n\t\t\t\t\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\t\t\t\t\ticonColor=\"gray6\"\n\t\t\t\t\t\t\t\tonClick={onSearch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { isFunction } from 'lodash';\nimport create from 'zustand';\nimport { QueryChip, SearchState } from '../../types';\n\nexport const useSearchStore = create<SearchState>((set, get) => ({\n\tquery: [],\n\tsearchDisabled: false,\n\ttooltip: undefined,\n\tsetSearchDisabled: (searchDisabled: boolean, tooltip?: string): void =>\n\t\tset({ searchDisabled, tooltip }),\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)): void =>\n\t\tset({ query: isFunction(query) ? query(get().query) : query }),\n\tupdateModule: (module: string): void => set({ module })\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { map } from 'lodash';\nimport React, { useMemo } from 'react';\nimport { useUserAccount } from '../store/account';\nimport { getT } from '../store/i18n';\nimport { AccountsSettings } from './accounts-settings';\nimport { IdentityProps } from '../../types';\n\nconst AccountWrapper = (): React.ReactElement | null => {\n\tconst accountSettings = useUserAccount();\n\tconst t = getT();\n\tconst identitiesDefault = useMemo(() => {\n\t\tconst temp = map(\n\t\t\taccountSettings?.identities.identity,\n\t\t\t(item, index) =>\n\t\t\t\t({\n\t\t\t\t\tid: item.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\t\t\t\t\tflgType: item.name === 'DEFAULT' ? 'primary' : 'persona',\n\t\t\t\t\ttype:\n\t\t\t\t\t\titem.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\t\t\t\t\tidentityId: item._attrs.zimbraPrefIdentityId || '',\n\t\t\t\t\tfromAddress: item._attrs.zimbraPrefFromAddress || '',\n\t\t\t\t\tidentityName: item._attrs.zimbraPrefIdentityName || '',\n\t\t\t\t\tfromDisplay: item._attrs.zimbraPrefFromDisplay || '',\n\t\t\t\t\trecoveryAccount: item._attrs.zimbraRecoveryAccount || '',\n\t\t\t\t\treplyToDisplay: item._attrs.zimbraPrefReplyToDisplay || '',\n\t\t\t\t\treplyToAddress: item._attrs.zimbraPrefReplyToAddress || '',\n\t\t\t\t\treplyToEnabled: item._attrs.zimbraPrefReplyToEnabled || '',\n\t\t\t\t\tsaveToSent: item._attrs.zimbraPrefSaveToSent || '',\n\t\t\t\t\tsentMailFolder: item._attrs.zimbraPrefSentMailFolder || '',\n\t\t\t\t\twhenInFoldersEnabled: item._attrs.zimbraPrefWhenInFoldersEnabled || '',\n\t\t\t\t\twhenSentToEnabled: item._attrs.zimbraPrefWhenSentToEnabled || '',\n\t\t\t\t\twhenSentToAddresses: item._attrs.zimbraPrefWhenSentToAddresses || ''\n\t\t\t\t} as IdentityProps)\n\t\t);\n\t\tconst result = [temp[temp.length - 1], ...temp];\n\t\tresult.pop();\n\t\treturn result;\n\t}, [accountSettings, t]);\n\n\treturn identitiesDefault.length > 0 ? (\n\t\t<AccountsSettings account={accountSettings} identitiesDefault={identitiesDefault} t={t} />\n\t) : null;\n};\n\nexport default AccountWrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useState, useEffect, ReactElement } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'react-i18next';\nimport {\n\tmap,\n\tincludes,\n\tfindIndex,\n\treduce,\n\tfind,\n\treplace,\n\tlowerFirst,\n\tisEmpty,\n\tuniq,\n\tisArray\n} from 'lodash';\nimport { useUserSettings } from '../store/account/hooks';\nimport { editSettings } from '../network/edit-settings';\nimport { SHELL_APP_ID } from '../constants';\nimport { Mods, IdentityProps, CreateIdentityProps, Account, AccountSettings } from '../../types';\nimport AccountsList from './components/account-settings/accounts-list';\nimport PrimaryAccountSettings from './components/account-settings/primary-account-settings';\nimport SettingsSentMessages from './components/account-settings/settings-sent-messages';\nimport PasswordRecoverySettings from './components/account-settings/password-recovery-settings';\nimport Delegates, { DelegateType } from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport PersonaUseSection from './components/account-settings/persona-use-section';\nimport SettingsHeader from './components/settings-header';\nimport { getXmlSoapFetch } from '../network/fetch';\n\n// external accounts not yet activated, graphical part is complete\n// import ExternalAccount from './components/account-settings/external-account-settings';\n// import AdvancedSettings from './components/account-settings/advanced-settings';\n// import DownloadMessages from './components/account-settings/download-messages';\n\ntype ModifyProps = { id: string | number; key: string; value: string | boolean } | undefined;\ntype AddModProps = {\n\ttype: string;\n\tmodifyProp?: ModifyProps;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\ntype AccountSettingsProps = {\n\taccount: Account;\n\tidentitiesDefault: IdentityProps[];\n\tt: TFunction;\n};\n\ntype UserRightsProps = { email: string; right: string };\n\n/**\n * Compose a unique list of all identities' email addresses\n *\n * The list is composed of:\n * - the email address of the current account\n * - the email addresses of all the shared accounts (taken from the rights infos)\n * - all the aliases\n *\n * @param account\n * @param settings\n *\n * @returns a list of unique email addresses\n */\nconst getAvailableEmailAddresses = (account: Account, settings: AccountSettings): string[] => {\n\tconst result: string[] = [];\n\n\t// Adds the email address of the primary account\n\tresult.push(account.name);\n\n\t// Adds the email addresses of all the shared accounts\n\tif (account.rights?.targets) {\n\t\taccount.rights?.targets.forEach((target) => {\n\t\t\tif (target.right === 'sendAs' && target.target) {\n\t\t\t\ttarget.target.forEach((user) => {\n\t\t\t\t\tif (user.type === 'account' && user.email) {\n\t\t\t\t\t\tuser.email.forEach((email) => {\n\t\t\t\t\t\t\tresult.push(email.addr);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t// Adds all the aliases\n\tif (settings.attrs.zimbraMailAlias) {\n\t\tif (isArray(settings.attrs.zimbraMailAlias)) {\n\t\t\tresult.push(...(settings.attrs.zimbraMailAlias as string[]));\n\t\t} else {\n\t\t\tresult.push(String(settings.attrs.zimbraMailAlias));\n\t\t}\n\t}\n\n\treturn uniq(result);\n};\n\nexport const AccountsSettings = ({\n\taccount,\n\tidentitiesDefault,\n\tt\n}: AccountSettingsProps): ReactElement => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [activeDelegateView, setActiveDelegateView] = useState('0');\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst [delegates, setDelegates] = useState<DelegateType[]>([]);\n\tconst settings = useUserSettings();\n\tconst maxIdentities = settings.attrs.zimbraIdentityMaxNumEntries;\n\tconst addMod = useCallback(\n\t\t(arg: AddModProps) => {\n\t\t\tconst { type, modifyProp, deleteList, createList } = arg;\n\t\t\tsetMods((prevState) => {\n\t\t\t\tconst prevRecord = find(\n\t\t\t\t\tprevState?.identity?.modifyList,\n\t\t\t\t\t(item) => item.id === modifyProp?.id\n\t\t\t\t)?.prefs;\n\t\t\t\tconst modifyList =\n\t\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...prevState.identity?.modifyList,\n\t\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\t\tid: modifyProp.id,\n\t\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: prevState.identity?.modifyList;\n\t\t\t\tconst newCreateList = prevState.identity?.createList || createList;\n\t\t\t\tconst newDeleteList = prevState.identity?.deleteList || deleteList;\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\n\t\t\t\t\t[type]: {\n\t\t\t\t\t\tdeleteList: newDeleteList,\n\t\t\t\t\t\tcreateList: newCreateList,\n\t\t\t\t\t\tmodifyList\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t[setMods]\n\t);\n\n\tconst modifyCreateList = useCallback((arg: AddModProps) => {\n\t\tconst { type, modifyProp } = arg;\n\t\tsetMods((prevState) => {\n\t\t\tconst prevRecord = find(\n\t\t\t\tprevState?.identity?.createList,\n\t\t\t\t(item) => item.prefs.requestId === modifyProp?.id\n\t\t\t)?.prefs;\n\t\t\tconst modifiedCreateList =\n\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...prevState.identity?.createList,\n\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\t...prevState,\n\n\t\t\t\t[type]: {\n\t\t\t\t\tcreateList: modifiedCreateList,\n\t\t\t\t\tdeleteList: prevState.identity?.deleteList,\n\t\t\t\t\tmodifyList: prevState.identity?.modifyList\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}, []);\n\tconst createIdentities = useCallback(\n\t\t(createList: { prefs: CreateIdentityProps }[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tcreateList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst updateIdentities = useCallback(\n\t\t(modifyProp: { id: string | number; key: string; value: string | boolean }) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tmodifyProp: { id: modifyProp.id, key: modifyProp.key, value: modifyProp.value }\n\t\t\t};\n\t\t\tif (typeof modifyProp.id === 'string') {\n\t\t\t\taddMod(arg);\n\t\t\t} else if (typeof modifyProp.id === 'number') {\n\t\t\t\tmodifyCreateList(arg);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(modifyProp.key, 'zimbraPref', ''));\n\t\t\tsetIdentities(\n\t\t\t\tmap(identities, (item) =>\n\t\t\t\t\titem.identityId === modifyProp.id\n\t\t\t\t\t\t? { ...item, [updatedIdentityKey]: modifyProp.value }\n\t\t\t\t\t\t: item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[addMod, identities, modifyCreateList]\n\t);\n\n\tconst deleteIdentities = useCallback(\n\t\t(deleteList: string[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tdeleteList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t\t'GetRights',\n\t\t\t`<GetRightsRequest xmlns=\"urn:zimbraAccount\"></GetRightsRequest>`\n\t\t).then((res: any) => {\n\t\t\tif (res.ace) {\n\t\t\t\tconst tempResult: UserRightsProps[] = map(res.ace, (item) => ({\n\t\t\t\t\temail: item.d,\n\t\t\t\t\tright: item.right\n\t\t\t\t}));\n\t\t\t\tconst resultReduced = reduce(\n\t\t\t\t\ttempResult,\n\t\t\t\t\t(result: UserRightsProps[], item) => {\n\t\t\t\t\t\tconst index = findIndex(result, { email: item.email });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\tresult.push({ email: item.email, right: item.right });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\temail: item.email,\n\t\t\t\t\t\t\t\tright: `${item.right} and ${result[index].right}`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tresult.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tconst result = map(resultReduced, (item: UserRightsProps, index) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tid: index.toString()\n\t\t\t\t}));\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tsetMods({});\n\t}, [identitiesDefault]);\n\n\tconst onSave = useCallback(() => {\n\t\tif (\n\t\t\tidentitiesDefault.length +\n\t\t\t\t(mods.identity?.createList?.length || 0) -\n\t\t\t\t(mods?.identity?.deleteList?.length || 0) >\n\t\t\tmaxIdentities\n\t\t) {\n\t\t\tcreateSnackbar({\n\t\t\t\tkey: `new`,\n\t\t\t\treplace: true,\n\t\t\t\ttype: 'error',\n\t\t\t\tlabel: t(\n\t\t\t\t\t'message.snackbar.identities_quota_exceeded',\n\t\t\t\t\t'The identitity could not be created because you have exceeded your identity quota'\n\t\t\t\t),\n\t\t\t\tautoHideTimeout: 5000,\n\t\t\t\thideButton: true\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [identitiesDefault.length, mods, maxIdentities, createSnackbar, t]);\n\n\tconst onCancel = useCallback(() => setMods({}), []);\n\tconst title: string = t('label.accounts', 'Accounts');\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\tconst availableEmailAddresses = useMemo(\n\t\t() => getAvailableEmailAddresses(account, settings),\n\t\t[account, settings]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader onSave={onSave} onCancel={onCancel} isDirty={isDirty} title={title} />\n\t\t\t<Container background=\"gray5\" padding={{ top: 'large' }} height=\"fit\" />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AccountsList\n\t\t\t\t\tt={t}\n\t\t\t\t\taccount={account}\n\t\t\t\t\tidentities={identities}\n\t\t\t\t\tsetIdentities={setIdentities}\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t\tdeleteIdentities={deleteIdentities}\n\t\t\t\t\tcreateIdentities={createIdentities}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.flgType === 'primary' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PrimaryAccountSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\taccount={account}\n\t\t\t\t\t\t\tidentity={identities[0]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\tidentity={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tavailableEmailAddresses={availableEmailAddresses}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{/* <PasswordRecoverySettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tcreateSnackbar={createSnackbar}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t\t<Delegates\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={delegates}\n\t\t\t\t\t\t\tactiveDelegateView={activeDelegateView}\n\t\t\t\t\t\t\tsetActiveDelegateView={setActiveDelegateView}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.flgType === 'persona' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PersonaSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\tidentity={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tavailableEmailAddresses={availableEmailAddresses}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PersonaUseSection\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\tidentity={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{includes(['IMAP', 'POP'], identities[selectedIdentityId]?.flgType) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* <ExternalAccount t={t} items={identities} />\n\t\t\t\t\t\t<AdvancedSettings t={t} items={identities} />\n\t\t\t\t\t\t<DownloadMessages t={t} items={identities} />\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tsetMods={setMods}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, ReactElement, useState, useContext } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButtonOld as Button,\n\tIcon,\n\tModalManagerContext,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max, noop } from 'lodash';\nimport { IdentityProps, CreateIdentityProps, Account } from '../../../../types';\n\ntype AccountsListProps = {\n\tt: TFunction;\n\taccount: Account;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tdeleteIdentities: (deleteList: string[]) => void;\n\tcreateIdentities: (createList: { prefs: CreateIdentityProps }[]) => void;\n};\n\nconst AccountsList = ({\n\tt,\n\taccount,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tdeleteIdentities,\n\tcreateIdentities\n}: AccountsListProps): ReactElement => {\n\tconst changeView = (value: number): void => setSelectedIdentityId(value);\n\n\tconst ListItem = ({ item }: ItemComponentProps<IdentityProps>): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => {\n\t\t\t\t\tchangeView(Number(item.id));\n\t\t\t\t}}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Icon icon=\"CheckmarkCircle2Outline\" size=\"large\" color=\"primary\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.identityName}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t({item.flgType === 'primary' ? account.name : item.fromAddress})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.type}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\tconst createModal = useContext(ModalManagerContext);\n\n\tconst [createListrequestId, setCreateListrequestId] = useState(0);\n\tconst [createList, setCreateList] = useState<{ prefs: CreateIdentityProps }[]>([]);\n\tconst addNewPersona = useCallback(() => {\n\t\tconst newPersonaNextNumber =\n\t\t\tNumber(\n\t\t\t\tmax([\n\t\t\t\t\t...filter(\n\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\t\tfilter(identities, (item) => item.identityName?.includes('New Persona')),\n\t\t\t\t\t\t\t\t(item: IdentityProps) => item.identityName\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(item: string) => parseFloat(item.replace('New Persona ', ''))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t(item) => Number(item)\n\t\t\t\t\t)\n\t\t\t\t])\n\t\t\t) + 1;\n\t\tconst newPersonaName = `New Persona ${newPersonaNextNumber || 1}`;\n\t\tidentities.push({\n\t\t\tid: `${identities.length}`,\n\t\t\tflgType: 'persona',\n\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\tidentityId: createListrequestId,\n\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\tidentityName: newPersonaName,\n\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\treplyToDisplay: '',\n\t\t\treplyToAddress: '',\n\t\t\treplyToEnabled: 'FALSE',\n\t\t\tsaveToSent: '',\n\t\t\tsentMailFolder: '',\n\t\t\twhenInFoldersEnabled: '',\n\t\t\twhenSentToEnabled: ''\n\t\t});\n\t\tsetIdentities(identities);\n\t\tsetCreateListrequestId(createListrequestId + 1);\n\t\tsetCreateList((state) => {\n\t\t\tstate.push({\n\t\t\t\tprefs: {\n\t\t\t\t\trequestId: createListrequestId,\n\t\t\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\t\t\tzimbraPrefReplyToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefReplyToDisplay: '',\n\t\t\t\t\tzimbraPrefReplyToAddress: '',\n\t\t\t\t\tzimbraPrefDefaultSignatureId: '',\n\t\t\t\t\tzimbraPrefForwardReplySignatureId: '',\n\t\t\t\t\tzimbraPrefWhenSentToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefWhenInFoldersEnabled: 'FALSE'\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\t\tcreateIdentities(createList);\n\t\tsetSelectedIdentityId(identities.length - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tt,\n\t\tcreateIdentities,\n\t\tcreateListrequestId,\n\t\tcreateList,\n\t\tsetSelectedIdentityId\n\t]);\n\n\tconst [deleteList, setDeleteList] = useState<string[]>([]);\n\tconst onConfirmDelete = useCallback((): void => {\n\t\tconst newIdentities = map(\n\t\t\tfilter(\n\t\t\t\tidentities,\n\t\t\t\t(identity) => identity?.identityId !== identities[selectedIdentityId]?.identityId\n\t\t\t),\n\t\t\t(item: IdentityProps, index: number) => ({ ...item, id: index.toString() })\n\t\t);\n\t\tsetDeleteList((state) => {\n\t\t\tstate.push(identities[selectedIdentityId]?.identityId.toString());\n\t\t\treturn state;\n\t\t});\n\t\tsetIdentities(newIdentities);\n\t\tdeleteIdentities(deleteList);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tdeleteIdentities,\n\t\tdeleteList,\n\t\tsetSelectedIdentityId,\n\t\tselectedIdentityId\n\t]);\n\tconst onDelete = useCallback((): void => {\n\t\t// I'm disabling lint as the DS is not defining the type\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst closeModal = createModal({\n\t\t\ttitle: t('label.permanent_delete_title', 'Are you sure to permanently delete this Persona?'),\n\t\t\tonConfirm: () => {\n\t\t\t\tonConfirmDelete();\n\t\t\t\tcloseModal();\n\t\t\t},\n\t\t\tconfirmLabel: t('label.delete_permanently', 'Delete permanently'),\n\t\t\tconfirmColor: 'error',\n\t\t\tshowCloseIcon: true,\n\t\t\tonClose: () => closeModal(),\n\t\t\tchildren: (\n\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'messages.permanent_delete_body',\n\t\t\t\t\t\t\t'If you permanently delete this Persona you will not be able to recover it. Continue?'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Padding>\n\t\t\t)\n\t\t});\n\t}, [createModal, t, onConfirmDelete]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.accounts_list', 'Accounts list')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={identities}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={identities[selectedIdentityId]?.id}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t{/* <Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_external_account', 'Add external account')}\n\t\t\t\t\t\tonClick={noop}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding> */}\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={(): void => addNewPersona()}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.delete', 'Delete')}\n\t\t\t\t\tonClick={(): void => onDelete()}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.flgType === 'primary'}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default AccountsList;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ReactElement, useState } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tRadio,\n\tRadioGroup,\n\tItemType,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { noop } from 'lodash';\n\nexport interface DelegateType extends ItemType {\n\temail: string;\n\tright: string;\n\tlabel?: string;\n}\n\ntype DelegatesProps = {\n\tt: TFunction;\n\titems: Array<DelegateType>;\n\tactiveDelegateView: string;\n\tsetActiveDelegateView: (value: string) => void;\n};\n\nconst Delegates = ({\n\tt,\n\titems,\n\tactiveDelegateView,\n\tsetActiveDelegateView\n}: DelegatesProps): ReactElement => {\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst changeView = (value: string): void => setActiveDelegateView(value);\n\n\tconst ListItem = ({ item }: ItemComponentProps<DelegateType>): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => changeView(item.id)}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.delegates', 'Delegates')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List items={items} ItemComponent={ListItem} active={activeDelegateView} height=\"fit\" />\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_delegate', 'Add delegate')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tonClick={noop}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.edit_permissions', 'Edit permissions')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tonClick={noop}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.remove', 'remove')}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled\n\t\t\t\t\tonClick={noop}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<RadioGroup\n\t\t\t\t\tstyle={{ width: '100%', justifyContent: 'flex-start' }}\n\t\t\t\t\tvalue={activeValue}\n\t\t\t\t\tonChange={(newValue: string): void => setActiveValue(newValue)}\n\t\t\t\t>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_to_my_sent_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_delegate_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to delegate’s Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"2\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_both_folders',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder and delegate’s folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"3\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio label={t('label.dont_save', 'Don’t save a copy of sent messages')} value=\"4\" />\n\t\t\t\t</RadioGroup>\n\t\t\t\t<Padding bottom=\"large\" />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default Delegates;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, ReactElement, useEffect, useMemo } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\n\ninterface PersonaSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PersonaSettings = ({ t, items, updateIdentities }: PersonaSettingsProps): ReactElement => {\n\tconst [personaValue, setPersonaValue] = useState(items.identityName);\n\tconst personaLabel = useMemo(\n\t\t() => (personaValue ? '' : t('label.persona_name', 'Persona Name')),\n\t\t[personaValue, t]\n\t);\n\tuseEffect(() => {\n\t\tsetPersonaValue(items.identityName);\n\t}, [items.identityName]);\n\n\tconst onChange = useCallback(\n\t\t(ev) => {\n\t\t\tsetPersonaValue(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId, setPersonaValue]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.persona_settings', 'Persona Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"vertical\" mainAlignment=\"flex-start\" width=\"fill\">\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text color=\"secondary\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line1',\n\t\t\t\t\t\t\t\t'Use personas to quickly change many settings when sending e-mail messages.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text color=\"secondary\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line2',\n\t\t\t\t\t\t\t\t'For example, if you sometimes send e-mails in a particular role at work, create a persona for that.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace>\n\t\t\t\t\t<Input label={personaLabel} value={personaValue} onChange={onChange} />\n\t\t\t\t</Row>\n\t\t\t</Row>\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PersonaSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Checkbox, Container, Input, Padding, Row, Text } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport React, { ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype PersonaUseSectionProps = {\n\tt: TFunction;\n\tidentity: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n};\n\nconst PersonaUseSection = ({\n\tt,\n\tidentity,\n\tupdateIdentities\n}: PersonaUseSectionProps): ReactElement => {\n\tconst title = useMemo(() => t('label.use_persona', 'Use this persona'), [t]);\n\tconst whenSentToLabel = t('label.when_replying', 'When replying or forwarding messages sent to:');\n\n\t// this code is work in progress for when the mails sync is implemented\n\t// const [open, setOpen] = useState(false);\n\t// const onClose = useCallback(() => setOpen(false), []);\n\n\tconst [whenInFoldersEnabled, setWhenInFoldersEnabled] = useState(\n\t\tidentity.whenInFoldersEnabled === 'TRUE'\n\t);\n\tconst [whenSentToEnabled, setWhenSentToEnabled] = useState(identity.whenSentToEnabled === 'TRUE');\n\tconst [whenSentToAddresses, setWhenSentToAddresses] = useState(identity.whenSentToAddresses);\n\n\tuseEffect(() => {\n\t\tsetWhenSentToEnabled(identity.whenSentToEnabled === 'TRUE');\n\t}, [identity.whenSentToEnabled]);\n\tuseEffect(() => {\n\t\tsetWhenSentToAddresses(identity.whenSentToAddresses);\n\t}, [identity.whenSentToAddresses]);\n\tuseEffect(() => {\n\t\tsetWhenInFoldersEnabled(identity.whenInFoldersEnabled === 'TRUE');\n\t}, [identity.whenInFoldersEnabled]);\n\n\tconst whenSentToAddressesLabel = useMemo(\n\t\t() => (whenSentToAddresses ? '' : t('label.recipents', 'Recipients')),\n\t\t[t, whenSentToAddresses]\n\t);\n\tconst onClickWhenSentToEnabled = useCallback(() => {\n\t\tsetWhenSentToEnabled(!whenSentToEnabled);\n\t\tconst modifyProp = {\n\t\t\tid: identity.identityId,\n\t\t\tkey: 'zimbraPrefWhenSentToEnabled',\n\t\t\tvalue: whenSentToEnabled ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [identity.identityId, updateIdentities, whenSentToEnabled]);\n\n\tconst isValidEmail = useMemo(\n\t\t() => whenSentToEnabled && !EMAIL_VALIDATION_REGEX.test(whenSentToAddresses || ''),\n\t\t[whenSentToAddresses, whenSentToEnabled]\n\t);\n\n\tconst onChangeWhenSentToAddresses = useCallback(\n\t\t(value: string) => {\n\t\t\tsetWhenSentToAddresses(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefWhenSentToAddresses',\n\t\t\t\tvalue\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\t// this function is work in progress for when the mails sync is implemented\n\t// const onClickWhenInFoldersEnabled = useCallback(() => {\n\t// \tsetWhenInFoldersEnabled(!whenInFoldersEnabled);\n\t// \tif (!whenInFoldersEnabled === (items.whenInFoldersEnabled === 'TRUE')) {\n\t// \t\tsetMods({});\n\t// \t} else {\n\t// \t\tupdateIdentities(\n\t// \t\t\titems.identityId,\n\t// \t\t\t'zimbraPrefWhenInFoldersEnabled',\n\t// \t\t\titems.whenInFoldersEnabled ? 'TRUE' : 'FALSE'\n\t// \t\t);\n\t// \t}\n\t// }, [\n\t// \titems.whenInFoldersEnabled,\n\t// \twhenInFoldersEnabled,\n\t// \tsetMods,\n\t// \tupdateIdentities,\n\t// \titems.identityId\n\t// ]);\n\t// const modalProps = useMemo(\n\t// \t() => ({\n\t// \t\topen,\n\t// \t\tonClose,\n\t// \t\tsetFolder,\n\t// \t\tt\n\t// \t}),\n\t// \t[open, onClose, setFolder, t]\n\t// );\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={whenSentToLabel}\n\t\t\t\t\tvalue={whenSentToEnabled}\n\t\t\t\t\tonClick={onClickWhenSentToEnabled}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={whenSentToAddressesLabel}\n\t\t\t\t\t\tvalue={whenSentToAddresses}\n\t\t\t\t\t\tdisabled={!whenSentToEnabled}\n\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\tonChange={(ev): void => onChangeWhenSentToAddresses(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t{/* <Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'label.when_composing',\n\t\t\t\t\t\t'When composing, replying to or forwarding messages in folder(s):'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={whenInFoldersEnabled}\n\t\t\t\t\tonClick={(): void => onClickWhenInFoldersEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<ChipInput\n\t\t\t\t\t\tlabel={t('label.reply_to_field_example', \"e.g. Bob Smith\")}\n\t\t\t\t\t\tvalue=\"\"\n\t\t\t\t\t\tplaceholder={t('label.folders', 'Folders')}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\ticon=\"FolderOutline\"\n\t\t\t\t\t\tdisabled={!whenInFoldersEnabled}\n\t\t\t\t\t\ticonAction={openFolderModal}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row> */}\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t\t{/* <FolderSelectModal compProps={modalProps} /> */}\n\t\t</>\n\t);\n};\n\nexport default PersonaUseSection;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { Account, IdentityProps } from '../../../../types';\n\ninterface PrimaryAccountSettingsProps {\n\tt: TFunction;\n\taccount: Account;\n\tidentity: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PrimaryAccountSettings = ({\n\tt,\n\taccount,\n\tidentity,\n\tupdateIdentities\n}: PrimaryAccountSettingsProps): ReactElement => {\n\tconst emailLabel = useMemo(\n\t\t() => (account.name ? '' : t('label.email_address', 'E-mail address')),\n\t\t[account.name, t]\n\t);\n\tconst [accountNameValue, setAccountNameValue] = useState(identity?.identityName);\n\n\tuseEffect(() => setAccountNameValue(identity.identityName), [identity.identityName]);\n\tconst accountLabel = useMemo(\n\t\t() => (accountNameValue ? '' : t('label.account_name', 'Account Name')),\n\t\t[accountNameValue, t]\n\t);\n\n\tconst onChangeDisabled = useCallback(() => null, []);\n\tconst onChange = useCallback(\n\t\t(value: string): void => {\n\t\t\tsetAccountNameValue(value);\n\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('primary_account.title', 'Primary Account Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input label={emailLabel} value={account.name || ' '} onChange={onChangeDisabled} />\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={accountLabel}\n\t\t\t\t\t\tvalue={accountNameValue || ' '}\n\t\t\t\t\t\tonChange={(ev): void => onChange(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PrimaryAccountSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tCheckbox,\n\tContainer,\n\tDropdown,\n\tIcon,\n\tInput,\n\tPadding,\n\tRow,\n\tSelect,\n\tSelectItem,\n\tSingleSelectionOnChange,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { filter, find } from 'lodash';\nimport React, { ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype SettingsSentMessagesProps = {\n\tt: TFunction;\n\tidentity: IdentityProps;\n\tisExternalAccount: boolean;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n\tavailableEmailAddresses?: string[];\n};\n\nconst blankItem: SelectItem = { label: '', value: '' };\n\nconst SettingsSentMessages = ({\n\tt,\n\tidentity,\n\tisExternalAccount,\n\tupdateIdentities,\n\tavailableEmailAddresses\n}: SettingsSentMessagesProps): ReactElement => {\n\tconst title = useMemo(() => t('label.settings_sent_messages', 'Settings for Sent Messages'), [t]);\n\tconst [replyToEnabledValue, setReplyToEnabledValue] = useState(\n\t\tidentity.replyToEnabled === 'TRUE'\n\t);\n\tconst [replyToAddress, setReplyToAddress] = useState(identity.replyToAddress);\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\n\tconst [fromDisplayValue, setFromDisplayValue] = useState(identity.fromDisplay);\n\tconst [replyToDisplay, setReplyToDisplay] = useState(identity?.replyToDisplay);\n\tconst fromAddressArray = useMemo(\n\t\t() =>\n\t\t\tavailableEmailAddresses\n\t\t\t\t? availableEmailAddresses.map((address) => ({ value: address, label: address }))\n\t\t\t\t: [blankItem],\n\t\t[availableEmailAddresses]\n\t);\n\tconst [fromAddress, setFromAddress] = useState(\n\t\t() => find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem\n\t);\n\n\tuseEffect(() => {\n\t\tsetReplyToEnabledValue(identity.replyToEnabled === 'TRUE');\n\t}, [identity.replyToEnabled]);\n\tuseEffect(() => {\n\t\tsetFromDisplayValue(identity.fromDisplay);\n\t}, [identity.fromDisplay]);\n\tuseEffect(() => {\n\t\tconst k = find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem;\n\t\tsetFromAddress(k);\n\t}, [fromAddressArray, identity.fromAddress]);\n\tuseEffect(() => {\n\t\tsetReplyToDisplay(identity?.replyToDisplay === undefined ? '' : identity?.replyToDisplay);\n\t}, [identity?.replyToDisplay]);\n\tuseEffect(() => {\n\t\tsetReplyToAddress(identity.replyToAddress);\n\t}, [identity.replyToAddress]);\n\n\tconst onClickReplyToEnabled = useCallback(() => {\n\t\tsetReplyToEnabledValue(!replyToEnabledValue);\n\t\tconst modifyProp = {\n\t\t\tid: identity.identityId,\n\t\t\tkey: 'zimbraPrefReplyToEnabled',\n\t\t\tvalue: replyToEnabledValue ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [identity.identityId, replyToEnabledValue, updateIdentities]);\n\n\tconst fromDisplayLabel = useMemo(\n\t\t() => (fromDisplayValue ? '' : t('label.from_name', 'From: \"Name\"')),\n\t\t[t, fromDisplayValue]\n\t);\n\tconst onChangeFromDisplayValue = (value: string): void => {\n\t\tsetFromDisplayValue(value);\n\t\tconst modifyProp = {\n\t\t\tid: identity.identityId,\n\t\t\tkey: 'zimbraPrefFromDisplay',\n\t\t\tvalue\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t};\n\n\tconst fromAddressLabel = useMemo(\n\t\t() => (fromAddress ? '' : t('label.address', 'Address')),\n\t\t[fromAddress, t]\n\t);\n\n\tconst onChangeFromAddress = useCallback<SingleSelectionOnChange>(\n\t\t(newAddress) => {\n\t\t\tif (!newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (fromAddress?.value === newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetFromAddress(filter(fromAddressArray, (item) => item.value === newAddress)[0]);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefFromAddress',\n\t\t\t\tvalue: newAddress\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[identity.identityId, updateIdentities, fromAddressArray, fromAddress.value]\n\t);\n\n\tconst replyToEnabledLabel = t(\n\t\t'label.set_reply_to_field',\n\t\t'Set the \"Reply-to\" field of e-mail message to:'\n\t);\n\n\tconst replyToDisplayLabel = useMemo(\n\t\t() => (replyToDisplay ? '' : t('label.reply_to_field_example', 'e.g. Bob Smith')),\n\t\t[t, replyToDisplay]\n\t);\n\tconst onChangePrefReplyToDisplay = useCallback(\n\t\t(value: string): void => {\n\t\t\tsetReplyToDisplay(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToDisplay',\n\t\t\t\tvalue\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst replyToAddressLabel = useMemo(\n\t\t() => (replyToAddress ? '' : t('label.choose_account', 'Choose an account')),\n\t\t[t, replyToAddress]\n\t);\n\n\tconst replyToAddressArray = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: '0',\n\t\t\t\tlabel: identity.fromAddress ?? ''\n\t\t\t}\n\t\t],\n\t\t[identity.fromAddress]\n\t);\n\n\tconst onChangeReplyToAddress = useCallback(\n\t\t(value: string) => {\n\t\t\tsetReplyToAddress(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: identity.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToAddress',\n\t\t\t\tvalue\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst isValidEmail = useMemo(\n\t\t() => replyToEnabledValue && !EMAIL_VALIDATION_REGEX.test(replyToAddress || ''),\n\t\t[replyToEnabledValue, replyToAddress]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row\n\t\t\t\t\twidth={isExternalAccount ? '100%' : '50%'}\n\t\t\t\t\tpadding={{ right: isExternalAccount ? '' : 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={fromDisplayLabel}\n\t\t\t\t\t\tvalue={fromDisplayValue}\n\t\t\t\t\t\tonChange={(ev): void => onChangeFromDisplayValue(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t{!isExternalAccount && (\n\t\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tlabel={fromAddressLabel}\n\t\t\t\t\t\t\tselection={fromAddress}\n\t\t\t\t\t\t\titems={fromAddressArray}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tonChange={onChangeFromAddress}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={replyToEnabledLabel}\n\t\t\t\t\tvalue={replyToEnabledValue}\n\t\t\t\t\tonClick={(): void => onClickReplyToEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={replyToDisplayLabel}\n\t\t\t\t\t\tvalue={replyToDisplay}\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\tonChange={(ev): void => onChangePrefReplyToDisplay(ev.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\titems={replyToAddressArray}\n\t\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\tonClose={(): void => setDropdownOpen(false)}\n\t\t\t\t\t\tonOpen={(): void => setDropdownOpen(true)}\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel={replyToAddressLabel}\n\t\t\t\t\t\t\tvalue={replyToAddress}\n\t\t\t\t\t\t\tonChange={(ev): void => onChangeReplyToAddress(ev.target.value)}\n\t\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\t\tCustomIcon={(): ReactElement => (\n\t\t\t\t\t\t\t\t<Icon icon={dropdownOpen ? 'ArrowUp' : 'ArrowDown'} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Dropdown>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default SettingsSentMessages;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\n\nconst Styler = styled(Container)<{ allDay?: boolean }>`\n\t.rw-btn,\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tcolor: inherit;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t\tbackground-image: none;\n\t\tfont-family: inherit;\n\t\tfont-size: inherit;\n\t\tline-height: inherit;\n\t\t-ms-touch-action: manipulation;\n\t\ttouch-action: manipulation;\n\t}\n\n\t.rw-btn::-moz-focus-inner {\n\t\tpadding: 0;\n\t\tborder: 0;\n\t}\n\n\tselect.rw-input {\n\t\ttext-transform: none;\n\t}\n\n\thtml input[type='button'].rw-input {\n\t\t-webkit-appearance: button;\n\t\tcursor: pointer;\n\t}\n\n\ttextarea.rw-input {\n\t\toverflow: auto;\n\t\tresize: vertical;\n\t}\n\n\tbutton[disabled].rw-input,\n\tfieldset[disabled] .rw-input,\n\thtml input[disabled].rw-input {\n\t\tcursor: not-allowed;\n\t}\n\n\tbutton.rw-input::-moz-focus-inner,\n\tinput.rw-input::-moz-focus-inner {\n\t\tborder: 0;\n\t\tpadding: 0;\n\t}\n\n\tinput[type='checkbox'],\n\tinput[type='radio'] {\n\t\tbox-sizing: border-box;\n\t\tpadding: 0;\n\t}\n\t${\n\t\t/* @font-face {\nfont-family: \"RwWidgets\";\nfont-weight: normal;\nfont-style: normal;\n${/* src: url(\"../fonts/rw-widgets.eot?v=4.1.0\");\nsrc: url(\"../fonts/rw-widgets.eot?#iefix&v=4.1.0\") format(\"embedded-opentype\"),\nurl(\"../fonts/rw-widgets.woff?v=4.1.0\") format(\"woff\"),\nurl(\"../fonts/rw-widgets.ttf?v=4.1.0\") format(\"truetype\"),\n url(\"../fonts/rw-widgets.svg?v=4.1.0#fontawesomeregular\") format(\"svg\"); */ ''\n\t};\n\n\t.rw-i {\n\t\tdisplay: inline-block;\n\t\tcolor: inherit;\n\t\t${/* font-family: RwWidgets; */ ''};\n\t\tfont-style: normal;\n\t\tfont-weight: normal;\n\t\tfont-variant: normal;\n\t\ttext-transform: none;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\t-webkit-font-smoothing: antialiased;\n\t}\n\n\t.rw-i-caret-down:before {\n\t\tcontent: '\\e803';\n\t}\n\n\t.rw-i-caret-up:before {\n\t\tcontent: '\\e800';\n\t}\n\n\t.rw-i-chevron-left:before {\n\t\tcontent: '\\f104';\n\t}\n\n\t.rw-i-chevron-right:before {\n\t\tcontent: '\\f105';\n\t}\n\n\t.rw-i-clock-o:before {\n\t\tcontent: '\\e805';\n\t}\n\n\t.rw-i-calendar:before {\n\t\tcontent: '\\e804';\n\t}\n\n\t.rw-i-search:before {\n\t\tcontent: '\\e801';\n\t}\n\n\t.rw-btn {\n\t\tposition: relative;\n\t\tcolor: #333;\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\tvertical-align: middle;\n\t\tborder: 0.0625rem solid transparent;\n\t\tcursor: pointer;\n\t\toutline: none;\n\t}\n\n\t.rw-state-readonly .rw-btn,\n\t.rw-state-disabled .rw-btn {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-btn-select {\n\t\topacity: 0.75;\n\t\ttransition: opacity 150ms ease-in;\n\t}\n\n\t.rw-btn-select:hover,\n\t.rw-state-focus .rw-btn-select,\n\t:hover > .rw-btn-select {\n\t\topacity: 1;\n\t}\n\n\t.rw-btn-primary {\n\t\twidth: 100%;\n\t\twhite-space: normal;\n\t\tline-height: 2rem;\n\t}\n\n\t.rw-btn-primary:hover {\n\t\tbackground-color: #e6e6e6;\n\t}\n\n\t.rw-btn-select[disabled],\n\t.rw-btn-primary[disabled],\n\tfieldset[disabled] .rw-btn-select,\n\tfieldset[disabled] .rw-btn-primary {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 0.65;\n\t\tpointer-events: none;\n\t}\n\n\t.rw-sr {\n\t\tposition: absolute;\n\t\twidth: 0.0625rem;\n\t\theight: 0.0625rem;\n\t\tmargin: -0.0625rem;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t\tclip: rect(0, 0, 0, 0);\n\t\tborder: 0;\n\t}\n\n\t.rw-widget {\n\t\tbackground-clip: border-box;\n\t\tborder: none;\n\t\toutline: none;\n\t\tposition: relative;\n\t\tborder-radius: 0.125rem 0.125rem 0 0;\n\t\twidth: 100%;\n\t}\n\n\t.rw-widget,\n\t.rw-widget * {\n\t\tbox-sizing: border-box;\n\t}\n\n\t.rw-widget:before,\n\t.rw-widget *:before,\n\t.rw-widget:after,\n\t.rw-widget *:after {\n\t\tbox-sizing: border-box;\n\t}\n\n\t.rw-widget > .rw-widget-container {\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.rw-widget-container {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray5.regular};\n\t\tborder-bottom: ${({ theme }): string => theme.palette.gray2.regular} 0.0625rem solid;\n\t}\n\n\t.rw-widget-container.rw-state-focus,\n\t.rw-state-focus > .rw-widget-container,\n\t.rw-widget-container.rw-state-focus:hover,\n\t.rw-state-focus > .rw-widget-container:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray5.focus};\n\t\tborder-bottom: ${({ theme }): string => theme.palette.primary.regular} 0.0625rem solid;\n\t}\n\n\t.rw-widget-container.rw-state-readonly,\n\t.rw-state-readonly > .rw-widget-container {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-widget-container.rw-state-disabled,\n\t.rw-state-disabled > .rw-widget-container,\n\tfieldset[disabled] .rw-widget-container,\n\t.rw-widget-container.rw-state-disabled:hover,\n\t.rw-state-disabled > .rw-widget-container:hover,\n\tfieldset[disabled] .rw-widget-container:hover,\n\t.rw-widget-container.rw-state-disabled:active,\n\t.rw-state-disabled > .rw-widget-container:active,\n\tfieldset[disabled] .rw-widget-container:active {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-datetime-picker {\n\t\theight: 2.625rem;\n\t}\n\n\t.rw-widget-picker {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tborder-collapse: separate;\n\t\tdisplay: inline-table;\n\t\theight: 100%;\n\t}\n\n\t.rw-widget-picker > * {\n\t\tposition: relative;\n\t\tborder: none;\n\t\toutline: none;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: table-cell;\n\t}\n\n\t.rw-widget-picker > .rw-select {\n\t\twidth: ${({ allDay }): string => (allDay ? '2.125rem' : '4.25rem')};\n\t\twhite-space: nowrap;\n\t}\n\n\t.rw-open > .rw-widget-picker {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.rw-open-up > .rw-widget-picker {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t}\n\n\tfieldset[disabled] .rw-widget-picker,\n\t.rw-state-disabled > .rw-widget-picker {\n\t\tbackground-color: #eee;\n\t}\n\n\t.rw-multiselect > .rw-widget-picker {\n\t\theight: auto;\n\t}\n\n\t.rw-select {\n\t\tcursor: pointer;\n\t}\n\n\t.rw-select > * {\n\t\twidth: 2rem;\n\t\theight: 100%;\n\t}\n\n\t.rw-state-readonly .rw-select,\n\t.rw-state-disabled .rw-select {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-select-bordered {\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-left: #ccc 0.0625rem solid;\n\t}\n\n\t.rw-select-bordered:hover,\n\t.rw-select-bordered:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\n\t.rw-select-bordered:active {\n\t\tbox-shadow: inset 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.125);\n\t}\n\n\t.rw-state-disabled .rw-select-bordered,\n\t.rw-state-readonly .rw-select-bordered,\n\tfieldset[disabled] .rw-select-bordered,\n\t.rw-state-disabled .rw-select-bordered:hover,\n\t.rw-state-readonly .rw-select-bordered:hover,\n\tfieldset[disabled] .rw-select-bordered:hover,\n\t.rw-state-disabled .rw-select-bordered:active,\n\t.rw-state-readonly .rw-select-bordered:active,\n\tfieldset[disabled] .rw-select-bordered:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-rtl .rw-select-bordered {\n\t\tborder-right: #ccc 0.0625rem solid;\n\t\tborder-left: none;\n\t}\n\n\t.rw-rtl {\n\t\tdirection: rtl;\n\t}\n\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\toutline: 0;\n\t}\n\n\t.rw-input-reset::-moz-placeholder {\n\t\tcolor: #999;\n\t\topacity: 1;\n\t}\n\n\t.rw-input-reset:-ms-input-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-input-reset::-webkit-input-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tpadding: 0 0.857rem;\n\t}\n\n\t.rw-input[type='text']::-ms-clear {\n\t\tdisplay: none;\n\t}\n\n\t.rw-input[disabled],\n\tfieldset[disabled] .rw-input {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 1;\n\t\tbackground-color: #eee;\n\t\tborder-color: #ccc;\n\t}\n\n\t.rw-input[readonly] {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-i.rw-loading {\n\t\tdisplay: block;\n\t\t${/* background: url(\"../img/loading.gif\") no-repeat center; */ ''};\n\t\tmin-width: 1rem;\n\t\twidth: 1.9rem;\n\t\theight: 1rem;\n\t}\n\n\t.rw-i.rw-loading:before {\n\t\tcontent: '';\n\t}\n\n\t.rw-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-detect-autofill:-webkit-autofill {\n\t\tanimation-name: react-widgets-autofill-start;\n\t\ttransition: background-color 50000s ease-in-out 0s;\n\t}\n\n\t.rw-detect-autofill:not(:-webkit-autofill) {\n\t\tanimation-name: react-widgets-autofill-cancel;\n\t}\n\n\t.rw-webkit-autofill .rw-widget-container,\n\t.rw-input:-webkit-autofill {\n\t\tbackground-color: #faffbd !important;\n\t\tbackground-image: none !important;\n\t\tcolor: #000 !important;\n\t}\n\n\t.rw-widget-input,\n\t.rw-filter-input {\n\t}\n\n\t.rw-widget-input.rw-state-focus {\n\t\tbox-shadow: 0 0 0.5rem rgba(102, 175, 233, 0.6),\n\t\t\tinset 0 0.0625rem 0.0625rem rgba(0, 0, 0, 0.075);\n\t}\n\n\t.rw-list {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tfont-size: 1rem;\n\t\toutline: 0;\n\t\toverflow: auto;\n\t\tmax-height: 12.5rem;\n\t}\n\n\t.rw-list-option {\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t\tcolor: #333;\n\t\tcursor: pointer;\n\t\tborder: 0.0625rem solid transparent;\n\t}\n\n\t.rw-list-option.rw-state-focus,\n\t.rw-list-option.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\n\t.rw-list-option:hover,\n\t.rw-list-option:hover.rw-state-focus {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\n\t.rw-list-option.rw-state-selected,\n\t.rw-list-option.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\n\tfieldset[disabled] .rw-list-option,\n\t.rw-list-option.rw-state-disabled,\n\t.rw-list-option.rw-state-readonly {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\n\tfieldset[disabled] .rw-list-option:hover,\n\t.rw-list-option.rw-state-disabled:hover,\n\t.rw-list-option.rw-state-readonly:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\n\t.rw-list-empty,\n\t.rw-list-option,\n\t.rw-list-optgroup {\n\t\tpadding: 0.143rem 0.75rem;\n\t\toutline: 0;\n\t}\n\n\t.rw-list-optgroup {\n\t\tfont-weight: bold;\n\t\tpadding-top: 0.4375rem;\n\t}\n\n\t.rw-list-option-create {\n\t\tborder-top: 0.0625rem #ccc solid;\n\t}\n\n\t.rw-dropdown-list-autofill {\n\t\tpadding: 0;\n\t}\n\n\t.rw-dropdown-list-input {\n\t\tbackground-color: transparent;\n\t\tvertical-align: middle;\n\t\tpadding-right: 0;\n\t\tmax-width: 0.0625rem;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-rtl .rw-dropdown-list-input {\n\t\tpadding-right: 0.857rem;\n\t\tpadding-left: 0;\n\t}\n\n\t.rw-filter-input {\n\t\tposition: relative;\n\t\tmargin: 0.25rem;\n\t\tpadding-right: 0;\n\t}\n\n\t.rw-filter-input .rw-rtl {\n\t\tpadding-right: 0.857rem;\n\t\tpadding-left: 0;\n\t}\n\n\t.rw-filter-input .rw-select,\n\t.rw-filter-input .rw-btn {\n\t\topacity: 0.75;\n\t\tcursor: text;\n\t}\n\n\t.rw-filter-input > .rw-select,\n\t.rw-filter-input > .rw-select:active,\n\t.rw-filter-input > .rw-select:hover {\n\t\tbackground: none;\n\t\tcursor: initial;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-number-picker .rw-btn {\n\t\tcursor: pointer;\n\t\theight: calc(1.2145rem - 0.0625rem);\n\t\t${\n\t\t\t/*\n margin-top: -0.0625rem\\9;\nheight: 1.2145rem\\9;\n*/ 'border: 0.125rem solid red;'\n\t\t};\n\t\tline-height: 1.2145rem;\n\t\tline-height: calc(1.2145rem - 0.0625rem);\n\t\tdisplay: block;\n\t\tborder: none;\n\t}\n\n\t.rw-number-picker .rw-btn:hover,\n\t.rw-number-picker .rw-btn:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\n\t.rw-number-picker .rw-btn:active {\n\t\tbox-shadow: inset 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.125);\n\t}\n\n\t.rw-state-disabled .rw-number-picker .rw-btn,\n\t.rw-state-readonly .rw-number-picker .rw-btn,\n\tfieldset[disabled] .rw-number-picker .rw-btn,\n\t.rw-state-disabled .rw-number-picker .rw-btn:hover,\n\t.rw-state-readonly .rw-number-picker .rw-btn:hover,\n\tfieldset[disabled] .rw-number-picker .rw-btn:hover,\n\t.rw-state-disabled .rw-number-picker .rw-btn:active,\n\t.rw-state-readonly .rw-number-picker .rw-btn:active,\n\tfieldset[disabled] .rw-number-picker .rw-btn:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-number-picker .rw-select {\n\t\tvertical-align: middle;\n\t}\n\n\t.rw-number-picker .rw-select,\n\t.rw-number-picker .rw-select:hover,\n\t.rw-number-picker .rw-select:active {\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-calendar-popup {\n\t\tright: auto;\n\t\tmin-width: 0;\n\t\twidth: 18rem;\n\t}\n\n\t.rw-calendar {\n\t\tborder-radius: 0.25rem;\n\t\tbackground-color: #fff;\n\t\tborder: #ccc 0.0625rem solid;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-calendar.rw-popup {\n\t\tborder-color: #ccc;\n\t}\n\n\t.rw-calendar-now {\n\t\tfont-weight: bold;\n\t}\n\n\t.rw-calendar-btn-left,\n\t.rw-calendar-btn-right {\n\t\twidth: 12.5%;\n\t}\n\n\t.rw-calendar-btn-view {\n\t\twidth: 75%;\n\t}\n\n\t.rw-calendar-footer {\n\t\tborder-top: 0.0625rem solid #ccc;\n\t}\n\n\t.rw-calendar-grid {\n\t\toutline: none;\n\t\theight: 14.28571429rem;\n\t\ttable-layout: fixed;\n\t\tborder-collapse: separate;\n\t\tborder-spacing: 0;\n\t\twidth: 100%;\n\t\tbackground-color: #fff;\n\t}\n\n\t.rw-head-cell {\n\t\ttext-align: center;\n\t\tborder-bottom: 0.0625rem solid #ccc;\n\t\tpadding: 0.25rem;\n\t}\n\n\t.rw-cell {\n\t\tcolor: #333;\n\t\tborder-radius: 0.25rem;\n\t\tcursor: pointer;\n\t\tline-height: normal;\n\t\ttext-align: center;\n\t\tborder: 0.0625rem solid transparent;\n\t\tpadding: 0.25rem;\n\t}\n\n\t.rw-cell:hover {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\n\t.rw-cell.rw-state-focus,\n\t.rw-cell.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\n\t.rw-cell.rw-state-selected,\n\t.rw-cell.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\n\t.rw-cell.rw-state-disabled {\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\n\t.rw-cell.rw-state-disabled:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\n\t.rw-calendar-month .rw-cell {\n\t\ttext-align: center;\n\t}\n\n\t.rw-cell-off-range {\n\t\tcolor: #999;\n\t}\n\n\t.rw-calendar-transition-group {\n\t\tposition: relative;\n\t}\n\n\t.rw-calendar-transition {\n\t\ttransition: transform 300ms;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.rw-calendar-transition-entering.rw-calendar-transition-top,\n\t.rw-calendar-transition-entered.rw-calendar-transition-top,\n\t.rw-calendar-transition-entering.rw-calendar-transition-bottom,\n\t.rw-calendar-transition-entered.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t}\n\n\t.rw-calendar-transition-entering.rw-calendar-transition-right,\n\t.rw-calendar-transition-entered.rw-calendar-transition-right,\n\t.rw-calendar-transition-entering.rw-calendar-transition-left,\n\t.rw-calendar-transition-entered.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(0);\n\t\ttransform: translateX(0);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.rw-calendar-transition-exiting.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.rw-select-list {\n\t\toverflow: auto;\n\t\tposition: relative;\n\t}\n\n\t.rw-select-list .rw-list {\n\t\tmax-height: none;\n\t\tfont-size: 1rem;\n\t}\n\n\t.rw-select-list-label {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tfont-weight: normal;\n\t\tcursor: inherit;\n\t\tpadding-left: 1.25rem;\n\t\tmargin: 0;\n\t}\n\n\t.rw-rtl .rw-select-list-label {\n\t\tpadding-left: 0;\n\t\tpadding-right: 1.25rem;\n\t}\n\n\tinput.rw-select-list-input {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 50%;\n\t\t-ms-transform: translateY(-50%);\n\t\ttransform: translateY(-50%);\n\t\t${/* top: 0.1rem\\9; */ ''};\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t\tcursor: inherit;\n\t}\n\n\t.rw-rtl input.rw-select-list-input {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\n\t.rw-loading-mask {\n\t\tcontent: '';\n\t\t${/* background: url(\"../img/loader-big.gif\") no-repeat center; */ ''};\n\t\tposition: absolute;\n\t\tbackground-color: #fff;\n\t\tborder-radius: 0.25rem;\n\t\topacity: 0.7;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t.rw-multiselect {\n\t\tcursor: text;\n\t}\n\n\t.rw-multiselect .rw-input-reset {\n\t\theight: calc(2.429rem - 0.125rem);\n\t\t${\n\t\t\t/* margin-top: -0.125rem\\9;\nheight: 2.429rem\\9; */ ''\n\t\t};\n\t\tborder-width: 0;\n\t\twidth: auto;\n\t\tmax-width: 100%;\n\t\tpadding: 0 0.857rem;\n\t}\n\n\t.rw-multiselect .rw-select {\n\t\tvertical-align: middle;\n\t}\n\n\t.rw-multiselect .rw-select,\n\t.rw-multiselect .rw-select:hover,\n\t.rw-multiselect .rw-select:active {\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t}\n\n\t.rw-multiselect-taglist {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tdisplay: inline-block;\n\t\tvertical-align: 0;\n\t\toutline: none;\n\t}\n\n\t.rw-multiselect-tag {\n\t\tdisplay: inline-table;\n\t\tcolor: inherit;\n\t\tpadding: 0 0.35rem 0 0.35rem;\n\t\tmargin-left: calc(0.279335rem - 0.0625rem);\n\t\tmargin-top: 0.279335rem;\n\t\tmargin-top: calc(0.279335rem - 0.0625rem);\n\t\theight: 1.87033rem;\n\t\tborder-radius: 0.1875rem;\n\t\tbackground-color: #eee;\n\t\tborder: 0.0625rem solid #ccc;\n\t\tcursor: default;\n\t\tvertical-align: top;\n\t\ttext-align: center;\n\t\toverflow: hidden;\n\t\tmax-width: 100%;\n\t}\n\n\t.rw-multiselect-tag > * {\n\t\tdisplay: table-cell;\n\t\tvertical-align: middle;\n\t\theight: 100%;\n\t}\n\n\t.rw-rtl .rw-multiselect-tag {\n\t\tmargin-left: 0;\n\t\tmargin-right: calc(0.279335rem - 0.0625rem);\n\t\tpadding: 0 0.35rem 0 0.35rem;\n\t}\n\n\t.rw-multiselect-tag.rw-state-focus,\n\t.rw-multiselect-tag.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\n\t.rw-multiselect-tag.rw-state-readonly,\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-readonly .rw-multiselect-tag,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\topacity: 0.65;\n\t}\n\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-multiselect-tag-btn {\n\t\tcolor: inherit;\n\t\tmargin-left: 0.25rem;\n\t}\n\n\t.rw-rtl .rw-multiselect-tag-btn {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0.25rem;\n\t}\n\n\t.rw-autocomplete .rw-select {\n\t\tposition: absolute;\n\t\tdisplay: block;\n\t\twidth: auto;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t.rw-popup-container {\n\t\tposition: absolute;\n\t\tz-index: 1005;\n\t\ttop: 100%;\n\t\tleft: -0.375rem;\n\t\tright: -0.375rem;\n\t}\n\n\t.rw-popup-container.rw-dropup {\n\t\ttop: auto;\n\t\tbottom: 100%;\n\t}\n\n\t.rw-state-focus .rw-popup-container {\n\t\tz-index: 1006;\n\t}\n\n\t.rw-popup-transition {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.375rem;\n\t\tpadding: 0 0.375rem;\n\t}\n\n\t.rw-dropup > .rw-popup-transition {\n\t\tmargin-bottom: 0;\n\t\tmargin-top: 0.375rem;\n\t}\n\n\t.rw-popup {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-right-radius: 0.1875rem;\n\t\tborder-bottom-left-radius: 0.1875rem;\n\t\tbox-shadow: 0 0.3125rem 0.375rem rgba(0, 0, 0, 0.2);\n\t\tborder: #ccc 0.0625rem solid;\n\t\tbackground: #fff;\n\t}\n\n\t.rw-dropup .rw-popup {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-top-right-radius: 0.1875rem;\n\t\tborder-top-left-radius: 0.1875rem;\n\t\tbox-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.2);\n\t}\n\n\t.rw-popup-transition {\n\t\ttransition: transform 200ms;\n\t}\n\n\t.rw-popup-transition-entering {\n\t\toverflow: hidden;\n\t}\n\n\t.rw-popup-transition-entering .rw-popup-transition {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t\ttransition-timing-function: ease-out;\n\t}\n\n\t.rw-popup-transition-exiting .rw-popup-transition {\n\t\ttransition-timing-function: ease-in;\n\t}\n\n\t.rw-popup-transition-exiting,\n\t.rw-popup-transition-exited {\n\t\toverflow: hidden;\n\t}\n\n\t.rw-popup-transition-exiting .rw-popup-transition,\n\t.rw-popup-transition-exited .rw-popup-transition {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.rw-popup-transition-exiting.rw-dropup .rw-popup-transition,\n\t.rw-popup-transition-exited.rw-dropup .rw-popup-transition {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.rw-popup-transition-exited {\n\t\tdisplay: none;\n\t}\n\n\t.rw-state-disabled {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme }): string => theme.sizes.font.medium};\n\tfont-weight: ${({ theme }): number => theme.fonts.weight.regular};\n`;\n\nexport default Styler;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Checkbox, Container, Icon, Padding, Text } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useState } from 'react';\n\nimport moment from 'moment';\nimport DateTimePicker from 'react-widgets/lib/DateTimePicker';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../../types';\nimport Heading from './settings-heading';\nimport Styler from './date-picker-style';\nimport { getT } from '../../store/i18n';\nimport { changeDateEvent, endOfDate, getDateEvent, startOfDate } from './utils';\n\nmomentLocalizer();\n\nconst DateTimeSelect: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n\tsendAutoReply: boolean;\n}> = ({ settings, addMod, sendAutoReply }) => {\n\tconst t = getT();\n\tconst [dateDisabled, setDateDisabled] = useState<boolean>(false);\n\tconst [sendAutoReplyTimePeriod, setSendAutoReplyTimePeriod] = useState<boolean>(\n\t\t!!(\n\t\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate && settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t\t)\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeFromDate, setZimbraPrefOutOfOfficeFromDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate as string\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeUntilDate, setZimbraPrefOutOfOfficeUntilDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeUntilDate as string\n\t);\n\tconst [allDay, setAllDay] = useState<boolean>(false);\n\tconst [allDayDisabled, setAllDayDisabled] = useState<boolean>(false);\n\tconst [timeDisabled, setTimeDisabled] = useState<boolean>(false);\n\tconst updatePrefs = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tif (sendAutoReplyTimePeriod) {\n\t\t\t\tsetTimeDisabled(false);\n\t\t\t\tsetAllDayDisabled(false);\n\t\t\t\tsetDateDisabled(false);\n\t\t\t} else {\n\t\t\t\tsetAllDayDisabled(true);\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t\tsetDateDisabled(true);\n\t\t\t}\n\t\t\tif (allDay) {\n\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(startOfDate(dateZimbraPrefOutOfOfficeFromDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tstartOfDate(dateZimbraPrefOutOfOfficeFromDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t);\n\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(endOfDate(dateZimbraPrefOutOfOfficeUntilDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tendOfDate(dateZimbraPrefOutOfOfficeUntilDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t);\n\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t}\n\t\t} else {\n\t\t\tsetDateDisabled(true);\n\t\t\tsetTimeDisabled(true);\n\t\t\tsetAllDay(false);\n\t\t\tsetAllDayDisabled(true);\n\t\t}\n\t}, [\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tdateZimbraPrefOutOfOfficeFromDate,\n\t\tdateZimbraPrefOutOfOfficeUntilDate,\n\t\tallDay,\n\t\tsendAutoReply,\n\t\tsendAutoReplyTimePeriod\n\t]);\n\tconst toggleSendAutoReplyTimePeriod = (): void => {\n\t\tsetSendAutoReplyTimePeriod(!sendAutoReplyTimePeriod);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Heading title={t('settings.out_of_office.headings.time_period', 'Time Period')} />\n\t\t\t<Checkbox\n\t\t\t\tlabel={t(\n\t\t\t\t\t'settings.out_of_office.labels.send_auto_reply_period',\n\t\t\t\t\t'Send auto-replies during the following period:'\n\t\t\t\t)}\n\t\t\t\tvalue={sendAutoReplyTimePeriod}\n\t\t\t\tonClick={toggleSendAutoReplyTimePeriod}\n\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t/>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_date', 'Start Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_date', 'End Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tinputProps={{ readOnly: true }}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\n\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tdisabled={allDayDisabled}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.all_day', 'All Day:')}\n\t\t\t\t\tvalue={allDay}\n\t\t\t\t\tonClick={(): void => {\n\t\t\t\t\t\tsetAllDay(!allDay);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_time', 'Start Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_time', 'End Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\t\t</>\n\t);\n};\n\nexport default DateTimeSelect;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, Text } from '@zextras/carbonio-design-system';\nimport React, { useMemo } from 'react';\nimport { getT } from '../../../store/i18n';\nimport { appearanceSubSection } from '../../general-settings-sub-sections';\n\ninterface AppearanceSettingsProps {\n\tchildren: React.ReactElement | React.ReactElement[];\n}\n\nconst AppearanceSettings = ({ children }: AppearanceSettingsProps): JSX.Element => {\n\tconst t = getT();\n\tconst subSection = useMemo(() => appearanceSubSection(t), [t]);\n\treturn (\n\t\t<Container\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t\tgap=\"1rem\"\n\t\t\tpadding={'large'}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\theight={'fit'}\n\t\t\tid={subSection.id}\n\t\t\tbackground={'gray6'}\n\t\t>\n\t\t\t<Text weight={'bold'} size={'medium'}>\n\t\t\t\t{subSection.label}\n\t\t\t</Text>\n\t\t\t{children}\n\t\t</Container>\n\t);\n};\n\nexport default AppearanceSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Select, SelectItem, SingleSelectionOnChange, Text } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport React, { FC, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport type { AddMod, DarkReaderPropValues, RemoveMod } from '../../../../types';\nimport { ThemeCallbacksContext } from '../../../boot/theme-provider';\nimport { DARK_READER_PROP_KEY, SHELL_APP_ID } from '../../../constants';\nimport { getT } from '../../../store/i18n';\nimport {\n\tisDarkReaderPropValues,\n\tuseDarkReaderResultValue\n} from '../../../dark-mode/use-dark-reader-result-value';\n\nconst DarkThemeSettingSection: FC<{\n\taddMod: AddMod;\n\tremoveMod: RemoveMod;\n}> = ({ addMod, removeMod }) => {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tconst [selection, setSelection] = useState<SelectItem>();\n\n\tconst t = getT();\n\tconst items = useMemo<Array<{ label: string; value: DarkReaderPropValues }>>(\n\t\t() => [\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_auto', 'Auto'),\n\t\t\t\tvalue: 'auto'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_enabled', 'Enabled'),\n\t\t\t\tvalue: 'enabled'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_disabled', 'Disabled'),\n\t\t\t\tvalue: 'disabled'\n\t\t\t}\n\t\t],\n\t\t[t]\n\t);\n\n\tconst setSelectNewValue = useCallback(\n\t\t(value: DarkReaderPropValues) => {\n\t\t\tconst item = find(items, { value });\n\t\t\tif (item) {\n\t\t\t\tsetSelection(item);\n\t\t\t}\n\t\t\tsetDarkReaderState(value);\n\t\t},\n\t\t[items, setDarkReaderState]\n\t);\n\n\tconst onSelectionChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (isDarkReaderPropValues(value)) {\n\t\t\t\tif (value) {\n\t\t\t\t\tsetSelectNewValue(value);\n\t\t\t\t}\n\t\t\t\tif (value !== darkReaderResultValue) {\n\t\t\t\t\taddMod('props', DARK_READER_PROP_KEY, { app: SHELL_APP_ID, value });\n\t\t\t\t} else {\n\t\t\t\t\tremoveMod('props', DARK_READER_PROP_KEY);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[addMod, darkReaderResultValue, removeMod, setSelectNewValue]\n\t);\n\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetSelectNewValue(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, items, setSelectNewValue]);\n\n\tif (!selection) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<Text size=\"medium\" weight=\"bold\">\n\t\t\t\t{t('settings.general.theme_options', 'Theme Options')}\n\t\t\t</Text>\n\t\t\t<Select\n\t\t\t\titems={items}\n\t\t\t\tselection={selection}\n\t\t\t\tlabel={t('settings.general.dark_mode', 'Dark Mode')}\n\t\t\t\tonChange={onSelectionChange}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default DarkThemeSettingSection;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ButtonOld as Button, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { logout } from '../../../network/logout';\nimport { getT } from '../../../store/i18n';\nimport { accountSubSection } from '../../general-settings-sub-sections';\n\nconst Logout: FC = () => {\n\tconst t = getT();\n\tconst onClick = useCallback(() => {\n\t\tlogout();\n\t}, []);\n\tconst sectionTitle = useMemo(() => accountSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Button label={t('settings.general.account_logout', 'Logout')} onClick={onClick} />\n\t\t</FormSubSection>\n\t);\n};\n\nexport default Logout;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tBadge,\n\tContainer,\n\tDivider,\n\tFormSubSection,\n\tText,\n\tTextProps,\n\tTooltip,\n\tuseTheme\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { useCallback, useMemo } from 'react';\nimport { useAppList } from '../../../store/app';\n\nimport { CarbonioModule } from '../../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID } from '../../../constants';\nimport { getT } from '../../../store/i18n';\nimport { versionsSubSection } from '../../general-settings-sub-sections';\n\nconst ModuleVersionSettings = (): JSX.Element => {\n\tconst apps = useAppList();\n\tconst t = getT();\n\tconst theme = useTheme();\n\n\tconst copyToClipboard = useCallback<NonNullable<TextProps['onClick']>>((e) => {\n\t\te.preventDefault();\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\tnavigator.clipboard.writeText(e.target.innerText);\n\t\t}\n\t}, []);\n\n\tconst filteredList = useMemo(\n\t\t() => apps.filter((app) => app.name !== SEARCH_APP_ID && app.name !== SETTINGS_APP_ID),\n\t\t[apps]\n\t);\n\tconst sectionTitle = useMemo(() => versionsSubSection(t), [t]);\n\n\treturn (\n\t\t<>\n\t\t\t<FormSubSection\n\t\t\t\tlabel={sectionTitle.label}\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\t\twidth=\"50%\"\n\t\t\t\tid={sectionTitle.id}\n\t\t\t>\n\t\t\t\t{map(filteredList, (app: CarbonioModule) => (\n\t\t\t\t\t<Container key={app.name} padding={{ horizontal: 'large', vertical: 'small' }}>\n\t\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t\t<Text>{app.display}</Text>\n\t\t\t\t\t\t\t<Tooltip placement=\"top\" label={t('label.click_to_copy', 'Click to copy')}>\n\t\t\t\t\t\t\t\t<Text style={{ cursor: 'pointer' }} onClick={copyToClipboard}>\n\t\t\t\t\t\t\t\t\tVersion: {app.version}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\t\t\tpadding={{ top: 'extrasmall', bottom: 'medium' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text color=\"secondary\">{app.description}</Text>\n\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\tvalue=\"Active\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.success.regular,\n\t\t\t\t\t\t\t\t\tcolor: theme.palette.gray6.regular\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Divider color=\"gray2\" />\n\t\t\t\t\t</Container>\n\t\t\t\t))}\n\t\t\t</FormSubSection>\n\t\t</>\n\t);\n};\n\nexport default ModuleVersionSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tCheckbox,\n\tContainer,\n\tFormSubSection,\n\tPadding,\n\tSelect\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { find } from 'lodash';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../../../types';\nimport Heading from '../settings-heading';\nimport DateTimeSelect from '../date-time-select-view';\nimport { getT } from '../../../store/i18n';\nimport { outOfOfficeSubSection } from '../../general-settings-sub-sections';\nimport {\n\tgetExternalSendersPrefsData,\n\tgetOutOfOfficeStatusPrefsData,\n\tItemsExternalSenders,\n\tItemsOutOfOfficeStatus,\n\tItemsSendAutoReplies\n} from '../utils';\n\nconst TextArea = styled.textarea`\n\tbox-sizing: border-box;\n\tpadding: 0.625rem;\n\tmin-height: 9.375rem;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tflex-grow: 1;\n\twidth: 100%;\n\tborder: none;\n\tresize: vertical;\n\t& :focus,\n\t:active {\n\t\tbox-shadow: none;\n\t\tborder: none;\n\t\toutline: none;\n\t}\n`;\n\nmomentLocalizer();\n\nconst OutOfOfficeView: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}> = ({ settings, addMod }) => {\n\tconst t = getT();\n\tconst [sendAutoReply, setSendAutoReply] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE'\n\t);\n\tconst [inputZimbraPrefOutOfOfficeReply, setInputZimbraPrefOutOfOfficeReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReply as string\n\t);\n\n\tconst [inputZimbraPrefOutOfOfficeExternalReply, setInputZimbraPrefOutOfOfficeExternalReply] =\n\t\tuseState<string>(settings.prefs.zimbraPrefOutOfOfficeExternalReply as string);\n\n\tconst [createAppointmentDisabled, setCreateAppointmentDisabled] = useState<boolean>(false);\n\tconst [externalReplyInput, setExternalReplyInput] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t);\n\n\tconst [createAppointment, setCreateAppointment] = useState<boolean>(true);\n\n\tconst updatePrefs = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tsetCreateAppointmentDisabled(false);\n\t\t} else {\n\t\t\tsetCreateAppointmentDisabled(true);\n\t\t}\n\t}, [\n\t\tsendAutoReply,\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tsetCreateAppointment,\n\t\tsetCreateAppointmentDisabled\n\t]);\n\n\tconst externalSendersHandler = (v: any): void => {\n\t\tsetExternalReplyInput(false);\n\n\t\tif (v === 'SEND_AUTO_REPLY') {\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefExternalSendersType');\n\t\t} else if (v === 'SEND_NOT_IN_ORG') {\n\t\t\tupdatePrefs('ALLNOTINAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else if (v === 'SHOW_EXTERNAL_INPUT') {\n\t\t\tupdatePrefs('ALL', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else {\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('INAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t}\n\t};\n\n\tconst createAppointmentAsHandler = (v: any): void => {\n\t\tupdatePrefs(v, 'zimbraPrefOutOfOfficeFreeBusyStatus');\n\t};\n\n\tconst itemsSendAutoReplies = useMemo(() => ItemsSendAutoReplies(t), [t]);\n\tconst defaultSendAutoreply = useMemo(\n\t\t() => getExternalSendersPrefsData(settings, 'label', t),\n\t\t[settings, t]\n\t);\n\tconst defaultOutOfOfficeStatus = useMemo(\n\t\t() => getOutOfOfficeStatusPrefsData(settings, t),\n\t\t[settings, t]\n\t);\n\tconst selectedItemSendAutoReplies = useMemo(\n\t\t() => find(itemsSendAutoReplies, (item) => item && (item.value === 'TRUE') === sendAutoReply),\n\t\t[itemsSendAutoReplies, sendAutoReply]\n\t);\n\n\tconst outOfOfficeSection = useMemo(() => outOfOfficeSubSection(t), [t]);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={outOfOfficeSection.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={outOfOfficeSection.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Select\n\t\t\t\t\titems={itemsSendAutoReplies}\n\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\tlabel={t('label.out_of_office', 'Out of Office')}\n\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\tif (value && (value === 'TRUE') !== sendAutoReply) {\n\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefOutOfOfficeReplyEnabled');\n\t\t\t\t\t\t\tsetSendAutoReply(value === 'TRUE');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tselection={selectedItemSendAutoReplies}\n\t\t\t\t/>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<TextArea\n\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeReply || ''}\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message',\n\t\t\t\t\t\t\t'Auto-Reply Message:'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonChange={(ev): void => {\n\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeReply(ev.target.value);\n\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeReply');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\titems={ItemsExternalSenders(t)}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\tif (value && value !== defaultSendAutoreply?.value) externalSendersHandler(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tselection={defaultSendAutoreply}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t{externalReplyInput && (\n\t\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t\t<TextArea\n\t\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeExternalReply || ''}\n\t\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(ev): void => {\n\t\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeExternalReply(ev.target.value);\n\t\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeExternalReply');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<DateTimeSelect settings={settings} addMod={addMod} sendAutoReply={sendAutoReply} />\n\t\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttitle={t('settings.out_of_office.headings.create_appointment', 'Calendar Appointment')}\n\t\t\t\t\t/>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.create_appointment', 'Create Appointment:')}\n\t\t\t\t\t\tvalue={createAppointment}\n\t\t\t\t\t\tonClick={(value: any): void => {\n\t\t\t\t\t\t\tsetCreateAppointment(!createAppointment);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t\t<Padding top=\"small\" width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\t\titems={ItemsOutOfOfficeStatus(t)}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.out_of_office_status',\n\t\t\t\t\t\t\t\t'Out Of Office Status:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\t\tif (value && value !== defaultOutOfOfficeStatus?.value)\n\t\t\t\t\t\t\t\t\tcreateAppointmentAsHandler(value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tselection={defaultOutOfOfficeStatus}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default OutOfOfficeView;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useTranslation } from 'react-i18next';\nimport React, { useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react';\nimport {\n\tButton,\n\tCheckbox,\n\tContainer,\n\tSlider,\n\tSliderProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport styled, { SimpleInterpolation } from 'styled-components';\nimport { ScalingSettings } from '../../../../types/settings';\nimport { BASE_FONT_SIZE, SCALING_OPTIONS } from '../../../constants';\nimport { getAutoScalingFontSize } from '../utils';\n\nconst ScalingSliderContainer = styled(Container)`\n\tbox-shadow: 0px 0px 4px rgba(166, 166, 166, 0.5);\n\tborder-radius: 0.5rem;\n`;\n\nconst ExampleContainer = styled(Container)<{ $fontSize: number | undefined }>`\n\tfont-size: ${({ $fontSize }): SimpleInterpolation => $fontSize && `${$fontSize}%`};\n`;\n\nconst ExampleText = styled(Text)`\n\tfont-size: 1em; /* font-size needs to be relative to ExampleContainer */\n`;\n\ninterface ScalingSettingSectionProps {\n\tscalingSettings: ScalingSettings;\n\taddLocalStoreChange: (\n\t\tkey: keyof ScalingSettings,\n\t\tvalue: ScalingSettings[keyof ScalingSettings]\n\t) => void;\n\tcleanLocalStoreChange: (key: keyof ScalingSettings) => void;\n}\n\nexport type ScalingSettingSectionRef = { reset: () => void };\n\nconst BASE_FONT_OPTION_INDEX = SCALING_OPTIONS.findIndex(\n\t(option) => option.value === BASE_FONT_SIZE\n);\n\nconst AUTOSCALING_FONT_SIZE = getAutoScalingFontSize();\nconst AUTOSCALING_FONT_OPTION_INDEX = SCALING_OPTIONS.findIndex(\n\t(option) => option.value === AUTOSCALING_FONT_SIZE\n);\n\nexport const ScalingSettingSection = React.forwardRef<\n\tScalingSettingSectionRef,\n\tScalingSettingSectionProps\n>(function ScalingSettingSectionFn(\n\t{ scalingSettings, addLocalStoreChange, cleanLocalStoreChange }: ScalingSettingSectionProps,\n\tref\n) {\n\tconst [t] = useTranslation();\n\n\tconst [scalingOptionValues, scalingOptionLabels] = useMemo<[number[], string[]]>(\n\t\t() =>\n\t\t\tSCALING_OPTIONS.reduce<[number[], string[]]>(\n\t\t\t\t([values, labels], option) => {\n\t\t\t\t\tvalues.push(option.value);\n\t\t\t\t\tlabels.push(t('settings.appearance.option', { context: option.label }));\n\t\t\t\t\treturn [values, labels];\n\t\t\t\t},\n\t\t\t\t[[], []]\n\t\t\t),\n\t\t[t]\n\t);\n\n\tconst savedOptionIndex = useMemo<number>(() => {\n\t\tconst savedScalingValueSetting = scalingSettings['settings.appearance_setting.scaling'];\n\t\tif (savedScalingValueSetting !== undefined) {\n\t\t\tconst optionIndex = scalingOptionValues.findIndex(\n\t\t\t\t(option) => option === savedScalingValueSetting\n\t\t\t);\n\t\t\tif (optionIndex >= 0) {\n\t\t\t\treturn optionIndex;\n\t\t\t}\n\t\t}\n\t\treturn AUTOSCALING_FONT_OPTION_INDEX;\n\t}, [scalingOptionValues, scalingSettings]);\n\n\tconst [autoScaling, setAutoScaling] = useState(\n\t\tscalingSettings['settings.appearance_setting.auto'] ?? true\n\t);\n\tconst [scalingValue, setScalingValue] = useState<number>(savedOptionIndex);\n\n\tuseEffect(() => {\n\t\t// update input value when setting is updated\n\t\tsetScalingValue(savedOptionIndex);\n\t}, [savedOptionIndex]);\n\n\tuseEffect(() => {\n\t\tif (scalingOptionValues[scalingValue]) {\n\t\t\tif (scalingValue !== savedOptionIndex) {\n\t\t\t\taddLocalStoreChange(\n\t\t\t\t\t'settings.appearance_setting.scaling',\n\t\t\t\t\tscalingOptionValues[scalingValue]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcleanLocalStoreChange('settings.appearance_setting.scaling');\n\t\t\t}\n\t\t}\n\t}, [\n\t\taddLocalStoreChange,\n\t\tcleanLocalStoreChange,\n\t\tsavedOptionIndex,\n\t\tscalingOptionValues,\n\t\tscalingSettings,\n\t\tscalingValue\n\t]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t(scalingSettings['settings.appearance_setting.auto'] !== undefined &&\n\t\t\t\tautoScaling !== scalingSettings['settings.appearance_setting.auto']) ||\n\t\t\t(scalingSettings['settings.appearance_setting.auto'] === undefined && !autoScaling)\n\t\t) {\n\t\t\taddLocalStoreChange('settings.appearance_setting.auto', autoScaling);\n\t\t\tif (autoScaling) {\n\t\t\t\taddLocalStoreChange('settings.appearance_setting.scaling', undefined);\n\t\t\t}\n\t\t} else {\n\t\t\tcleanLocalStoreChange('settings.appearance_setting.auto');\n\t\t}\n\t}, [addLocalStoreChange, autoScaling, cleanLocalStoreChange, scalingSettings]);\n\n\tconst increaseScalingByStep = useCallback(() => {\n\t\tsetScalingValue((prevState) =>\n\t\t\tprevState < SCALING_OPTIONS.length - 1 ? prevState + 1 : prevState\n\t\t);\n\t}, []);\n\n\tconst decreaseScalingByStep = useCallback(() => {\n\t\tsetScalingValue((prevState) => (prevState > 0 ? prevState - 1 : prevState));\n\t}, []);\n\n\tconst toggleAutoScaling = useCallback(() => {\n\t\tsetAutoScaling((prevState) => !prevState);\n\t\tsetScalingValue(savedOptionIndex);\n\t}, [savedOptionIndex]);\n\n\tconst onChangeScalingValue = useCallback<NonNullable<SliderProps['onChange']>>(\n\t\t(ev, newValueIndex) => {\n\t\t\tsetScalingValue(newValueIndex);\n\t\t},\n\t\t[]\n\t);\n\n\tuseImperativeHandle(ref, () => ({\n\t\treset: (): void => {\n\t\t\tsetScalingValue(savedOptionIndex);\n\t\t\tsetAutoScaling(scalingSettings['settings.appearance_setting.auto'] ?? true);\n\t\t}\n\t}));\n\n\tconst exampleText = useMemo(\n\t\t() =>\n\t\t\tt(\n\t\t\t\t'settings.appearance.labels.choose_size_pangram',\n\t\t\t\t'The quick brown fox jumps over the lazy dog.'\n\t\t\t),\n\t\t[t]\n\t);\n\n\tconst exampleFontSize = useMemo<number>(\n\t\t() =>\n\t\t\t// Revert the percentage and then apply the new value to use the browser base font-size and not the html font-size rule\n\t\t\t// Explanation:\n\t\t\t// - reverting factor (factor to apply to current font to obtain the browser font size) = unsaved input value / local storage value\n\t\t\t// - new font size percentage = reverting factor * 100\n\t\t\t// The resulting value is the percentage to apply to current html font-size to obtain the same calculated value\n\t\t\t// as if the scalingValue was set in the html.\n\t\t\t// E.g.: html: 75%, scalingValue: 100 -> 1 rem is 12px (because of the 75%). In the browser the base font is set to 16px.\n\t\t\t// To make scalingValue 100 equals to 16px, we need to get the reverting factor (100 / 75 = 1.3333).\n\t\t\t// This is the factor required to have 16 starting from 12 (12*1.3333 ~= 16)\n\t\t\t// The percentage to apply to the example container is then 1.3333 * 100 = 133.33 (133.33%(75) ~= 100 ~= 16px)\n\t\t\t((scalingOptionValues[Math.round(scalingValue)] || 100) /\n\t\t\t\tscalingOptionValues[savedOptionIndex]) *\n\t\t\t100,\n\t\t[savedOptionIndex, scalingOptionValues, scalingValue]\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\torientation={'vertical'}\n\t\t\tmainAlignment={'flex-start'}\n\t\t\tcrossAlignment={'flex-start'}\n\t\t\tgap={'1rem'}\n\t\t\theight={'fit'}\n\t\t\twidth={'fill'}\n\t\t>\n\t\t\t<Container\n\t\t\t\torientation={'vertical'}\n\t\t\t\tgap={'1rem'}\n\t\t\t\theight={'fit'}\n\t\t\t\twidth={'fit'}\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\tmaxWidth={'100%'}\n\t\t\t>\n\t\t\t\t<Text size=\"small\" overflow={'break-word'}>\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'settings.appearance.labels.choose_size_description',\n\t\t\t\t\t\t'Choose Type Size and Styles for Carbonio Environment'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t\t<ScalingSliderContainer\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\twidth=\"fill\"\n\t\t\t\t\theight=\"auto\"\n\t\t\t\t\tpadding={{ vertical: 'small', horizontal: 'large' }}\n\t\t\t\t\tgap={'0.5rem'}\n\t\t\t\t\tflexGrow={1}\n\t\t\t\t>\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tlabel={t('settings.appearance.labels.decrease', 'Decrease', {\n\t\t\t\t\t\t\tcontext: scalingValue === 0 ? 'disabled' : ''\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Container width=\"fit\" height=\"fit\" minWidth={'fit-content'}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={autoScaling || scalingValue === 0}\n\t\t\t\t\t\t\t\tlabel={t('settings.appearance.labels.a', 'A')}\n\t\t\t\t\t\t\t\ttype={'ghost'}\n\t\t\t\t\t\t\t\tsize={'extrasmall'}\n\t\t\t\t\t\t\t\tcolor={'text'}\n\t\t\t\t\t\t\t\tonClick={decreaseScalingByStep}\n\t\t\t\t\t\t\t\tminWidth={'fit-content'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t<Slider\n\t\t\t\t\t\tdisabled={autoScaling}\n\t\t\t\t\t\toptions={scalingOptionLabels}\n\t\t\t\t\t\tonChange={onChangeScalingValue}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tautoScaling && BASE_FONT_OPTION_INDEX >= 0 ? BASE_FONT_OPTION_INDEX : scalingValue\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tlabel={t('settings.appearance.labels.increase', 'Increase', {\n\t\t\t\t\t\t\tcontext: scalingValue === SCALING_OPTIONS.length - 1 ? 'disabled' : ''\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Container width=\"fit\" height=\"fit\" minWidth={'fit-content'}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={autoScaling || scalingValue === SCALING_OPTIONS.length - 1}\n\t\t\t\t\t\t\t\tlabel={t('settings.appearance.labels.a', 'A')}\n\t\t\t\t\t\t\t\ttype={'ghost'}\n\t\t\t\t\t\t\t\tsize={'extralarge'}\n\t\t\t\t\t\t\t\tonClick={increaseScalingByStep}\n\t\t\t\t\t\t\t\tcolor={'text'}\n\t\t\t\t\t\t\t\tminWidth={'fit-content'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</ScalingSliderContainer>\n\t\t\t\t<Checkbox\n\t\t\t\t\tvalue={autoScaling}\n\t\t\t\t\tonClick={toggleAutoScaling}\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.appearance.labels.choose_size_auto',\n\t\t\t\t\t\t'Automatically resize the text size depending on the device'\n\t\t\t\t\t)}\n\t\t\t\t\tsize={'small'}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<ExampleContainer\n\t\t\t\tbackground={'gray5'}\n\t\t\t\tpadding={'large'}\n\t\t\t\tgap={'0.5rem'}\n\t\t\t\torientation={'vertical'}\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\twidth={'fill'}\n\t\t\t\t$fontSize={exampleFontSize}\n\t\t\t>\n\t\t\t\t<ExampleText weight={'light'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t\t<ExampleText weight={'regular'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t\t<ExampleText weight={'bold'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t</ExampleContainer>\n\t\t</Container>\n\t);\n});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, FormSubSection, Quota, Text, Tooltip } from '@zextras/carbonio-design-system';\nimport React, { FC, useMemo } from 'react';\nimport { useUserSettings } from '../../../store/account/hooks';\nimport { useAccountStore } from '../../../store/account/store';\nimport { getT } from '../../../store/i18n';\nimport { quotaSubSection } from '../../general-settings-sub-sections';\n\ninterface UserQuotaProps {\n\tmobileView: boolean;\n}\n\nconst UserQuota: FC<UserQuotaProps> = ({ mobileView }) => {\n\tconst t = getT();\n\n\tconst settings = useUserSettings();\n\tconst used = useAccountStore((s) => s.usedQuota);\n\tconst quota = useMemo(() => {\n\t\tconst userQuota = Number(settings?.attrs?.zimbraMailQuota);\n\t\tif (used && userQuota && userQuota > 0) {\n\t\t\treturn Math.round((used / userQuota) * 100);\n\t\t}\n\t\treturn -1;\n\t}, [settings?.attrs?.zimbraMailQuota, used]);\n\n\tconst description = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase !quota || quota < 0:\n\t\t\t\treturn t('user_quota.unlimited', 'You have unlimited space available');\n\t\t\tcase quota === 100:\n\t\t\t\treturn t('user_quota.space_full', 'It seems that all available space is full');\n\t\t\tdefault:\n\t\t\t\treturn t('user_quota.limited', {\n\t\t\t\t\tdefaultValue: 'You have filled {{quota}}% of the available space',\n\t\t\t\t\tquota\n\t\t\t\t});\n\t\t}\n\t}, [quota, t]);\n\n\tconst fillBackground = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase quota >= 95:\n\t\t\t\treturn 'error';\n\t\t\tcase quota >= 90:\n\t\t\t\treturn 'warning';\n\t\t\tcase quota === -1:\n\t\t\t\treturn 'gray4';\n\t\t\tdefault:\n\t\t\t\treturn 'primary';\n\t\t}\n\t}, [quota]);\n\tconst sectionTitle = useMemo(() => quotaSubSection(t), [t]);\n\treturn mobileView ? (\n\t\t<Container width=\"fit\" padding={{ right: 'medium' }}>\n\t\t\t<Tooltip label={description} placement=\"bottom\">\n\t\t\t\t<Quota fill={quota > 0 ? quota : 0} fillBackground={fillBackground} />\n\t\t\t</Tooltip>\n\t\t</Container>\n\t) : (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container width=\"fill\" padding={{ vertical: 'medium' }}>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\t>\n\t\t\t\t\t<Text>{description}</Text>\n\t\t\t\t</Container>\n\t\t\t\t<Quota fill={quota === -1 ? 100 : quota} fillBackground={fillBackground} />\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default UserQuota;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tBreadcrumbs,\n\tButtonOld as Button,\n\tContainer,\n\tDivider,\n\tPadding,\n\tRow,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useEffect } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../../constants';\nimport { getT } from '../../store/i18n';\nimport { RouteLeavingGuard } from '../../ui-extras/nav-guard';\n\ntype SettingsHeaderProps = {\n\ttitle: string;\n\tonSave: () => void;\n\tonCancel: () => void;\n\tisDirty: boolean;\n};\n\nconst SettingsHeader: FC<SettingsHeaderProps> = ({ onSave, onCancel, isDirty, title }) => {\n\tconst t = getT();\n\tconst history = useHistory();\n\tconst useparam = useParams();\n\tconst crumbs = [\n\t\t{\n\t\t\tid: 'settings',\n\t\t\tlabel: t('settings.app', 'Settings'),\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t},\n\t\t{\n\t\t\tid: 'general',\n\t\t\tlabel: title,\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t}\n\t];\n\tconst search = history.location?.search;\n\tuseEffect(() => {\n\t\tif (search) {\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.querySelector(`#${history.location.search}`.replace('?section=', ''))\n\t\t\t\t\t\t?.scrollIntoView(),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t}, [history, history.location, history.location.search, search, useparam]);\n\treturn (\n\t\t<>\n\t\t\t<RouteLeavingGuard when={isDirty} onSave={onSave}>\n\t\t\t\t<Text>\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'label.unsaved_changes_line1',\n\t\t\t\t\t\t'Are you sure you want to leave this page without saving?'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t\t<Text>{t('label.unsaved_changes_line2', 'All your unsaved changes will be lost')}</Text>\n\t\t\t</RouteLeavingGuard>\n\t\t\t<Container\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-around\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\">\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Breadcrumbs crumbs={crumbs} />\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\tcrossAlignment=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={t('label.discard_changes', 'DISCARD CHANGES')}\n\t\t\t\t\t\t\t\tonClick={onCancel}\n\t\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.save', 'Save')}\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n};\n\nexport default SettingsHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Padding, Row, Text } from '@zextras/carbonio-design-system';\n\nconst Heading: FC<{ title: string }> = ({ title }) => (\n\t<>\n\t\t<Row padding={{ all: 'small' }} mainAlignment=\"baseline\" crossAlignment=\"baseline\" width=\"100%\">\n\t\t\t<Text size=\"large\" weight=\"bold\">\n\t\t\t\t{title}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Padding vertical=\"small\" />\n\t</>\n);\n\nexport default Heading;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport moment from 'moment';\nimport { TFunction } from 'react-i18next';\nimport { AccountSettings } from '../../../types';\nimport { BASE_FONT_SIZE, SCALING_LIMIT, SCALING_OPTIONS } from '../../constants';\n\nexport const ItemsSendAutoReplies = (t: TFunction): any => [\n\t{\n\t\tlabel: t('settings.out_of_office.send_auto_replies', 'Send auto-replies'),\n\t\tvalue: 'TRUE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.do_not_send_auto_replies', 'Do not send auto-replies'),\n\t\tvalue: 'FALSE'\n\t}\n];\n\nexport const ItemsExternalSenders = (t: TFunction): any => [\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_standard_auto_reply',\n\t\t\t'Send standard auto-reply message'\n\t\t),\n\t\tvalue: 'SEND_AUTO_REPLY'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization'\n\t\t),\n\t\tvalue: 'SHOW_EXTERNAL_INPUT'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_not_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization or address book'\n\t\t),\n\t\tvalue: 'SEND_NOT_IN_ORG'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.do_not_send_to_external',\n\t\t\t'Don’t send an auto-reply message to external sender'\n\t\t),\n\t\tvalue: 'SUPPRESS_EXTERNAL'\n\t}\n];\n\nexport const ItemsOutOfOfficeStatus = (t: TFunction): any => [\n\t{\n\t\tlabel: t('label.out_of_office', 'Out of Office'),\n\t\tvalue: 'OUTOFOFFICE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.status.busy', 'Busy'),\n\t\tvalue: 'BUSY'\n\t}\n];\n\nexport const getExternalSendersPrefsData = (\n\tsettings: AccountSettings,\n\tret: string,\n\tt: TFunction\n): { label: string; value: string } => {\n\tlet item;\n\tconst itemsExternalSenders = ItemsExternalSenders(t);\n\tif (\n\t\tsettings.prefs.zimbraPrefOutOfOfficeSuppressExternalReply === 'FALSE' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'FALSE'\n\t) {\n\t\titem = { ...itemsExternalSenders[0] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALL' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[1] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALLNOTINAB' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[2] };\n\t} else {\n\t\titem = { ...itemsExternalSenders[3] };\n\t}\n\n\treturn item;\n};\n\nexport const getOutOfOfficeStatusPrefsData = (\n\tsettings: AccountSettings,\n\tt: TFunction\n): { label: string; value: string; t: TFunction } => {\n\tlet item;\n\tconst itemsOutOfOfficeStatus = ItemsOutOfOfficeStatus(t);\n\tif (settings.prefs.zimbraPrefOutOfOfficeFreeBusyStatus === 'BUSY') {\n\t\titem = { ...itemsOutOfOfficeStatus[1] };\n\t} else {\n\t\titem = { ...itemsOutOfOfficeStatus[0] };\n\t}\n\n\treturn item;\n};\n\nexport const changeDateEvent = (date: string | Date): string =>\n\tmoment(moment(date, 'YYYYMMDDHHmmss[Z]').utc()).format('YYYYMMDDHHmmss[Z]');\n\nexport const getDateEvent = (date: string): Date =>\n\tnew Date(moment.utc(date, 'YYYYMMDDHHmmss[Z]').local().valueOf());\n\nexport const startOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().startOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport const endOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().endOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport type LocaleDescriptor = {\n\tid: string;\n\tname: string;\n\tlocalName: string;\n\tvalue: string;\n\tlabel: string;\n\tdateFnsLocale?: string;\n};\n\nexport const localeList = (t: TFunction): Array<LocaleDescriptor> => [\n\t{\n\t\tid: 'zh_CN',\n\t\tname: '中文 (中国)',\n\t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n\t\tlabel: t('locale.label_chinese', {\n\t\t\tvalue: '中文 (中国)',\n\t\t\tdefaultValue: 'Chinese (China) - {{value}}'\n\t\t}),\n\t\tvalue: 'zh_CN',\n\t\tdateFnsLocale: 'zh-CN'\n\t},\n\t{\n\t\tid: 'nl',\n\t\tname: 'Nederlands',\n\t\tlocalName: t('locale.dutch', 'Dutch'),\n\t\tlabel: t('locale.label_dutch', { value: 'Nederlands', defaultValue: 'Dutch - {{value}}' }),\n\t\tvalue: 'nl'\n\t},\n\t{\n\t\tid: 'en',\n\t\tname: 'English',\n\t\tlocalName: t('locale.English', 'English'),\n\t\tlabel: t('locale.label_english', { value: 'English', defaultValue: 'English - {{value}}' }),\n\t\tvalue: 'en',\n\t\tdateFnsLocale: 'en-US'\n\t},\n\t{\n\t\tid: 'de',\n\t\tname: 'Deutsch',\n\t\tlocalName: t('locale.german', 'German'),\n\t\tlabel: t('locale.label_german', { value: 'Deutsch', defaultValue: 'German - {{value}}' }),\n\t\tvalue: 'de'\n\t},\n\t{\n\t\tid: 'hi',\n\t\tname: 'हिंदी',\n\t\tlocalName: t('locale.hindi', 'Hindi'),\n\t\tlabel: t('locale.label_hindi', { value: 'हिंदी', defaultValue: 'Hindi - {{value}}' }),\n\t\tvalue: 'hi'\n\t},\n\t{\n\t\tid: 'it',\n\t\tname: 'italiano',\n\t\tlocalName: t('locale.italian', 'Italian'),\n\t\tlabel: t('locale.label_italian', { value: 'italiano', defaultValue: 'Italian - {{value}}' }),\n\t\tvalue: 'it'\n\t},\n\t{\n\t\tid: 'ja',\n\t\tname: '日本語',\n\t\tlocalName: t('locale.japanese', 'Japanese'),\n\t\tlabel: t('locale.label_japanese', { value: '日本語', defaultValue: 'Japanese - {{value}}' }),\n\t\tvalue: 'ja'\n\t},\n\n\t{\n\t\tid: 'pt',\n\t\tname: 'português',\n\t\tlocalName: t('locale.portuguese', 'Portuguese'),\n\t\tlabel: t('locale.label_portuguese', {\n\t\t\tvalue: 'português',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt'\n\t},\n\t{\n\t\tid: 'pl',\n\t\tname: 'polski',\n\t\tlocalName: t('locale.polish', 'Polish'),\n\t\tlabel: 'Polish - polski',\n\t\tvalue: 'pl'\n\t},\n\t{\n\t\tid: 'pt_BR',\n\t\tname: 'português (Brasil)',\n\t\tlocalName: t('locale.portuguese_brazil', 'Portuguese (Brazil)'),\n\t\tlabel: t('locale.label_portuguese_brazil', {\n\t\t\tvalue: 'português (Brasil)',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt_BR',\n\t\tdateFnsLocale: 'pt-BR'\n\t},\n\n\t{\n\t\tid: 'ro',\n\t\tname: 'română',\n\t\tlocalName: t('locale.romanian', 'Romanian'),\n\t\tlabel: t('locale.label_romanian', { value: 'română', defaultValue: 'Romanian - {{value}}' }),\n\t\tvalue: 'ro'\n\t},\n\t{\n\t\tid: 'ru',\n\t\tname: 'русский',\n\t\tlocalName: t('locale.russian', 'Russian'),\n\t\tlabel: t('locale.label_russian', { value: 'русский', defaultValue: 'Russian - {{value}}' }),\n\t\tvalue: 'ru'\n\t},\n\n\t{\n\t\tid: 'es',\n\t\tname: 'español',\n\t\tlocalName: t('locale.spanish', 'Spanish'),\n\t\tlabel: t('locale.label_spanish', { value: 'español', defaultValue: 'Spanish - {{value}}' }),\n\t\tvalue: 'es'\n\t},\n\n\t{\n\t\tid: 'th',\n\t\tname: 'ไทย',\n\t\tlocalName: t('locale.thai', 'Thai'),\n\t\tlabel: t('locale.label_thai', { value: 'ไทย', defaultValue: 'Thai - {{value}}' }),\n\t\tvalue: 'th'\n\t},\n\t{\n\t\tid: 'tr',\n\t\tname: 'Türkçe',\n\t\tlocalName: t('locale.turkish', 'Turkish'),\n\t\tlabel: t('locale.label_turkish', { value: 'Türkçe', defaultValue: 'Turkish - {{value}}' }),\n\t\tvalue: 'tr'\n\t},\n\t{\n\t\tid: 'fr',\n\t\tname: 'français',\n\t\tlocalName: t('locale.french', 'French'),\n\t\tlabel: t('locale.label_french', { value: 'français', defaultValue: 'French - {{value}}' }),\n\t\tvalue: 'fr'\n\t},\n\t{\n\t\tid: 'vi',\n\t\tname: 'Tiếng Việt',\n\t\tlocalName: t('locale.vietnamese', 'Vietnamese'),\n\t\tlabel: 'Vietnamese - Tiếng Việt',\n\t\tvalue: 'vi'\n\t}\n];\n// TODO: For future languages\n// export const localeList = (t: TFunction): any => [\n// \t{\n// \t\tid: 'ar',\n// \t\tname: 'العربية',\n// \t\tlocalName: t('locale.arabic', 'Arabic'),\n// \t\tlabel: t('locale.label_arabic', { value: 'لعربية', defaultValue: 'Arabic - {{value}}' }),\n// \t\tvalue: 'ar'\n// \t},\n// \t{\n// \t\tid: 'eu',\n// \t\tname: 'Euskara',\n// \t\tlocalName: t('locale.basque', 'Basque'),\n// \t\tlabel: t('locale.label_basque', { value: 'Euskara', defaultValue: 'Basque - {{value}}' }),\n// \t\tvalue: 'eu'\n// \t},\n// \t{\n// \t\tid: 'bg',\n// \t\tname: 'български',\n// \t\tlocalName: t('locale.bulgarian', 'Bulgarian'),\n// \t\tlabel: t('locale.label_bulgarian', {\n// \t\t\tvalue: 'български',\n// \t\t\tdefaultValue: 'Bulgarian - {{value}}'\n// \t\t}),\n// \t\tvalue: 'bg'\n// \t},\n// \t{\n// \t\tid: 'ca',\n// \t\tname: 'català',\n// \t\tlocalName: t('locale.catalan', 'Catalan'),\n// \t\tlabel: 'Catalan - català',\n// \t\tvalue: 'ca'\n// \t},\n// \t{\n// \t\tid: 'zh',\n// \t\tname: '中文',\n// \t\tlocalName: t('locale.chinese', 'Chinese'),\n// \t\tlabel: 'Chinese - 中文',\n// \t\tvalue: 'zh'\n// \t},\n// \t{\n// \t\tid: 'zh_CN',\n// \t\tname: '中文 (中国)',\n// \t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n// \t\tlabel: 'Chinese (China) - 中文 (中国)',\n// \t\tvalue: 'zh_CN'\n// \t},\n// \t{\n// \t\tid: 'zh_HK',\n// \t\tname: '中文 (香港)',\n// \t\tlocalName: t('locale.chinese_hong_kong', 'Chinese (Hong Kong SAR China)'),\n// \t\tlabel: 'Chinese (Hong Kong SAR China) - 中文 (香港)',\n// \t\tvalue: 'zh_HK'\n// \t},\n// \t{\n// \t\tid: 'zh_TW',\n// \t\tname: '中文 (台灣)',\n// \t\tlocalName: t('locale.chinese_taiwan', 'Chinese (Taiwan)'),\n// \t\tlabel: 'Chinese (Taiwan) - 中文 (台灣)',\n// \t\tvalue: 'zh_TW'\n// \t},\n// \t{\n// \t\tid: 'hr',\n// \t\tname: 'hrvatski',\n// \t\tlocalName: t('locale.croatian', 'Croatian'),\n// \t\tlabel: 'Croatian - hrvatski',\n// \t\tvalue: 'hr'\n// \t},\n// \t{\n// \t\tid: 'da',\n// \t\tname: 'Dansk',\n// \t\tlocalName: t('locale.danish', 'Danish'),\n// \t\tlabel: 'Danish - Dansk',\n// \t\tvalue: 'da'\n// \t},\n\n// \t{\n// \t\tid: 'en_AU',\n// \t\tname: 'English (Australia)',\n// \t\tlocalName: t('locale.english_australia', 'English (Australia)'),\n// \t\tlabel: 'English (Australia) - English (Australia)',\n// \t\tvalue: 'en_AU'\n// \t},\n// \t{\n// \t\tid: 'en_GB',\n// \t\tname: 'English (United Kingdom)',\n// \t\tlocalName: t('locale.english_united_kingdom', 'English (United Kingdom)'),\n// \t\tlabel: 'English (United Kingdom) - English (United Kingdom)',\n// \t\tvalue: 'en_GB'\n// \t},\n// \t{\n// \t\tid: 'en_US',\n// \t\tname: 'English (United States)',\n// \t\tlocalName: t('locale.english_united_states', 'English (United States)'),\n// \t\tlabel: 'English (United States) - English (United States)',\n// \t\tvalue: 'en_US'\n// \t},\n// \t{\n// \t\tid: 'fr',\n// \t\tname: 'français',\n// \t\tlocalName: t('locale.french', 'French'),\n// \t\tlabel: 'French - français',\n// \t\tvalue: 'fr'\n// \t},\n// \t{\n// \t\tid: 'fr_CA',\n// \t\tname: 'français (Canada)',\n// \t\tlocalName: t('locale.french_canada', 'French (Canada)'),\n// \t\tlabel: 'French (Canada) - français (Canada)',\n// \t\tvalue: 'fr_CA'\n// \t},\n// \t{\n// \t\tid: 'fr_FR',\n// \t\tname: 'français (France)',\n// \t\tlocalName: t('locale.french_france', 'French (France)'),\n// \t\tlabel: 'French (France) - français (France)',\n// \t\tvalue: 'fr_FR'\n// \t},\n\n// \t{\n// \t\tid: 'iw',\n// \t\tname: 'עברית',\n// \t\tlocalName: t('locale.hebrew', 'Hebrew'),\n// \t\tlabel: 'Hebrew - עברית',\n// \t\tvalue: 'iw'\n// \t},\n\n// \t{\n// \t\tid: 'hu',\n// \t\tname: 'magyar',\n// \t\tlocalName: t('locale.hungarian', 'Hungarian'),\n// \t\tlabel: 'Hungarian - magyar',\n// \t\tvalue: 'hu'\n// \t},\n// \t{\n// \t\tid: 'in',\n// \t\tname: 'Bahasa Indonesia',\n// \t\tlocalName: t('locale.indonesian', 'Indonesian'),\n// \t\tlabel: 'Indonesian - Bahasa Indonesia',\n// \t\tvalue: 'in'\n// \t},\n\n// \t{\n// \t\tid: 'ko',\n// \t\tname: '한국어',\n// \t\tlocalName: t('locale.korean', 'Korean'),\n// \t\tlabel: 'Korean - 한국어',\n// \t\tvalue: 'ko'\n// \t},\n// \t{\n// \t\tid: 'lo',\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tname: 'ພາສາລາວ',\n// \t\tlocalName: t('locale.lao', 'Lao'),\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tlabel: 'Lao - ພາສາລາວ',\n// \t\tvalue: 'lo'\n// \t},\n// \t{\n// \t\tid: 'ms',\n// \t\tname: 'Bahasa Melayu',\n// \t\tlocalName: t('locale.malay', 'Malay'),\n// \t\tlabel: 'Malay - Bahasa Melayu',\n// \t\tvalue: 'ms'\n// \t},\n// \t{\n// \t\tid: 'no',\n// \t\tname: 'norsk',\n// \t\tlocalName: t('locale.norwegian', 'Norwegian'),\n// \t\tlabel: 'Norwegian - norsk',\n// \t\tvalue: 'no'\n// \t},\n\n// \t{\n// \t\tid: 'pt_PT',\n// \t\tname: 'português (Portugal)',\n// \t\tlocalName: t('locale.potuguese_portugal', 'Portuguese (Portugal)'),\n// \t\tlabel: 'Portuguese (Portugal) - português (Portugal)',\n// \t\tvalue: 'pt_PT'\n// \t},\n\n// \t{\n// \t\tid: 'sl',\n// \t\tname: 'Slovenščina',\n// \t\tlocalName: t('locale.slovenian', 'Slovenian'),\n// \t\tlabel: 'Slovenian - Slovenščina',\n// \t\tvalue: 'sl'\n// \t},\n\n// \t{\n// \t\tid: 'sv',\n// \t\tname: 'svenska',\n// \t\tlocalName: t('locale.swedish', 'Swedish'),\n// \t\tlabel: 'Swedish - svenska',\n// \t\tvalue: 'sv'\n// \t},\n// \t{\n// \t\tid: 'ta',\n// \t\tname: 'தமிழ்',\n// \t\tlocalName: t('locale.tamil', 'Tamil'),\n// \t\tlabel: 'Tamil - தமிழ்',\n// \t\tvalue: 'ta'\n// \t},\n\n// \t{\n// \t\tid: 'uk',\n// \t\tname: 'українська',\n// \t\tlocalName: t('locale.ukrainian', 'Ukrainian'),\n// \t\tlabel: 'Ukrainian - українська',\n// \t\tvalue: 'uk'\n// \t},\n\n// ];\n\nexport type TimeZoneDescriptor = {\n\tvalue: string;\n\tlabel: string;\n\toffSet?: string;\n};\n\nexport const timeZoneList = (t: TFunction): Array<TimeZoneDescriptor> => [\n\t{\n\t\tvalue: 'Etc/GMT+12',\n\t\tlabel: t('timezone.etc_gmt+12', { value: 'GMT -12:00', defaultValue: '{{value}} Dateline' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Midway',\n\t\tlabel: t('timezone.pacific_midway', { value: 'GMT -11:00', defaultValue: '{{value}} Samoa' })\n\t},\n\t{\n\t\tvalue: 'America/Adak',\n\t\tlabel: t('timezone.america_adak', { value: 'GMT -10:00', defaultValue: '{{value}} Adak' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Honolulu',\n\t\tlabel: t('timezone.pacific_honolulu', { value: 'GMT -10:00', defaultValue: '{{value}} Hawaii' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Marquesas',\n\t\tlabel: t('timezone.pacific_marquesas', {\n\t\t\tvalue: 'GMT -09:30',\n\t\t\tdefaultValue: '{{value}} Marquesas'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Anchorage',\n\t\tlabel: t('timezone.america_anchorage', {\n\t\t\tvalue: 'GMT -09:00',\n\t\t\tdefaultValue: '{{value}} Alaska'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Los_Angeles',\n\t\tlabel: t('timezone.america_los_angeles', {\n\t\t\tvalue: 'GMT -08:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Pacific'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Tijuana',\n\t\tlabel: t('timezone.america_tijuana', {\n\t\t\tvalue: 'GMT -08:00',\n\t\t\tdefaultValue: '{{value}} Baja California'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Chihuahua',\n\t\tlabel: t('timezone.america_chihuahua', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Chihuahua, La Paz, Mazatlan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Denver',\n\t\tlabel: t('timezone.america_denver', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Mountain'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Fort_Nelson',\n\t\tlabel: t('timezone.america_fort_nelson', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Fort Nelson'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Phoenix',\n\t\tlabel: t('timezone.america_phoenix', { value: 'GMT -07:00', defaultValue: '{{value}} Arizona' })\n\t},\n\t{\n\t\tvalue: 'America/Whitehorse',\n\t\tlabel: t('timezone.america_whitehorse', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Yukon'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Chicago',\n\t\tlabel: t('timezone.america_chicago', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Central'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Guatemala',\n\t\tlabel: t('timezone.america_guatemala', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Central America'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Mexico_City',\n\t\tlabel: t('timezone.america_mexico_city', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Guadalajara, Mexico City, Monterrey'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Regina',\n\t\tlabel: t('timezone.america_regina', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Saskatchewan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Easter',\n\t\tlabel: t('timezone.pacific_easter', { value: 'GMT -06:00', defaultValue: '{{value}} Easter' })\n\t},\n\t{\n\t\tvalue: 'America/Bogota',\n\t\tlabel: t('timezone.america_bogota', { value: 'GMT -05:00', defaultValue: '{{value}} Colombia' })\n\t},\n\t{\n\t\tvalue: 'America/Cancun',\n\t\tlabel: t('timezone.america_cancun', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Cancun, Chetumal'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Grand_Turk',\n\t\tlabel: t('timezone.america_grand_turk', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Turks and Caicos Islands'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Havana',\n\t\tlabel: t('timezone.america_havana', { value: 'GMT -05:00', defaultValue: '{{value}} Havana' })\n\t},\n\t{\n\t\tvalue: 'America/Indiana/Indianapolis',\n\t\tlabel: t('timezone.america_indiana_indianapolis', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Indiana (East)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/New_York',\n\t\tlabel: t('timezone.america_new_york', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Eastern'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Port-au-Prince',\n\t\tlabel: t('timezone.america_port-au-prince', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Port-au-Prince'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Asuncion',\n\t\tlabel: t('timezone.america_asuncion', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Asuncion'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Caracas',\n\t\tlabel: t('timezone.america_caracas', { value: 'GMT -04:00', defaultValue: '{{value}} Caracas' })\n\t},\n\t{\n\t\tvalue: 'America/Cuiaba',\n\t\tlabel: t('timezone.america_cuiaba', { value: 'GMT -04:00', defaultValue: '{{value}} Cuiaba' })\n\t},\n\t{\n\t\tvalue: 'America/Guyana',\n\t\tlabel: t('timezone.america_guyana', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Georgetown, La Paz, Manaus, San Juan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Halifax',\n\t\tlabel: t('timezone.america_halifax', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Atlantic Time (Canada)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Santiago',\n\t\tlabel: t('timezone.america_santiago', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Pacific South America'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/St_Johns',\n\t\tlabel: t('timezone.america_st_johns', {\n\t\t\tvalue: 'GMT -03:30',\n\t\t\tdefaultValue: '{{value}} Newfoundland'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Araguaina',\n\t\tlabel: t('timezone.america_araguaina', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Araguaina'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Argentina/Buenos_Aires',\n\t\tlabel: t('timezone.america_argentina_buenos_aires', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Argentina'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Bahia',\n\t\tlabel: t('timezone.america_bahia', { value: 'GMT -03:00', defaultValue: '{{value}} Salvador' })\n\t},\n\t{\n\t\tvalue: 'America/Cayenne',\n\t\tlabel: t('timezone.america_cayenne', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Cayenne, Fortaleza'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Miquelon',\n\t\tlabel: t('timezone.america_miquelon', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Miquelon'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Montevideo',\n\t\tlabel: t('timezone.america_montevideo', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Montevideo'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Punta_Arenas',\n\t\tlabel: t('timezone.america_punta_arenas', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Punta_Arenas'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Sao_Paulo',\n\t\tlabel: t('timezone.america_sao_paulo', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Brasilia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Atlantic/South_Georgia',\n\t\tlabel: t('timezone.atlantic_south_georgia', {\n\t\t\tvalue: 'GMT -02:00',\n\t\t\tdefaultValue: '{{value}} Mid-Atlantic'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Atlantic/Azores',\n\t\tlabel: t('timezone.atlantic_azores', { value: 'GMT -01:00', defaultValue: '{{value}} Azores' })\n\t},\n\t{\n\t\tvalue: 'Atlantic/Cape_Verde',\n\t\tlabel: t('timezone.atlantic_cape_verde', {\n\t\t\tvalue: 'GMT -01:00',\n\t\t\tdefaultValue: '{{value}} Cape Verde Is.'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Monrovia',\n\t\tlabel: t('timezone.africa_monrovia', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Monrovia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Sao_Tome',\n\t\tlabel: t('timezone.africa_sao_tome', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Sao Tome'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/London',\n\t\tlabel: t('timezone.europe_london', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Britain, Ireland, Portugal'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'UTC',\n\t\tlabel: t('timezone.utc', {\n\t\t\tvalue: 'GMT/UTC',\n\t\t\tdefaultValue: '{{value}} Coordinated Universal Time'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Algiers',\n\t\tlabel: t('timezone.africa_algiers', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} West Central Africa'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Casablanca',\n\t\tlabel: t('timezone.africa_casablanca', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Casablanca'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Belgrade',\n\t\tlabel: t('timezone.europe_belgrade', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Belgrade, Bratislava, Budapest, Ljubljana, Prague'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Berlin',\n\t\tlabel: t('timezone.europe_berlin', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Brussels',\n\t\tlabel: t('timezone.europe_brussels', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Brussels, Copenhagen, Madrid, Paris'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Warsaw',\n\t\tlabel: t('timezone.europe_warsaw', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Sarajevo, Skopje, Warsaw, Zagreb'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Cairo',\n\t\tlabel: t('timezone.africa_cairo', { value: 'GMT +02:00', defaultValue: '{{value}} Egypt' })\n\t},\n\t{\n\t\tvalue: 'Africa/Harare',\n\t\tlabel: t('timezone.africa_harare', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Harare, Pretoria'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Juba',\n\t\tlabel: t('timezone.africa_juba', { value: 'GMT +02:00', defaultValue: '{{value}} Juba' })\n\t},\n\t{\n\t\tvalue: 'Africa/Khartoum',\n\t\tlabel: t('timezone.africa_khartoum', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Khartoum'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Tripoli',\n\t\tlabel: t('timezone.africa_tripoli', { value: 'GMT +02:00', defaultValue: '{{value}} Tripoli' })\n\t},\n\t{\n\t\tvalue: 'Africa/Windhoek',\n\t\tlabel: t('timezone.africa_windhoek', { value: 'GMT +02:00', defaultValue: '{{value}} Namibia' })\n\t},\n\t{\n\t\tvalue: 'Asia/Amman',\n\t\tlabel: t('timezone.asia_amman', { value: 'GMT +02:00', defaultValue: '{{value}} Jordan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Beirut',\n\t\tlabel: t('timezone.asia_beirut', { value: 'GMT +02:00', defaultValue: '{{value}} Beirut' })\n\t},\n\t{\n\t\tvalue: 'Asia/Damascus',\n\t\tlabel: t('timezone.asia_damascus', { value: 'GMT +02:00', defaultValue: '{{value}} Damascus' })\n\t},\n\t{\n\t\tvalue: 'Asia/Gaza',\n\t\tlabel: t('timezone.asia_gaza', { value: 'GMT +02:00', defaultValue: '{{value}} Gaza' })\n\t},\n\t{\n\t\tvalue: 'Asia/Jerusalem',\n\t\tlabel: t('timezone.asia_jerusalem', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Jerusalem'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Athens',\n\t\tlabel: t('timezone.europe_athens', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Athens, Beirut, Bucharest, Istanbul'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Bucharest',\n\t\tlabel: t('timezone.europe_bucharest', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Bucharest'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Chisinau',\n\t\tlabel: t('timezone.europe_chisinau', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Chisinau'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Helsinki',\n\t\tlabel: t('timezone.europe_helsinki', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Kaliningrad',\n\t\tlabel: t('timezone.europe_kaliningrad', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Kaliningrad (RTZ 1)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Nairobi',\n\t\tlabel: t('timezone.africa_nairobi', { value: 'GMT +03:00', defaultValue: '{{value}} Nairobi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Baghdad',\n\t\tlabel: t('timezone.asia_baghdad', { value: 'GMT +03:00', defaultValue: '{{value}} Iraq' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kuwait',\n\t\tlabel: t('timezone.asia_kuwait', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Kuwait, Riyadh'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Istanbul',\n\t\tlabel: t('timezone.europe_istanbul', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Istanbul'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Minsk',\n\t\tlabel: t('timezone.europe_minsk', { value: 'GMT +03:00', defaultValue: '{{value}} Minsk' })\n\t},\n\t{\n\t\tvalue: 'Europe/Moscow',\n\t\tlabel: t('timezone.europe_moscow', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Moscow, St. Petersburg, Volgograd (RTZ 2)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Volgograd',\n\t\tlabel: t('timezone.europe_volgograd', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Volgograd'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tehran',\n\t\tlabel: t('timezone.asia_tehran', { value: 'GMT +03:30', defaultValue: '{{value}} Tehran' })\n\t},\n\t{\n\t\tvalue: 'Asia/Baku',\n\t\tlabel: t('timezone.asia_baku', { value: 'GMT +04:00', defaultValue: '{{value}} Baku' })\n\t},\n\t{\n\t\tvalue: 'Asia/Muscat',\n\t\tlabel: t('timezone.asia_muscat', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Abu Dhabi, Muscat'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tbilisi',\n\t\tlabel: t('timezone.asia_tbilisi', { value: 'GMT +04:00', defaultValue: '{{value}} Tbilisi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yerevan',\n\t\tlabel: t('timezone.asia_yerevan', { value: 'GMT +04:00', defaultValue: '{{value}} Yerevan' })\n\t},\n\t{\n\t\tvalue: 'Europe/Astrakhan',\n\t\tlabel: t('timezone.europe_astrakhan', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Astrakhan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Samara',\n\t\tlabel: t('timezone.europe_samara', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Izhevsk, Samara (RTZ 3)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Saratov',\n\t\tlabel: t('timezone.europe_saratov', { value: 'GMT +04:00', defaultValue: '{{value}} Saratov' })\n\t},\n\t{\n\t\tvalue: 'Indian/Mauritius',\n\t\tlabel: t('timezone.indian_mauritius', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Port Louis'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kabul',\n\t\tlabel: t('timezone.asia_kabul', { value: 'GMT +04:30', defaultValue: '{{value}} Kabul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Karachi',\n\t\tlabel: t('timezone.asia_karachi', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Islamabad, Karachi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Qyzylorda',\n\t\tlabel: t('timezone.asia_qyzylorda', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Qyzylorda'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tashkent',\n\t\tlabel: t('timezone.asia_tashkent', { value: 'GMT +05:00', defaultValue: '{{value}} Tashkent' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yekaterinburg',\n\t\tlabel: t('timezone.asia_yekaterinburg', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Ekaterinburg (RTZ 4)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Colombo',\n\t\tlabel: t('timezone.asia_colombo', {\n\t\t\tvalue: 'GMT +05:30',\n\t\t\tdefaultValue: '{{value}} Sri Jayawardenepura Kotte'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kolkata',\n\t\tlabel: t('timezone.asia_kolkata', {\n\t\t\tvalue: 'GMT +05:30',\n\t\t\tdefaultValue: '{{value}} Chennai, Kolkata, Mumbai, New Delhi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kathmandu',\n\t\tlabel: t('timezone.asia_kathmandu', {\n\t\t\tvalue: 'GMT +05:45',\n\t\t\tdefaultValue: '{{value}} Kathmandu'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Almaty',\n\t\tlabel: t('timezone.asia_almaty', { value: 'GMT +06:00', defaultValue: '{{value}} Astana' })\n\t},\n\t{\n\t\tvalue: 'Asia/Dhaka',\n\t\tlabel: t('timezone.asia_dhaka', { value: 'GMT +06:00', defaultValue: '{{value}} Dhaka' })\n\t},\n\t{\n\t\tvalue: 'Asia/Omsk',\n\t\tlabel: t('timezone.asia_omsk', { value: 'GMT +06:00', defaultValue: '{{value}} Omsk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yangon',\n\t\tlabel: t('timezone.asia_yangon', { value: 'GMT +06:30', defaultValue: '{{value}} Yangon' })\n\t},\n\t{\n\t\tvalue: 'Asia/Bangkok',\n\t\tlabel: t('timezone.asia_bangkok', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Bangkok, Hanoi, Jakarta'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Barnaul',\n\t\tlabel: t('timezone.asia_barnaul', { value: 'GMT +07:00', defaultValue: '{{value}} Barnaul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Hovd',\n\t\tlabel: t('timezone.asia_hovd', { value: 'GMT +07:00', defaultValue: '{{value}} Hovd' })\n\t},\n\t{\n\t\tvalue: 'Asia/Krasnoyarsk',\n\t\tlabel: t('timezone.asia_krasnoyarsk', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Krasnoyarsk (RTZ 6)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Novosibirsk',\n\t\tlabel: t('timezone.asia_novosibirsk', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Novosibirsk (RTZ 5)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tomsk',\n\t\tlabel: t('timezone.asia_tomsk', { value: 'GMT +07:00', defaultValue: '{{value}} Tomsk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Hong_Kong',\n\t\tlabel: t('timezone.asia_hong_kong', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Beijing, Chongqing, Hong Kong, Urumqi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Irkutsk',\n\t\tlabel: t('timezone.asia_irkutsk', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Irkutsk (RTZ 7)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kuala_Lumpur',\n\t\tlabel: t('timezone.asia_kuala_lumpur', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Kuala Lumpur'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Singapore',\n\t\tlabel: t('timezone.asia_singapore', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Singapore'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Taipei',\n\t\tlabel: t('timezone.asia_taipei', { value: 'GMT +08:00', defaultValue: '{{value}} Taipei' })\n\t},\n\t{\n\t\tvalue: 'Asia/Ulaanbaatar',\n\t\tlabel: t('timezone.asia_ulaanbaatar', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Ulaanbaatar'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Perth',\n\t\tlabel: t('timezone.australia_perth', { value: 'GMT +08:00', defaultValue: '{{value}} Perth' })\n\t},\n\t{\n\t\tvalue: 'Australia/Eucla',\n\t\tlabel: t('timezone.australia_eucla', { value: 'GMT +08:45', defaultValue: '{{value}} Eucla' })\n\t},\n\t{\n\t\tvalue: 'Asia/Chita',\n\t\tlabel: t('timezone.asia_chita', { value: 'GMT +09:00', defaultValue: '{{value}} Chita' })\n\t},\n\t{\n\t\tvalue: 'Asia/Pyongyang',\n\t\tlabel: t('timezone.asia_pyongyang', {\n\t\t\tvalue: 'GMT +09:00',\n\t\t\tdefaultValue: '{{value}} Pyongyang'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Seoul',\n\t\tlabel: t('timezone.asia_seoul', { value: 'GMT +09:00', defaultValue: '{{value}} Korea' })\n\t},\n\t{\n\t\tvalue: 'Asia/Tokyo',\n\t\tlabel: t('timezone.asia_tokyo', { value: 'GMT +09:00', defaultValue: '{{value}} Japan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yakutsk',\n\t\tlabel: t('timezone.asia_yakutsk', {\n\t\t\tvalue: 'GMT +09:00',\n\t\t\tdefaultValue: '{{value}} Yakutsk (RTZ 8)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Adelaide',\n\t\tlabel: t('timezone.australia_adelaide', {\n\t\t\tvalue: 'GMT +09:30',\n\t\t\tdefaultValue: '{{value}} Adelaide'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Darwin',\n\t\tlabel: t('timezone.australia_darwin', { value: 'GMT +09:30', defaultValue: '{{value}} Darwin' })\n\t},\n\t{\n\t\tvalue: 'Asia/Vladivostok',\n\t\tlabel: t('timezone.asia_vladivostok', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Vladivostok, Magadan (RTZ 9)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Brisbane',\n\t\tlabel: t('timezone.australia_brisbane', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Brisbane'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Hobart',\n\t\tlabel: t('timezone.australia_hobart', { value: 'GMT +10:00', defaultValue: '{{value}} Hobart' })\n\t},\n\t{\n\t\tvalue: 'Australia/Sydney',\n\t\tlabel: t('timezone.australia_sydney', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Canberra, Melbourne, Sydney'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Guam',\n\t\tlabel: t('timezone.pacific_guam', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Guam, Port Moresby'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Lord_Howe',\n\t\tlabel: t('timezone.australia_lord_howe', {\n\t\t\tvalue: 'GMT +10:30',\n\t\t\tdefaultValue: '{{value}} Lord_Howe'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Magadan',\n\t\tlabel: t('timezone.asia_magadan', { value: 'GMT +11:00', defaultValue: '{{value}} Magadan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Sakhalin',\n\t\tlabel: t('timezone.asia_sakhalin', { value: 'GMT +11:00', defaultValue: '{{value}} Sakhalin' })\n\t},\n\t{\n\t\tvalue: 'Asia/Srednekolymsk',\n\t\tlabel: t('timezone.asia_srednekolymsk', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Chokurdakh (RTZ 10)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Bougainville',\n\t\tlabel: t('timezone.pacific_bougainville', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Bougainville Standard Time'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Guadalcanal',\n\t\tlabel: t('timezone.pacific_guadalcanal', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Solomon Is. / New Caledonia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Norfolk',\n\t\tlabel: t('timezone.pacific_norfolk', { value: 'GMT +11:00', defaultValue: '{{value}} Norfolk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kamchatka',\n\t\tlabel: t('timezone.asia_kamchatka', {\n\t\t\tvalue: 'GMT +12:00',\n\t\t\tdefaultValue: '{{value}} Anadyr, Petropavlovsk-Kamchatsky (RTZ 11)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Auckland',\n\t\tlabel: t('timezone.pacific_auckland', {\n\t\t\tvalue: 'GMT +12:00',\n\t\t\tdefaultValue: '{{value}} New Zealand'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Fiji',\n\t\tlabel: t('timezone.pacific_fiji', { value: 'GMT +12:00', defaultValue: '{{value}} Fiji' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Chatham',\n\t\tlabel: t('timezone.pacific_chatham', { value: 'GMT +12:45', defaultValue: '{{value}} Chatham' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Apia',\n\t\tlabel: t('timezone.pacific_apia', { value: 'GMT +13:00', defaultValue: '{{value}} Samoa' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Tongatapu',\n\t\tlabel: t('timezone.pacific_tongatapu', {\n\t\t\tvalue: 'GMT +13:00',\n\t\t\tdefaultValue: '{{value}} Nuku’alofa'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Kiritimati',\n\t\tlabel: t('timezone.pacific_kiritimati', {\n\t\t\tvalue: 'GMT +14:00',\n\t\t\tdefaultValue: '{{value}} Kiritimati Island'\n\t\t})\n\t}\n];\n\nexport const getAutoScalingFontSize = (): number => {\n\tif (\n\t\twindow.screen.width <= SCALING_LIMIT.WIDTH &&\n\t\twindow.screen.height <= SCALING_LIMIT.HEIGHT &&\n\t\twindow.devicePixelRatio >= SCALING_LIMIT.DPR\n\t) {\n\t\tconst baseFontIndex = SCALING_OPTIONS.findIndex((option) => option.value === BASE_FONT_SIZE);\n\t\tif (baseFontIndex > 0) {\n\t\t\treturn SCALING_OPTIONS[baseFontIndex - 1].value;\n\t\t}\n\t}\n\treturn BASE_FONT_SIZE;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { TFunction } from 'react-i18next';\nimport { SettingsSubSection } from '../../types';\n\nexport const appearanceSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.appearance', 'Appearance'),\n\tid: 'appearance'\n});\nexport const timezoneAndLanguageSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.timezone_and_language', 'Time Zone and Language'),\n\tid: 'timezone_and_language'\n});\nexport const outOfOfficeSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.out_of_office.headings.settings_label', 'Out of Office Settings'),\n\tid: 'out_of_office'\n});\nexport const searchPrefsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('search.app', 'Search'),\n\tid: 'search_prefs'\n});\nexport const versionsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('module.app.version', 'Application versions'),\n\tid: 'app_version'\n});\nexport const quotaSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('user_quota.title', \"User's quota\"),\n\tid: 'user_quota'\n});\nexport const accountSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.account', 'Account'),\n\tid: 'account'\n});\n\nexport const settingsSubSections = (t: TFunction): Array<SettingsSubSection> => [\n\tappearanceSubSection(t),\n\ttimezoneAndLanguageSubSection(t),\n\toutOfOfficeSubSection(t),\n\tsearchPrefsSubSection(t),\n\tversionsSubSection(t),\n\tquotaSubSection(t),\n\taccountSubSection(t)\n];\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { includes, isEmpty, size } from 'lodash';\nimport React, { FC, useCallback, useMemo, useRef, useState } from 'react';\nimport { AddMod, Mods, RemoveMod } from '../../types';\nimport { editSettings } from '../network/edit-settings';\nimport { useUserSettings } from '../store/account';\nimport { getT } from '../store/i18n';\nimport AppearanceSettings from './components/general-settings/appearance-settings';\nimport Logout from './components/general-settings/logout';\nimport ModuleVersionSettings from './components/general-settings/module-version-settings';\nimport OutOfOfficeSettings from './components/general-settings/out-of-office-view';\nimport UserQuota from './components/general-settings/user-quota';\nimport SettingsHeader from './components/settings-header';\nimport LanguageAndTimeZoneSettings from './language-and-timezone-settings';\nimport SearchSettingsView from './search-settings-view';\nimport { useLocalStorage } from '../shell/hooks';\nimport {\n\tScalingSettingSection,\n\tScalingSettingSectionRef\n} from './components/general-settings/scaling-setting-section';\nimport DarkThemeSettingSection from './components/general-settings/dark-theme-settings-section';\nimport { LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { ScalingSettings } from '../../types/settings';\n\nconst GeneralSettings: FC = () => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst t = getT();\n\tconst userSettings = useUserSettings();\n\tconst [localStorageUnAppliedChanges, setLocalStorageUnAppliedChanges] = useState<ScalingSettings>(\n\t\t{}\n\t);\n\tconst [localStorageSettings, setLocalStorageSettings] = useLocalStorage<ScalingSettings>(\n\t\tLOCAL_STORAGE_SETTINGS_KEY,\n\t\t{}\n\t);\n\tconst [open, setOpen] = useState(false);\n\n\tconst addLocalStoreChange = useCallback((key, value) => {\n\t\tsetLocalStorageUnAppliedChanges((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[key]: value\n\t\t}));\n\t}, []);\n\n\tconst cleanLocalStoreChange = useCallback<(key: keyof ScalingSettings) => void>((key) => {\n\t\tsetLocalStorageUnAppliedChanges((prevState) => {\n\t\t\tconst nextState = { ...prevState };\n\t\t\tdelete nextState[key];\n\t\t\treturn nextState;\n\t\t});\n\t}, []);\n\n\tconst addMod = useCallback<AddMod>((type, key, value) => {\n\t\tsetMods((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[type]: {\n\t\t\t\t...prevState?.[type],\n\t\t\t\t[key]: value\n\t\t\t}\n\t\t}));\n\t}, []);\n\n\tconst removeMod = useCallback<RemoveMod>((type, key) => {\n\t\tsetMods((prevState) => {\n\t\t\tconst prevType = prevState[type];\n\t\t\tif (prevType && prevType[key] !== undefined) {\n\t\t\t\tconst nextState = { ...prevState, [type]: { ...prevState[type] } };\n\t\t\t\tconst nextType = nextState[type];\n\t\t\t\tif (nextType && nextType[key] !== undefined) {\n\t\t\t\t\tdelete nextType[key];\n\t\t\t\t}\n\t\t\t\tif (size(nextState[type]) === 0) {\n\t\t\t\t\tdelete nextState[type];\n\t\t\t\t}\n\t\t\t\treturn nextState;\n\t\t\t}\n\t\t\treturn prevState;\n\t\t});\n\t}, []);\n\tconst createSnackbar = useSnackbar();\n\n\tconst onSave = useCallback(() => {\n\t\tsetLocalStorageUnAppliedChanges((unAppliedPrevState) => {\n\t\t\tif (size(unAppliedPrevState) > 0) {\n\t\t\t\tsetLocalStorageSettings((localStorageSettingsPrevState) => ({\n\t\t\t\t\t...localStorageSettingsPrevState,\n\t\t\t\t\t...unAppliedPrevState\n\t\t\t\t}));\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\treturn unAppliedPrevState;\n\t\t});\n\t\tif (size(mods) > 0) {\n\t\t\teditSettings(mods)\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (mods.prefs && includes(Object.keys(mods.prefs), 'zimbraPrefLocale')) {\n\t\t\t\t\t\tsetOpen(true);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\tkey: `new`,\n\t\t\t\t\t\treplace: true,\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\thideButton: true\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\tkey: `new`,\n\t\t\t\t\t\treplace: true,\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\thideButton: true\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\tsetMods({});\n\t\t}\n\t}, [mods, setLocalStorageSettings, createSnackbar, t]);\n\n\tconst scalingSettingSectionRef = useRef<ScalingSettingSectionRef>(null);\n\n\tconst onCancel = useCallback(() => {\n\t\tsetMods({});\n\t\tif (size(localStorageUnAppliedChanges) > 0) {\n\t\t\tscalingSettingSectionRef.current?.reset();\n\t\t}\n\t}, [localStorageUnAppliedChanges]);\n\n\tconst isDirty = useMemo(\n\t\t() => !isEmpty(mods) || !isEmpty(localStorageUnAppliedChanges),\n\t\t[mods, localStorageUnAppliedChanges]\n\t);\n\n\tconst title = useMemo(() => t('settings.general.general', 'General Settings'), [t]);\n\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader title={title} onCancel={onCancel} onSave={onSave} isDirty={isDirty} />\n\t\t\t<Container\n\t\t\t\tbackground={'gray5'}\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\tgap=\"0.5rem\"\n\t\t\t\tpadding={{ all: 'medium' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AppearanceSettings>\n\t\t\t\t\t<ScalingSettingSection\n\t\t\t\t\t\tref={scalingSettingSectionRef}\n\t\t\t\t\t\tscalingSettings={localStorageSettings}\n\t\t\t\t\t\taddLocalStoreChange={addLocalStoreChange}\n\t\t\t\t\t\tcleanLocalStoreChange={cleanLocalStoreChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<DarkThemeSettingSection addMod={addMod} removeMod={removeMod} />\n\t\t\t\t</AppearanceSettings>\n\t\t\t\t<LanguageAndTimeZoneSettings\n\t\t\t\t\tsettings={userSettings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\topen={open}\n\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t/>\n\n\t\t\t\t<OutOfOfficeSettings settings={userSettings} addMod={addMod} />\n\t\t\t\t<SearchSettingsView settings={userSettings} addMod={addMod} />\n\t\t\t\t<ModuleVersionSettings />\n\t\t\t\t<UserQuota mobileView={false} />\n\t\t\t\t<Logout />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default GeneralSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tFormSubSection,\n\tModal,\n\tPadding,\n\tSelect,\n\tSingleSelectionOnChange,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\n\nimport { find } from 'lodash';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../types';\nimport { getT } from '../store/i18n';\nimport { localeList, timeZoneList } from './components/utils';\nimport { timezoneAndLanguageSubSection } from './general-settings-sub-sections';\n\nmomentLocalizer();\n\nconst LanguageAndTimeZone: FC<{\n\tsettings: AccountSettings;\n\topen: boolean;\n\tsetOpen: (arg: boolean) => void;\n\taddMod: AddMod;\n}> = ({ settings, addMod, open, setOpen }) => {\n\tconst t = getT();\n\tconst locales = useMemo(() => localeList(t), [t]);\n\tconst timezones = useMemo(() => timeZoneList(t), [t]);\n\tconst sectionTitle = useMemo(() => timezoneAndLanguageSubSection(t), [t]);\n\n\tconst updatePrefs = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst defaultLocale = useMemo(\n\t\t() =>\n\t\t\t(settings.prefs.zimbraPrefLocale &&\n\t\t\t\tfind(locales, { id: `${settings.prefs.zimbraPrefLocale}` })) ||\n\t\t\tfind(locales, { id: 'en' }),\n\t\t[locales, settings.prefs.zimbraPrefLocale]\n\t);\n\n\tconst onLocaleChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefLocale)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefLocale');\n\t\t},\n\t\t[settings.prefs.zimbraPrefLocale, updatePrefs]\n\t);\n\n\tconst defaultTimeZone = useMemo(\n\t\t() =>\n\t\t\t(settings.prefs.zimbraPrefTimeZoneId &&\n\t\t\t\tfind(timezones, { value: `${settings.prefs.zimbraPrefTimeZoneId}` })) ||\n\t\t\tfind(timezones, { value: 'UTC' }),\n\t\t[timezones, settings.prefs.zimbraPrefTimeZoneId]\n\t);\n\n\tconst onTimeZoneChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefTimeZoneId)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefTimeZoneId');\n\t\t},\n\t\t[settings.prefs.zimbraPrefTimeZoneId, updatePrefs]\n\t);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t{Object.keys(settings.prefs).length > 0 && (\n\t\t\t\t\t<Select\n\t\t\t\t\t\titems={locales}\n\t\t\t\t\t\tbackground={'gray5'}\n\t\t\t\t\t\tlabel={t('label.language', 'Language')}\n\t\t\t\t\t\tonChange={onLocaleChange}\n\t\t\t\t\t\tdefaultSelection={defaultLocale}\n\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\tdropdownMaxHeight=\"12.5rem\"\n\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t{Object.keys(settings.prefs).length > 0 && timezones && defaultTimeZone && (\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\titems={timezones}\n\t\t\t\t\t\t\tbackground={'gray5'}\n\t\t\t\t\t\t\tlabel={t('label.time_zone', 'Time Zone')}\n\t\t\t\t\t\t\tonChange={onTimeZoneChange}\n\t\t\t\t\t\t\tselection={defaultTimeZone}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tdropdownMaxHeight=\"12.5rem\"\n\t\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Padding>\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={t('label.reload', 'Reload')}\n\t\t\t\t\topen={open}\n\t\t\t\t\tdismissLabel={t('label.no', 'No')}\n\t\t\t\t\tonConfirm={(): void => window.location.reload()}\n\t\t\t\t\tconfirmLabel={t('label.reload', 'Reload')}\n\t\t\t\t\tonClose={(): void => setOpen(false)}\n\t\t\t\t>\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'message.reload',\n\t\t\t\t\t\t\t`\tWould you like to reload the application now to show the new language?\n\t\t\t\t\t\t\t(Otherwise, the new language will appear the next time you sign in.)`\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Modal>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default LanguageAndTimeZone;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Checkbox, Container, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { AccountSettings, AddMod, PrefsMods } from '../../types';\nimport { getT } from '../store/i18n';\nimport { searchPrefsSubSection } from './general-settings-sub-sections';\n\nconst SearchSettingsView: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}> = ({ settings, addMod }) => {\n\tconst t = getT();\n\tconst [searchInSpamFolder, setSearchInSpamFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE'\n\t);\n\tconst [searchInTrashFolder, setSearchInTrashFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE'\n\t);\n\tconst [searchInSharedFolder, setSearchInSharedFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE'\n\t);\n\tconst setMode = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tsetSearchInSpamFolder(settings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSpamInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInTrashFolder(settings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeTrashInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInSharedFolder(settings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSharedItemsInSearch]);\n\n\tconst onClickSpam = useCallback(() => {\n\t\tsetSearchInSpamFolder(!searchInSpamFolder);\n\t\tsetMode(!searchInSpamFolder, 'zimbraPrefIncludeSpamInSearch');\n\t}, [searchInSpamFolder, setMode]);\n\tconst onClickTrash = useCallback(() => {\n\t\tsetSearchInTrashFolder(!searchInTrashFolder);\n\t\tsetMode(!searchInTrashFolder, 'zimbraPrefIncludeTrashInSearch');\n\t}, [searchInTrashFolder, setMode]);\n\tconst onClickShared = useCallback(() => {\n\t\tsetSearchInSharedFolder(!searchInSharedFolder);\n\t\tsetMode(!searchInSharedFolder, 'zimbraPrefIncludeSharedItemsInSearch');\n\t}, [searchInSharedFolder, setMode]);\n\tconst sectionTitle = useMemo(() => searchPrefsSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_spam_folder',\n\t\t\t\t\t\t'Include Spam Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSpamFolder}\n\t\t\t\t\tonClick={onClickSpam}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_trash_folder',\n\t\t\t\t\t\t'Include Trash Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInTrashFolder}\n\t\t\t\t\tonClick={onClickTrash}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_shared_folder',\n\t\t\t\t\t\t'Include Shared Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSharedFolder}\n\t\t\t\t\tonClick={onClickShared}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default SearchSettingsView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { map } from 'lodash';\nimport { SETTINGS_APP_ID } from '../constants';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsAppView: FC = () => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(settingsViews, (view) => (\n\t\t\t\t<Route key={view.route} exact path={`/${SETTINGS_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[settingsViews]\n\t);\n\treturn (\n\t\t<Switch>\n\t\t\t{routes}\n\t\t\t<Redirect from={`/${SETTINGS_APP_ID}`} exact strict to={`/${SETTINGS_APP_ID}/general`} />\n\t\t</Switch>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Accordion, IconButton, Tooltip } from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { FC, useMemo } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsSidebar: FC<{ expanded: boolean }> = ({ expanded }) => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst items = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((view) => ({\n\t\t\t\tid: view.route,\n\t\t\t\tlabel: view.label,\n\t\t\t\ticon: view.icon,\n\t\t\t\tactive: location.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tdisableHover:\n\t\t\t\t\tlocation.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tonClick: (e: KeyboardEvent | React.SyntheticEvent): void => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\thistory.push(`/${SETTINGS_APP_ID}/${view.route}`);\n\t\t\t\t},\n\t\t\t\titems: map(view.subSections, (item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tactive: location.search === `?section=${item.id}`,\n\t\t\t\t\tdisableHover: location.search === `?section=${item.id}`,\n\t\t\t\t\tonClick: (e: KeyboardEvent | React.SyntheticEvent): void => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\thistory.replace(`/${SETTINGS_APP_ID}/${view.route}?section=${item.id}`);\n\t\t\t\t\t}\n\t\t\t\t}))\n\t\t\t})),\n\t\t[history, location.pathname, location.search, settingsViews]\n\t);\n\tconst collapsedItems = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((v) => (\n\t\t\t\t<Tooltip label={v.label} placement=\"right\" key={v.id}>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticon={v.icon}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${SETTINGS_APP_ID}/${v.route}`)}\n\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t)),\n\t\t[history, settingsViews]\n\t);\n\treturn expanded ? <Accordion items={items} /> : <>{collapsedItems}</>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Redirect, Route, Switch, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { map, find } from 'lodash';\nimport { Container } from '@zextras/carbonio-design-system';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useAppList, useAppStore, useRoutes } from '../store/app';\n\nconst _BoardsRouterContainer = styled(Container)`\n\tflex-grow: 1;\n\tflex-basis: 0;\n\tmin-width: 0.0625rem;\n\tmax-height: calc(100vh - 3.75rem);\n\toverflow-y: auto;\n`;\n\nconst FirstAppRedirect: FC = () => {\n\tconst apps = useAppList();\n\tconst routes = useRoutes();\n\tconst location = useLocation();\n\tconst mainRoute = useMemo(\n\t\t() => find(routes, (r) => apps[0]?.name === r.app)?.route,\n\t\t[apps, routes]\n\t);\n\treturn mainRoute && location?.pathname === '/' ? (\n\t\t<Redirect exact strict from=\"/\" to={`/${mainRoute}`} />\n\t) : null;\n};\n\nconst AppViewContainer: FC = () => {\n\tconst appViews = useAppStore((s) => s.views.appView);\n\tconst routes = useMemo(\n\t\t() => [\n\t\t\t...map(appViews, (view) => (\n\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t<AppContextProvider key={view.app} pkg={view.app}>\n\t\t\t\t\t\t<view.component />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t))\n\t\t],\n\t\t[appViews]\n\t);\n\n\treturn (\n\t\t<_BoardsRouterContainer>\n\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t<Switch>{routes}</Switch>\n\t\t\t\t<FirstAppRedirect />\n\t\t\t</Container>\n\t\t</_BoardsRouterContainer>\n\t);\n};\n\nexport default AppViewContainer;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, forwardRef } from 'react';\nimport { Container, ContainerProps, Text } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport { BadgeInfo } from '../../types';\n\nconst MiniBadge = styled(Container)<{ badge: BadgeInfo }>`\n\tposition: absolute;\n\tbottom: 25%;\n\tright: 25%;\n\ttransform: translate(30%, 30%);\n\tbackground: ${({ badge, theme }): string => theme.palette[badge?.color ?? 'primary'].regular};\n\tmin-width: 0.75rem;\n\tmin-height: 0.75rem;\n\tline-height: 0.75rem;\n\tborder-radius: 0.5rem;\n\tuser-select: none;\n\tcursor: pointer;\n\tpointer-events: none;\n\tz-index: 99;\n`;\n\n// eslint-disable-next-line react/display-name\nconst BadgeWrap: FC<{ badge: BadgeInfo }> = forwardRef<HTMLDivElement, { badge: BadgeInfo }>(\n\t({ badge, children }, ref) => (\n\t\t<Container width={'3rem'} height={'3rem'} style={{ position: 'relative' }} ref={ref}>\n\t\t\t{badge.show && (\n\t\t\t\t<MiniBadge badge={badge} height=\"fit\" width=\"fit\">\n\t\t\t\t\t{badge.showCount ? (\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"extrasmall\"\n\t\t\t\t\t\t\tstyle={{ padding: '0.125rem 0.25rem', fontSize: '0.625rem' }}\n\t\t\t\t\t\t\tcolor=\"gray6\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{badge.count ?? 0}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : null}\n\t\t\t\t</MiniBadge>\n\t\t\t)}\n\t\t\t{children}\n\t\t</Container>\n\t)\n);\n\nexport default BadgeWrap;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tDivider,\n\tIconButton,\n\tPadding,\n\tRow,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { isEmpty, map } from 'lodash';\nimport React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n\tcloseAllBoards,\n\texpandBoards,\n\tminimizeBoards,\n\tonGoToPanel,\n\treduceBoards,\n\tuseBoardStore\n} from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoard } from './board';\nimport { TabsList } from './board-tab-list';\n\nconst BoardContainerComp = styled.div<{ expanded: boolean; minimized: boolean }>`\n\tposition: fixed;\n\ttop: 3.75rem;\n\tbottom: 0;\n\tleft: 3rem;\n\tright: 0;\n\tbackground-color: rgba(0, 0, 0, 0);\n\tpointer-events: none;\n\tz-index: 10;\n\t${({ expanded }): any =>\n\t\texpanded &&\n\t\tcss`\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tpointer-events: auto;\n\t\t`}\n\t${({ minimized }): any =>\n\t\tminimized &&\n\t\tcss`\n\t\t\tdisplay: none;\n\t\t`}\n`;\nconst Board = styled(Container)<{ expanded: boolean }>`\n\tz-index: 5;\n\tposition: absolute;\n\tleft: 1.5rem;\n\tbottom: 0;\n\twidth: 700px;\n\theight: 70vh;\n\tmin-height: 400px;\n\tbox-shadow: 0 0.125rem 0.3125rem 0 rgba(125, 125, 125, 0.5);\n\tpointer-events: auto;\n\t${({ expanded }): any =>\n\t\texpanded &&\n\t\tcss`\n\t\t\theight: calc(100% - 1.5rem);\n\t\t\twidth: calc(100% - 1.5rem * 2);\n\t\t\tmin-height: auto;\n\t\t`}\n`;\nconst BoardHeader = styled(Row)``;\nconst BoardDetailContainer = styled(Row)`\n\tmin-height: 0;\n`;\nconst BackButton = styled(IconButton)``;\nconst Actions = styled(Row)``;\n\nexport const BoardContainer: FC = () => {\n\tconst t = getT();\n\tconst { boards, minimized, expanded, current } = useBoardStore();\n\tif (isEmpty(boards) || !current) return null;\n\treturn (\n\t\t<BoardContainerComp expanded={expanded} minimized={minimized}>\n\t\t\t<Board\n\t\t\t\tdata-testid=\"NewItemContainer\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tcrossAlignment=\"unset\"\n\t\t\t\texpanded={expanded}\n\t\t\t>\n\t\t\t\t<BoardHeader background=\"gray5\">\n\t\t\t\t\t<Padding all=\"extrasmall\">\n\t\t\t\t\t\t<Tooltip label={t('board.hide', 'Hide board')} placement=\"top\">\n\t\t\t\t\t\t\t<BackButton icon=\"BoardCollapseOutline\" onClick={minimizeBoards} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<TabsList />\n\t\t\t\t\t<Actions padding={{ all: 'extrasmall' }}>\n\t\t\t\t\t\t{boards[current]?.context?.onReturnToApp && (\n\t\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t\t<Tooltip label={t('board.open_app', 'Open in app')} placement=\"top\">\n\t\t\t\t\t\t\t\t\t<IconButton icon={'DiagonalArrowRightUp'} onClick={onGoToPanel} />\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\texpanded ? t('board.reduce', 'Reduce board') : t('board.enlarge', 'Enlarge board')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\ticon={expanded ? 'CollapseOutline' : 'ExpandOutline'}\n\t\t\t\t\t\t\t\t\tonClick={expanded ? reduceBoards : expandBoards}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Tooltip label={t('board.close_tabs', 'Close all your tabs')} placement=\"top\">\n\t\t\t\t\t\t\t<IconButton icon=\"CloseOutline\" onClick={closeAllBoards} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Actions>\n\t\t\t\t</BoardHeader>\n\t\t\t\t<Divider style={{ height: '0.125rem' }} />\n\t\t\t\t<BoardDetailContainer takeAvailableSpace>\n\t\t\t\t\t{map(boards, (b) => (\n\t\t\t\t\t\t<AppBoard key={b.id} board={b} />\n\t\t\t\t\t))}\n\t\t\t\t</BoardDetailContainer>\n\t\t\t</Board>\n\t\t</BoardContainerComp>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tButton,\n\tContainer,\n\tDropdown,\n\tRow,\n\tTooltip,\n\tuseHiddenCount\n} from '@zextras/carbonio-design-system';\nimport { map, noop, slice } from 'lodash';\nimport React, { FC, useLayoutEffect, useRef } from 'react';\nimport { setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoardTab } from './board-tab';\n\nexport const TabsList: FC = () => {\n\tconst t = getT();\n\tconst { boards, current, expanded } = useBoardStore();\n\tconst tabContainerRef = useRef(null);\n\tconst [hiddenTabsCount, recalculateHiddenTabs] = useHiddenCount(tabContainerRef, expanded);\n\n\tuseLayoutEffect(() => {\n\t\trecalculateHiddenTabs();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [boards, expanded, tabContainerRef.current]);\n\n\treturn (\n\t\t<Row wrap=\"nowrap\" height=\"100%\" mainAlignment=\"flex-start\" takeAvailableSpace>\n\t\t\t<Row\n\t\t\t\tref={tabContainerRef}\n\t\t\t\theight=\"3rem\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\twidth=\"calc(100% - 0.5rem)\"\n\t\t\t>\n\t\t\t\t{boards &&\n\t\t\t\t\tmap(boards, (tab) => (\n\t\t\t\t\t\t<AppBoardTab key={tab.id} id={tab.id} title={tab.title} icon={tab.icon} />\n\t\t\t\t\t))}\n\t\t\t</Row>\n\t\t\t{hiddenTabsCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Container width=\"fit\" padding={{ horizontal: 'extrasmall', vertical: 'extrasmall' }}>\n\t\t\t\t\t\t<Container width=\"0.0625rem\" height=\"fill\" background=\"gray3\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Tooltip label={t('board.show_tabs', 'Show other tabs')} placement=\"top\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\twidth=\"fit\"\n\t\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\t\titems={map(slice(Object.values(boards), -hiddenTabsCount), (tab) => ({\n\t\t\t\t\t\t\t\tid: tab.id,\n\t\t\t\t\t\t\t\tlabel: tab.title,\n\t\t\t\t\t\t\t\ticon: tab.icon,\n\t\t\t\t\t\t\t\tclick: () => setCurrentBoard(tab.id),\n\t\t\t\t\t\t\t\tselected: tab.id === current\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button type=\"ghost\" color=\"secondary\" label={`+${hiddenTabsCount}`} onClick={noop} />\n\t\t\t\t\t\t</Dropdown>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</Row>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tIcon,\n\tIconButton,\n\tPadding,\n\tRow,\n\tRowProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback } from 'react';\nimport styled from 'styled-components';\nimport { closeBoard, setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\n\nconst TabContainer = styled(Row)<RowProps & { active: boolean }>`\n\tcursor: pointer;\n\theight: 1.75rem;\n\twidth: fit-content;\n\tuser-select: none;\n\tbackground-color: ${({ theme, active }): string =>\n\t\tactive ? theme.palette.gray3.regular : theme.palette.gray5.regular};\n\tborder-radius: 0.125rem;\n\tpadding: 0.125rem 0.25rem;\n`;\n\nconst VerticalDivider = styled(Container)`\n\twidth: 0.0625rem;\n\theight: 100%;\n\tbackground: ${({ theme }): string => theme.palette.gray3.regular};\n\tmargin: ${({ theme }): string => theme.sizes.padding.extrasmall};\n`;\n\nexport const AppBoardTab: FC<{ id: string; icon: string; title: string }> = ({\n\tid,\n\ticon,\n\ttitle\n}) => {\n\tconst current = useBoardStore((s) => s.current);\n\tconst t = getT();\n\tconst onClick = useCallback(() => setCurrentBoard(id), [id]);\n\tconst onRemove = useCallback(\n\t\t(ev) => {\n\t\t\tev.stopPropagation();\n\t\t\tcloseBoard(id);\n\t\t},\n\t\t[id]\n\t);\n\n\treturn (\n\t\t<Container orientation=\"row\" width=\"fit\" maxWidth=\"100%\">\n\t\t\t{current !== id && <VerticalDivider />}\n\t\t\t<TabContainer active={current === id} padding={{ all: 'extrasmall' }}>\n\t\t\t\t<Row\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\ttakeAvailableSpace\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\twrap=\"nowrap\"\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={icon} size=\"large\" />\n\t\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t\t<Tooltip label={title} placement=\"top\" maxWidth=\"700px\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\t\tcolor={current === id ? 'text' : 'secondary'}\n\t\t\t\t\t\t\toverflow=\"ellipsis\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</Row>\n\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t<Tooltip label={t('board.close_tab', 'Close Tab')} placement=\"top\">\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticonColor=\"secondary\"\n\t\t\t\t\t\ticon=\"Close\"\n\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\tstyle={{ padding: '0.125rem', width: '1.5rem', height: '1.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t</TabContainer>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { Route, Router, useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { find, startsWith } from 'lodash';\nimport { createMemoryHistory } from 'history';\nimport AppContextProvider from '../../boot/app/app-context-provider';\nimport { useAppStore } from '../../store/app';\nimport { BoardProvider, updateBoard, useBoardStore } from '../../store/boards';\nimport { Board } from '../../../types';\n\nconst BoardContainer = styled.div<{ show: boolean }>`\n\tdisplay: ${(props): string => (props.show ? 'block' : 'none')};\n\theight: 100%;\n\twidth: 100%;\n\toverflow-y: auto;\n\t&::-webkit-scrollbar {\n\t\twidth: 0.5rem;\n\t}\n\n\t&::-webkit-scrollbar-track {\n\t\tbackground-color: transparent;\n\t}\n\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray3.regular};\n\t\tborder-radius: 0.25rem;\n\t}\n`;\n\nexport const AppBoard: FC<{ board: Board }> = ({ board }) => {\n\tconst current = useBoardStore((s) => s.current);\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tconst history = useMemo(() => createMemoryHistory({ initialEntries: [board.url] }), []);\n\tconst boardViews = useAppStore((s) => s.views.board);\n\tconst windowHistory = useHistory();\n\tconst route = useMemo(() => {\n\t\tconst view = find(boardViews, (v) => v.id === board.url || startsWith(board.url, v.route));\n\t\tif (view)\n\t\t\treturn (\n\t\t\t\t<Route key={view.id} path={view.route}>\n\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t<BoardProvider id={board.id}>\n\t\t\t\t\t\t\t<view.component windowHistory={windowHistory} />\n\t\t\t\t\t\t</BoardProvider>\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t);\n\t\treturn null;\n\t}, [board.id, board.url, boardViews, windowHistory]);\n\tuseEffect(() => {\n\t\tconst unlisten = history.listen(({ location }) => {\n\t\t\tif (`${location.pathname}${location.search}${location.hash}` !== board.url) {\n\t\t\t\tupdateBoard(board.id, { url: `${location.pathname}${location.search}${location.hash}` });\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tunlisten();\n\t\t};\n\t}, [board.url, board.id, history]);\n\n\tuseEffect(() => {\n\t\tconst l = history.location;\n\t\tif (`${l.pathname}${l.search}${l.hash}` !== board.url) {\n\t\t\thistory.push(board.url);\n\t\t}\n\t}, [board.url, history]);\n\n\treturn (\n\t\t<BoardContainer show={current === board.id}>\n\t\t\t<Router history={history}>{route}</Router>\n\t\t</BoardContainer>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { Icon } from '@zextras/carbonio-design-system';\n\nconst VerticalDivider = styled.div`\n\tposition: relative;\n\toverflow: visible;\n\theight: 100%;\n\twidth: 0.0625rem;\n\tmax-width: 0.0625rem;\n\tmin-width: 0.0625rem;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background 0.2s;\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n`;\n\nconst Bubble = styled.div<{ open: boolean }>`\n\tcursor: pointer;\n\tz-index: 2;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: -0.75rem;\n\twidth: 1.5rem;\n\theight: 1.5rem;\n\tborder-radius: 50%;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background-color 0.2s, transform 0.2s;\n\ttransform: scaleX(${({ open }): number => (open ? 1 : -1)});\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.active};\n\t}\n`;\n\nexport const Collapser: FunctionComponent<{ open: boolean; onClick: () => void }> = ({\n\topen,\n\tonClick\n}) => (\n\t<VerticalDivider>\n\t\t<Bubble onClick={onClick} open={open}>\n\t\t\t<Icon size=\"medium\" icon=\"ChevronLeft\" />\n\t\t</Bubble>\n\t</VerticalDivider>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Button, Container, Dropdown, MultiButton } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport { groupBy, noop, reduce } from 'lodash';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Action, AppRoute, CarbonioModule } from '../../types';\nimport { ACTION_TYPES } from '../constants';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppList } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useActions } from '../store/integrations/hooks';\n\nexport const CreationButtonComponent: FC<{ activeRoute: AppRoute; location: Location }> = ({\n\tactiveRoute,\n\tlocation\n}) => {\n\tconst t = getT();\n\tconst actions = useActions({ activeRoute, location }, ACTION_TYPES.NEW);\n\tconst [open, setOpen] = useState(false);\n\tconst primaryAction = useMemo(\n\t\t() =>\n\t\t\tactions?.find?.(\n\t\t\t\t(a) => (a.group === activeRoute?.id || a.group === activeRoute?.app) && a.primary\n\t\t\t),\n\t\t[actions, activeRoute?.app, activeRoute?.id]\n\t);\n\tconst apps = useAppList();\n\tconst byApp = useMemo(() => groupBy(actions, 'group'), [actions]);\n\n\tconst secondaryActions = [\n\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t...reduce<CarbonioModule, Array<Action>>(\n\t\t\tapps,\n\t\t\t(acc, app, i) => {\n\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t];\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\treturn primaryAction ? (\n\t\t<Container minWidth=\"80px\">\n\t\t\t<MultiButton\n\t\t\t\tdata-testid=\"NewItemButton\"\n\t\t\t\tsize=\"extralarge\"\n\t\t\t\tbackground=\"primary\"\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\tonClick={primaryAction.onClick || primaryAction.click || noop}\n\t\t\t\titems={secondaryActions}\n\t\t\t\tdisabledPrimary={!primaryAction || primaryAction?.disabled}\n\t\t\t\tdisabledSecondary={!secondaryActions?.length}\n\t\t\t/>\n\t\t</Container>\n\t) : (\n\t\t<Dropdown items={secondaryActions} onClose={onClose} onOpen={onOpen}>\n\t\t\t<Button\n\t\t\t\tdata-testid=\"NewItemButton\"\n\t\t\t\tsize=\"extralarge\"\n\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\ticon={open ? 'ChevronUp' : 'ChevronDown'}\n\t\t\t\tonClick={noop}\n\t\t\t/>\n\t\t</Dropdown>\n\t);\n};\n\nconst MemoCreationButton = React.memo(CreationButtonComponent);\n\nexport const CreationButton: FC = () => {\n\tconst locationFull = useLocation() as Location;\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\n\tconst truncateLocation = (location: Location): Location => ({\n\t\t...location,\n\t\tpathname: location?.pathname?.split('/').slice(0, 2).join('/'),\n\t\tkey: ''\n\t});\n\n\tconst location = useMemo(() => truncateLocation(locationFull), [locationFull]);\n\treturn <MemoCreationButton activeRoute={activeRoute} location={location} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Dispatch, SetStateAction, useCallback, useContext, useEffect, useState } from 'react';\n\nimport ShellContext from './shell-context';\n\nexport function useIsMobile(): boolean {\n\tconst { isMobile } = useContext(ShellContext);\n\treturn isMobile;\n}\n\nexport function useLocalStorage<T>(key: string, initialValue: T): [T, Dispatch<SetStateAction<T>>] {\n\tconst readValue = useCallback<() => T>(() => {\n\t\ttry {\n\t\t\tconst item = window.localStorage.getItem(key);\n\t\t\treturn item ? JSON.parse(item) : initialValue;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\treturn initialValue;\n\t\t}\n\t}, [initialValue, key]);\n\n\tconst [storedValue, setStoredValue] = useState<T>(readValue());\n\tconst setValue = (value: T | ((val: T) => T)): void => {\n\t\ttry {\n\t\t\tconst valueToStore = value instanceof Function ? value(storedValue) : value;\n\t\t\tconst valueToStoreJSON = JSON.stringify(valueToStore);\n\t\t\tsetStoredValue((prevState) => {\n\t\t\t\tconst prevValueJSON = JSON.stringify(prevState);\n\t\t\t\tif (prevValueJSON !== valueToStoreJSON) {\n\t\t\t\t\tlocalStorage.setItem(key, valueToStoreJSON);\n\t\t\t\t\twindow.dispatchEvent(new Event('storage'));\n\t\t\t\t\treturn valueToStore;\n\t\t\t\t}\n\t\t\t\treturn prevState;\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\n\tconst updateValue = useCallback(() => {\n\t\tsetStoredValue(readValue());\n\t}, [readValue]);\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('storage', updateValue);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('storage', updateValue);\n\t\t};\n\t}, [readValue, updateValue]);\n\n\treturn [storedValue, setValue];\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { useScreenMode } from '@zextras/carbonio-design-system';\nimport ShellContext from './shell-context';\n\nconst ShellContextProvider: FC<{ children: unknown }> = ({ children }) => {\n\tconst screenMode = useScreenMode();\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tisMobile: screenMode === 'mobile'\n\t\t}),\n\t\t[screenMode]\n\t);\n\n\treturn <ShellContext.Provider value={value}>{children}</ShellContext.Provider>;\n};\n\nexport default ShellContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst ShellContext = createContext({ isMobile: true });\n\nexport default ShellContext;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport {\n\tCatcher,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode\n} from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport Logo from '../svg/carbonio.svg';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\n\nconst CustomImg = styled.img`\n\theight: 2rem;\n`;\n\nconst ShellHeader: FC<{\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n}> = ({ mobileNavIsOpen, onMobileMenuClick, children }) => {\n\tconst { carbonioWebUiAppLogo, carbonioWebUiDarkAppLogo } = useLoginConfigStore();\n\n\tconst { darkModeEnabled, darkReaderStatus } = useDarkMode();\n\n\tconst logoSrc = useMemo(() => {\n\t\tif (darkModeEnabled) {\n\t\t\treturn carbonioWebUiDarkAppLogo || carbonioWebUiAppLogo;\n\t\t}\n\t\treturn carbonioWebUiAppLogo || carbonioWebUiDarkAppLogo;\n\t}, [carbonioWebUiDarkAppLogo, carbonioWebUiAppLogo, darkModeEnabled]);\n\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<Container\n\t\t\tdata-testid=\"MainHeaderContainer\"\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray3\"\n\t\t\twidth=\"fill\"\n\t\t\theight=\"3.75rem\"\n\t\t\tminHeight=\"3.75rem\"\n\t\t\tmaxHeight=\"3.75rem\"\n\t\t\tmainAlignment=\"space-between\"\n\t\t\tpadding={{\n\t\t\t\thorizontal: screenMode === 'desktop' ? 'large' : 'extrasmall',\n\t\t\t\tvertical: 'small'\n\t\t\t}}\n\t\t>\n\t\t\t<Catcher>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmaxWidth=\"75%\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tminWidth=\"fit-content\"\n\t\t\t\t\tdata-testid=\"HeaderMainLogoContainer\"\n\t\t\t\t>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<IconButton icon={mobileNavIsOpen ? 'Close' : 'Menu'} onClick={onMobileMenuClick} />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Responsive>\n\t\t\t\t\t<Container width=\"15.625rem\" height=\"2rem\" crossAlignment=\"flex-start\">\n\t\t\t\t\t\t{darkReaderStatus && (\n\t\t\t\t\t\t\t<>{logoSrc ? <CustomImg src={logoSrc} /> : <Logo height=\"2rem\" />}</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Padding horizontal=\"large\">\n\t\t\t\t\t\t<CreationButton />\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<Responsive mode=\"desktop\">{searchEnabled && <SearchBar />}</Responsive>\n\t\t\t\t</Container>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"auto\" mainAlignment=\"flex-end\">\n\t\t\t\t\t<Responsive mode=\"desktop\">{children}</Responsive>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\t\tpadding={{ right: 'extrasmall' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* <Dropdown items={secondaryActions} placement=\"bottom-start\">\n\t\t\t\t\t\t\t<IconButton icon=\"Plus\" />\n\t\t\t\t\t\t</Dropdown> */}\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t</Catcher>\n\t\t</Container>\n\t);\n};\nexport default ShellHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ComponentType, FC, FunctionComponent } from 'react';\nimport { reduce, find } from 'lodash';\nimport { Accordion, Collapse, Container, Padding } from '@zextras/carbonio-design-system';\nimport { useHistory } from 'react-router-dom';\nimport { AppRoute, SecondaryBarComponentProps } from '../../types';\nimport { useAppStore } from '../store/app';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { getCurrentRoute } from '../history/hooks';\n\ntype SidebarComponentProps = {\n\titem: ShellMobileNavComponent;\n};\n\nconst SidebarComponent: FC<SidebarComponentProps> = ({ item }) =>\n\titem.secondary ? (\n\t\t<AppContextProvider pkg={item.id}>\n\t\t\t<item.secondary expanded={!!item.expanded} />\n\t\t</AppContextProvider>\n\t) : null;\n\ntype ShellMobileNavComponentProps = {\n\tmobileNavIsOpen: boolean;\n\tmenuTree: AppRoute;\n};\n\ntype ShellMobileNavComponent = {\n\tid: string;\n\tlabel: string;\n\ticon: string;\n\tsecondary?: ComponentType<SecondaryBarComponentProps>;\n\tonClick?: () => void;\n\tCustomComponent?: FunctionComponent<SidebarComponentProps> | null;\n\titems?: Array<ShellMobileNavComponent> | [];\n\texpanded?: boolean;\n};\n\nconst ShellMobileNavComponent: FC<ShellMobileNavComponentProps> = ({\n\tmobileNavIsOpen,\n\tmenuTree\n}) => {\n\tconst history = useHistory();\n\tconst views = useAppStore<any>((s) =>\n\t\treduce(\n\t\t\ts.routes,\n\t\t\t(acc: Array<ShellMobileNavComponent>, val) => {\n\t\t\t\tconst primary = find(s.views.primaryBar, (item) => item.id === val.id);\n\t\t\t\tconst secondary = find(s.views.secondaryBar, (item) => item.id === val.id);\n\t\t\t\tif (primary && primary.visible) {\n\t\t\t\t\tacc.push({\n\t\t\t\t\t\tid: `${val.app}-wrap`,\n\t\t\t\t\t\tlabel: primary.label,\n\t\t\t\t\t\ticon: typeof primary.component === 'string' ? primary.component : 'Cube',\n\t\t\t\t\t\tonClick: () => history.push(`/${val.route}`),\n\t\t\t\t\t\titems: secondary\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: secondary.id,\n\t\t\t\t\t\t\t\t\t\tlabel: secondary.id,\n\t\t\t\t\t\t\t\t\t\ticon: 'Cube',\n\t\t\t\t\t\t\t\t\t\tsecondary: secondary.component,\n\t\t\t\t\t\t\t\t\t\tCustomComponent: SidebarComponent\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"fill\"\n\t\t\twidth=\"fit\"\n\t\t\tbackground=\"gray5\"\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 3\n\t\t\t}}\n\t\t>\n\t\t\t<Collapse orientation=\"horizontal\" open={mobileNavIsOpen} crossSize=\"100%\">\n\t\t\t\t<Container\n\t\t\t\t\twidth={256 + 48 + 12}\n\t\t\t\t\theight=\"fill\"\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: 'calc(100vh - 3rem)',\n\t\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Accordion items={views} />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Accordion items={[menuTree]} />\n\t\t\t\t\t\t<Padding vertical=\"medium\">{/* <UserQuota mobileView={true}/> */}</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t</Container>\n\t\t\t</Collapse>\n\t\t</Container>\n\t);\n};\n\nconst ShellMobileNavMemo = React.memo(ShellMobileNavComponent);\n\ntype ShellMobileNavProps = {\n\tmobileNavIsOpen: boolean;\n};\n\nconst ShellMobileNav: FC<ShellMobileNavProps> = ({ mobileNavIsOpen }) => {\n\tconst menuTree = getCurrentRoute() as AppRoute;\n\treturn <ShellMobileNavMemo menuTree={menuTree} mobileNavIsOpen={mobileNavIsOpen} />;\n};\n\nexport default ShellMobileNav;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Responsive, Container } from '@zextras/carbonio-design-system';\nimport ShellPrimaryBar from './shell-primary-bar';\nimport ShellSecondaryBar from './shell-secondary-bar';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellMobileNav from './shell-mobile-nav';\n\ntype ShellNavigationBarProps = {\n\tmobileNavIsOpen: boolean;\n};\n\nconst ShellNavigationBar: FC<ShellNavigationBarProps> = ({ mobileNavIsOpen }) => (\n\t<Container\n\t\torientation=\"horizontal\"\n\t\tbackground=\"gray5\"\n\t\twidth=\"fit\"\n\t\theight=\"fill\"\n\t\tmainAlignment=\"flex-start\"\n\t\tcrossAlignment=\"flex-start\"\n\t>\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<ShellPrimaryBar />\n\t\t\t<ShellSecondaryBar />\n\t\t</Responsive>\n\t\t<Responsive mode=\"mobile\">\n\t\t\t<ShellMobileNav mobileNavIsOpen={mobileNavIsOpen} />\n\t\t</Responsive>\n\t</Container>\n);\n\nexport default ShellNavigationBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, IconButton, Row, Tooltip } from '@zextras/carbonio-design-system';\nimport { map, isEmpty, trim, filter, sortBy, noop } from 'lodash';\nimport React, { FC, useState, useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\nimport { useAppStore } from '../store/app';\nimport { AppRoute, PrimaryAccessoryView, PrimaryBarView } from '../../types';\nimport BadgeWrap from './badge-wrap';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { checkRoute } from '../utility-bar/utils';\nimport { IS_STANDALONE } from '../constants';\nimport { minimizeBoards, reopenBoards, useBoardStore } from '../store/boards';\nimport { useCurrentRoute } from '../history/hooks';\n\nconst ContainerWithDivider = styled(Container)`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nconst ToggleBoardIcon: FC = () => {\n\tconst { minimized, boards } = useBoardStore();\n\tif (isEmpty(boards)) return null;\n\treturn (\n\t\t<IconButton\n\t\t\ticonColor=\"primary\"\n\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\tonClick={minimized ? reopenBoards : minimizeBoards}\n\t\t\tsize=\"large\"\n\t\t/>\n\t);\n};\n\ntype PrimaryBarItemProps = {\n\tview: PrimaryBarView;\n\tactive: boolean;\n\tonClick: () => void;\n};\n\ntype PrimaryBarAccessoryItemProps = {\n\tview: PrimaryAccessoryView;\n};\n\nconst PrimaryBarElement: FC<PrimaryBarItemProps> = ({ view, active, onClick }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<BadgeWrap badge={view.badge}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor={active ? 'gray4' : 'gray6'}\n\t\t\t\t\ticonColor={active ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\tdata-isselected={active}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component active={active} />\n\t\t\t)}\n\t\t</BadgeWrap>\n\t</Tooltip>\n);\n\nconst PrimaryBarAccessoryElement: FC<PrimaryBarAccessoryItemProps> = ({ view }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor=\"gray6\"\n\t\t\t\t\ticonColor=\"text\"\n\t\t\t\t\tonClick={view.onClick ?? noop}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component />\n\t\t\t)}\n\t\t</AppContextProvider>\n\t</Tooltip>\n);\n\nconst ShellPrimaryBarComponent: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\tconst [routes, setRoutes] = useState<Record<string, string>>({});\n\tconst history = useHistory();\n\n\tuseEffect(() => {\n\t\tsetRoutes((r) =>\n\t\t\tprimaryBarViews.reduce((acc, v) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tif (!acc[v.id]) acc[v.id] = v.route;\n\t\t\t\treturn acc;\n\t\t\t}, r)\n\t\t);\n\t}, [primaryBarViews]);\n\tuseEffect(() => {\n\t\tif (activeRoute) {\n\t\t\tsetRoutes((r) => ({\n\t\t\t\t...r,\n\t\t\t\t[activeRoute.id]: `${trim(history.location.pathname, '/')}${history.location.search}`\n\t\t\t}));\n\t\t}\n\t}, [activeRoute, history.location, primaryBarViews]);\n\tconst primaryBarAccessoryViews = useAppStore((s) => s.views.primaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(primaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, primaryBarAccessoryViews]\n\t);\n\tif (IS_STANDALONE && activeRoute?.standalone?.hidePrimaryBar) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ContainerWithDivider\n\t\t\twidth=\"3.0625rem\"\n\t\t\theight=\"fill\"\n\t\t\tbackground=\"gray6\"\n\t\t\torientation=\"vertical\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t\tdata-testid=\"SideMenuContainer\"\n\t\t>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\ttakeAvailableSpace\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{\n\t\t\t\t\tminHeight: '0.0625rem',\n\t\t\t\t\t// TODO: fix overlay usage\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\toverflowY: 'overlay'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{map(primaryBarViews, (view) =>\n\t\t\t\t\tview.visible ? (\n\t\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${routes[view.id]}`)}\n\t\t\t\t\t\t\tview={view}\n\t\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\t// TODO: fix overlay usage\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tstyle={{ minHeight: '0.0625rem', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{accessories.map((v) => (\n\t\t\t\t\t<PrimaryBarAccessoryElement view={v} key={v.id} />\n\t\t\t\t))}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</Row>\n\t\t</ContainerWithDivider>\n\t);\n};\n\nconst MemoShellPrimaryBarComponent = React.memo(ShellPrimaryBarComponent);\n\nconst ShellPrimaryBar: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn <MemoShellPrimaryBarComponent activeRoute={activeRoute} />;\n};\n\nexport default ShellPrimaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, ContainerProps } from '@zextras/carbonio-design-system';\nimport { filter, findIndex, map, sortBy } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { AppRoute } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\nimport { useUtilityBarStore } from '../utility-bar';\nimport { checkRoute } from '../utility-bar/utils';\nimport { Collapser } from './collapser';\n\nconst SidebarContainer = styled(Container)<ContainerProps & { sidebarIsOpen?: boolean }>`\n\tmin-width: 3rem;\n\tmax-width: 19.625rem;\n\twidth: ${({ sidebarIsOpen }): number => (sidebarIsOpen ? 19.625 : 3)}rem;\n\ttransition: width 300ms;\n\toverflow-x: hidden;\n`;\n\nconst ShellSecondaryBarComponent: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst isOpen = useUtilityBarStore((s) => s.secondaryBarState);\n\tconst setIsOpen = useUtilityBarStore((s) => s.setSecondaryBarState);\n\tconst onCollapserClick = useCallback(() => setIsOpen(!isOpen), [isOpen, setIsOpen]);\n\tconst secondaryBarViews = useAppStore((s) => s.views.secondaryBar);\n\tconst secondaryBarAccessoryViews = useAppStore((s) => s.views.secondaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(secondaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, secondaryBarAccessoryViews]\n\t);\n\tconst disabled = useMemo(\n\t\t() => findIndex(secondaryBarViews, (view) => view.id === activeRoute?.id) < 0,\n\t\t[activeRoute?.id, secondaryBarViews]\n\t);\n\treturn disabled ? null : (\n\t\t<>\n\t\t\t<SidebarContainer\n\t\t\t\tdata-testid=\"SideSecondaryBarContainer\"\n\t\t\t\tsidebarIsOpen={isOpen}\n\t\t\t\trole=\"menu\"\n\t\t\t\theight=\"fill\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tonClick={isOpen ? undefined : onCollapserClick}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: 'calc(100vh - 3.75rem)',\n\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t\t<Switch>\n\t\t\t\t\t\t{map(secondaryBarViews, (view) => (\n\t\t\t\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Switch>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"flex-end\" height=\"fit\">\n\t\t\t\t\t{accessories.map((view) => (\n\t\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t</SidebarContainer>\n\t\t\t<Collapser onClick={onCollapserClick} open={isOpen} />\n\t\t</>\n\t);\n};\n\nconst MemoShellSecondaryBar = React.memo(ShellSecondaryBarComponent);\n\nconst ShellSecondaryBar: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn <MemoShellSecondaryBar activeRoute={activeRoute} />;\n};\n\nexport default ShellSecondaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Responsive, Row } from '@zextras/carbonio-design-system';\nimport { PreviewManager } from '@zextras/carbonio-ui-preview';\nimport React, { FC, useContext, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport type { AppRoute } from '../../types';\nimport { ThemeCallbacksContext } from '../boot/theme-provider';\nimport { IS_STANDALONE } from '../constants';\nimport { useCurrentRoute } from '../history/hooks';\nimport { goToLogin } from '../network/go-to-login';\nimport { useAccountStore } from '../store/account';\nimport { ShellUtilityBar, ShellUtilityPanel } from '../utility-bar';\nimport AppViewContainer from './app-view-container';\nimport { BoardContainer } from './boards/board-container';\nimport ShellContextProvider from './shell-context-provider';\nimport ShellHeader from './shell-header';\nimport ShellNavigationBar from './shell-navigation-bar';\nimport { useDarkReaderResultValue } from '../dark-mode/use-dark-reader-result-value';\n\nconst Background = styled.div`\n\tbackground: ${({ theme }): string => theme.palette.gray6.regular};\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tmin-height: 100%;\n\tmax-height: 100%;\n\twidth: 100%;\n\tmin-width: 100%;\n\tmax-width: 100%;\n`;\n\nfunction DarkReaderListener(): null {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkReaderState(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, setDarkReaderState]);\n\treturn null;\n}\n\nconst useLoginRedirection = (allowUnauthenticated?: string): void => {\n\tconst auth = useAccountStore((s) => s.authenticated);\n\tuseEffect(() => {\n\t\tif (IS_STANDALONE && !auth && !allowUnauthenticated) {\n\t\t\tgoToLogin();\n\t\t}\n\t}, [allowUnauthenticated, auth]);\n};\n\nconst ShellComponent: FC<{ allowUnauthenticated?: string; hideShellHeader?: string }> = ({\n\tallowUnauthenticated,\n\thideShellHeader\n}) => {\n\tconst [mobileNavOpen, setMobileNavOpen] = useState(false);\n\tuseLoginRedirection(allowUnauthenticated);\n\treturn (\n\t\t<Background>\n\t\t\t<DarkReaderListener />\n\t\t\t{/* <MainAppRerouter /> */}\n\t\t\t{!(IS_STANDALONE && hideShellHeader) && (\n\t\t\t\t<ShellHeader\n\t\t\t\t\tmobileNavIsOpen={mobileNavOpen}\n\t\t\t\t\tonMobileMenuClick={(): void => setMobileNavOpen(!mobileNavOpen)}\n\t\t\t\t>\n\t\t\t\t\t<ShellUtilityBar />\n\t\t\t\t</ShellHeader>\n\t\t\t)}\n\t\t\t<Row crossAlignment=\"unset\" style={{ position: 'relative', flexGrow: '1' }}>\n\t\t\t\t<ShellNavigationBar mobileNavIsOpen={mobileNavOpen} />\n\t\t\t\t<AppViewContainer />\n\t\t\t\t<ShellUtilityPanel />\n\t\t\t</Row>\n\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t<BoardContainer />\n\t\t\t</Responsive>\n\t\t</Background>\n\t);\n};\n\nconst MemoShell = React.memo(ShellComponent);\n\nconst ShellView: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\tconst allowUnauthenticated = activeRoute?.standalone?.allowUnauthenticated as string | undefined;\n\tconst hideShellHeader = activeRoute?.standalone?.hideShellHeader as string | undefined;\n\treturn (\n\t\t<ShellContextProvider>\n\t\t\t<PreviewManager>\n\t\t\t\t<MemoShell allowUnauthenticated={allowUnauthenticated} hideShellHeader={hideShellHeader} />\n\t\t\t</PreviewManager>\n\t\t</ShellContextProvider>\n\t);\n};\n\nexport default ShellView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, get, join } from 'lodash';\nimport { useMemo } from 'react';\nimport {\n\tAccount,\n\tAccountRightName,\n\tAccountRights,\n\tAccountRightTarget,\n\tAccountSettings\n} from '../../../types';\nimport { useAccountStore } from './store';\n\nexport const useUserAccount = (): Account => useAccountStore((s) => s.account as Account);\nexport const useUserAccounts = (): Array<Account> => {\n\tconst acct = useAccountStore((s) => s.account);\n\treturn useMemo(() => (acct ? [acct as Account] : []), [acct]);\n};\n\nexport const useUserRights = (): AccountRights =>\n\tuseAccountStore((s) => s.account?.rights ?? { targets: [] });\n\nexport const useUserRight = (right: AccountRightName): Array<AccountRightTarget> => {\n\tconst { targets } = useUserRights();\n\treturn useMemo(\n\t\t() => find(targets, ['right', right])?.target ?? ([] as Array<AccountRightTarget>),\n\t\t[right, targets]\n\t);\n};\nexport const useUserSettings = (): AccountSettings => useAccountStore((s) => s.settings);\nexport const useUserSetting = <T = void>(...path: Array<string>): string | T =>\n\tuseAccountStore((s) => get(s.settings, join(path, '.')));\n\nexport const getUserAccount = (): Account => useAccountStore.getState().account as Account;\nexport const getUserAccounts = (): Array<Account> => [\n\tuseAccountStore.getState().account as Account\n];\nexport const getUserSettings = (): AccountSettings => useAccountStore.getState().settings;\nexport const getUserSetting = <T = void>(...path: Array<string>): string | T =>\n\tget(useAccountStore.getState().settings, join(path, '.'));\n\nexport const getUserRights = (): AccountRights =>\n\tuseAccountStore.getState().account?.rights ?? { targets: [] };\n\nexport const getUserRight = (right: AccountRightName): Array<AccountRightTarget> =>\n\tfind(getUserRights().targets, ['right', right])?.target ?? ([] as Array<AccountRightTarget>);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { GetInfoResponse, Account, AccountSettings } from '../../../types';\n\nconst normalizeSettings = (\n\tsettings: Pick<GetInfoResponse, 'attrs' | 'prefs' | 'props'>\n): AccountSettings => ({\n\tattrs: settings.attrs._attrs,\n\tprefs: settings.prefs._attrs,\n\tprops: settings.props.prop ?? []\n});\n\nexport const normalizeAccount = ({\n\tid,\n\tname,\n\tattrs,\n\tprefs,\n\tidentities,\n\tsignatures,\n\tprops,\n\tversion,\n\trights\n}: GetInfoResponse): {\n\taccount: Account;\n\tsettings: AccountSettings;\n\tversion: string;\n} => {\n\tconst settings = normalizeSettings({ attrs, prefs, props });\n\treturn {\n\t\taccount: {\n\t\t\tid,\n\t\t\tname,\n\t\t\tdisplayName: attrs._attrs.displayName,\n\t\t\tidentities,\n\t\t\tsignatures,\n\t\t\trights\n\t\t},\n\t\tsettings,\n\t\tversion\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { AccountState } from '../../../types';\n\nexport const useAccountStore = create<AccountState>(() => ({\n\tauthenticated: false,\n\taccount: undefined,\n\tversion: '',\n\tsettings: {\n\t\tprefs: {},\n\t\tattrs: {},\n\t\tprops: []\n\t},\n\tusedQuota: 0,\n\tlastNotificationTime: Date.now()\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { sortBy } from 'lodash';\nimport { useMemo } from 'react';\nimport { useAppStore } from './store';\nimport { AppRoute, CarbonioModule } from '../../../types';\n\nexport const useApp = (appId: string) => (): CarbonioModule => useAppStore((s) => s.apps[appId]);\nexport const useApps = (): Record<string, CarbonioModule> => useAppStore((s) => s.apps);\nexport const useAppList = (): Array<CarbonioModule> => {\n\tconst apps = useApps();\n\treturn useMemo(() => sortBy(apps, (a) => a.priority), [apps]);\n};\nexport const getAppList = (): Array<CarbonioModule> =>\n\tsortBy(useAppStore.getState().apps, (a) => a.priority);\n\nexport const getApp = (appId: string) => (): CarbonioModule => useAppStore.getState().apps[appId];\nexport const getApps = (): Record<string, CarbonioModule> => useAppStore.getState().apps;\n\nexport const useAppContext = (appId: string) => (): unknown =>\n\tuseAppStore((s) => s.appContexts[appId]);\nexport const getAppContext = (appId: string) => (): unknown =>\n\tuseAppStore.getState().appContexts[appId];\nexport const getShell = (): CarbonioModule => useAppStore.getState().shell;\nexport const getRoutes = (): Record<string, AppRoute> => useAppStore.getState().routes;\nexport const useRoutes = (): Record<string, AppRoute> => useAppStore((s) => s.routes);\nexport const getRoute = (id: string): AppRoute => useAppStore.getState().routes[id];\nexport const useRoute = (id: string): AppRoute => useAppStore((s) => s.routes[id]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\nexport * from './utils';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { filter, find, findIndex, merge, omit, reduce, sortBy, unionBy, unionWith } from 'lodash';\nimport create from 'zustand';\nimport {\n\tAppRouteDescriptor,\n\tAppState,\n\tAppView,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tPrimaryBarView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSecondaryBarView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { normalizeApp } from './utils';\n\nconst filterById = <T extends { id: string }>(items: Array<T>, id: string): Array<T> =>\n\tfilter(items, (item) => item.id !== id);\n\nconst STANDALONE_RESPONSE = 'standalone';\nexport const useAppStore = create<AppState>((set, get) => ({\n\tstandalone: false,\n\tapps: {},\n\tappContexts: {},\n\tshell: {\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: SHELL_APP_ID,\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t},\n\tentryPoints: {},\n\troutes: {},\n\tviews: {\n\t\tprimaryBar: [],\n\t\tsecondaryBar: [],\n\t\tappView: [],\n\t\tboard: [],\n\t\tutilityBar: [],\n\t\tsettings: [],\n\t\tsearch: [],\n\t\tprimaryBarAccessories: [],\n\t\tsecondaryBarAccessories: []\n\t},\n\tsetters: {\n\t\taddApps: (apps: Array<Partial<CarbonioModule>>): void => {\n\t\t\tset((state) => ({\n\t\t\t\tapps: reduce(\n\t\t\t\t\tapps,\n\t\t\t\t\t(acc, app) =>\n\t\t\t\t\t\tapp.name && app.name !== SHELL_APP_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[app.name]: normalizeApp(app)\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: acc,\n\t\t\t\t\t{}\n\t\t\t\t),\n\t\t\t\tshell: {\n\t\t\t\t\t...state.shell,\n\t\t\t\t\t...(find(apps, (app) => app.name === SHELL_APP_ID) ?? {})\n\t\t\t\t},\n\t\t\t\tappContexts: reduce(apps, (acc, val) => (val.name ? { ...acc, [val.name]: {} } : acc), {})\n\t\t\t}));\n\t\t},\n\t\tsetAppContext:\n\t\t\t(app: string) =>\n\t\t\t(context: unknown): void => {\n\t\t\t\tset(\n\t\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\t\tstate.appContexts[app] = merge(state.appContexts[app], context);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t},\n\t\t// add route (id route primaryBar secondaryBar app)\n\t\taddRoute: (routeData: AppRouteDescriptor): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && routeData.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes[routeData.id] = routeData;\n\t\t\t\t\tif (routeData.primaryBar) {\n\t\t\t\t\t\tstate.views.primaryBar = sortBy(\n\t\t\t\t\t\t\tunionWith<PrimaryBarView>(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\t\tcomponent: routeData.primaryBar,\n\t\t\t\t\t\t\t\t\t\tbadge: routeData.badge,\n\t\t\t\t\t\t\t\t\t\tposition: routeData.position,\n\t\t\t\t\t\t\t\t\t\tvisible: routeData.visible,\n\t\t\t\t\t\t\t\t\t\tlabel: routeData.label\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstate.views.primaryBar,\n\t\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t'position'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.secondaryBar) {\n\t\t\t\t\t\tstate.views.secondaryBar = unionWith<SecondaryBarView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.secondaryBar\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.secondaryBar,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.appView) {\n\t\t\t\t\t\tstate.views.appView = unionWith<AppView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.appView\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.appView,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn routeData.id;\n\t\t},\n\t\tsetRouteVisibility: (id: string, visible: boolean): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (view) => view.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].visible = visible;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// remove route (id | route)\n\t\tremoveRoute: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes = omit(state.routes, [id]);\n\t\t\t\t\tstate.views.primaryBar = filterById(state.views.primaryBar, id);\n\t\t\t\t\tstate.views.secondaryBar = filterById(state.views.secondaryBar, id);\n\t\t\t\t\tstate.views.appView = filterById(state.views.appView, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t// add board\n\t\taddBoardView: (data: BoardView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = unionBy([data], state.views.board, 'id');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove board\n\t\tremoveBoardView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = filterById(state.views.board, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// add settings\n\t\taddSettingsView: (data: SettingsView): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = sortBy(unionBy([data], state.views.settings, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove settings\n\t\tremoveSettingsView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = filterById(state.views.settings, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: SearchView): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = sortBy(unionBy([data], state.views.search, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove search\n\t\tremoveSearchView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = filterById(state.views.search, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: UtilityView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = sortBy(\n\t\t\t\t\t\tunionBy([data], state.views.utilityBar, 'id'),\n\t\t\t\t\t\t'position'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove utility\n\t\tremoveUtilityView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = filterById(state.views.utilityBar, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: PrimaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.primaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = filterById(state.views.primaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: SecondaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.secondaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = filterById(state.views.secondaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.primaryBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.utilityBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.utilityBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.utilityBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { trim } from 'lodash';\nimport React, { FC } from 'react';\nimport {\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\n\nexport const normalizeApp = (app: Partial<CarbonioModule>): CarbonioModule => ({\n\tcommit: app.commit ?? '',\n\tdescription: app.description ?? 'A carbonio Module',\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: app.js_entrypoint ?? '',\n\tname: app.name ?? 'module',\n\tpriority: app.priority ?? 99,\n\tversion: app.version ?? '',\n\ttype: app.type ?? 'carbonio',\n\tattrKey: app.attrKey,\n\ticon: app.icon ?? 'Cube',\n\tdisplay: app.display ?? 'Module',\n\tsentryDsn: app.sentryDsn\n});\n\nconst FallbackView: FC = () => <p>Missing Component</p>;\n\nexport const normalizeBadgeInfo = (badge: Partial<BadgeInfo>): BadgeInfo => ({\n\tshow: badge.show ?? false,\n\tcount: badge.count ?? 0,\n\tshowCount: badge.showCount ?? false,\n\tcolor: badge.color ?? 'primary'\n});\n\nexport const normalizeRoute = (\n\tdata: Partial<AppRouteDescriptor>,\n\tapp: CarbonioModule\n): AppRouteDescriptor => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data.id ?? route,\n\t\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\t\tposition: data?.position ?? app.priority,\n\t\tvisible: data?.visible ?? true,\n\t\tlabel: data?.label ?? '',\n\t\tprimaryBar: data.primaryBar ?? app.icon ?? 'CubeOutline',\n\t\tsecondaryBar: data.secondaryBar,\n\t\tappView: data.appView ?? FallbackView,\n\t\tstandalone: {\n\t\t\thidePrimaryBar: data?.standalone?.hidePrimaryBar,\n\t\t\thideShellHeader: data?.standalone?.hideShellHeader,\n\t\t\tallowUnauthenticated: data?.standalone?.allowUnauthenticated\n\t\t}\n\t};\n};\n\nexport const normalizeSettingsView = (\n\tdata: Partial<SettingsView>,\n\tapp: CarbonioModule\n): SettingsView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99,\n\t\tsubSections: data.subSections ?? []\n\t};\n};\nexport const normalizeSearchView = (data: Partial<SearchView>, app: CarbonioModule): SearchView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99\n\t};\n};\nexport const normalizeUtilityView = (\n\tdata: Partial<UtilityView>,\n\tapp: CarbonioModule\n): UtilityView => ({\n\tapp: app.name,\n\tid: data?.id ?? app.name,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tcomponent: data?.component ?? FallbackView,\n\tbutton: data?.button ?? 'Cube',\n\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\tposition: data?.position ?? app.priority,\n\tlabel: data?.label ?? app.display\n});\nexport const normalizePrimaryAccessoryView = (\n\tdata: Partial<PrimaryAccessoryView>,\n\tapp: CarbonioModule\n): PrimaryAccessoryView => ({\n\tapp: app.name,\n\tonClick: data?.onClick,\n\tlabel: data?.label ?? app.display,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\nexport const normalizeSecondaryAccessoryView = (\n\tdata: Partial<SecondaryAccessoryView>,\n\tapp: CarbonioModule\n): SecondaryAccessoryView => ({\n\tapp: app.name,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\n\nexport const normalizeBoardView = (data: Partial<BoardView>, app: CarbonioModule): BoardView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useContext, useMemo, createContext } from 'react';\nimport { Board, BoardHooksContext } from '../../../types';\nimport { closeBoard, setCurrentBoard, updateBoard, useBoardStore } from './store';\n\nexport const useBoardById = <T,>(id: string): Board<T> => useBoardStore((s) => s.boards[id]);\nexport const getBoardById = <T,>(id: string): Board<T> => useBoardStore.getState().boards[id];\nexport const useBoardContextById = <T,>(id: string): T =>\n\tuseBoardStore((s) => s.boards[id].context);\nexport const getBoardContextById = <T,>(id: string): T =>\n\tuseBoardStore.getState().boards[id].context;\n\n// Must be empty if no board is available\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const boardContext = createContext<Board>();\n// Must be empty if no board is available\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const boardHooksContext = createContext<BoardHooksContext>();\n\nexport const BoardProvider: FC<{ id: string }> = ({ children, id }) => {\n\tconst board = useBoardById(id);\n\tconst callbacks = useMemo<BoardHooksContext>(\n\t\t() => ({\n\t\t\tgetBoardContext: () => getBoardContextById(id),\n\t\t\tgetBoard: () => getBoardById(id),\n\t\t\tcloseBoard: () => closeBoard(id),\n\t\t\tupdateBoard: (b) => updateBoard(id, b),\n\t\t\tsetCurrentBoard: () => setCurrentBoard(id)\n\t\t}),\n\t\t[id]\n\t);\n\treturn (\n\t\t<boardHooksContext.Provider value={callbacks}>\n\t\t\t<boardContext.Provider value={board}>{children}</boardContext.Provider>\n\t\t</boardHooksContext.Provider>\n\t);\n};\n\nexport const useBoardHooks = (): BoardHooksContext => useContext(boardHooksContext);\nexport const useBoard = (): Board => useContext(boardContext);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { forEach, trimStart, uniqueId } from 'lodash';\nimport create from 'zustand';\nimport { BoardState, Board } from '../../../types';\nimport { getApp } from '../app';\n\nexport const useBoardStore = create<BoardState>(() => ({\n\tboards: {},\n\texpanded: false,\n\tminimized: false\n}));\n\nexport const addBoard =\n\t(app: string) =>\n\t<T = any>(\n\t\tboard: Omit<Board<T>, 'app' | 'icon' | 'id'> & { id?: string; icon?: string },\n\t\texpanded?: BoardState['expanded']\n\t): Board => {\n\t\tconst id = board.id ?? uniqueId('board-');\n\t\tuseBoardStore.setState(\n\t\t\tproduce((s: BoardState) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id] = {\n\t\t\t\t\t...board,\n\t\t\t\t\tapp,\n\t\t\t\t\tid,\n\t\t\t\t\ticon: board.icon ?? getApp(app)()?.icon ?? 'CubeOutline',\n\t\t\t\t\turl: trimStart(board.url, '/')\n\t\t\t\t};\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.current = id;\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.minimized = false;\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.expanded = expanded ?? s.expanded;\n\t\t\t})\n\t\t);\n\t\treturn useBoardStore.getState().boards[id];\n\t};\nexport const closeBoard = (id: string): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\ts.boards[id]?.onClose?.(s.boards[id]);\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tdelete s.boards[id];\n\t\t})\n\t);\n};\nexport const closeAllBoards = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tforEach(s.boards, (b) => {\n\t\t\t\tb?.onClose?.(b);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tdelete s.boards[b.id];\n\t\t\t});\n\t\t})\n\t);\n};\nexport const onGoToPanel = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tconst id = s.current;\n\t\t\tif (id) {\n\t\t\t\ts.boards[id]?.onGoToPanel?.(s.boards[id]);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tdelete s.boards[id];\n\t\t\t}\n\t\t})\n\t);\n};\nexport const minimizeBoards = (): void => {\n\tuseBoardStore.setState({\n\t\tminimized: true\n\t});\n};\nexport const reopenBoards = (): void => {\n\tuseBoardStore.setState({\n\t\tminimized: false\n\t});\n};\nexport const expandBoards = (): void => {\n\tuseBoardStore.setState({\n\t\texpanded: true\n\t});\n};\nexport const reduceBoards = (): void => {\n\tuseBoardStore.setState({\n\t\texpanded: false\n\t});\n};\nexport const setCurrentBoard = (id: string): void => {\n\tuseBoardStore.setState({\n\t\tcurrent: id\n\t});\n};\nexport const updateBoard = <T = any>(id: string, board: Partial<Board<T>>): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tif (s.boards[id])\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id] = {\n\t\t\t\t\t...s.boards[id],\n\t\t\t\t\t...board\n\t\t\t\t};\n\t\t})\n\t);\n};\nexport const updateBoardContext = <T = any>(id: string, context: T): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tif (s.boards[id])\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id].context = context;\n\t\t})\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport create from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport { ContextBridgeState } from '../../types';\n\nexport const useContextBridge = create<ContextBridgeState>((set) => ({\n\tpackageDependentFunctions: {},\n\tfunctions: {},\n\tadd: ({ packageDependentFunctions, functions }): void => {\n\t\tset((s) => ({\n\t\t\tpackageDependentFunctions: reduce(\n\t\t\t\tpackageDependentFunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.packageDependentFunctions\n\t\t\t),\n\t\t\tfunctions: reduce(\n\t\t\t\tfunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.functions\n\t\t\t)\n\t\t}));\n\t}\n}));\n\nexport const useBridge = (content: Partial<Omit<ContextBridgeState, 'add'>>): void => {\n\tconst addFunctions = useContextBridge(({ add }) => add);\n\tuseEffect(() => {\n\t\taddFunctions(content);\n\t}, [content, addFunctions]);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ComponentType, useMemo } from 'react';\nimport {\n\tAccordionFolder,\n\tFolder,\n\tFolders,\n\tFolderView,\n\tSearches,\n\tSearchFolder\n} from '../../../types';\nimport { useFolderStore } from './store';\nimport { filterNodes, folderViewFilter, isRoot, mapNodes, sortFolders } from './utils';\n\n// FOLDERS\nexport const useFolder = (id: string): Folder | undefined => useFolderStore((s) => s.folders?.[id]);\nexport const getFolder = (id: string): Folder | undefined =>\n\tuseFolderStore.getState()?.folders?.[id];\nexport const useFolders = (): Folders => useFolderStore((s) => s.folders);\nexport const getFolders = (): Folders => useFolderStore.getState().folders;\n\n// ROOTS\nexport const useRoot = (id: string): Folder | undefined => useFolderStore((s) => s.roots?.[id]);\nexport const getRoot = (id: string): Folder | undefined => useFolderStore.getState().roots?.[id];\nexport const useRoots = (): Folders => useFolderStore((s) => s.roots);\nexport const getRoots = (): Folders => useFolderStore.getState().roots;\n\n// ROOTS BY VIEW\nexport const useRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> =>\n\tuseFolderStore((s) => (s.roots ? s.roots[userId] : {}));\nexport const getRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> => {\n\tconst folders = useFolderStore.getState();\n\treturn folders.roots ? folders.roots[userId] : {};\n};\n\n// SEARCHES\n\nexport const useSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore((s) => s.searches?.[id]);\nexport const getSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore.getState().searches[id];\nexport const useSearchFolders = (): Searches => useFolderStore((s) => s.searches);\nexport const getSearchFolders = (): Searches => useFolderStore.getState().searches;\n\n// Accordion-ize\n\nexport const useFoldersByView = (view: FolderView): Array<Folder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view), sortFolders) : [],\n\t\t[roots, view]\n\t);\n};\n\nexport const useFoldersAccordionByView = (\n\tview: FolderView,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n): Array<AccordionFolder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots\n\t\t\t\t? mapNodes<Folder, AccordionFolder>(Object.values(roots), {\n\t\t\t\t\t\tmapFunction: (f) => {\n\t\t\t\t\t\t\tconst item = {\n\t\t\t\t\t\t\t\tid: f.id,\n\t\t\t\t\t\t\t\tlabel: f.name,\n\t\t\t\t\t\t\t\tCustomComponent,\n\t\t\t\t\t\t\t\titems: [],\n\t\t\t\t\t\t\t\tfolder: f,\n\t\t\t\t\t\t\t\tdisableHover: isRoot(f)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst props = itemProps?.(item) ?? {};\n\t\t\t\t\t\t\treturn { ...item, ...props };\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfilterFunction: folderViewFilter(view),\n\t\t\t\t\t\trecursionKey: 'items',\n\t\t\t\t\t\tsortFunction: sortFolders,\n\t\t\t\t\t\tdeep: false\n\t\t\t\t })\n\t\t\t\t: [],\n\t\t[CustomComponent, itemProps, roots, view]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { FolderState } from '../../../types';\nimport { folderWorker } from '../../workers';\n\nexport const useFolderStore = create<FolderState>(() => ({\n\tfolders: {},\n\troots: {},\n\tsearches: {}\n}));\n\nfolderWorker.onmessage = ({ data }): void => {\n\tuseFolderStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { sortBy } from 'lodash';\nimport { Folder, FolderView, LinkFolder, TreeNode } from '../../../types';\nimport { FOLDERS, ROOT_NAME } from '../../constants';\n\nconst hasId = (f: Folder | TreeNode<unknown>, id: string): boolean => f.id.split(':').includes(id);\nconst getOriginalId = (f: Folder): string => {\n\tconst parts = f.id.split(':');\n\treturn parts[1] ?? parts[0];\n};\nexport const sortFolders = (f: Folder): string => {\n\tconst id = getOriginalId(f);\n\tif (id === FOLDERS.TRASH) {\n\t\treturn FOLDERS.LAST_SYSTEM_FOLDER_POSITION;\n\t}\n\treturn parseInt(id, 10) < 17 ? ` ${id}` : f.name.toLowerCase();\n};\n\nexport const isTrash = (f: Folder): boolean => hasId(f, FOLDERS.TRASH);\n\nexport const isRoot = (f: Folder): boolean =>\n\tf.id === FOLDERS.USER_ROOT || (f as LinkFolder).oname === ROOT_NAME;\n\nexport const folderViewFilter =\n\t(v: FolderView) =>\n\t(deep?: boolean) =>\n\t(f: Folder): boolean =>\n\t\tf.view === v || !deep || (typeof f.view === 'undefined' && !isRoot(f));\n\nexport const filterNodes = <T>(\n\tchildren: TreeNode<T>[],\n\tf: (deep?: boolean) => (i: TreeNode<T>) => boolean,\n\tsortFunction?: (i: TreeNode<T>) => number | string,\n\tdeep?: boolean\n): TreeNode<T>[] => {\n\tconst childrenSorted = sortFunction ? sortBy(children, sortFunction) : children;\n\treturn childrenSorted\n\t\t.filter(f(deep))\n\t\t.map((i) => ({ ...i, children: filterNodes<TreeNode<T>>(i.children, f, sortFunction, true) }));\n};\n\ntype MapNodesOptions<T, U> = {\n\tmapFunction: (i: TreeNode<T>) => U;\n\tfilterFunction: (deep?: boolean) => (i: TreeNode<T>) => boolean;\n\trecursionKey: keyof U;\n\tsortFunction: (i: TreeNode<T>) => number | string;\n\tdeep: boolean;\n};\nexport const mapNodes = <T, U>(\n\tchildren: TreeNode<T>[],\n\t{ mapFunction, filterFunction, recursionKey, sortFunction, deep }: MapNodesOptions<T, U>\n): U[] =>\n\tsortBy(children, sortFunction).reduce((acc, folder) => {\n\t\tif (filterFunction(deep)(folder)) {\n\t\t\tacc.push({\n\t\t\t\t...mapFunction(folder),\n\t\t\t\t[recursionKey]: mapNodes<TreeNode<T>, U>(folder.children, {\n\t\t\t\t\tmapFunction,\n\t\t\t\t\tfilterFunction,\n\t\t\t\t\trecursionKey,\n\t\t\t\t\tsortFunction,\n\t\t\t\t\tdeep: true\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn acc;\n\t}, [] as U[]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { i18n, TFunction } from 'i18next';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useI18nStore } from './store';\n\nexport const getI18n = (app: string) => (): i18n => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[app] ?? instances[SHELL_APP_ID] ?? defaultI18n;\n};\n\nexport const getTFunction = (app: string): TFunction => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[app]?.t ?? defaultI18n.t;\n};\n\nexport const getT = (): TFunction => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[SHELL_APP_ID]?.t ?? defaultI18n.t;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport i18next, { i18n } from 'i18next';\nimport Backend from 'i18next-http-backend';\nimport produce from 'immer';\nimport { dropRight, forEach, reduce } from 'lodash';\nimport create from 'zustand';\nimport { CarbonioModule, I18nState } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useAccountStore } from '../account';\n\nconst addShell = (apps: Array<CarbonioModule>): Array<CarbonioModule> => [\n\t...apps,\n\t{\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: SHELL_APP_ID,\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t}\n];\n\nconst { settings } = useAccountStore.getState();\n\nconst defaultLng =\n\t(settings?.prefs?.zimbraPrefLocale as string) ??\n\t(settings?.attrs?.zimbraLocale as string) ??\n\t'en';\n\nconst defaultI18n = i18next.createInstance({ lng: defaultLng });\n\nexport const useI18nStore = create<I18nState>((set) => ({\n\tinstances: {},\n\tdefaultI18n,\n\tlocale: 'en',\n\tsetters: {\n\t\tsetLocale: (locale: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: I18nState) => {\n\t\t\t\t\tstate.locale = locale;\n\t\t\t\t\tforEach(state.instances, (i18nInst) => i18nInst.changeLanguage(locale));\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t},\n\tgetters: {\n\t\tgetLocale: (state: I18nState): string => state.locale\n\t},\n\tactions: {\n\t\taddI18n: (apps: Array<CarbonioModule>, locale: string): void => {\n\t\t\tconst appsWithShell = addShell(apps);\n\t\t\tset(\n\t\t\t\tproduce((state: I18nState) => {\n\t\t\t\t\tstate.instances = reduce(\n\t\t\t\t\t\tappsWithShell,\n\t\t\t\t\t\t(acc, app) => {\n\t\t\t\t\t\t\tconst newI18n = i18next.createInstance();\n\t\t\t\t\t\t\tnewI18n\n\t\t\t\t\t\t\t\t// load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\n\t\t\t\t\t\t\t\t// learn more: https://github.com/i18next/i18next-http-backend\n\t\t\t\t\t\t\t\t.use(Backend)\n\t\t\t\t\t\t\t\t// init i18next\n\t\t\t\t\t\t\t\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t\t\t\t\t\t\t\t.init({\n\t\t\t\t\t\t\t\t\treturnEmptyString: true,\n\t\t\t\t\t\t\t\t\tcompatibilityJSON: 'v3',\n\t\t\t\t\t\t\t\t\tfallbackLng: 'en',\n\t\t\t\t\t\t\t\t\tlng: locale,\n\t\t\t\t\t\t\t\t\tdebug: false,\n\t\t\t\t\t\t\t\t\tinterpolation: {\n\t\t\t\t\t\t\t\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmissingKeyHandler: (_, __, key) => {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\t\t\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbackend: {\n\t\t\t\t\t\t\t\t\t\tloadPath:\n\t\t\t\t\t\t\t\t\t\t\tapp.name === SHELL_APP_ID\n\t\t\t\t\t\t\t\t\t\t\t\t? `${BASE_PATH}/i18n/{{lng}}.json`\n\t\t\t\t\t\t\t\t\t\t\t\t: `${dropRight(app.js_entrypoint.split('/')).join('/')}/i18n/{{lng}}.json`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[app.name] = newI18n;\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{} as Record<string, i18n>\n\t\t\t\t\t);\n\t\t\t\t\tstate.defaultI18n.t = state.instances[SHELL_APP_ID].t;\n\t\t\t\t\tstate.locale = locale;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n}));\n\ndefaultI18n\n\t.use(Backend)\n\t// init i18next\n\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t.init({\n\t\treturnEmptyString: true,\n\t\tcompatibilityJSON: 'v3',\n\t\tlng: defaultLng,\n\t\tfallbackLng: 'en',\n\t\tdebug: false,\n\t\tinterpolation: {\n\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t},\n\t\tmissingKeyHandler: (_, __, key) => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t},\n\t\tbackend: {\n\t\t\tloadPath: `${BASE_PATH}/i18n/{{lng}}.json`\n\t\t}\n\t});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { Container } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport type { EditorSettings, TinyMCE, Ui } from 'tinymce/tinymce';\n// TinyMCE so the global var exists\nimport tinymce from 'tinymce/tinymce';\n// Theme\nimport 'tinymce/themes/silver';\n// Toolbar icons\nimport 'tinymce/icons/default';\n// Editor styles\nimport 'tinymce/skins/ui/oxide/skin.min.css';\n\n// importing the plugin js.\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/anchor';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/autoresize';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/directionality';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/insertdatetime';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/preview';\nimport 'tinymce/plugins/print';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/wordcount';\n\nimport { Editor, IAllProps as EditorProps } from '@tinymce/tinymce-react';\nimport { useUserSettings } from '../account';\nimport { getT, useI18nStore } from '../i18n';\n\ntype ComposerProps = EditorProps & {\n\t/** The callback invoked when an edit is performed into the editor. `([text, html]) => {}` */\n\tonEditorChange?: (values: [string, string]) => void;\n\t/** Enable the distraction-free mode */\n\tinline?: boolean;\n\t/** The initial content of the editor */\n\tinitialValue?: EditorProps['initialValue'];\n\t/** The content of the editor (controlled mode) */\n\tvalue?: EditorProps['value'];\n\t/**\n\t * Callback called when user choose some file from the os.\n\t * If defined, a menu item to add inline images is added to the composer.\n\t */\n\tonFileSelect?: (arg: { editor: TinyMCE; files: HTMLInputElement['files'] | undefined }) => void;\n};\n\nexport const FileInput = styled.input`\n\tdisplay: none;\n`;\n\nconst Composer: FC<ComposerProps> = ({\n\tonEditorChange,\n\tonFileSelect,\n\tinline = false,\n\tvalue,\n\tinitialValue,\n\t...rest\n}) => {\n\tconst _onEditorChange = useCallback<NonNullable<EditorProps['onEditorChange']>>(\n\t\t(newContent, editor) => {\n\t\t\tonEditorChange?.([\n\t\t\t\teditor.getContent({ format: 'text' }),\n\t\t\t\teditor.getContent({ format: 'html' })\n\t\t\t]);\n\t\t},\n\t\t[onEditorChange]\n\t);\n\tconst { prefs } = useUserSettings();\n\tconst defaultStyle = useMemo(\n\t\t() => ({\n\t\t\tfont: prefs?.zimbraPrefHtmlEditorDefaultFontFamily,\n\t\t\tfontSize: prefs?.zimbraPrefHtmlEditorDefaultFontSize,\n\t\t\tcolor: prefs?.zimbraPrefHtmlEditorDefaultFontColor\n\t\t}),\n\t\t[prefs]\n\t);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst onFileClick = useCallback(() => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current.click();\n\t\t}\n\t}, []);\n\tconst t = getT();\n\tconst { locale } = useI18nStore.getState();\n\tconst inlineLabel = useMemo(() => t('label.add_inline_image', 'Add inline image'), [t]);\n\n\tconst setupCallback = useCallback<NonNullable<EditorSettings['setup']>>(\n\t\t(editor) => {\n\t\t\tif (onFileSelect)\n\t\t\t\teditor.ui.registry.addMenuButton('imageSelector', {\n\t\t\t\t\ticon: 'gallery',\n\t\t\t\t\ttooltip: t('label.select_image', 'Select image'),\n\t\t\t\t\tfetch: (callback) => {\n\t\t\t\t\t\tconst items: Ui.Menu.MenuItemSpec[] = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: inlineLabel,\n\t\t\t\t\t\t\t\tonAction: (): void => {\n\t\t\t\t\t\t\t\t\tonFileClick();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t];\n\t\t\t\t\t\tcallback(items);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\t[inlineLabel, onFileClick, onFileSelect, t]\n\t);\n\n\tconst editorInitConfig = useMemo<EditorProps['init']>(\n\t\t() => ({\n\t\t\tcontent_css: `${BASE_PATH}/tinymce/skins/content/default/content.css`,\n\t\t\tlanguage_url: `${BASE_PATH}tinymce/langs/${locale}.js`,\n\t\t\tlanguage: locale,\n\t\t\tsetup: setupCallback,\n\t\t\tmin_height: 350,\n\t\t\tauto_focus: true,\n\t\t\tmenubar: false,\n\t\t\tstatusbar: false,\n\t\t\tbranding: false,\n\t\t\tresize: true,\n\t\t\tinline,\n\t\t\tfontsize_formats:\n\t\t\t\t'8pt 9pt 10pt 11pt 12pt 13pt 14pt 16pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt',\n\t\t\tobject_resizing: 'img',\n\t\t\tstyle_formats: [\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Headers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'h1', block: 'h1' },\n\t\t\t\t\t\t{ title: 'h2', block: 'h2' },\n\t\t\t\t\t\t{ title: 'h3', block: 'h3' },\n\t\t\t\t\t\t{ title: 'h4', block: 'h4' },\n\t\t\t\t\t\t{ title: 'h5', block: 'h5' },\n\t\t\t\t\t\t{ title: 'h6', block: 'h6' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Blocks',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'p', block: 'p' },\n\t\t\t\t\t\t{ title: 'div', block: 'div' },\n\t\t\t\t\t\t{ title: 'pre', block: 'pre' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Containers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'section', block: 'section', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'article', block: 'article', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'blockquote', block: 'blockquote', wrapper: true },\n\t\t\t\t\t\t{ title: 'hgroup', block: 'hgroup', wrapper: true },\n\t\t\t\t\t\t{ title: 'aside', block: 'aside', wrapper: true },\n\t\t\t\t\t\t{ title: 'figure', block: 'figure', wrapper: true }\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t],\n\t\t\tplugins: [\n\t\t\t\t'advlist',\n\t\t\t\t'autolink',\n\t\t\t\t'lists',\n\t\t\t\t'link',\n\t\t\t\t'image',\n\t\t\t\t'edit',\n\t\t\t\t'file',\n\t\t\t\t'charmap',\n\t\t\t\t'print',\n\t\t\t\t'preview',\n\t\t\t\t'anchor',\n\t\t\t\t'searchreplace',\n\t\t\t\t'code',\n\t\t\t\t'fullscreen',\n\t\t\t\t'insertdatetime',\n\t\t\t\t'media',\n\t\t\t\t'table',\n\t\t\t\t'paste',\n\t\t\t\t'code',\n\t\t\t\t'help',\n\t\t\t\t'quickbars',\n\t\t\t\t'directionality',\n\t\t\t\t'autoresize',\n\t\t\t\t'visualblocks'\n\t\t\t],\n\t\t\ttoolbar: inline\n\t\t\t\t? false\n\t\t\t\t: [\n\t\t\t\t\t\t'fontselect fontsizeselect styleselect visualblocks',\n\t\t\t\t\t\t'bold italic underline strikethrough',\n\t\t\t\t\t\t'removeformat code',\n\t\t\t\t\t\t'alignleft aligncenter alignright alignjustify',\n\t\t\t\t\t\t'forecolor backcolor',\n\t\t\t\t\t\t'bullist numlist outdent indent',\n\t\t\t\t\t\t'ltr rtl',\n\t\t\t\t\t\t'insertfile image',\n\t\t\t\t\t\t'imageSelector'\n\t\t\t\t ].join(' | '),\n\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t: 'quicklink',\n\t\t\tcontextmenu: inline ? '' : '',\n\t\t\ttoolbar_mode: 'wrap',\n\t\t\tforced_root_block: false,\n\t\t\tcontent_style: `body { color: ${defaultStyle?.color}; font-size: ${defaultStyle?.fontSize}; font-family: ${defaultStyle?.font}; }`,\n\t\t\tvisualblocks_default_state: false,\n\t\t\tend_container_on_empty_block: true,\n\t\t\trelative_urls: false,\n\t\t\tremove_script_host: false\n\t\t}),\n\t\t[defaultStyle?.color, defaultStyle?.font, defaultStyle?.fontSize, inline, locale, setupCallback]\n\t);\n\n\tconst fileInputOnChange = useCallback((): void => {\n\t\tonFileSelect?.({ editor: tinymce, files: inputRef?.current?.files });\n\t}, [onFileSelect]);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<FileInput\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={inputRef}\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tonChange={fileInputOnChange}\n\t\t\t\tmultiple\n\t\t\t/>\n\n\t\t\t<Editor\n\t\t\t\tinitialValue={initialValue}\n\t\t\t\tvalue={value}\n\t\t\t\tinit={editorInitConfig}\n\t\t\t\tonEditorChange={_onEditorChange}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</Container>\n\t);\n};\n\nexport default Composer;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { FC, FunctionComponent } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().functions?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const getIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore.getState().components?.[id];\n\tif (Integration) {\n\t\tconst C: FC = (props: unknown) => (\n\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t<Integration.item {...props} />\n\t\t\t</AppContextProvider>\n\t\t);\n\t\treturn [C, true];\n\t}\n\treturn [(): null => null, false];\n};\n\nexport const getActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn compact(\n\t\tmap(factories, (f) => {\n\t\t\ttry {\n\t\t\t\tconst action = f(target);\n\t\t\t\treturn action;\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(e);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})\n\t);\n};\n\nexport const getActionsFactory = (type: string): (<T>(target: T) => Array<Action>) => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn <T,>(target: T): Array<Action> =>\n\t\tcompact(\n\t\t\tmap(factories, (f) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst action = f(target);\n\t\t\t\t\treturn action;\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n};\n\nexport const getAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\tconst action = factory?.(target);\n\treturn [action, !!action];\n};\n\nexport const getActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { useMemo, FC, FunctionComponent, useCallback } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory, CombinedActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.functions?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const useIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore((s) => s.components?.[id]);\n\treturn useMemo(() => {\n\t\tif (Integration) {\n\t\t\tconst C: FC = (props: unknown) => (\n\t\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t\t<Integration.item {...props} />\n\t\t\t\t</AppContextProvider>\n\t\t\t);\n\t\t\treturn [C, true];\n\t\t}\n\t\treturn [(): null => null, false];\n\t}, [Integration]);\n};\n\nexport const useActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t) ?? [],\n\t\t[factories, target]\n\t);\n\treturn actions;\n};\n\nexport const useActionsFactory = <T,>(type: string): CombinedActionFactory<T> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst combinedFactory = useCallback(\n\t\t(target: unknown) =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[factories]\n\t);\n\treturn combinedFactory;\n};\n\nexport const useAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\tconst action = useMemo(() => {\n\t\ttry {\n\t\t\treturn factory?.(target);\n\t\t} catch (e) {\n\t\t\treturn undefined;\n\t\t}\n\t}, [factory, target]);\n\treturn [action, !!action];\n};\n\nexport const useActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport create from 'zustand';\nimport { forEach, includes, omit } from 'lodash';\nimport { ComponentType } from 'react';\nimport type { ActionFactory, AnyFunction, IntegrationsState } from '../../../types';\nimport Composer from './composer';\nimport { SHELL_APP_ID } from '../../constants';\n\nexport const useIntegrationsStore = create<IntegrationsState>((set) => ({\n\tactions: {},\n\tcomponents: {\n\t\tcomposer: {\n\t\t\titem: Composer,\n\t\t\tapp: SHELL_APP_ID\n\t\t}\n\t},\n\tfunctions: {},\n\tregisterActions: <T>(\n\t\t...items: Array<{ id: string; action: ActionFactory<T>; type: string }>\n\t): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, action, type }) => {\n\t\t\t\t\tif (!state.actions[type]) state.actions[type] = {};\n\t\t\t\t\tstate.actions[type][id] = action;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterComponents:\n\t\t(app: string) =>\n\t\t(...items: Array<{ id: string; component: ComponentType }>): void =>\n\t\t\tset(\n\t\t\t\tproduce((state) => {\n\t\t\t\t\tforEach(items, ({ id, component }) => {\n\t\t\t\t\t\tstate.components[id] = { app, item: component };\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t),\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, fn }) => {\n\t\t\t\t\tstate.functions[id] = fn;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveActions: (...ids: Array<string>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(state.actions, (actionTypeMap, type) => {\n\t\t\t\t\tforEach(actionTypeMap, (actionFactory, actionFactoryId) => {\n\t\t\t\t\t\tif (includes(ids, actionFactoryId)) {\n\t\t\t\t\t\t\tdelete state.actions[type][actionFactoryId];\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tcomponents: omit(s.components, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tfunctions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { LoginConfigStore } from '../../../types/loginConfig';\n\nexport const useLoginConfigStore = create<LoginConfigStore>(() => ({}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../../../types';\nimport { useNetworkStore } from './store';\n\nexport const useNotify = (): SoapNotify[] => {\n\tconst notify = useNetworkStore((s) => s.notify ?? []);\n\treturn notify;\n};\nexport const useRefresh = (): SoapRefresh => useNetworkStore((s) => s.refresh ?? {});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { NetworkState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useNetworkStore = create<NetworkState>(() => ({\n\tpollingInterval: 30000,\n\tseq: 0\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forEach } from 'lodash';\nimport { SoapContext } from '../../../types';\nimport { folderWorker, tagWorker } from '../../workers';\nimport { useFolderStore } from '../folder';\nimport { useTagStore } from '../tags';\nimport { useNetworkStore } from './store';\n\nexport const handleSync = ({ refresh, notify }: SoapContext): Promise<void> =>\n\tnew Promise((r) => {\n\t\tconst { seq } = useNetworkStore.getState();\n\t\tif (refresh) {\n\t\t\ttagWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\ttags: refresh.tags\n\t\t\t});\n\t\t\tfolderWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\tfolder: refresh.folder ?? []\n\t\t\t});\n\t\t}\n\t\tif (notify?.length) {\n\t\t\tforEach(notify, (item) => {\n\t\t\t\tif (item.seq > seq) {\n\t\t\t\t\ttagWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useTagStore.getState().tags\n\t\t\t\t\t});\n\t\t\t\t\tfolderWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useFolderStore.getState().folders\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tr();\n\t});\n// export const noOp = (): void => {\n// \t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n// \tgetSoapFetch(SHELL_APP_ID)(\n// \t\t'NoOp',\n// \t\tuseNetworkStore.getState().pollingInterval === 500\n// \t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n// \t\t\t: { _jsns: 'urn:zimbraMail' }\n// \t);\n// };\n// export const handleSoapContext = ({ notify, refresh, session, change }: SoapContext): void =>\n// \tuseNetworkStore.setState({\n// \t\tsession,\n// \t\tchange,\n// \t\trefresh,\n// \t\tseq: maxBy(notify, 'seq'),\n// \t\tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// \t\tnotify: map(notify, (notifyItem) => ({\n// \t\t\t...notifyItem,\n// \t\t\tdeleted: notifyItem.deleted?.id?.split(',')\n// \t\t}))\n// \t});\n// // handleTagSync(_context);\n// // useNetworkStore.setState({\n// // \tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// // \t,\n// // \t...res?.Header?.context\n// // });\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { pick } from 'lodash';\nimport { Tags } from '../../../types';\nimport { useTagStore } from './store';\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nexport const useTags = (ids?: Array<string> | string): Tags =>\n\tuseTagStore((s) => (ids ? pick(s.tags, ids) : s.tags));\nexport const getTags = (ids?: Array<string> | string): Tags =>\n\tids ? pick(useTagStore.getState().tags, ids) : useTagStore.getState().tags;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { TagState } from '../../../types';\nimport { tagWorker } from '../../workers';\n\nexport const useTagStore = create<TagState>(() => ({\n\ttags: {}\n}));\n\ntagWorker.onmessage = ({ data }): void => {\n\tuseTagStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Link as RRLink, LinkProps } from 'react-router-dom';\nimport { parseParams } from '../history/hooks';\n\ntype AppLinkProps = LinkProps & {\n\troute?: string;\n};\nexport const AppLink: FC<AppLinkProps> = ({ to, route, ...rest }) => {\n\tconst _to = useMemo(() => parseParams({ path: to, route }), [route, to]);\n\treturn <RRLink style={{ textDecoration: 'none' }} to={_to} {...rest} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Modal } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { getT } from '../store/i18n';\n\nexport const RouteLeavingGuard: FC<{\n\twhen?: boolean;\n\tonSave: () => void;\n}> = ({ children, when, onSave }) => {\n\tconst history = useHistory();\n\tconst lastLocationInitial = useMemo(() => history.location.pathname, [history]);\n\tconst [modalVisible, setModalVisible] = useState(false);\n\tconst [lastLocation, setLastLocation] = useState<Location>(lastLocationInitial);\n\tconst [confirmedNavigation, setConfirmedNavigation] = useState(false);\n\tconst t = getT();\n\tconst onClose = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(true);\n\t};\n\tconst handleBlockedNavigation = (nextLocation: Location): boolean => {\n\t\tif (\n\t\t\t!confirmedNavigation &&\n\t\t\tnextLocation.pathname !== (lastLocation?.pathname || lastLocationInitial)\n\t\t) {\n\t\t\tsetModalVisible(true);\n\t\t\tsetLastLocation(nextLocation);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\tconst onConfirm = (): void => {\n\t\tsetModalVisible(false);\n\t\tonSave();\n\t\tsetConfirmedNavigation(true);\n\t};\n\tuseEffect(() => {\n\t\tif (confirmedNavigation && lastLocation) {\n\t\t\t// Navigate to the previous blocked location with your navigate function\n\t\t\thistory.push(lastLocation.pathname);\n\t\t}\n\t}, [confirmedNavigation, history, lastLocation]);\n\treturn (\n\t\t<>\n\t\t\t<Prompt when={when} message={handleBlockedNavigation} />\n\t\t\t{/* Your own alert/dialog/modal component */}\n\t\t\t<Modal\n\t\t\t\topen={modalVisible}\n\t\t\t\tonClose={onClose}\n\t\t\t\tonConfirm={onConfirm}\n\t\t\t\ttitle={t('label.unsaved_changes', 'You have unsaved changes')}\n\t\t\t\tdismissLabel={t('label.leave_anyway', 'Leave anyway')}\n\t\t\t\tconfirmLabel={t('label.save_and_leave', 'Save and leave')}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Modal>\n\t\t</>\n\t);\n};\nexport default RouteLeavingGuard;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Button, Container } from '@zextras/carbonio-design-system';\nimport { noop } from 'lodash';\n\nexport const Spinner: FC = () => (\n\t<Container width=\"fill\" height=\"fill\" mainAlignment=\"center\" crossAlignment=\"center\">\n\t\t{/* the \"Button\" string doesn't need to be translated as it's not rendered */}\n\t\t<Button type=\"ghost\" label=\"Button\" color=\"primary\" loading onClick={noop} />\n\t</Container>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport {\n\tContainer,\n\tDropdown,\n\tDropdownItem,\n\tIconButton,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { map, noop } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport type { UtilityView } from '../../types';\nimport { noOp } from '../network/fetch';\nimport { logout } from '../network/logout';\nimport { useUserAccount } from '../store/account';\nimport { addBoard } from '../store/boards';\nimport { getT } from '../store/i18n';\nimport { useUtilityBarStore } from './store';\nimport { useUtilityViews } from './utils';\nimport { SHELL_APP_ID } from '../constants';\n\nconst UtilityBarItem: FC<{ view: UtilityView }> = ({ view }) => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst onClick = useCallback((): void => {\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\tsetMode(current !== view.id ? 'open' : mode !== 'open' ? 'open' : 'closed');\n\t\tsetCurrent(view.id);\n\t}, [current, mode, setCurrent, setMode, view.id]);\n\tif (typeof view.button === 'string') {\n\t\treturn (\n\t\t\t<Tooltip label={view.label} placement=\"bottom-end\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.button}\n\t\t\t\t\ticonColor={current === view.id ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <view.button mode={mode} setMode={setMode} />;\n};\n\nexport const ShellUtilityBar: FC = () => {\n\tconst views = useUtilityViews();\n\tconst t = getT();\n\tconst account = useUserAccount();\n\tconst accountItems = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tid: 'account',\n\t\t\t\t\tlabel: account?.displayName ?? 'Account',\n\t\t\t\t\tdisabled: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'email',\n\t\t\t\t\tlabel: account?.name ?? '',\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\titemTextSize: 'small'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: 'divider',\n\t\t\t\t\tid: 'divider',\n\t\t\t\t\tlabel: 'divider'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'feedback',\n\t\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\t\tclick: () =>\n\t\t\t\t\t\taddBoard(SHELL_APP_ID)({\n\t\t\t\t\t\t\turl: 'feedback',\n\t\t\t\t\t\t\ttitle: t('label.feedback', 'Feedback'),\n\t\t\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t\t\t}),\n\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'update',\n\t\t\t\t\tlabel: t('label.update_view', 'Update view'),\n\t\t\t\t\tclick: (): void => noOp(),\n\t\t\t\t\ticon: 'Refresh'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'docs',\n\t\t\t\t\tlabel: t('label.documentation', 'Documentation'),\n\t\t\t\t\t// TODO: Replace when the correct link is available\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\t\t\t\t\tclick: (): void => {},\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\ticon: 'InfoOutline'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'logout',\n\t\t\t\t\tlabel: t('label.logout', 'Logout'),\n\t\t\t\t\tclick: logout,\n\t\t\t\t\ticon: 'LogOut'\n\t\t\t\t}\n\t\t\t] as DropdownItem[],\n\t\t[account, t]\n\t);\n\treturn (\n\t\t<Container orientation=\"horizontal\" width=\"fit\">\n\t\t\t{map(views, (view) => (\n\t\t\t\t<UtilityBarItem view={view} key={view.id} />\n\t\t\t))}\n\t\t\t<Tooltip label={account?.displayName ?? account?.name} placement=\"bottom-end\">\n\t\t\t\t<Dropdown items={accountItems} maxWidth=\"18.75rem\" disableAutoFocus>\n\t\t\t\t\t<IconButton icon=\"PersonOutline\" size=\"large\" onClick={noop} />\n\t\t\t\t</Dropdown>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './bar';\nexport * from './panel';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { Container, Responsive } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport styled from 'styled-components';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useUtilityViews } from './utils';\nimport { useUtilityBarStore } from './store';\n\nconst Panel = styled(Container)<{ mode: string }>`\n\twidth: ${({ mode }): number => (mode !== 'closed' ? 16 : 3)}rem;\n\tborder-radius: 0;\n\theight: 100%;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\ttransition: width 0.2s;\n\tborder-left: 0.0625rem solid ${({ theme }): string => theme.palette.gray2.regular};\n`;\nconst Spacer = styled.div<{ mode: string }>`\n\tposition: relative;\n\twidth: ${({ mode }): number => (mode === 'open' ? 16 : 3)}rem;\n\theight: 100%;\n\ttransition: width 0.2s;\n`;\n\nexport const ShellUtilityPanel: FC = () => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst views = useUtilityViews();\n\tconst currentPanel = useMemo(() => find(views, (view) => view.id === current), [current, views]);\n\tuseEffect(() => {\n\t\tif (!(current && currentPanel)) {\n\t\t\tsetCurrent(views[0]?.id);\n\t\t}\n\t}, [current, currentPanel, setCurrent, views]);\n\treturn currentPanel ? (\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<Spacer mode={mode}>\n\t\t\t\t<Panel mode={mode} mainAlignment=\"flex-start\">\n\t\t\t\t\t{currentPanel && (\n\t\t\t\t\t\t<AppContextProvider pkg={currentPanel?.id}>\n\t\t\t\t\t\t\t<currentPanel.component mode={mode} setMode={setMode} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t)}\n\t\t\t\t</Panel>\n\t\t\t</Spacer>\n\t\t</Responsive>\n\t) : null;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport create from 'zustand';\nimport { UtilityBarStore } from '../../types';\n\nexport const useUtilityBarStore = create<UtilityBarStore>((set) => ({\n\tmode: 'closed',\n\tcurrent: undefined,\n\tsecondaryBarState: true,\n\tsetMode: (mode): void =>\n\t\tset((s) => ({ mode, secondaryBarState: mode === 'open' ? false : s.secondaryBarState })),\n\tsetCurrent: (current): void => set({ current }),\n\tsetSecondaryBarState: (secondaryBarState: boolean): void => set({ secondaryBarState })\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, intersection, omit } from 'lodash';\nimport { useMemo } from 'react';\nimport { AppRoute, PrimaryAccessoryView, SecondaryAccessoryView, UtilityView } from '../../types';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\n\nexport const checkList = (l1: Array<string>, l2?: Array<string>): boolean =>\n\tintersection(l1, l2).length > 0;\n\nexport const checkRoute = (\n\tview: UtilityView | PrimaryAccessoryView | SecondaryAccessoryView,\n\tactiveRoute?: AppRoute\n): boolean => {\n\tconst activeRouteValues = Object.values(omit(activeRoute, 'standalone') ?? {});\n\tif (view.blacklistRoutes) return !checkList(activeRouteValues, view.blacklistRoutes);\n\tif (view.whitelistRoutes) return checkList(activeRouteValues, view.whitelistRoutes);\n\treturn true;\n};\nexport const useUtilityViews = (): Array<UtilityView> => {\n\tconst utilityViews = useAppStore((s) => s.views.utilityBar);\n\n\tconst activeRoute = useCurrentRoute();\n\treturn useMemo(\n\t\t() => filter(utilityViews, (v) => checkRoute(v, activeRoute)),\n\t\t[activeRoute, utilityViews]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const folderWorker = new Worker(new URL('./folder', import.meta.url));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport type { DarkReaderPropValues } from '../misc';\nimport { DARK_READER_PROP_KEY } from '../../src/constants';\nimport type { SHELL_APP_ID } from '../exports';\n\nexport interface ZimletProp {\n\tname: string;\n\tzimlet: string;\n\t_content: string;\n}\n\nexport interface ZappDarkreaderModeZimletProp extends ZimletProp {\n\tname: typeof DARK_READER_PROP_KEY;\n\tzimlet: SHELL_APP_ID;\n\t_content: DarkReaderPropValues;\n}\n\nexport type SoapFetch = <Request, Response>(\n\tapi: string,\n\tbody: Request,\n\taccount?: string\n) => Promise<Response>;\n\nexport type AccountState = {\n\tauthenticated: boolean;\n\taccount?: Account;\n\tsettings: AccountSettings;\n\tzimbraVersion?: string;\n\tusedQuota: number;\n};\n\nexport type Account = {\n\t// apps: Array<AppPkgDescription>;\n\tid: string;\n\tname: string;\n\tdisplayName: string;\n\t//\tsettings: AccountSettings;\n\tsignatures: { signature: Array<unknown> };\n\tidentities: any;\n\trights: AccountRights;\n};\n\nexport type DelegateProps = {\n\temail: string;\n\tright: string;\n};\n\nexport type AccountSettings = {\n\tattrs: Record<string, string | number | Array<string | number>>;\n\tprefs: Record<string, string | number | Array<string | number>>;\n\tprops: Array<ZimletProp>;\n};\n\nexport type AccountRightTargetEmail = {\n\taddr: string;\n};\n\nexport type AccountRightTarget = {\n\td: string;\n\tid: string;\n\tname: string;\n\ttype: string;\n\temail: Array<AccountRightTargetEmail>;\n};\n\nexport type AccountRightName =\n\t| 'sendAs'\n\t| 'sendAsDistList'\n\t| 'viewFreeBusy'\n\t| 'sendOnBehalfOf'\n\t| 'sendOnBehalfOfDistList';\nexport type AccountRights = {\n\ttargets: Array<{\n\t\tright: AccountRightName;\n\t\ttarget: Array<AccountRightTarget>;\n\t}>;\n};\n","/* eslint-disable @typescript-eslint/ban-types */\n/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ComponentType, FC } from 'react';\nimport { DefaultTheme } from 'styled-components';\nimport { QueryChip } from '../search';\n\nexport type CarbonioModule = {\n\tcommit: string;\n\tdescription: string;\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: string;\n\tname: string;\n\tpriority: number;\n\tversion: string;\n\ttype: 'carbonio' | 'shell';\n\tattrKey?: string;\n\ticon: string;\n\tdisplay: string;\n\tsentryDsn?: string;\n};\n\nexport type StandaloneFlags = {\n\thidePrimaryBar?: boolean;\n\thideShellHeader?: boolean;\n\tallowUnauthenticated?: boolean;\n};\n\nexport type AppRoute = {\n\t// persist?: boolean;\n\tid: string;\n\troute: string;\n\tapp: string;\n\tstandalone?: StandaloneFlags;\n};\n\nexport type AppRouteData = AppRoute & {\n\tprimaryBar: PrimaryBarView;\n\tsecondaryBar?: SecondaryBarView;\n\tappView: AppView;\n};\n\nexport type BadgeInfo = {\n\tshow: boolean;\n\tcount?: number;\n\tshowCount?: boolean;\n\tcolor?: keyof DefaultTheme['palette'];\n};\n\nexport type CarbonioView<P> = {\n\tid: string;\n\tapp: string;\n\troute: string;\n\tcomponent: ComponentType<P>;\n};\n\nexport type CarbonioAccessoryView<P> = {\n\tid: string;\n\tapp: string;\n\twhitelistRoutes?: Array<string>;\n\tblacklistRoutes?: Array<string>;\n\tposition: number;\n\tcomponent: ComponentType<P>;\n};\nexport type PrimaryBarComponentProps = { active: boolean };\nexport type SecondaryBarComponentProps = { expanded: boolean };\nexport type AppViewComponentProps = {};\nexport type BoardViewComponentProps = {\n\twindowHistory: History;\n};\nexport type SettingsViewProps = {};\nexport type SearchViewProps = {\n\tuseQuery: () => [QueryChip[], Function];\n\tResultsHeader: FC<{ label: string }>;\n\tuseDisableSearch: () => [boolean, Function];\n};\nexport type PrimaryAccessoryViewProps = {};\nexport type SecondaryAccessoryViewProps = { expanded: boolean };\nexport type PanelMode = 'closed' | 'overlap' | 'open';\n\nexport type UtilityBarComponentProps = { mode: PanelMode; setMode: (mode: PanelMode) => void };\nexport type PrimaryBarView = Omit<CarbonioView<PrimaryBarComponentProps>, 'component'> & {\n\tcomponent: string | ComponentType<PrimaryBarComponentProps>;\n\tbadge: BadgeInfo;\n\tposition: number;\n\tvisible: boolean;\n\tlabel: string;\n};\n\nexport type SecondaryBarView = CarbonioView<SecondaryBarComponentProps>;\n\nexport type AppView = CarbonioView<AppViewComponentProps>;\n\nexport type BoardView = CarbonioView<BoardViewComponentProps>;\n\nexport type UtilityView = CarbonioAccessoryView<UtilityBarComponentProps> & {\n\tbutton: string | ComponentType<UtilityBarComponentProps>;\n\tcomponent: ComponentType<UtilityBarComponentProps>;\n\tbadge: BadgeInfo;\n\tlabel: string;\n};\nexport type SettingsSubSection = { label: string; id: string };\nexport type SettingsView = CarbonioView<SettingsViewProps> & {\n\ticon: string;\n\tlabel: string;\n\tposition: number;\n\tsubSections?: Array<SettingsSubSection>;\n};\n\nexport type SearchView = CarbonioView<SearchViewProps> & {\n\ticon: string;\n\tlabel: string;\n\tposition: number;\n};\n\nexport type PrimaryAccessoryView = CarbonioAccessoryView<PrimaryAccessoryViewProps> & {\n\tcomponent: string | ComponentType;\n\tonClick?: (ev: KeyboardEvent | React.MouseEvent<HTMLButtonElement> | undefined) => void;\n\tlabel: string;\n};\n\nexport type SecondaryAccessoryView = CarbonioAccessoryView<SecondaryAccessoryViewProps>;\n\nexport type AppRouteDescriptor = {\n\tid: string;\n\troute: string;\n\tapp: string;\n\tprimaryBar: string | ComponentType<PrimaryBarComponentProps>;\n\tbadge: BadgeInfo;\n\tposition: number;\n\tvisible: boolean;\n\tlabel: string;\n\tsecondaryBar?: ComponentType<SecondaryBarComponentProps>;\n\tappView: ComponentType<AppViewComponentProps>;\n\tstandalone?: StandaloneFlags;\n};\nexport type AppSetters = {\n\taddApps: (apps: Array<Partial<CarbonioModule>>) => void;\n\t// add route (id route primaryBar secondaryBar app)\n\taddRoute: (routeData: AppRouteDescriptor) => string;\n\tsetRouteVisibility: (id: string, visible: boolean) => void;\n\t// remove route (id | route)\n\tremoveRoute: (id: string) => void;\n\t//\n\t// update primaryBar\n\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n\t//\n\t// add board\n\taddBoardView: (data: BoardView) => string;\n\t// remove board\n\tremoveBoardView: (id: string) => void;\n\t//\n\t// add settings\n\taddSettingsView: (data: SettingsView) => string;\n\t// remove settings\n\tremoveSettingsView: (id: string) => void;\n\t//\n\t// add search\n\taddSearchView: (data: SearchView) => string;\n\t// remove search\n\tremoveSearchView: (id: string) => void;\n\t//\n\t// add utility\n\taddUtilityView: (data: UtilityView) => string;\n\t// remove utility\n\tremoveUtilityView: (id: string) => void;\n\t//\n\t// add primaryAccessory\n\taddPrimaryAccessoryView: (data: PrimaryAccessoryView) => string;\n\t// remove primaryAccessory\n\tremovePrimaryAccessoryView: (id: string) => void;\n\t//\n\t// add secondaryAccessory\n\taddSecondaryAccessoryView: (data: SecondaryAccessoryView) => string;\n\t// remove secondaryAccessory\n\tremoveSecondaryAccessoryView: (id: string) => void;\n\tsetAppContext: (app: string) => (context: unknown) => void;\n};\nexport type AppState = {\n\tstandalone: false | string;\n\tapps: Record<string, CarbonioModule>;\n\tappContexts: Record<string, unknown>;\n\tentryPoints: Record<string, ComponentType>;\n\troutes: Record<string, AppRoute>;\n\tviews: {\n\t\tprimaryBar: Array<PrimaryBarView>;\n\t\tsecondaryBar: Array<SecondaryBarView>;\n\t\tappView: Array<AppView>;\n\t\tboard: Array<BoardView>;\n\t\tutilityBar: Array<UtilityView>;\n\t\tsettings: Array<SettingsView>;\n\t\tsearch: Array<SearchView>;\n\t\tprimaryBarAccessories: Array<PrimaryAccessoryView>;\n\t\tsecondaryBarAccessories: Array<SecondaryAccessoryView>;\n\t};\n\tsetters: AppSetters;\n\tshell: CarbonioModule;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport type Board<T = unknown> = {\n\tid: string;\n\turl: string;\n\tapp: string;\n\ticon: string;\n\ttitle: string;\n\tcontext?: T;\n\tonClose?: (board: Board<T>) => void;\n\tonGoToPanel?: (board: Board<T>) => void;\n};\n\nexport type BoardState = {\n\tboards: Record<string, Board<any>>;\n\texpanded: boolean;\n\tminimized: boolean;\n\tcurrent?: string;\n};\n\nexport type BoardHooksContext = {\n\tcloseBoard: () => void;\n\tupdateBoard: (b: Partial<Board>) => void;\n\tsetCurrentBoard: () => void;\n\tgetBoardContext: <T>() => T;\n\tgetBoard: <T>() => Board<T>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { i18n } from 'i18next';\nimport { ComponentType, Dispatch, FC, SetStateAction } from 'react';\nimport { TFunction } from 'react-i18next';\nimport { LinkProps } from 'react-router-dom';\nimport {\n\tAccount,\n\tAccountRightName,\n\tAccountRights,\n\tAccountRightTarget,\n\tAccountSettings,\n\tSoapFetch\n} from '../account';\nimport {\n\tAppRoute,\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../apps';\nimport { Board, BoardHooksContext } from '../boards';\nimport { Folder, Folders } from '../folder';\nimport { Action, ActionFactory, AnyFunction, CombinedActionFactory } from '../integrations';\nimport { AccordionFolder, HistoryParams, ShellModes } from '../misc';\nimport { CreateTagResponse, Mods, SoapNotify, SoapRefresh, TagActionResponse } from '../network';\nimport { INotificationManager } from '../notification';\nimport { QueryChip } from '../search';\nimport { Tag, Tags } from '../tags';\n\ndeclare const getBridgedFunctions: () => {\n\tcreateModal: (...params: any[]) => void;\n\tcreateSnackbar: (...params: any[]) => void;\n\tgetHistory: () => History;\n};\ndeclare const editSettings: (mods: Mods) => Promise<any>;\ndeclare const ZIMBRA_STANDARD_COLORS: Array<{ zValue: number; hex: string; zLabel: string }>;\ndeclare const FOLDERS: {\n\t[name: string]: string;\n};\ndeclare const SHELL_APP_ID = 'carbonio-shell-ui';\ndeclare const SETTINGS_APP_ID = 'settings';\ndeclare const SEARCH_APP_ID = 'search';\ndeclare const ACTION_TYPES: {\n\t[name: string]: string;\n};\ndeclare const ROOT_NAME: string;\ndeclare const SHELL_MODES: Record<string, ShellModes>;\ndeclare const BASENAME: string;\n\ndeclare const IS_STANDALONE: boolean;\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ndeclare const getIntegratedFunction: (id: string) => [Function, boolean];\ndeclare const getIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\ndeclare const getActions: <T>(target: T, type: string) => Array<Action>;\ndeclare const getActionsFactory: (type: string) => <T>(target: T) => Array<Action>;\ndeclare const getAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\ndeclare const getActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\n// eslint-disable-next-line @typescript-eslint/ban-types\ndeclare const useIntegratedFunction: (id: string) => [Function, boolean];\ndeclare const useIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\ndeclare const useActions: <T>(target: T, type: string) => Array<Action>;\ndeclare const useActionsFactory: <T>(type: string) => CombinedActionFactory<T>;\ndeclare const useAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\ndeclare const useActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\ndeclare const useApp: () => CarbonioModule;\ndeclare const getApp: () => CarbonioModule;\ndeclare const useAppContext: <T>() => T;\ndeclare const getAppContext: <T>() => T;\ndeclare const useUserAccount: () => Account;\ndeclare const useUserAccounts: () => Array<Account>;\ndeclare const useUserRights: () => AccountRights;\ndeclare const useUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\ndeclare const getUserAccount: () => Account;\ndeclare const getUserAccounts: () => Array<Account>;\ndeclare const getUserRights: () => AccountRights;\ndeclare const getUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\ndeclare const useTags: () => Tags;\ndeclare const getTags: () => Tags;\ndeclare const useTag: (id: string) => Tag;\ndeclare const getTag: (id: string) => Tag;\ndeclare const useFolder: (id: string) => BaseFolder | Folder | LinkFolder;\ndeclare const getFolder: (id: string) => BaseFolder | Folder | LinkFolder;\ndeclare const useFolders: () => Folders;\ndeclare const getFolders: () => Folders;\ndeclare const useRoot: (name: string) => Folder;\ndeclare const getRoot: (name: string) => Folder;\ndeclare const useRoots: () => Roots;\ndeclare const getRoots: () => Roots;\ndeclare const useRootByView: (view: string) => Folder;\ndeclare const getRootByView: (view: string) => Folder;\ndeclare const createTag: (tag: Omit<Tag, 'id'>) => Promise<CreateTagResponse>;\ndeclare const renameTag: (id: string, name: string) => Promise<TagActionResponse>;\ndeclare const deleteTag: (id: string) => Promise<TagActionResponse>;\ndeclare const changeTagColor: (id: string, color: number | string) => Promise<TagActionResponse>;\ndeclare const useUserSettings: () => AccountSettings;\ndeclare const useUserSetting: <T = void>(...path: Array<string>) => string | T;\ndeclare const getUserSettings: () => AccountSettings;\ndeclare const getUserSetting: <T = void>(...path: Array<string>) => string | T;\ndeclare const useNotify: () => Array<SoapNotify>;\ndeclare const useRefresh: () => SoapRefresh;\ndeclare const AppLink: FC<LinkProps>;\ndeclare const Spinner: FC;\n\ndeclare const useIsMobile: () => boolean;\ndeclare const soapFetch: SoapFetch;\ndeclare const xmlSoapFetch: SoapFetch;\ndeclare const report: (error: Error, hint?: unknown) => void;\ndeclare const setAppContext: <T>(obj: T) => void;\n\ndeclare const removeActions: (...ids: Array<string>) => void;\ndeclare const registerActions: (\n\t...items: Array<{ id: string; action: ActionFactory<unknown>; type: string }>\n) => void;\ndeclare const removeComponents: (...ids: Array<string>) => void;\ndeclare const registerComponents: (\n\t...items: Array<{ id: string; component: ComponentType }>\n) => void;\ndeclare const removeFunctions: (...ids: Array<string>) => void;\ndeclare const registerFunctions: (...items: Array<{ id: string; fn: AnyFunction }>) => void;\n// add route (id route primaryBar secondaryBar app)\ndeclare const addRoute: (routeData: Partial<AppRouteDescriptor>) => string;\ndeclare const setRouteVisibility: (id: string, visible: boolean) => void;\n// remove route (id | route)\ndeclare const removeRoute: (id: string) => void;\n//\n// update primaryBar\ndeclare const updatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string) => void;\ndeclare const updateUtilityBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n//\n// add board\ndeclare const addBoardView: (data: Record<string, unknown> & Partial<BoardView>) => string;\n// remove board\ndeclare const removeBoardView: (id: string) => void;\n//\n// add settings\ndeclare const addSettingsView: (data: Partial<SettingsView>) => string;\n// remove settings\ndeclare const removeSettingsView: (id: string) => void;\n//\n// add search\ndeclare const addSearchView: (data: Partial<SearchView>) => string;\n// remove search\ndeclare const removeSearchView: (id: string) => void;\n//\n// add utility\ndeclare const addUtilityView: (data: Partial<UtilityView>) => string;\n// remove utility\ndeclare const removeUtilityView: (id: string) => void;\n//\n// add primaryAccessory\ndeclare const addPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) => string;\n// remove primaryAccessory\ndeclare const removePrimaryAccessoryView: (id: string) => void;\n//\n// add secondaryAccessory\ndeclare const addSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) => string;\n// remove secondaryAccessory\ndeclare const removeSecondaryAccessoryView: (id: string) => void;\ndeclare const usePushHistoryCallback: () => (params: HistoryParams) => void;\ndeclare const useReplaceHistoryCallback: () => (params: HistoryParams) => void;\ndeclare const useGoBackHistoryCallback: () => () => void;\ndeclare const pushHistory: (params: HistoryParams) => void;\ndeclare const replaceHistory: (params: HistoryParams) => void;\ndeclare const goBackHistory: () => void;\ndeclare const useCurrentRoute: () => AppRoute | undefined;\ndeclare const getCurrentRoute: () => AppRoute | undefined;\n\n// FOLDERS\n\n// ROOTS\n\n// ROOTS BY USER\ndeclare const useRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\ndeclare const getRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\n\n// SEARCHES\n\ndeclare const useSearchFolder: (id: string) => SearchFolder | undefined;\ndeclare const useSearchFolders: (id: string) => SearchFolder | undefined;\ndeclare const getSearchFolder: () => Searches;\ndeclare const getSearchFolders: () => Searches;\n\n// Accordion-ize\n\ndeclare const useFoldersByView: (view: string) => Array<Folder>;\n\ndeclare const useFoldersAccordionByView: (\n\tview: string,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n) => Array<AccordionFolder>;\n\n// NOTIFICATION\ndeclare const getNotificationManager: () => INotificationManager;\n\n// Run Search\ndeclare const runSearch: (query: Array<QueryChip>, module: string) => void;\n\ndeclare const useLocalStorage: <T>(\n\tkey: string,\n\tinitialValue: T\n) => [T, Dispatch<SetStateAction<T>>];\n\n// TRANSLATIONS\ndeclare const getI18n: () => i18n;\ndeclare const useI18n: () => i18n;\ndeclare const t: TFunction;\n\ndeclare const addBoard: <T = any>(\n\tboard: Omit<Board<T>, 'app' | 'icon' | 'id'> & { id?: string; icon?: string },\n\texpanded?: boolean\n) => Board;\ndeclare const closeBoard: (id: string) => void;\ndeclare const updateBoard: <T = any>(id: string, board: Partial<Board<T>>) => void;\ndeclare const updateBoardContext: <T = any>(id: string, context: T) => void;\ndeclare const getBoardById: <T>(id: string) => Board<T>;\ndeclare const getBoardContextById: <T>(id: string) => T;\ndeclare const useBoardContextById: <T>(id: string) => T;\ndeclare const useBoardById: <T>(id: string) => Board<T>;\ndeclare const minimizeBoards: () => void;\ndeclare const reopenBoards: () => void;\ndeclare const setCurrentBoard: (id: string) => void;\ndeclare const useBoardHooks: () => BoardHooksContext;\ndeclare const useBoard: <T>() => Board<T>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { BaseFolder, LinkFolderFields, SearchFolderFields } from '../misc';\n\nexport type FolderFields = {\n\t// Additional Parameters\n\tisLink: boolean;\n\tdepth: number;\n\tparent?: Folder;\n\tchildren: Array<Folder>;\n};\n\nexport type UserFolder = BaseFolder & FolderFields & { isLink: false };\n\nexport type LinkFolder = BaseFolder & FolderFields & LinkFolderFields & { isLink: true };\n\nexport type SearchFolder = BaseFolder &\n\tPick<FolderFields, 'parent' | 'isLink'> &\n\tSearchFolderFields;\nexport type Folder = UserFolder | LinkFolder;\n\nexport type Folders = { [id: string]: Folder };\nexport type Roots = { [id: string]: Folder };\nexport type Searches = { [id: string]: SearchFolder };\nexport type FolderState = {\n\tfolders: Folders;\n\troots: Roots;\n\tsearches: Searches;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { i18n } from 'i18next';\n\nexport type I18nState = {\n\tinstances: Record<string, i18n>;\n\tdefaultI18n: i18n;\n\tlocale: string;\n\tsetters: {\n\t\tsetLocale: (locale: string) => void;\n\t};\n\tactions: {\n\t\taddI18n: (apps: Array<CarbonioModule>, locale: string) => void;\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './network';\nexport * from './exports';\nexport * from './account';\nexport * from './apps';\nexport * from './notification';\nexport * from './integrations';\nexport * from './theme';\nexport * from './search';\nexport * from './misc';\nexport * from './tags';\nexport * from './workers';\nexport * from './folder';\nexport * from './i18n';\nexport * from './boards';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ComponentType } from 'react';\nimport { DropdownItem } from '@zextras/carbonio-design-system';\n\nexport type IntegrationsState = {\n\tactions: ActionMap;\n\tcomponents: ComponentMap;\n\tfunctions: FunctionMap;\n\tremoveActions: (...ids: Array<string>) => void;\n\tregisterActions: (\n\t\t...items: Array<{ id: string; action: ActionFactory<unknown>; type: string }>\n\t) => void;\n\tremoveComponents: (...ids: Array<string>) => void;\n\tregisterComponents: (\n\t\tapp: string\n\t) => (...items: Array<{ id: string; component: ComponentType }>) => void;\n\tremoveFunctions: (...ids: Array<string>) => void;\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>) => void;\n};\n\nexport type Action = DropdownItem & {\n\tprimary?: boolean;\n\tgroup?: string;\n\t/** @deprecated use onClick instead */\n\tclick?: DropdownItem['onClick'];\n};\n\nexport type ActionFactory<T> = (target: T) => Action;\nexport type CombinedActionFactory<T> = (target: T) => Array<Action>;\n\nexport type ActionMap = Record<string, Record<string, ActionFactory<unknown>>>;\nexport type ComponentMap = Record<string, { app: string; item: ComponentType<any> }>;\nexport type FunctionMap = Record<string, AnyFunction>;\n\nexport type AnyFunction = (...args: unknown[]) => unknown;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store } from '@reduxjs/toolkit';\nimport { To } from 'history';\nimport React, { ComponentType } from 'react';\nimport { CarbonioModule, PanelMode } from '../apps';\nimport { DARK_READER_VALUES } from '../../src/constants';\n\n// eslint-disable-next-line no-shadow\nexport enum JSNS {\n\tACCOUNT = 'urn:zimbraAccount',\n\tADMIN = 'urn:zimbraAdmin',\n\tMAIL = 'urn:zimbraMail',\n\tALL = 'urn:zimbra',\n\tSYNC = 'urn:zimbraSync'\n}\n\nexport type DarkReaderPropValues = typeof DARK_READER_VALUES[number];\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type PackageDependentFunction = (app: string) => Function;\n\nexport type ContextBridgeState = {\n\tpackageDependentFunctions: Record<string, PackageDependentFunction>;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tfunctions: Record<string, Function>;\n\tadd: (content: Partial<Omit<ContextBridgeState, 'add'>>) => void;\n};\n\nexport type LoadedAppRuntime = AppInjections & {\n\tpkg: CarbonioModule;\n};\n\nexport type LoadedAppsCache = {\n\t[pkgName: string]: LoadedAppRuntime;\n};\n\nexport type AppInjections = {\n\tstore: Store;\n};\n\nexport type HistoryParams =\n\t| {\n\t\t\tpath: To;\n\t\t\troute?: string;\n\t }\n\t| string;\nexport type UtilityBarStore = {\n\tmode: PanelMode;\n\tsetMode: (mode: PanelMode) => void;\n\tcurrent?: string;\n\tsetCurrent: (current: string) => void;\n\tsecondaryBarState: boolean;\n\tsetSecondaryBarState: (state: boolean) => void;\n};\n\nexport type AccountProps = {\n\taccountId?: string;\n\ttype?: string;\n\tid?: number;\n\temail?: string;\n\tlabel?: string;\n\tpersonaLabel?: string;\n\tidentityId?: string;\n};\n\nexport type IdentityProps = {\n\tid: string;\n\t/**\n\t * Type of the identity\n\t */\n\tflgType: 'primary' | 'persona' | 'IMAP' | 'POP';\n\t/**\n\t * Localized description of the type of identity\n\t */\n\ttype: string;\n\tidentityId: string | number;\n\tfromAddress?: string;\n\tidentityName?: string;\n\tfromDisplay?: string;\n\trecoveryAccount?: string;\n\treplyToDisplay?: string;\n\treplyToAddress?: string;\n\treplyToEnabled?: string;\n\tsaveToSent?: string;\n\tsentMailFolder?: string;\n\twhenInFoldersEnabled?: string;\n\twhenSentToEnabled?: string;\n\twhenSentToAddresses?: string;\n};\n\nexport type CreateModalProps = {\n\tbackground: string;\n\tcentered: boolean;\n\tchildren: React.ReactElement;\n\tconfirmColor: string;\n\tconfirmLabel: string;\n\tcopyLabel: string;\n\tcustomFooter: React.ReactElement;\n\tdisablePortal: boolean;\n\tdismissLabel: string;\n\thideFooter: boolean;\n\tmaxHeight: string;\n\tonClose: () => void;\n\tonConfirm: () => void;\n\tonSecondaryAction: () => void;\n\toptionalFooter: React.ReactElement;\n\tsecondaryActionLabel: string;\n\tshowCloseIcon: boolean;\n\tsize: string;\n\ttitle: string;\n\ttype: string;\n\tzIndex: number;\n};\n\n// Custom metadata\ntype Meta<T extends Record<string, unknown>> = {\n\t// Section. Normally present. If absent this indicates that CustomMetadata info is present but there are no sections to report on.\n\tsection?: string;\n\t_attrs: T;\n};\n// Grants\ntype Grant = {\n\t// Rights - Some combination of (r)ead, (w)rite, (i)nsert, (d)elete, (a)dminister, workflow action (x), view (p)rivate, view (f)reebusy, (c)reate subfolder\n\tperm: string;\n\t/* The type of Grantee:\n\t\"usr\",\n\t\"grp\",\n\t\"dom\" (domain),\n\t\"cos\",\n\t\"all\" (all authenticated users),\n\t\"pub\" (public authenticated and unauthenticated access),\n\t\"guest\" (non-Zimbra email address and password),\n\t\"key\" (non-Zimbra email address and access key)\n\t*/\n\tgt: 'usr' | 'grp' | 'dom' | 'cos' | 'all' | 'guest' | 'key' | 'pub';\n\t// Grantee ID\n\tzid: string;\n\t// Time when this grant expires. For internal/guest grant: If this attribute is not specified, the expiry of the grant is derived from internalGrantExpiry/guestGrantExpiry of the ACL it is part of. If this attribute is specified (overridden), the expiry value can not be greater than the corresponding expiry value in the ACL. For public grant: If this attribute is not specified, defaults to the maximum allowed expiry for a public grant. If not specified in the response, defaults to 0. Value of 0 indicates that this grant never expires.\n\texpiry?: string;\n\t// Name or email address of the principal being granted rights. optional if {grantee-type} is \"all\"/\"guest\"/\"pub\". When specified in a request, this can be just the username portion of the address in the default domain.\n\td?: string;\n\t// Optional argument. password when {grantee-type} is \"guest\"\n\tpw?: string;\n\t// Optional argument. Access key when {grantee-type} is \"key\"\n\tkey?: string;\n};\nexport type SoapPolicy = {\n\t// Retention policy type\n\ttype?: 'user' | 'system';\n\tid?: string;\n\tname?: string;\n\tlifetime?: string;\n};\n\nexport type SoapRetentionPolicy = Array<{\n\tkeep: Array<{ policy: SoapPolicy }>;\n\tpurge: Array<{ policy: SoapPolicy }>;\n}>;\n\nexport type FolderView =\n\t| 'search folder'\n\t| 'tag'\n\t| 'conversation'\n\t| 'message'\n\t| 'contact'\n\t| 'document'\n\t| 'appointment'\n\t| 'virtual conversation'\n\t| 'remote folder'\n\t| 'wiki'\n\t| 'task'\n\t| 'chat';\nexport type BaseFolder = {\n\t// Folder ID\n\tid: string;\n\t// Item's UUID - a globally unique identifier\n\tuuid: string;\n\t// Name of folder; max length 128; whitespace is trimmed by server; Cannot contain ':', '\"', '/', or any character below 0x20\n\tname: string;\n\t// Absolute Folder path\n\tabsFolderPath?: string;\n\t// ID of parent folder (absent for root folder)\n\tl?: string;\n\t// UUID of parent folder (absent for root folder)\n\tluuid?: string;\n\t// Flags - checked in UI (#), exclude free/(b)usy info, IMAP subscribed (*), does not (i)nherit rights from parent, is a s(y)nc folder with external data source, sync is turned on(~), folder does n(o)t allow inferiors / children\n\tf?: string;\n\t// color numeric; range 0-127; defaults to 0 if not present; client can display only 0-7\n\tcolor?: string;\n\t// RGB color in format #rrggbb where r,g and b are hex digits\n\trgb?: string;\n\t// Number of unread messages in folder\n\tu?: number;\n\t// Number of unread messages with this tag, including those with the IMAP \\Deleted flag set\n\ti4u?: number;\n\t// (optional) Default type for the folder; used by web client to decide which view to use;\n\tview?: FolderView;\n\t// Revision\n\trev?: number;\n\t// Modified sequence\n\tms?: number;\n\t// Modified date in seconds\n\tmd?: number;\n\t// Number of non-subfolder items in folder\n\tn?: number;\n\t// Number of non-subfolder items in folder, including those with the IMAP \\Deleted flag set\n\ti4n?: number;\n\t// Total size of all of non-subfolder items in folder\n\ts?: number;\n\t// Imap modified sequence\n\ti4ms?: number;\n\t// IMAP UIDNEXT\n\ti4next?: number;\n\t// URL (RSS, iCal, etc.) this folder syncs its contents to\n\turl?: string;\n\tactivesyncdisabled: boolean;\n\t// Number of days for which web client would sync folder data for offline use\n\twebOfflineSyncDays?: number;\n\t// For remote folders, the access rights the authenticated user has on the folder - will contain the calculated (c)reate folder permission if the user has both (i)nsert and (r)ead access on the folder\n\tperm?: string;\n\t// recursive\n\trecursive: boolean;\n\t// URL to the folder in the REST interface for rest-enabled apps (such as notebook)\n\trest?: string;\n\t// whether this folder can be deleted\n\tdeletable: boolean;\n\t// custom metadata\n\tmeta?: Array<Meta>;\n\t// ACL for sharing\n\tacl?: { grant: Array<Grant> };\n\tretentionPolicy?: SoapRetentionPolicy;\n\t// indicates whether this folder is displayed in Calendars\n\tchecked?: boolean;\n};\n\nexport type LinkFolderFields = {\n\t// Primary email address of the owner of the linked-to resource\n\towner?: string;\n\t// Zimbra ID (guid) of the owner of the linked-to resource\n\tzid?: string;\n\t// Item ID of the linked-to resource in the remote mailbox\n\trid?: string;\n\t// UUID of the linked-to resource in the remote mailbox\n\truuid?: string;\n\t// The name presently used for the item by the owner\n\toname?: string;\n\t// If set, client should display reminders for shared appointments/tasks\n\treminder: boolean;\n\t// If \"tr\" is true in the request, broken is set if this is a broken link\n\tbroken: boolean;\n};\nexport type SearchFolderFields = {\n\t// Query\n\tquery?: string;\n\t// Sort by\n\tsortBy?: SortBy;\n\t// Comma-separated list. Legal values in list are:\n\t// appointment|chat|contact|conversation|document|message|tag|task|wiki (default is \"conversation\")\n\ttypes?: string;\n};\n\nexport type SortBy =\n\t| 'dateDesc'\n\t| 'dateAsc'\n\t| 'idDesc'\n\t| 'idAsc'\n\t| 'subjDesc'\n\t| 'subjAsc'\n\t| 'nameDesc'\n\t| 'nameAsc'\n\t| 'durDesc'\n\t| 'durAsc'\n\t| 'none'\n\t| 'taskDueAsc'\n\t| 'taskDueDesc'\n\t| 'taskStatusAsc'\n\t| 'taskStatusDesc'\n\t| 'taskPercCompletedAsc'\n\t| 'taskPercCompletedDesc'\n\t| 'rcptAsc'\n\t| 'rcptDesc'\n\t| 'readAsc'\n\t| 'readDesc';\n\nexport type AccordionFolder = {\n\tid: string;\n\tlabel: string;\n\tfolder: Folder;\n\tCustomComponent: ComponentType<{ folder: Folder }>;\n\titems: Array<AccordionFolder>;\n};\n\nexport type TreeNode<T> = T & {\n\tid: string;\n\tchildren: TreeNode<T>[];\n\tparent?: TreeNode<T>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { AccountRights, ZimletProp } from '../account';\nimport { Tag } from '../tags';\nimport { AccountACEInfo, Identity } from './entities';\n\nexport * from './soap';\n\nexport type ZimletPkgDescription = {\n\tzimlet: Array<{\n\t\tname: string;\n\t\tlabel: string;\n\t\tdescription: string;\n\t\tversion: string;\n\t\t/* Property related to Zextras */ zapp?: 'true';\n\t\t/* Property related to Zextras */ 'zapp-main'?: string;\n\t\t/* Property related to Zextras */ 'zapp-version'?: string;\n\t\t/* Property related to Zextras */ 'zapp-handlers'?: string;\n\t\t/* Property related to Zextras */ 'zapp-style'?: string;\n\t\t/* Property related to Zextras */ 'zapp-theme'?: string;\n\t\t/* Property related to Zextras */ 'zapp-serviceworker-extension'?: string;\n\t}>;\n\tzimletContext: Array<{\n\t\tbaseUrl: string;\n\t\tpresence: 'enabled';\n\t\tpriority: number;\n\t}>;\n};\n\nexport type GetInfoResponse = {\n\tname: string;\n\tid: string;\n\tattrs: {\n\t\t_attrs: {\n\t\t\tdisplayName: string;\n\t\t};\n\t};\n\tprefs: {\n\t\t_attrs: Record<string, string>;\n\t};\n\tsignatures: {\n\t\tsignature: Array<any>;\n\t};\n\tidentities: {\n\t\tidentity: Array<any>;\n\t};\n\tzimlets: {\n\t\tzimlet: Array<ZimletPkgDescription>;\n\t};\n\tprops: {\n\t\tprop: Array<ZimletProp>;\n\t};\n\tversion: string;\n\trights: AccountRights;\n};\n\nexport type PropsMods = Record<string, { app: string; value: unknown }>;\n\nexport type PermissionsMods = {\n\tfreeBusy: {\n\t\tcurrent: AccountACEInfo[];\n\t\tnew: AccountACEInfo;\n\t};\n\tinviteRight: {\n\t\tcurrent: AccountACEInfo[];\n\t\tnew: AccountACEInfo;\n\t};\n};\n\nexport type CreateIdentityProps = {\n\trequestId: number;\n\t/** name of the identity */\n\tzimbraPrefIdentityName: string | undefined;\n\t/** personal part of email address put in from header */\n\tzimbraPrefFromDisplay: string | undefined;\n\t/** email address to put in from header. Deprecated on data source as of bug 67068. */\n\tzimbraPrefFromAddress: string | undefined;\n\t/** Type of the email address from header. (sendAs or sendOnBehalfOf) */\n\tzimbraPrefFromAddressType: 'sendAs' | 'sendOnBehalfOf';\n\t/** TRUE if we should set a reply-to header */\n\t// TODO: update to boolean?\n\tzimbraPrefReplyToEnabled: 'TRUE' | 'FALSE' | undefined;\n\t/** personal part of email address put in reply-to header */\n\tzimbraPrefReplyToDisplay: string | undefined;\n\t/** address to put in reply-to header */\n\tzimbraPrefReplyToAddress: string | undefined;\n\t/** default mail signature for account/identity/dataSource */\n\tzimbraPrefDefaultSignatureId: string | undefined;\n\t/** forward/reply signature id for account/identity/dataSource */\n\tzimbraPrefForwardReplySignatureId: string | undefined;\n\t/** TRUE if we should look at zimbraPrefWhenSentToAddresses (deprecatedSince 5.0 in account) */\n\tzimbraPrefWhenSentToEnabled: string | undefined;\n\t/** TRUE if we should look at zimbraPrefWhenInFolderIds (deprecatedSince 5.0 in account) */\n\tzimbraPrefWhenInFoldersEnabled: string | undefined;\n};\n\nexport type CreateIdentityResponse = {\n\tidentity: [Identity];\n};\nexport type ModifyIdentityResponse = Record<string, never>;\nexport type DeleteIdentityResponse = Record<string, never>;\nexport type ModifyPropertiesResponse = Record<string, never>;\nexport type ModifyPrefsResponse = Record<string, never>;\nexport type RevokeRightsResponse = {\n\tace?: AccountACEInfo[];\n};\nexport type GrantRightsResponse = {\n\tace?: AccountACEInfo[];\n};\n\nexport type IdentityMods = {\n\tmodifyList?: Record<string, { id: string; prefs: Record<string, string | boolean> }>;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\n\nexport type PrefsMods = Record<string, unknown>;\n\nexport type Mods = Record<string, Record<string, unknown>> & {\n\tprops?: PropsMods;\n\tprefs?: PrefsMods;\n\tpermissions?: PermissionsMods;\n\tidentity?: IdentityMods;\n};\n\nexport type AddMod = (\n\ttype: keyof Mods,\n\tkey: keyof NonNullable<Mods[typeof type]>,\n\tvalue: NonNullable<Mods[keyof Mods]>[typeof key]\n) => void;\n\nexport type RemoveMod = (type: keyof Mods, key: keyof NonNullable<Mods[typeof type]>) => void;\n\nexport type Locale = {\n\tid: string;\n\tlocalName: string;\n\tname: string;\n};\nexport type AvailableLocalesResponse = {\n\tlocale: Array<Locale>;\n};\n\nexport type NetworkState = SoapContext & {\n\tnoOpTimeout?: Timeout;\n\tpollingInterval: number;\n\tseq: number;\n};\n\nexport type CreateTagRequest = {\n\ttag: Omit<Tag, id>;\n\t_jsns: string;\n};\n\nexport type CreateTagResponse = {\n\ttag: [Tag];\n};\n\nexport type TagActionRequest = {\n\t_jsns: string;\n\taction: {\n\t\top: 'rename' | 'color' | 'delete' | 'update';\n\t\tid: string;\n\t\tname?: string;\n\t\tcolor?: number;\n\t\trgb?: string;\n\t};\n};\nexport type TagActionResponse = {\n\taction: { op: string; id: string };\n\t_jsns: string;\n};\n","import { MetaProperty } from '@babel/types';\nimport { BaseFolder, LinkFolderFields, SearchFolderFields } from '../misc';\n\n/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport type SoapHeader = {\n\tcontext: SoapContext;\n};\n\nexport type SuccessSoapResponse<R> = {\n\tBody: Record<string, R>;\n\tHeader: SoapHeader;\n};\n\nexport type SoapFault = {\n\tDetail: {\n\t\tError: {\n\t\t\tCode: string;\n\t\t\tDetail: string;\n\t\t};\n\t};\n\tReason: {\n\t\tText: string;\n\t};\n};\n\nexport type ErrorSoapBodyResponse = {\n\tFault: SoapFault;\n};\n\nexport type ErrorSoapResponse = {\n\tBody: ErrorSoapBodyResponse;\n\tHeader: SoapHeader;\n};\n\nexport type SoapResponse<R> = SuccessSoapResponse<R> | ErrorSoapResponse;\n\nexport type SoapContext = {\n\trefresh?: SoapRefresh;\n\tnotify?: Array<SoapNotify>;\n\tchange?: { token: number };\n\tsession?: { id: number; _content: number };\n};\n\nexport type SoapFolder = BaseFolder & {\n\tfolder?: Array<SoapFolder>;\n\tlink?: Array<SoapLink>;\n\tsearch?: Array<SoapSearchFolder>;\n};\n\nexport type SoapSearchFolder = SoapFolder & SearchFolderFields;\nexport type SoapLink = SoapFolder & LinkFolderFields;\nexport type SoapRefresh = {\n\tseq?: number;\n\tversion?: string;\n\tmbx?: [{ s: number }];\n\tfolder?: SoapFolder[];\n\ttags?: { tag: Array<Tag> };\n};\n\nexport type SoapNotify = {\n\tseq: number;\n\tcreated?: {\n\t\tm?: Array<unknown>;\n\t\tc?: Array<unknown>;\n\t\tfolder?: Array<SoapFolder>;\n\t\tlink?: Array<SoapLink>;\n\t\ttag?: Array<Tag>;\n\t};\n\tmodified?: {\n\t\tm?: Array<unknown>;\n\t\tc?: Array<unknown>;\n\t\tfolder?: Array<Partial<SoapFolder>>;\n\t\tlink?: Array<Partial<SoapLink>>;\n\t\ttag?: Array<Partial<Tag>>;\n\t\tmbx: [{ s: number }];\n\t};\n\tdeleted: string[];\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport type PopupNotificationConfig = {\n\ttitle?: string;\n\tmessage?: string;\n\ticon?: string;\n\tvibrate?: Array<number>;\n\ttag?: string;\n\tonClick?: (event: Event) => void;\n};\n\nexport type AudioNotificationConfig = {\n\tsound?: string;\n};\n\nexport type NotificationConfig = {\n\tshowPopup?: boolean;\n\tplaySound?: boolean;\n} & PopupNotificationConfig &\n\tAudioNotificationConfig;\n\nexport interface INotificationManager {\n\tplaySound: (config: AudioNotificationConfig) => void;\n\tshowPopup: (config: PopupNotificationConfig) => void;\n\tnotify: (config: NotificationConfig) => void;\n\tmultipleNotify: (config: NotificationConfig[]) => void;\n}","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { QueryChip } from './items';\n\nexport * from './items';\nexport type SearchState = {\n\tquery: Array<QueryChip>;\n\tmodule?: string;\n\tsearchDisabled: boolean;\n\ttooltip?: string;\n\tsetSearchDisabled: (searchDisabled: boolean) => void;\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)) => void;\n\tupdateModule: (module: string) => void;\n};\n\nexport enum ResultLabelType {\n\tNORMAL = 'normal',\n\tWARNING = 'warning',\n\tERROR = 'error'\n}\n\n// export type SelectLabelFactoryProps = {\n// \tselected: [{ label: string; value: string }];\n// \topen: boolean;\n// \tfocus: boolean;\n// \tdisabled: boolean;\n// };\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport type QueryChip = {\n\tid: string;\n\tlabel: string;\n\tvalue?: string;\n\tisGeneric?: boolean;\n\tisQueryFilter?: boolean;\n\thasAvatar?: boolean;\n\tapp?: string;\n};\n","/* eslint-disable @typescript-eslint/ban-types */\n/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport type Tag = {\n\tcolor?: number;\n\tid: string;\n\tname: string;\n\trgb?: string;\n\tu?: number;\n\tn?: number;\n};\n\nexport type Tags = Record<string, Tag>;\n\nexport type TagState = {\n\ttags: Tags;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { DefaultTheme } from 'styled-components';\n\nexport type ThemeExtension = (theme: DefaultTheme) => DefaultTheme;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../network';\nimport { Tags } from '../tags';\n\nexport type SyncNotifyMessage = {\n\top: 'notify';\n\tnotify: SoapNotify;\n};\n\nexport type SyncRefreshMessage = SoapRefresh & {\n\top: 'refresh';\n};\n\nexport type SyncMessage = SyncNotifyMessage | SyncRefreshMessage;\n\nexport type WorkerMessage<T> = { data: SyncMessage & T };\n\nexport type TagMessage = WorkerMessage<{ state: Tags }>;\n\nexport type FolderMessage = WorkerMessage<Record<string, never>>;\n","var map = {\n\t\"./de/index.js\": [\n\t\t\"./node_modules/date-fns/locale/de/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_de_index_js\"\n\t],\n\t\"./en-US/index.js\": [\n\t\t\"./node_modules/date-fns/locale/en-US/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_en-US_index_js\"\n\t],\n\t\"./es/index.js\": [\n\t\t\"./node_modules/date-fns/locale/es/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_es_index_js\"\n\t],\n\t\"./fr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/fr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_fr_index_js\"\n\t],\n\t\"./hi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/hi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_hi_index_js\"\n\t],\n\t\"./it/index.js\": [\n\t\t\"./node_modules/date-fns/locale/it/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_it_index_js\"\n\t],\n\t\"./ja/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ja/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ja_index_js\"\n\t],\n\t\"./nl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/nl/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_nl_index_js\"\n\t],\n\t\"./pl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pl/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_pl_index_js\"\n\t],\n\t\"./pt-BR/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt-BR/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt-BR_index_js\"\n\t],\n\t\"./pt/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt_index_js\"\n\t],\n\t\"./ro/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ro/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ro_index_js\"\n\t],\n\t\"./ru/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ru/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_ru_index_js\"\n\t],\n\t\"./th/index.js\": [\n\t\t\"./node_modules/date-fns/locale/th/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_th_index_js\"\n\t],\n\t\"./tr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/tr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_tr_index_js\"\n\t],\n\t\"./vi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/vi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_vi_index_js\"\n\t],\n\t\"./zh-CN/index.js\": [\n\t\t\"./node_modules/date-fns/locale/zh-CN/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_zh-CN_index_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"./node_modules/date-fns/locale lazy recursive \\\\.[/\\\\\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\\\\\]index\\\\.js$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["React","I18nextProvider","SHELL_APP_ID","useI18nStore","AppErrorCatcher","AppContextProvider","pkg","children","getState","instances","defaultI18n","i18n","useCallback","Catcher","onError","error","console","reduce","getApp","getAppContext","useApp","useAppContext","useContextBridge","getAction","getActions","getActionsFactory","getActionFactory","getIntegratedComponent","getIntegratedFunction","getUserAccount","getUserAccounts","getUserSetting","getUserSettings","useUserAccount","useUserAccounts","useUserSetting","useUserSettings","useUserRight","useUserRights","getUserRight","getUserRights","useIsMobile","useLocalStorage","useAction","useActions","useActionsFactory","useActionFactory","useIntegratedComponent","useIntegratedFunction","usePushHistoryCallback","useGoBackHistoryCallback","useReplaceHistoryCallback","getCurrentRoute","useCurrentRoute","replaceHistory","goBackHistory","pushHistory","getSoapFetch","getXmlSoapFetch","getFolder","getFolders","useFolder","useFolders","useRoot","getRoot","useRoots","getRoots","useSearchFolder","useSearchFolders","getSearchFolder","getSearchFolders","useFoldersByView","useFoldersAccordionByView","useRootByUser","getRootByUser","getTags","useTags","useNotify","useRefresh","changeTagColor","createTag","deleteTag","renameTag","runSearch","getI18n","getTFunction","addBoard","closeBoard","updateBoard","updateBoardContext","getBoardById","getBoardContextById","useBoardContextById","useBoardById","useBoard","minimizeBoards","reopenBoards","setCurrentBoard","useBoardHooks","getNotificationManager","getAppFunctions","name","t","soapFetch","xmlSoapFetch","getBridgedFunctions","packageDependentFunctions","functions","acc","f","memo","Suspense","useMemo","isEmpty","map","useAppStore","Mounter","appId","AppLoaderMounter","entryPoints","s","entries","Comp","MemoComp","height","overflow","getEditSettingsForApp","normalizeRoute","normalizeSettingsView","normalizeSearchView","normalizeUtilityView","normalizePrimaryAccessoryView","normalizeSecondaryAccessoryView","normalizeBoardView","useIntegrationsStore","getAppSetters","appSetters","setters","integrations","updatePrimaryBadge","updateUtilityBadge","setAppContext","addRoute","route","setRouteVisibility","routeId","visible","removeRoute","addBoardView","data","removeBoardView","addSettingsView","removeSettingsView","addSearchView","removeSearchView","addUtilityView","removeUtilityView","addPrimaryAccessoryView","removePrimaryAccessoryView","addSecondaryAccessoryView","removeSecondaryAccessoryView","registerFunctions","removeFunctions","registerActions","removeActions","registerComponents","removeComponents","editSettings","produce","SEARCH_APP_ID","SETTINGS_APP_ID","Feedback","SearchAppView","AccountWrapper","GeneralSettings","settingsSubSections","SettingsAppView","SettingsSidebar","settingsRoute","id","app","settingsPrimaryBar","component","position","label","badge","show","settingsSecondaryBar","settingsAppView","settingsGeneralView","icon","subSections","settingsAccountsView","searchRoute","searchPrimaryBar","searchAppView","feedbackBoardView","registerDefaultViews","setState","routes","views","primaryBar","secondaryBar","appView","settings","board","forOwn","Spinner","AppLink","CONSTANTS","report","SettingsHeader","_scripts","_scriptId","loadApp","appPkg","Promise","_resolve","_reject","resolved","resolve","reject","e","window","__ZAPP_SHARED_LIBRARIES__","__ZAPP_HMR_EXPORT__","appComponent","state","info","script","document","createElement","setAttribute","version","js_entrypoint","body","appendChild","err","unloadApps","then","parentNode","removeChild","filter","registerLocale","setDefaultLocale","useReporter","useAccountStore","getT","injectSharedLibraries","localeList","getDateFnsLocale","locale","loadApps","apps","appsToLoad","attrKey","log","prefs","zimbraPrefLocale","attrs","zimbraLocale","actions","addI18n","localeObj","find","item","localeDateFnsKey","dateFnsLocale","value","localeDateFns","setClients","allSettled","unloadAllApps","ReactDOM","Lodash","ReactRouterDom","Moment","ReactI18n","ReactRedux","ReduxJSToolkit","ZappUI","StyledComponents","Preview","react","lodash","moment","BootstrapperContextProvider","ModalManager","ModalManagerContext","SnackbarManager","SnackbarManagerContext","useContext","useEffect","useTranslation","BrowserRouter","Route","Switch","useHistory","useParams","useBridge","BASENAME","IS_STANDALONE","NotificationPermissionChecker","ShellView","ContextBridge","history","createSnackbar","createModal","getHistory","StandaloneListener","standalone","DefaultViewsRegister","BootstrapperRouter","init","ThemeProvider","Bootstrapper","getInfo","loginConfig","all","Object","values","createContext","useLayoutEffect","useState","generateColorSet","UIThemeProvider","auto","disable","enable","setFetchMethod","createGlobalStyle","darkReaderDynamicThemeFixes","LOCAL_STORAGE_SETTINGS_KEY","getAutoScalingFontSize","useGetPrimaryColor","fetch","ThemeCallbacksContext","addExtension","Error","setDarkReaderState","paletteExtension","customTheme","theme","palette","shared","regular","hover","active","focus","disabled","linked","iconExtension","icons","Shared","ArrowCircleRight","Linked","ArrowCircleLeft","GlobalStyle","baseFontSize","localStorageSettings","extensions","setExtensions","primaryColor","customThemePalette","primary","extension","darkReaderState","sepia","aggregatedExtensions","themeAccumulator","themeExtensionFn","newExtension","ext","savedScalingValueSetting","undefined","useTheme","size","LOCAL_STORAGE_LAST_PRIMARY_KEY","useLoginConfigStore","useDarkMode","localStorageLastPrimary","setLocalStorageLastPrimary","carbonioWebUiPrimaryColor","carbonioWebUiDarkPrimaryColor","darkModeEnabled","darkReaderStatus","dark","light","prevState","ZIMBRA_STANDARD_COLORS","zValue","hex","zLabel","FOLDERS","USER_ROOT","INBOX","TRASH","SPAM","SENT","DRAFTS","CONTACTS","TAGS","CONVERSATIONS","CALENDAR","ROOT","NOTEBOOK","AUTO_CONTACTS","IM_LOGS","TASKS","BRIEFCASE","LAST_SYSTEM_FOLDER_POSITION","ACCOUNTS_APP_ID","ACTION_TYPES","CONVERSATION","CONVERSATION_lIST","MESSAGE","MESSAGE_lIST","CONTACT","CONTACT_lIST","INVITE","INVITE_lIST","APPOINTMENT","APPOINTMENT_lIST","FOLDER","FOLDER_lIST","CALENDAR_lIST","NEW","ignoreImageAnalysis","invert","css","ignoreInlineStyle","disableStyleSheetsProxy","base","standaloneBase","location","pathname","startsWith","EMAIL_VALIDATION_REGEX","ROOT_NAME","DARK_READER_VALUES","FOLDER_VIEW","search_folder","tag","conversation","message","contact","appointment","virtual_conversation","remote_folder","wiki","task","chat","LOCAL_STORAGE_SEARCH_KEY","SCALING_OPTIONS","BASE_FONT_SIZE","SCALING_LIMIT","WIDTH","HEIGHT","DPR","LOGIN_V3_CONFIG_PATH","DARK_READER_PROP_KEY","useDarkReaderResultValue","getPrefersColorSchemeDarkMedia","darkReaderResultValue","setDarkModeEnabled","matches","setCallback","event","addEventListener","removeEventListener","isZappDarkreaderModeZimletProp","prop","zimlet","isDarkReaderPropValues","maybeDarkReaderPropValue","includes","carbonioWebUiDarkMode","settingReceived","props","result","_content","matchMedia","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","r","module","parseParams","params","routeToApply","path","search","hash","cb","push","goBack","findIndex","forEach","isArray","mods","key","pref","p","join","identity","modifyList","deleteList","createList","requestId","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","email","propIndex","account","displayName","identities","tempResult","itemMods","indexAccount","keys","_index","_attrs","i","CreateIdentityResponse","type","maxBy","goToLogin","userAgent","useNetworkStore","handleSync","noOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","sessionId","session","normalizeContext","context","notify","deleted","split","handleResponse","api","res","noOpTimeout","usedQuota","clearTimeout","Body","Fault","code","Detail","Code","authenticated","Reason","Text","Header","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","waitDisallowed","setTimeout","signal","zimbraVersion","method","headers","JSON","stringify","json","shellSoap","normalizeAccount","parsePollingInterval","pollingPref","zimbraPrefMailPollingInterval","pollingValue","parseInt","Number","isNaN","components","addApps","rights","assign","origin","response","favicon","getElementById","HTMLLinkElement","href","carbonioWebUiFavicon","BASE_PATH","carbonioWebUiTitle","title","reason","warn","logout","logoff","action","op","color","rgb","UAParser","os","browser","debounce","noop","defaultAudio","defaultIcon","PopupNotificationDefaultConfig","vibrate","AudioNotificationDefaultConfig","sound","NotificationDefaultConfig","showPopup","playSound","NotificationManager","Map","has","set","Audio","play","DEBOUNCE_TIME","get","config","defConfig","getAudioFileFunction","n","Notification","onClick","conf","instance","getInstance","requestPermission","ButtonOld","Button","Container","Icon","Row","Select","useReducer","styled","useAppList","feedback","TextArea","textarea","gray5","text","fonts","sizes","font","gray4","TextContainer","ButtonContainer","TAContainer","SubHeadingText","lineHeight","LabelContainer","gray2","emptyEvent","level","release","extra","topic","user","reducer","payload","getTopics","ModuleLabelFactory","selected","open","length","alignSelf","_LabelFactory","showErr","allApps","sentryDsn","appItems","display","acct","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","style","scrollHeight","checkTopicSelect","keyCode","confirmHandler","feedbackId","disabledSend","LabelFactory","topics","bottom","vertical","hint","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","defaultIntegrations","defaultStackParser","Hub","makeFetchTransport","transport","stackParser","dsn","maxValueLength","Dropdown","SelectorContainer","ModuleSelectorComponent","modules","updateModule","fullModule","m","setOpen","dropdownItems","click","left","MemoModuleSelector","ModuleSelector","activeRoute","query","searchDisabled","Chip","Divider","Padding","Redirect","ResultLabelType","useQuery","updateQuery","useDisableSearch","setSearchDisabled","getIconAndColor","labelType","WARNING","ERROR","ResultsHeader","NORMAL","setDisabled","resetQuery","labelTypeElem","horizontal","q","searchViews","view","ChipInput","IconButton","Tooltip","useRef","OutlinedIconButton","StyledChipInput","StyledContainer","SearchBar","inputRef","storedValue","setStoredValue","inputTyped","setInputTyped","tooltip","isTyping","setIsTyping","options","setOptions","inputHasFocus","setInputHasFocus","inputState","setInputState","showClear","clearSearch","onSearch","currentQuery","ref","newInputState","hasAvatar","chip","c","qchip","appSuggestions","v","reverse","updateOptions","textContent","indexOf","slice","onQueryChange","newQuery","onInputType","suggestions","suggestion","triggerSearch","setTriggerSearch","containerRef","addFocus","removeFocus","searchCb","disableOptions","placeholder","clearButtonPlaceholder","searchButtonsAreDisabled","searchBtnTooltipLabel","onChipAdd","newChip","cursor","overflowX","iconSize","paddingSize","isFunction","AccountsSettings","accountSettings","identitiesDefault","temp","index","toString","flgType","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","recoveryAccount","zimbraRecoveryAccount","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","whenSentToAddresses","zimbraPrefWhenSentToAddresses","pop","useSnackbar","lowerFirst","uniq","AccountsList","PrimaryAccountSettings","SettingsSentMessages","Delegates","PersonaSettings","PersonaUseSection","getAvailableEmailAddresses","targets","addr","zimbraMailAlias","String","setMods","activeDelegateView","setActiveDelegateView","selectedIdentityId","setSelectedIdentityId","setIdentities","delegates","setDelegates","maxIdentities","zimbraIdentityMaxNumEntries","addMod","arg","modifyProp","prevRecord","newCreateList","newDeleteList","modifyCreateList","modifiedCreateList","createIdentities","updateIdentities","updatedIdentityKey","deleteIdentities","ace","resultReduced","splice","onSave","autoHideTimeout","hideButton","onCancel","isDirty","availableEmailAddresses","top","List","max","changeView","ListItem","createListrequestId","setCreateListrequestId","setCreateList","addNewPersona","newPersonaNextNumber","parseFloat","newPersonaName","zimbraPrefFromAddressType","setDeleteList","onConfirmDelete","newIdentities","onDelete","closeModal","onConfirm","confirmLabel","confirmColor","showCloseIcon","onClose","Radio","RadioGroup","items","activeValue","setActiveValue","width","justifyContent","newValue","Input","personaValue","setPersonaValue","personaLabel","onChange","Checkbox","whenSentToLabel","setWhenInFoldersEnabled","setWhenSentToEnabled","setWhenSentToAddresses","whenSentToAddressesLabel","onClickWhenSentToEnabled","isValidEmail","test","onChangeWhenSentToAddresses","emailLabel","accountNameValue","setAccountNameValue","accountLabel","onChangeDisabled","blankItem","isExternalAccount","replyToEnabledValue","setReplyToEnabledValue","setReplyToAddress","dropdownOpen","setDropdownOpen","fromDisplayValue","setFromDisplayValue","setReplyToDisplay","fromAddressArray","address","setFromAddress","k","onClickReplyToEnabled","fromDisplayLabel","onChangeFromDisplayValue","fromAddressLabel","onChangeFromAddress","newAddress","replyToEnabledLabel","replyToDisplayLabel","onChangePrefReplyToDisplay","replyToAddressLabel","replyToAddressArray","onChangeReplyToAddress","flexGrow","Styler","allDay","medium","weight","DateTimePicker","momentLocalizer","Heading","changeDateEvent","endOfDate","getDateEvent","startOfDate","DateTimeSelect","sendAutoReply","dateDisabled","setDateDisabled","zimbraPrefOutOfOfficeFromDate","zimbraPrefOutOfOfficeUntilDate","sendAutoReplyTimePeriod","setSendAutoReplyTimePeriod","dateZimbraPrefOutOfOfficeFromDate","setZimbraPrefOutOfOfficeFromDate","dateZimbraPrefOutOfOfficeUntilDate","setZimbraPrefOutOfOfficeUntilDate","setAllDay","allDayDisabled","setAllDayDisabled","timeDisabled","setTimeDisabled","updatePrefs","prefValue","prefKey","toggleSendAutoReplyTimePeriod","maxWidth","Date","diff","add","valueOf","readOnly","subtract","appearanceSubSection","AppearanceSettings","subSection","DarkThemeSettingSection","removeMod","selection","setSelection","setSelectNewValue","onSelectionChange","FormSubSection","accountSubSection","Logout","sectionTitle","Badge","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","HTMLElement","navigator","clipboard","writeText","innerText","filteredList","description","backgroundColor","success","gray6","outOfOfficeSubSection","getExternalSendersPrefsData","getOutOfOfficeStatusPrefsData","ItemsExternalSenders","ItemsOutOfOfficeStatus","ItemsSendAutoReplies","OutOfOfficeView","zimbraPrefOutOfOfficeReplyEnabled","setSendAutoReply","zimbraPrefOutOfOfficeReply","inputZimbraPrefOutOfOfficeReply","setInputZimbraPrefOutOfOfficeReply","zimbraPrefOutOfOfficeExternalReply","inputZimbraPrefOutOfOfficeExternalReply","setInputZimbraPrefOutOfOfficeExternalReply","createAppointmentDisabled","setCreateAppointmentDisabled","zimbraPrefOutOfOfficeExternalReplyEnabled","externalReplyInput","setExternalReplyInput","createAppointment","setCreateAppointment","externalSendersHandler","createAppointmentAsHandler","itemsSendAutoReplies","defaultSendAutoreply","defaultOutOfOfficeStatus","selectedItemSendAutoReplies","outOfOfficeSection","useImperativeHandle","Slider","ScalingSliderContainer","ExampleContainer","$fontSize","ExampleText","BASE_FONT_OPTION_INDEX","option","AUTOSCALING_FONT_SIZE","AUTOSCALING_FONT_OPTION_INDEX","ScalingSettingSection","forwardRef","ScalingSettingSectionFn","scalingSettings","addLocalStoreChange","cleanLocalStoreChange","labels","scalingOptionValues","scalingOptionLabels","savedOptionIndex","optionIndex","autoScaling","setAutoScaling","scalingValue","setScalingValue","increaseScalingByStep","decreaseScalingByStep","toggleAutoScaling","onChangeScalingValue","newValueIndex","reset","exampleText","exampleFontSize","Math","round","Quota","quotaSubSection","UserQuota","mobileView","used","quota","userQuota","zimbraMailQuota","defaultValue","fillBackground","Breadcrumbs","RouteLeavingGuard","useparam","crumbs","querySelector","scrollIntoView","ret","itemsExternalSenders","zimbraPrefOutOfOfficeSuppressExternalReply","zimbraPrefExternalSendersType","itemsOutOfOfficeStatus","zimbraPrefOutOfOfficeFreeBusyStatus","date","utc","format","local","startOf","endOf","localName","timeZoneList","screen","devicePixelRatio","baseFontIndex","timezoneAndLanguageSubSection","searchPrefsSubSection","OutOfOfficeSettings","LanguageAndTimeZoneSettings","SearchSettingsView","userSettings","localStorageUnAppliedChanges","setLocalStorageUnAppliedChanges","setLocalStorageSettings","nextState","prevType","nextType","unAppliedPrevState","localStorageSettingsPrevState","scalingSettingSectionRef","Modal","LanguageAndTimeZone","locales","timezones","defaultLocale","onLocaleChange","defaultTimeZone","zimbraPrefTimeZoneId","onTimeZoneChange","reload","zimbraPrefIncludeSpamInSearch","searchInSpamFolder","setSearchInSpamFolder","zimbraPrefIncludeTrashInSearch","searchInTrashFolder","setSearchInTrashFolder","zimbraPrefIncludeSharedItemsInSearch","searchInSharedFolder","setSearchInSharedFolder","setMode","onClickSpam","onClickTrash","onClickShared","settingsViews","Accordion","expanded","disableHover","stopPropagation","collapsedItems","_BoardsRouterContainer","FirstAppRedirect","mainRoute","AppViewContainer","appViews","MiniBadge","BadgeWrap","showCount","padding","fontSize","count","closeAllBoards","expandBoards","onGoToPanel","reduceBoards","useBoardStore","AppBoard","TabsList","BoardContainerComp","div","minimized","Board","BoardHeader","BoardDetailContainer","BackButton","Actions","BoardContainer","boards","onReturnToApp","b","useHiddenCount","AppBoardTab","tabContainerRef","hiddenTabsCount","recalculateHiddenTabs","tab","TabContainer","gray3","VerticalDivider","extrasmall","onRemove","Router","createMemoryHistory","BoardProvider","initialEntries","url","boardViews","windowHistory","unlisten","listen","l","Bubble","Collapser","MultiButton","groupBy","CreationButtonComponent","primaryAction","a","group","byApp","secondaryActions","onOpen","MemoCreationButton","CreationButton","locationFull","truncateLocation","ShellContext","isMobile","initialValue","readValue","localStorage","getItem","parse","setValue","valueToStore","Function","valueToStoreJSON","prevValueJSON","setItem","dispatchEvent","Event","updateValue","useScreenMode","ShellContextProvider","screenMode","Responsive","Logo","CustomImg","img","ShellHeader","mobileNavIsOpen","onMobileMenuClick","carbonioWebUiAppLogo","carbonioWebUiDarkAppLogo","logoSrc","searchEnabled","Collapse","SidebarComponent","secondary","ShellMobileNavComponent","menuTree","val","CustomComponent","zIndex","maxHeight","overflowY","ShellMobileNavMemo","ShellMobileNav","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","ContainerWithDivider","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","ShellPrimaryBarComponent","primaryBarViews","setRoutes","primaryBarAccessoryViews","primaryBarAccessories","accessories","hidePrimaryBar","minHeight","MemoShellPrimaryBarComponent","useUtilityBarStore","SidebarContainer","sidebarIsOpen","ShellSecondaryBarComponent","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","MemoShellSecondaryBar","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","useLoginRedirection","allowUnauthenticated","auth","ShellComponent","hideShellHeader","mobileNavOpen","setMobileNavOpen","MemoShell","normalizeSettings","signatures","lastNotificationTime","now","useApps","priority","getAppList","getApps","appContexts","getShell","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","STANDALONE_RESPONSE","commit","utilityBar","routeData","idx","bar","FallbackView","normalizeBadgeInfo","whitelistRoutes","blacklistRoutes","button","boardContext","boardHooksContext","callbacks","getBoardContext","getBoard","trimStart","uniqueId","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","folders","roots","userId","searches","itemProps","mapFunction","folder","filterFunction","recursionKey","sortFunction","deep","folderWorker","onmessage","hasId","getOriginalId","parts","toLowerCase","isTrash","oname","childrenSorted","i18next","Backend","dropRight","addShell","defaultLng","createInstance","lng","setLocale","i18nInst","changeLanguage","getters","getLocale","appsWithShell","newI18n","use","returnEmptyString","compatibilityJSON","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","_","__","backend","loadPath","tinymce","Editor","FileInput","input","Composer","onEditorChange","onFileSelect","inline","rest","_onEditorChange","newContent","editor","getContent","defaultStyle","zimbraPrefHtmlEditorDefaultFontFamily","zimbraPrefHtmlEditorDefaultFontSize","zimbraPrefHtmlEditorDefaultFontColor","onFileClick","inlineLabel","setupCallback","ui","registry","addMenuButton","callback","onAction","editorInitConfig","content_css","language_url","language","setup","min_height","auto_focus","menubar","statusbar","branding","resize","fontsize_formats","object_resizing","style_formats","block","wrapper","merge_siblings","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","forced_root_block","content_style","visualblocks_default_state","end_container_on_empty_block","relative_urls","remove_script_host","fileInputOnChange","files","compact","integration","Integration","C","factories","factory","combinedFactory","composer","fn","ids","actionTypeMap","actionFactory","actionFactoryId","tagWorker","useTagStore","postMessage","tags","pick","Link","RRLink","to","_to","textDecoration","Prompt","when","lastLocationInitial","modalVisible","setModalVisible","lastLocation","setLastLocation","confirmedNavigation","setConfirmedNavigation","handleBlockedNavigation","nextLocation","useUtilityViews","UtilityBarItem","mode","setCurrent","accountItems","itemTextSize","Panel","Spacer","currentPanel","intersection","checkList","l1","l2","activeRouteValues","utilityViews","Worker","URL","import","meta","JSNS"],"sourceRoot":""}
|