{"version":3,"sources":["node_modules/console-log-colors/src/index.js","src/app/app.routes.ts","libs/core/error-management/feature-report-bug/src/lib/data/models/report-bug.model.ts","libs/core/error-management/feature-report-bug/src/lib/components/report-bug/report-bug.component.ts","libs/core/error-management/feature-report-bug/src/lib/components/report-bug/report-bug.component.html","src/app/app.component.ts","src/app/app.component.html","node_modules/console-log-colors/src/esm.mjs","src/app/app-config/app.initializer.ts","node_modules/@angular/platform-browser/fesm2022/animations/async.mjs","libs/core/error-management/data-access/src/lib/constants/error-ignore.json","libs/core/error-management/data-access/src/lib/global-error-handler.ts","src/app/app-config/app-providers.config.ts","node_modules/@angular/platform-browser/fesm2022/animations.mjs","node_modules/@ngx-translate/http-loader/dist/fesm2022/ngx-translate-http-loader.mjs","src/app/factories/translate-http-loader-factory.ts","src/app/app-config/app-ext-modules.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/index.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-stores.initial-state.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/app-info.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/groups.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/global-search.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/cycle-sign.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/form-group.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/auth.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/users.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/company-settings.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-store-configurations/meta-tags.feature-store.config.ts","libs/core/app-store-management/src/lib/feature-stores/configs/feature-stores.configs.ts","libs/core/app-store-management/src/lib/feature-stores/index.ts","node_modules/@ngrx/store-devtools/fesm2022/ngrx-store-devtools.mjs","libs/core/app-store-management/src/lib/shared/base-store-config.type.ts","libs/core/app-store-management/src/lib/feature-stores/types/feature-store-config.type.ts","libs/core/app-store-management/src/lib/sync-signal-stores/configs/signal-stores-initial-state.ts","libs/core/app-store-management/src/lib/sync-signal-stores/configs/signal-store-configurations/index.ts","libs/core/app-store-management/src/lib/sync-signal-stores/configs/signal-store-configurations/liveness-validator.signal-store.config.ts","libs/core/app-store-management/src/lib/sync-signal-stores/configs/signal-stores-configs.ts","libs/core/app-store-management/src/lib/shared/providers/meta-reducers/clear-store.meta-reducer.ts","libs/core/app-store-management/src/lib/shared/providers/meta-reducers/global-error.meta-reducer.ts","libs/core/app-store-management/src/lib/shared/providers/meta-reducers/idb-persist.meta-reducer.ts","libs/core/app-store-management/src/lib/shared/providers/ngrx-store.providers.ts","libs/core/app-store-management/src/lib/shared/index.ts","libs/core/app-store-management/src/lib/sync-signal-stores/index.ts","libs/core/app-store-management/src/lib/index.ts","src/app/app-config/app.config.ts","src/app/app-config/before-app-bootstrap/route-redirector/route-redirector.ts","src/app/app-config/before-app-bootstrap/load-indexed-db.ts","src/app/app-config/before-app-bootstrap/before-app-bootstrap.ts","src/app/app-config/sentry.initializer.ts","src/app/app-config/init-app-config.logic.ts","node_modules/zone.js/fesm2015/zone.js","src/polyfills.ts","src/main.ts"],"sourcesContent":["var colorList = {\n // modifier\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n // color\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n grey: [90, 39],\n // Bright color\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n // bgColor\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n // bgColor - legacy styles\n blackBG: [40, 49],\n redBG: [41, 49],\n greenBG: [42, 49],\n yellowBG: [43, 49],\n blueBG: [44, 49],\n magentaBG: [45, 49],\n cyanBG: [46, 49],\n whiteBG: [47, 49],\n // Bright bgColor\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n};\nvar c256List = {};\nif (typeof process === 'undefined' || !process.env) {\n globalThis.process = {\n env: {},\n argv: ['--color']\n };\n}\nvar isLowMemory = process.env.CLC_LOW_MEMORY == '1';\nvar isC256Disabled = process.env.CLC_C256 == '0';\nvar isDisabled = process.env.NO_COLOR || process.argv.includes('--no-color');\nvar isSupported = !isDisabled && (process.env.FORCE_COLOR || process.platform === 'win32' || process.argv.includes('--color') || eval(`require('tty')`).isatty(1) && process.env.TERM !== 'dumb' || process.env.CI);\nvar TObject = typeof Reflect === 'undefined' ? Object : Reflect;\nvar fncache = {};\nfunction extend(fn, keys) {\n var prefix = keys.join('');\n Object.keys(clc.list).forEach(function (key) {\n // if (keys.indexOf(key) !== -1) return;\n var cachekey = prefix + key;\n TObject.defineProperty(fn, key, {\n get() {\n if (!fncache[cachekey]) {\n fncache[cachekey] = extend(function m(s) {\n return fn(color[key](s));\n }, keys.concat(key));\n }\n return fncache[cachekey];\n }\n });\n });\n return fn;\n}\nfunction replaceClose(str, open, close, idx) {\n var rest = str.substring(idx + close.length);\n var nextIdx = rest.indexOf(close);\n return str.substring(0, idx) + open + (~nextIdx ? replaceClose(rest, open, close, nextIdx) : rest);\n}\nfunction toString(s) {\n return s;\n}\nfunction getFn(colorType) {\n var cfg = clc.list[colorType];\n if (!cfg || !isSupported) return toString;\n var open = cfg[0],\n close = cfg[1];\n return function (str) {\n if (str === '' || str == null) return '';\n str = '' + str;\n var idx = str.indexOf(close, open.length);\n return open + (idx > -1 && idx < str.length - 1 ? replaceClose(str, open, close, idx) : str) + close;\n };\n}\nfunction color(str, colorType) {\n return getFn(colorType)(str);\n}\nfunction init() {\n var cache = {};\n if (!isLowMemory) {\n Object.keys(colorList).forEach(function (key) {\n clc[key] = color[key] = extend(getFn(key), [key]);\n });\n }\n Object.keys(clc.list).forEach(function (key) {\n if (!color[key]) {\n Object.defineProperty(color, key, {\n get() {\n if (!cache[key]) cache[key] = extend(getFn(key), [key]);\n return cache[key];\n }\n });\n }\n if (!clc[key]) {\n Object.defineProperty(clc, key, {\n get() {\n return cache[key] || color[key];\n }\n });\n }\n });\n}\nif (!isC256Disabled) {\n for (var i = 0; i < 256; i++) {\n c256List['c' + i] = ['38;5;' + i, 0];\n c256List['bg' + i] = ['48;5;' + i, 0];\n }\n}\nvar clc = {\n color: color,\n list: Object.assign({}, colorList, c256List),\n log(str, colorType) {\n console.log(color(str, colorType));\n },\n isSupported() {\n return isSupported;\n },\n enable() {\n isSupported = true;\n init();\n },\n disable() {\n isSupported = false;\n init();\n },\n strip(str) {\n return str.replace(/\\x1b\\[\\d+m/gm, '');\n }\n};\ncolor.list = clc.list;\nObject.keys(clc.list).forEach(function (key) {\n clc.list[key] = clc.list[key].map(function (n) {\n return '\\x1b[' + n + 'm';\n });\n clc.log[key] = function () {\n var arr = [];\n for (var i = 0; i < arguments.length; i++) arr.push(arguments[i]);\n console.log(color[key](arr.join(' ')));\n };\n});\ninit();\nif (typeof module === 'object') module.exports = clc;","import {AuthGuard, isDevGuard, LoginMatcher, PermissionsGuard, PWAGuard, RedirectGuard} from '@auth/data-access';\nimport {PermissionType, ValidationType} from '@core/api/data-access';\nimport {GlobalAppRoute, globalAppRouteConfigFactory} from '@global-data';\nimport {GlobalDialoglService} from '@shared/dialog';\nimport {canActivateValidation, onFailValidationNavTo} from '@validations/data-access';\n\n// new\nexport const appRoutes: GlobalAppRoute[] = [\n\t{\n\t\tpath: '',\n\t\tcanActivate: [RedirectGuard],\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: 'login',\n\t\t\t\tcanMatch: [LoginMatcher()],\n\t\t\t\tloadChildren: () => import('@auth/feature-auth').then(m => m.authFeatureAuthRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'build-in-forms',\n\t\t\t\tloadChildren: () => import('@forms/build-in-forms').then(m => m.featureBuildInFormsRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'sign',\n\t\t\t\tloadChildren: () => import('@cycles/sign/feature-sign').then(m => m.featureSignRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'fast-sign',\n\t\t\t\tloadChildren: () => import('@cycles/sign/fast-signing').then(m => m.featureFastSigningRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'validations',\n\t\t\t\tcanActivate: [AuthGuard],\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'liveness',\n\t\t\t\t\t\tcanActivate: [canActivateValidation(ValidationType.Liveness, onFailValidationNavTo)],\n\t\t\t\t\t\tloadChildren: () => import('@validations/liveness/feature-liveness').then(m => m.featureLivenessRoutes),\n\t\t\t\t\t\tdata: globalAppRouteConfigFactory({autoHideSidenav: true}),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'face-match',\n\t\t\t\t\t\tcanActivate: [canActivateValidation(ValidationType.FaceMatch, onFailValidationNavTo)],\n\t\t\t\t\t\tloadChildren: () => import('@validations/face-match/feature-face-match').then(m => m.featureFaceMatchRoutes),\n\t\t\t\t\t\tdata: globalAppRouteConfigFactory({autoHideSidenav: true}),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'document-reader',\n\t\t\t\t\t\tcanActivate: [canActivateValidation(ValidationType.DocumentVerification, onFailValidationNavTo)],\n\t\t\t\t\t\tloadChildren: () => import('@validations/document-reader/feature-document-reader').then(m => m.featureDocumentReaderRoutes),\n\t\t\t\t\t\tdata: globalAppRouteConfigFactory({autoHideSidenav: true}),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tpath: 'cw',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.cycle_create])],\n\t\t\t\tloadChildren: () => import('@cycles/creation-wizard/feature-creation-wizard-main').then(m => m.featureCreationWizardRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'home',\n\t\t\t\tcanActivate: [AuthGuard, PermissionsGuard([PermissionType.permanent], {fallbackLogout: true}), PWAGuard ],\n\t\t\t\tloadChildren: () => import('@app-layout/home/feature-home-overview').then(m => m.featureHomeOverviewRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'global-search',\n\t\t\t\tloadChildren: () => import('@app-layout/global-search/feature-global-search').then(m => m.featureGlobalSearchRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'swagger',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.admin], {fallbackRoute: 'home'})],\n\t\t\t\tloadChildren: () => import('@dev-tools/swagger').then(m => m.featureSwaggerRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'dev-panel',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.permanent, PermissionType.users_manage], {fallbackRoute: 'home'})],\n\t\t\t\tloadChildren: () => import('@dev-tools/panel').then(m => m.featureDevPanelRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'status',\n\t\t\t\tloadComponent: () => import('@dev-tools/app-status').then(m => m.AppStatusComponent),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'dev-demo-page',\n\t\t\t\tcanActivate: [isDevGuard],\n\t\t\t\tloadComponent: () => import('@dev-tools/demo-page').then(m => m.DevDemoPageComponent),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'users',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.users_manage], {fallbackRoute: 'home'})],\n\t\t\t\tloadChildren: () => import('@users/feature-users').then(m => m.featureUsersRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'user-edit/:userFormMode',\n\t\t\t\tloadChildren: () => import('@users/feature-user-edit').then(m => m.featureUserEditRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'user-edit/:userFormMode',\n\t\t\t\toutlet: GlobalDialoglService.GLOBAL_DIALOG_OUTLET_NAME,\n\t\t\t\tdata: globalAppRouteConfigFactory({\n\t\t\t\t\tdialog: {inputsData: {userFormMode: 'create'}},\n\t\t\t\t\tpermissions: [PermissionType.users_manage],\n\t\t\t\t}),\n\t\t\t\tloadChildren: () => import('@users/feature-user-edit').then(m => m.featureUserEditRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'company-settings',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.users_manage], {fallbackRoute: 'home'})],\n\t\t\t\tloadChildren: () => import('@company-settings/company-settings').then(m => m.featureCompanySettingsRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'address-book',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.permanent], {fallbackRoute: 'home'})],\n\t\t\t\tloadChildren: () => import('@users/feature-users-address-book').then(m => m.featureUsersAddressBookRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'groups',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.permanent], {fallbackRoute: 'home'})],\n\t\t\t\tloadChildren: () => import('@users/feature-user-groups').then(m => m.featureUserGroupsRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'user-groups',\n\t\t\t\tcanActivate: [PermissionsGuard([PermissionType.permanent, PermissionType.users_manage], {fallbackRoute: 'home'})],\n\t\t\t\tloadChildren: () => import('@users/feature-user-groups').then(m => m.featureUserGroupsRoutes),\n\t\t\t},\n\t\t\t{path: 'cycles_', loadChildren: () => import('@cycles/cycles-table').then(m => m.featureCyclesTableRoutes)},\n\t\t\t{\n\t\t\t\tpath: 'cycles', loadChildren: () => import('@cycles/cycle-tables').then(m => m.featureCycleTablesRoutes)},\n\t\t\t{\n\t\t\t\tpath: 'sent-mailing-list',\n\t\t\t\tloadChildren: () => import('@cycles/forms/sent-mailing-documents-list').then(m => m.featureSentMailingDocumentsListRoutes),\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tpath: 'app',\n\t\t\t\tloadChildren: () => import('@app-forms/feature-app-forms').then(m => m.featureAppFormsRoutes),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'app-reset/:redirectUrl/:afterForceReload',\n\t\t\t\tloadComponent: () => import('./app-reset/app-reset.component').then(m => m.AppResetComponent),\n\t\t\t\tdata: globalAppRouteConfigFactory({autoHideSidenav: true}),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirectTo: 'login',\n\t\t\t\tpathMatch: 'full',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '**',\n\t\t\t\tredirectTo: 'login',\n\t\t\t\tpathMatch: 'full',\n\t\t\t},\n\t\t],\n\t},\n];\n","import type {Primitive, SendFeedbackParams} from '@sentry/types';\n\nexport class ReportBugModel implements SendFeedbackParams {\n\tevent_id: string;\n\temail: string;\n\tname: string;\n\tcomments: string;\n\n\tconstructor(init?: Partial) {\n\t\tObject.assign(this, init);\n\t}\n\n\tmessage: string;\n\turl?: string;\n\tsource?: string;\n\tassociatedEventId?: string;\n\ttags?: {[key: string]: Primitive};\n}\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, inject, input, InputSignal, OnInit, signal, WritableSignal} from '@angular/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatInputModule} from '@angular/material/input';\nimport {SignalBinderDirective, SignalBinderModel} from '@shared/signals-extension';\nimport {ReportBugModel} from '../../data/models/report-bug.model';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {Store} from '@ngrx/store';\nimport {selectActiveUser} from '@auth/data-access';\nimport {UserModel} from '@users/data-access';\nimport {ClipboardModule} from '@angular/cdk/clipboard';\nimport {ToastService} from '@utils';\nimport {ProgressBarModule} from 'primeng/progressbar';\nimport {BlockUIModule} from 'primeng/blockui';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {CardModule} from 'primeng/card';\nimport {ProgressSpinnerModule} from 'primeng/progressspinner';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {DialogControlService} from '@shared/dialog';\nimport {captureFeedback, captureUserFeedback} from '@sentry/angular';\n\ntype ReportBugSubmitStatus = 'NOT_SUBMITTED' | 'SENDING' | 'SUBMITTED' | 'ERROR';\nexport type ReportBugComponentInputs = {\n\t[key in keyof ReportBugComponent]: ReportBugComponent[key] extends InputSignal ? T : never;\n};\n\n@Component({\n\tselector: 'dc-report-bug',\n\tstandalone: true,\n\timports: [MatButtonModule, MatInputModule, TranslateModule, SignalBinderDirective, ClipboardModule, ProgressBarModule, BlockUIModule, NgTemplateOutlet, CardModule, ProgressSpinnerModule, TooltipModule],\n\ttemplateUrl: './report-bug.component.html',\n\tstyleUrl: './report-bug.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ReportBugComponent implements OnInit {\n\t/* ------------------------------------------ Types and Constants ------------------------------------------ */\n\n\t/* ------------------------------------------ PROVIDERS / SERVICES ------------------------------------------ */\n\tprotected readonly elementRef: ElementRef = inject(ElementRef);\n\tprivate readonly store: Store = inject(Store);\n\tprivate readonly toastService: ToastService = inject(ToastService);\n\tprivate readonly dialogService: DialogControlService = inject(DialogControlService);\n\tprivate cd: ChangeDetectorRef = inject(ChangeDetectorRef);\n\t/* ------------------------------------------------ Inputs ------------------------------------------------ */\n\n\treadonly error: InputSignal = input.required();\n\treadonly sentryTransactionID: InputSignal = input.required();\n\t/* ------------------------------------------------ Outputs ------------------------------------------------ */\n\n\t/* ------------------------------------------------ Signals ------------------------------------------------ */\n\tprivate activeUser$ = this.store.selectSignal(selectActiveUser);\n\t/* -------------------------------------------------- Data -------------------------------------------------- */\n\tprotected readonly reportBug: SignalBinderModel = new SignalBinderModel(ReportBugModel, [], false);\n\tprotected readonly submitStatus: WritableSignal = signal('NOT_SUBMITTED');\n\t/* ------------------------------------------------ Constructor ------------------------------------------------ */\n\tconstructor() {}\n\n\t/* ----------------------------------------------- Lifecycle Hooks ----------------------------------------------- */\n\tngOnInit(): void {\n\t\t// get active user - name and email address (if any)\n\t\tconst activeUser = this.activeUser$();\n\t\tif (activeUser) {\n\t\t\tconst activeUserModel: UserModel = new UserModel(activeUser);\n\t\t\tthis.reportBug.patch({name: activeUserModel.displayName, email: activeUserModel.email});\n\t\t}\n\t}\n\t/* ------------------------------------------------ Methods ------------------------------------------------ */\n\tprotected async onReportBug(): Promise {\n\t\ttry {\n\t\t\tif (this.sentryTransactionID()) {\n\t\t\t\tthis.reportBug.patch({event_id: this.sentryTransactionID()});\n\t\t\t\tdebugger;\n\t\t\t\tconst report = this.reportBug.signal$();\n\t\t\t\tcaptureFeedback(report);\n\n\t\t\t\tthis.submitStatus.set('SENDING');\n\t\t\t\tthis.cd.detectChanges();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.submitStatus.set('SUBMITTED');\n\t\t\t\t\tthis.cd.detectChanges();\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.submitStatus.set('ERROR');\n\t\t\tconsole.error(e);\n\t\t\tthis.cd.detectChanges();\n\t\t}\n\t}\n\n\tprotected onCopyTicket(): void {\n\t\tthis.toastService.open({\n\t\t\tmessage: 'dc-error.report.ticket-copied-success',\n\t\t\ttype: 'success',\n\t\t\tlife: 2500,\n\t\t\tstyleClass: 'text-center',\n\t\t});\n\t}\n\n\tprotected onClose(): void {\n\t\tthis.dialogService.close('ReportErrorDialog', {data: this.error});\n\t}\n}\n","
\n\t\n\t\t{{ 'dc-error.report.title' | translate }}\n\t\n\t\n
\n\n\n\n\n\t
\n\t\t\n\t\t\n\t\t\t {{ 'dc-error.report.name' | translate }}\n\t\t\t\n\t\t\t*\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t{{ 'dc-error.report.email' | translate }}\n\t\t\t\n\t\t\t\n\t\t\t*\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t{{ 'dc-error.report.bug-details' | translate }}\n\t\t\t\n\t\t\t\n\t\t\t*\n\t\t\n\t
\n\n\n@switch (submitStatus()) {\n\t@case ('NOT_SUBMITTED') {\n\t\t
\n\t\t\t\n\t\t\t\t{{ 'dc-error.report.buttons.submit-report' | translate }}\n\t\t\t\n\t\t\t\n\t\t\t\t{{ 'dc-error.report.buttons.cancel' | translate }}\n\t\t\t\n\t\t
\n\t}\n\t@case ('SENDING') {\n\t\t\n\t}\n\t@case ('SUBMITTED') {\n\t\t
\n\t\t\t
\n\t\t\t\t{{ 'dc-error.report.submission-status-msg' | translate: {ticket: sentryTransactionID()} }}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ 'dc-error.report.buttons.close' | translate }}\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t}\n\t@case ('ERROR') {\n\t\t
\n\t\t\t
\n\t\t\t\t{{ 'dc-error.report.submission-error-msg' | translate }}\n\t\t\t
\n\t\t
\n\t}\n}\n","import {JsonPipe, NgClass, NgTemplateOutlet} from '@angular/common';\nimport {AfterViewInit, Component, effect, HostBinding, inject, OnInit, Signal, viewChild, ViewChild} from '@angular/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {RouterModule} from '@angular/router';\nimport {appInfoActions, VersionService} from '@cron/data-access';\nimport {DomRefererDirective, Loader, LoaderService, ToastService} from '@utils';\nimport {NgxUiLoaderComponent, NgxUiLoaderModule} from 'ngx-ui-loader';\nimport {Toast, ToastModule} from 'primeng/toast';\nimport {SidenavService} from '@app-layout/sidenav/data-access';\nimport {MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER} from '@angular/material/tooltip';\nimport {SidebarModule} from 'primeng/sidebar';\nimport {SidenavComponent} from '@app-layout/sidenav/feature-sidenav';\nimport {Store} from '@ngrx/store';\nimport {MAT_SELECT_SCROLL_STRATEGY_PROVIDER} from '@angular/material/select';\nimport {MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER} from '@angular/material/menu';\nimport {DirectionConditionDirective, DirectionDirective} from '@shared/direction';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {MessageService} from 'primeng/api';\nimport {DialogDirective, GlobalDialoglService} from '@shared/dialog';\nimport {ReportBugComponent, ReportBugComponentInputs} from '@error-management/feature-report-bug';\nimport {DialogModule} from 'primeng/dialog';\nimport {OverlayPanelModule} from 'primeng/overlaypanel';\nimport {LetDirective, GlobalClickerService} from '@shared/ui';\nimport {AsCastDirective} from 'as-cast';\nimport {AuthService} from '@auth/data-access';\nimport {VersionManagementService} from '@pwa';\nimport {setUser} from '@sentry/angular';\n\n@Component({\n\tstandalone: true,\n\timports: [\n\t\tRouterModule,\n\t\tMatButtonModule,\n\t\tNgxUiLoaderModule,\n\t\tNgClass,\n\t\tToastModule,\n\t\tSidebarModule,\n\t\tSidenavComponent,\n\t\tDirectionConditionDirective,\n\t\tTranslateModule,\n\t\tTooltipModule,\n\t\tNgTemplateOutlet,\n\t\tJsonPipe,\n\t\tDialogDirective,\n\t\tReportBugComponent,\n\t\tDialogModule,\n\t\tDomRefererDirective,\n\t\tOverlayPanelModule,\n\t\tLetDirective,\n\t\tDirectionDirective,\n\t\tAsCastDirective,\n\t],\n\tselector: 'app-root',\n\ttemplateUrl: './app.component.html',\n\tstyleUrls: ['./app.component.scss'],\n\tproviders: [GlobalClickerService, MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_SELECT_SCROLL_STRATEGY_PROVIDER],\n})\nexport class AppComponent implements OnInit, AfterViewInit {\n\t/* -------------------------------------------------------------------------------------------------------------- */\n\n\tprotected ReportBugComponentInputs!: ReportBugComponentInputs;\n\t/* ---------------------------------------------- GLOBAL CONSTANTS ---------------------------------------------- */\n\tprotected readonly GLOBAL_LOADER_ID: string = Loader.GLOBAL_LOADER_ID;\n\tprotected readonly GlobalDialogControlService = GlobalDialoglService;\n\n\t/* ------------------------------------------------ SERVICES ------------------------------------------------ */\n\tprotected readonly loaderService: LoaderService = inject(LoaderService);\n\tprivate readonly versionService: VersionService = inject(VersionService);\n\tprotected readonly sidenavService: SidenavService = inject(SidenavService);\n\tprivate readonly store: Store = inject(Store);\n\tprotected readonly toastService: ToastService = inject(ToastService);\n\tprivate readonly messageService: MessageService = inject(MessageService);\n\tprotected readonly globalDialogControlService: GlobalDialoglService = inject(GlobalDialoglService);\n\tprivate readonly authService: AuthService = inject(AuthService);\n\t/* -------------------------------------------------------------------------------------------------------------- */\n\tprivate versionManager: VersionManagementService = inject(VersionManagementService);\n\n\t/* --------------------------------------------- CHILD ELEMENTS --------------------------------------------- */\n\n\t@ViewChild('GLOBAL_LOADER')\n\tprivate set __Global_App_loader__(globalLoaderRef: NgxUiLoaderComponent) {\n\t\tthis.loaderService.setGlobalLoaderRef(globalLoaderRef);\n\t}\n\n\treadonly toastRef: Signal = viewChild('AppToast', {read: Toast});\n\n\t/* ---------------------------------------------- HOST BINDINGS ---------------------------------------------- */\n\t@HostBinding('attr.dc-version') readonly version: string = this.versionService.getLocalFrontendVersion();\n\n\t/* ----------------------------------------------- CONSTRUCTOR ----------------------------------------------- */\n\n\tconstructor(_GlobalClickerService: GlobalClickerService) {\n\t\tthis.store.dispatch(appInfoActions.reloadVersion());\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tconst toastRef = this.toastRef();\n\t\t\t\tif (toastRef && this.toastService) this.toastService.toastRef = toastRef;\n\t\t\t},\n\t\t\t{allowSignalWrites: true},\n\t\t);\n\n\t\tconst authEffectRef$ = effect(() => {\n\t\t\tconst isAuthenticated = this.authService.isAuthenticated();\n\t\t\tif (isAuthenticated) {\n\t\t\t\tconst user = this.authService.ActiveUser.activeUser();\n\t\t\t\tif (user) {\n\t\t\t\t\ttryCatchFn(() => {\n\t\t\t\t\t\tsetUser({\n\t\t\t\t\t\t\tid: user.id,\n\t\t\t\t\t\t\tenabled: user.enabled,\n\t\t\t\t\t\t\tfullName: user.fullname,\n\t\t\t\t\t\t\tphone: user.phonenumber,\n\t\t\t\t\t\t\temail: user.email,\n\t\t\t\t\t\t\tlanguage: user?.preferences?.language,\n\t\t\t\t\t\t\troles: user.roles,\n\t\t\t\t\t\t\ttags: user.tags,\n\t\t\t\t\t\t\tip_address: '{{auto}}',\n\t\t\t\t\t\t});\n\t\t\t\t\t\tauthEffectRef$.destroy();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/* ----------------------------------------------- LIFECYCLE HOOKS ----------------------------------------------- */\n\tngOnInit() {\n\t\t// fire the 'angular-ready' window\tevent\n\t\t// window.dispatchEvent(new Event('angular-ready'));\n\t\tconst urlCheckResults: boolean = this.authService.checkActiveURL();\n\t\tconsole.debug('URL Check Results:', urlCheckResults);\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.messageService.add({key: 'APP_TOAST', life: 0, styleClass: 'invisible'});\n\t}\n}\n","@if (sidenavService.isSidenavAvailable()) {\n\t\n}\n\n\t\n\n\n\n\n\t\n\t\t
\n\t\t\t@if (message.icon) {\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{ message.summary }}\n\t\t\t\t
\n\t\t\t\t@if (message?.detail; as subMessage) {\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ subMessage }}\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\n\t\t\t@if (message?.actionButton; as actionButton) {\n\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\n@if (loaderService.loaderConfigurations(); as loaderConfig) {\n\t\n}\n\n\n\t@defer {\n\t\t\n\t}\n\n\n\n\n\t\n\n\n","import clc from './index.js';\nexport const {\n log,\n color,\n list,\n isSupported,\n disable,\n enable,\n strip,\n // modifier\n reset,\n bold,\n dim,\n italic,\n underline,\n inverse,\n hidden,\n strikethrough,\n black,\n // color\n red,\n green,\n yellow,\n blue,\n magenta,\n cyan,\n white,\n gray,\n grey,\n // Bright color\n redBright,\n greenBright,\n yellowBright,\n blueBright,\n magentaBright,\n cyanBright,\n whiteBright,\n // bgColor\n bgBlack,\n bgRed,\n bgGreen,\n bgYellow,\n bgBlue,\n bgMagenta,\n bgCyan,\n bgWhite,\n // bgColor - legacy styles\n blackBG,\n redBG,\n greenBG,\n yellowBG,\n blueBG,\n magentaBG,\n cyanBG,\n whiteBG,\n // Bright bgColor\n bgBlackBright,\n bgRedBright,\n bgGreenBright,\n bgYellowBright,\n bgBlueBright,\n bgMagentaBright,\n bgCyanBright,\n bgWhiteBright\n} = clc;\nexport default clc;","import {Injector, signal} from '@angular/core';\nimport {LanguageService} from '@core/language';\nimport {StorageService} from '@core/storage';\n\nimport {environment, isDevMode, LanguageType, setMainInjector} from '@shared-types';\nimport {DeviceService} from '@shared/device';\nimport {SyncableProcessLifeCycle, SyncerService} from '@utils';\nimport {PrimeNGConfig} from 'primeng/api';\nimport {GlobalsService} from '@global-data';\nimport clc from 'console-log-colors';\n\nexport function AppInitializer(injector: Injector, storageService: StorageService, languageService: LanguageService, deviceService: DeviceService, primeNGConfig: PrimeNGConfig, syncerService: SyncerService, globalService: GlobalsService) {\n\treturn async () => {\n\t\tif (isDevMode()) {\n\t\t\tconst currentLang: LanguageType = languageService.currentLang$();\n\t\t\tconst deviceType: string = deviceService.deviceType();\n\t\t\tconsole.group(clc.cyan('------------------ Info\t------------------'));\n\t\t\tconsole.info(clc.cyan('Current Language:'), currentLang);\n\t\t\tconsole.info(clc.cyan('Device Type:'), deviceType);\n\t\t\tconsole.info(clc.cyan('Environment:'), environment);\n\t\t\tconsole.groupEnd();\n\t\t}\n\t\tsetMainInjector(injector);\n\t\t// if (_RouteChunksService) await initRouteChunks(_RouteChunksService)();\n\t\tstorageService.init();\n\t\tenvironment.deviceType = deviceService.deviceType();\n\t\t// primeNGConfig:\n\t\tinitPrimeNgConfig(primeNGConfig);\n\t\t// syncerService - trigger AppInit lifeCycle processes:\n\t\tsyncerService.checkProcesses(SyncableProcessLifeCycle.AppInit);\n\t};\n}\n\nfunction initPrimeNgConfig(primeNGConfig: PrimeNGConfig): void {\n\t// input style:\n\tprimeNGConfig.inputStyle = signal('outlined');\n}\n","/**\n * @license Angular v18.2.10\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, ɵChangeDetectionScheduler, ɵRuntimeError, Injectable, InjectionToken, ɵperformanceMarkFeature, makeEnvironmentProviders, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2 } from '@angular/platform-browser';\nconst ANIMATION_PREFIX = '@';\nlet AsyncAnimationRendererFactory = /*#__PURE__*/(() => {\n class AsyncAnimationRendererFactory {\n /**\n *\n * @param moduleImpl allows to provide a mock implmentation (or will load the animation module)\n */\n constructor(doc, delegate, zone, animationType, moduleImpl) {\n this.doc = doc;\n this.delegate = delegate;\n this.zone = zone;\n this.animationType = animationType;\n this.moduleImpl = moduleImpl;\n this._rendererFactoryPromise = null;\n this.scheduler = inject(ɵChangeDetectionScheduler, {\n optional: true\n });\n this.loadingSchedulerFn = inject(ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, {\n optional: true\n });\n }\n /** @nodoc */\n ngOnDestroy() {\n // When the root view is removed, the renderer defers the actual work to the\n // `TransitionAnimationEngine` to do this, and the `TransitionAnimationEngine` doesn't actually\n // remove the DOM node, but just calls `markElementAsRemoved()`. The actual DOM node is not\n // removed until `TransitionAnimationEngine` \"flushes\".\n // Note: we already flush on destroy within the `InjectableAnimationEngine`. The injectable\n // engine is not provided when async animations are used.\n this._engine?.flush();\n }\n /**\n * @internal\n */\n loadImpl() {\n // Note on the `.then(m => m)` part below: Closure compiler optimizations in g3 require\n // `.then` to be present for a dynamic import (or an import should be `await`ed) to detect\n // the set of imported symbols.\n const loadFn = () => this.moduleImpl ?? import('@angular/animations/browser').then(m => m);\n let moduleImplPromise;\n if (this.loadingSchedulerFn) {\n moduleImplPromise = this.loadingSchedulerFn(loadFn);\n } else {\n moduleImplPromise = loadFn();\n }\n return moduleImplPromise.catch(e => {\n throw new ɵRuntimeError(5300 /* RuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Async loading for animations package was ' + 'enabled, but loading failed. Angular falls back to using regular rendering. ' + \"No animations will be displayed and their styles won't be applied.\");\n }).then(({\n ɵcreateEngine,\n ɵAnimationRendererFactory\n }) => {\n // We can't create the renderer yet because we might need the hostElement and the type\n // Both are provided in createRenderer().\n this._engine = ɵcreateEngine(this.animationType, this.doc);\n const rendererFactory = new ɵAnimationRendererFactory(this.delegate, this._engine, this.zone);\n this.delegate = rendererFactory;\n return rendererFactory;\n });\n }\n /**\n * This method is delegating the renderer creation to the factories.\n * It uses default factory while the animation factory isn't loaded\n * and will rely on the animation factory once it is loaded.\n *\n * Calling this method will trigger as side effect the loading of the animation module\n * if the renderered component uses animations.\n */\n createRenderer(hostElement, rendererType) {\n const renderer = this.delegate.createRenderer(hostElement, rendererType);\n if (renderer.ɵtype === 0 /* AnimationRendererType.Regular */) {\n // The factory is already loaded, this is an animation renderer\n return renderer;\n }\n // We need to prevent the DomRenderer to throw an error because of synthetic properties\n if (typeof renderer.throwOnSyntheticProps === 'boolean') {\n renderer.throwOnSyntheticProps = false;\n }\n // Using a dynamic renderer to switch the renderer implementation once the module is loaded.\n const dynamicRenderer = new DynamicDelegationRenderer(renderer);\n // Kick off the module loading if the component uses animations but the module hasn't been\n // loaded yet.\n if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {\n this._rendererFactoryPromise = this.loadImpl();\n }\n this._rendererFactoryPromise?.then(animationRendererFactory => {\n const animationRenderer = animationRendererFactory.createRenderer(hostElement, rendererType);\n dynamicRenderer.use(animationRenderer);\n this.scheduler?.notify(10 /* NotificationSource.AsyncAnimationsLoaded */);\n }).catch(e => {\n // Permanently use regular renderer when loading fails.\n dynamicRenderer.use(renderer);\n });\n return dynamicRenderer;\n }\n begin() {\n this.delegate.begin?.();\n }\n end() {\n this.delegate.end?.();\n }\n whenRenderingDone() {\n return this.delegate.whenRenderingDone?.() ?? Promise.resolve();\n }\n static {\n this.ɵfac = function AsyncAnimationRendererFactory_Factory(__ngFactoryType__) {\n i0.ɵɵinvalidFactory();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AsyncAnimationRendererFactory,\n factory: AsyncAnimationRendererFactory.ɵfac\n });\n }\n }\n return AsyncAnimationRendererFactory;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * The class allows to dynamicly switch between different renderer implementations\n * by changing the delegate renderer.\n */\nclass DynamicDelegationRenderer {\n constructor(delegate) {\n this.delegate = delegate;\n // List of callbacks that need to be replayed on the animation renderer once its loaded\n this.replay = [];\n this.ɵtype = 1 /* AnimationRendererType.Delegated */;\n }\n use(impl) {\n this.delegate = impl;\n if (this.replay !== null) {\n // Replay queued actions using the animation renderer to apply\n // all events and properties collected while loading was in progress.\n for (const fn of this.replay) {\n fn(impl);\n }\n // Set to `null` to indicate that the queue was processed\n // and we no longer need to collect events and properties.\n this.replay = null;\n }\n }\n get data() {\n return this.delegate.data;\n }\n destroy() {\n this.replay = null;\n this.delegate.destroy();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n get destroyNode() {\n return this.delegate.destroyNode;\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n }\n insertBefore(parent, newChild, refChild, isMove) {\n this.delegate.insertBefore(parent, newChild, refChild, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n this.delegate.removeChild(parent, oldChild, isHostElement);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n // We need to keep track of animation properties set on default renderer\n // So we can also set them also on the animation renderer\n if (this.shouldReplay(name)) {\n this.replay.push(renderer => renderer.setProperty(el, name, value));\n }\n this.delegate.setProperty(el, name, value);\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n // We need to keep track of animation events registred by the default renderer\n // So we can also register them against the animation renderer\n if (this.shouldReplay(eventName)) {\n this.replay.push(renderer => renderer.listen(target, eventName, callback));\n }\n return this.delegate.listen(target, eventName, callback);\n }\n shouldReplay(propOrEventName) {\n //`null` indicates that we no longer need to collect events and properties\n return this.replay !== null && propOrEventName.startsWith(ANIMATION_PREFIX);\n }\n}\n/**\n * Provides a custom scheduler function for the async loading of the animation package.\n *\n * Private token for investigation purposes\n */\nconst ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN = /*#__PURE__*/new InjectionToken(ngDevMode ? 'async_animation_loading_scheduler_fn' : '');\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * When you use this function instead of the eager `provideAnimations()`, animations won't be\n * rendered until the renderer is loaded.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimationsAsync()\n * ]\n * });\n * ```\n *\n * @param type pass `'noop'` as argument to disable animations.\n *\n * @publicApi\n */\nfunction provideAnimationsAsync(type = 'animations') {\n ɵperformanceMarkFeature('NgAsyncAnimations');\n return makeEnvironmentProviders([{\n provide: RendererFactory2,\n useFactory: (doc, renderer, zone) => {\n return new AsyncAnimationRendererFactory(doc, renderer, zone, type);\n },\n deps: [DOCUMENT, ɵDomRendererFactory2, NgZone]\n }, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations'\n }]);\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { provideAnimationsAsync, ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, AsyncAnimationRendererFactory as ɵAsyncAnimationRendererFactory };\n","{\n\t\"IGNORE_ERRORS\": [\n\t\t\"Transaction timed out due to inactivity\",\n\t\t\"ExpressionChangedAfterItHasBeenCheckedError\",\n\t\t\"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\",\n\t\t\"Error: Transport destroyed\",\n\t\t\"The object can not be found here\",\n\t\t\"ASSERTION ERROR: NodeInjector must have some connection to the module injector tree\",\n\t\t\"this._cancelRendering is not a function\",\n\t\t\"Error: Cannot find a differ supporting object\",\n\t\t\"at genericl10n_GenericL10n.get\"\n\t]\n}\n","import IGNORE_ERRORS from './constants/error-ignore.json';\nimport {ErrorHandler, inject, Injectable, Injector} from '@angular/core';\nimport clc from 'console-log-colors';\nimport {ToastConfig, ToastService} from '@utils';\nimport {Toast} from 'primeng/toast';\nimport {ApiError, isApiError} from '@auth/data-access';\nimport {VersionManagementService} from '@pwa';\nimport {captureException} from '@sentry/angular';\nimport {RouteHistoryService} from '@global-data';\nimport {Router} from '@angular/router';\n\nconst ERRORS_TO_IGNORE: string[] = IGNORE_ERRORS.IGNORE_ERRORS;\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class GlobalErrorHandler implements ErrorHandler {\n\tprivate readonly versionManagementService: VersionManagementService = inject(VersionManagementService);\n\tprotected readonly injector: Injector = inject(Injector);\n\tprivate readonly toastService: ToastService = inject(ToastService);\n\tprivate readonly routeHistoryService: RouteHistoryService = inject(RouteHistoryService);\n\tprivate readonly router: Router = inject(Router);\n\n\tconstructor() {}\n\n\tasync handleError(error: any): Promise {\n\t\tif (this.isErrorIgnored(error)) {\n\t\t\treturn;\n\t\t}\n\t\tconsole.error(clc.red('[Global Error Handler]'), error);\n\t\tif (this.isFetchModuleError(error)) {\n\t\t\tconst lastRoute = this.routeHistoryService.getRouteHistory().find(route => route && route !== this.router.url) || '/';\n\t\t\tdebugger;\n\t\t\tconst errorInfo = {\n\t\t\t\terror,\n\t\t\t\ttimestamp: new Date().toISOString(),\n\t\t\t};\n\t\t\tlocalStorage.setItem('FetchModuleError', JSON.stringify(errorInfo));\n\t\t\tawait this.versionManagementService.checkForUpdates();\n\t\t\tsetTimeout(() => {\n\t\t\t\twindow.location.href = `${window.location.origin}${lastRoute}`;\n\t\t\t}, 1000);\n\t\t\treturn;\n\t\t}\n\t\tdebugger;\n\n\t\tif (isApiError(error)) {\n\t\t\tthis.showErrorToast(error);\n\t\t} else {\n\t\t\tcaptureException(error);\n\t\t}\n\t}\n\n\tprivate isErrorIgnored(error: any): boolean {\n\t\treturn ERRORS_TO_IGNORE.some((errorToIgnore: string) => error?.message?.includes(errorToIgnore));\n\t}\n\n\tprivate isFetchModuleError(error: any): boolean {\n\t\treturn error instanceof Error && error.message.includes('Failed to fetch dynamically imported module');\n\t}\n\n\tprivate showErrorToast(apiError: ApiError, errorDetailsPrefixLabel: string = window.translate('dc-error.error-details')): void {\n\t\tconst {apiErrorObject} = apiError;\n\t\tconst toast: ToastConfig = {\n\t\t\tmessage: window.translate('dc-error.default-message'),\n\t\t\tsubMessage: `${errorDetailsPrefixLabel} ${apiErrorObject?.userMessage ? window.translate(apiErrorObject.userMessage) : apiError?.name}`,\n\t\t\tseverity: 'error',\n\t\t\ttype: 'error',\n\t\t\tsticky: true,\n\t\t};\n\n\t\ttoast.actionButton = {\n\t\t\taction: function (config: ToastConfig, appToast: Toast, injector: Injector): void {\n\t\t\t\tdebugger;\n\t\t\t\t// injector.get(SentryService).showErrorReportDialog(apiError);\n\t\t\t},\n\t\t\tautoCloseOnAction: true,\n\t\t\tlabel: window.translate('dc-error.report.report-btn'),\n\t\t\ticon: 'fa-duotone fa-exclamation-circle',\n\t\t};\n\n\t\tthis.toastService.open(toast);\n\t}\n}\n","import {APP_INITIALIZER, EnvironmentProviders, ErrorHandler, Injector, Provider} from '@angular/core';\nimport {provideAnimationsAsync} from '@angular/platform-browser/animations/async';\nimport {ConfirmationService, MessageService, PrimeNGConfig} from 'primeng/api';\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {ApiInterceptor} from '@auth/data-access';\nimport {LanguageService} from '@core/language';\nimport {DeviceService} from '@shared/device';\nimport {DialogControlService, GLOBAL_DIALOG_CONTROLLERS, GLOBAL_DIALOG_CONTROLLERS_Factory} from '@shared/dialog';\nimport {SyncerService, ToastService} from '@utils';\nimport {AppInitializer} from './app.initializer';\nimport {StorageService} from '@core/storage';\nimport {GlobalErrorHandler} from '@error-management/error-handler';\nimport {GlobalsService, RouteHistoryService} from '@global-data';\nimport {DialogService} from 'primeng/dynamicdialog';\nimport {TraceService} from '@sentry/angular';\n\nconst errorHandlingProviders: Array = [\n\t{\n\t\tprovide: ErrorHandler,\n\t\tuseClass: GlobalErrorHandler,\n\t\tdeps: [Injector, ToastService],\n\t},\n];\n\nconst _providers: Array = [\n\t// Don't put any providers before APP_INITIALIZER!\n\t{\n\t\tprovide: APP_INITIALIZER,\n\t\tuseFactory: AppInitializer,\n\t\tdeps: [Injector, StorageService, LanguageService, DeviceService, PrimeNGConfig, SyncerService, RouteHistoryService, GlobalsService, TraceService],\n\t\tmulti: true,\n\t},\n\t{\n\t\tprovide: GLOBAL_DIALOG_CONTROLLERS,\n\t\tdeps: [Injector],\n\t\tuseFactory: GLOBAL_DIALOG_CONTROLLERS_Factory,\n\t},\n\n\t...errorHandlingProviders,\n\t{\n\t\tprovide: HTTP_INTERCEPTORS,\n\t\tdeps: [],\n\t\tuseClass: ApiInterceptor,\n\t\tmulti: true,\n\t},\n\n\tprovideAnimationsAsync(),\n];\n\nconst _appServices: Array = [MessageService, DialogControlService, DialogService, ConfirmationService];\n\nconst AppProviders = [..._providers, ..._appServices];\nexport default AppProviders;\n","/**\n * @license Angular v18.2.10\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule, ɵperformanceMarkFeature } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationRendererFactory, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, NoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\nlet InjectableAnimationEngine = /*#__PURE__*/(() => {\n class InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer) {\n super(doc, driver, normalizer);\n }\n ngOnDestroy() {\n this.flush();\n }\n static {\n this.ɵfac = function InjectableAnimationEngine_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || InjectableAnimationEngine)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.AnimationDriver), i0.ɵɵinject(i1.ɵAnimationStyleNormalizer));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InjectableAnimationEngine,\n factory: InjectableAnimationEngine.ɵfac\n });\n }\n }\n return InjectableAnimationEngine;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [{\n provide: ɵAnimationStyleNormalizer,\n useFactory: instantiateDefaultStyleNormalizer\n}, {\n provide: ɵAnimationEngine,\n useClass: InjectableAnimationEngine\n}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n}];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useFactory: () => new ɵWebAnimationsDriver()\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'BrowserAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useClass: NoopAnimationDriver\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'NoopAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n\n/**\n * Exports `BrowserModule` with additional dependency-injection providers\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nlet BrowserAnimationsModule = /*#__PURE__*/(() => {\n class BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS : BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static {\n this.ɵfac = function BrowserAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BrowserAnimationsModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BrowserAnimationsModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n }\n }\n return BrowserAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n ɵperformanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nlet NoopAnimationsModule = /*#__PURE__*/(() => {\n class NoopAnimationsModule {\n static {\n this.ɵfac = function NoopAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NoopAnimationsModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NoopAnimationsModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n }\n }\n return NoopAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","class TranslateHttpLoader {\n http;\n prefix;\n suffix;\n constructor(http, prefix = \"/assets/i18n/\", suffix = \".json\") {\n this.http = http;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n /**\n * Gets the translations from the server\n */\n getTranslation(lang) {\n return this.http.get(`${this.prefix}${lang}${this.suffix}`);\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TranslateHttpLoader };\n","// required for AOT compilation\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {HttpClient} from '@angular/common/http';\n\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\n\t// to prevent cache issues with translations we\tappend a timestamp to the url\n\treturn new TranslateHttpLoader(http, './assets/i18n/', '.json?v=' + Date.now());\n}\n","import {ImportProvidersSource} from '@angular/core';\nimport {NgxUiLoaderModule, NgxUiLoaderRouterModule} from 'ngx-ui-loader';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {Loader} from '@utils';\nimport GLOBAL_LOADER_ID = Loader.GLOBAL_LOADER_ID;\n\nexport const ExternalModules: ImportProvidersSource[] = [\n\t// Angular Material Dialog:\n\tMatDialogModule,\n\t// Ngx Ui Loader:\n\tNgxUiLoaderModule.forRoot({\n\t\tmaxTime: 5000,\n\t}),\n\tNgxUiLoaderRouterModule.forRoot({\n\t\tloaderId: GLOBAL_LOADER_ID,\n\t}),\n];\n","export * from './app-info.feature-store.config';\nexport * from './groups.feature-store.config';\nexport * from './global-search.feature-store.config';\nexport * from './cycle-sign.feature-store.config';\nexport * from './form-group.feature-store.config';\nexport * from './auth.feature-store.config';\nexport * from './users.feature-store.config';\nexport * from './company-settings.feature-store.config';\nexport * from './meta-tags.feature-store.config';","import {IFeatureStoresSchema} from '../types';\nimport {AppInfoStore} from '@cron/data-access';\nimport {AuthStore} from '@auth/data-access';\nimport {CycleSignStore} from '@cycles/sign/data-access';\nimport {FormGroupStore} from '@cycles/data-access';\nimport {GroupsStore, UsersStore} from '@users/data-access';\nimport {GlobalSearchStore} from '@app-layout/global-search/data-access';\nimport {CompanySettingsStore} from '@company-settings/data-access';\nimport {MetaTagsStore} from '@meta-tags/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport appInfoInitialState = AppInfoStore.appInfoInitialState;\nimport authInitialState = AuthStore.authInitialState;\nimport cycleSignInitialState = CycleSignStore.cycleSignInitialState;\nimport formGroupInitialState = FormGroupStore.formGroupInitialState;\nimport usersInitialState = UsersStore.usersInitialState;\nimport globalSearchInitialState = GlobalSearchStore.globalSearchInitialState;\nimport companySettingsInitialState = CompanySettingsStore.companySettingsInitialState;\nimport metaTagsInitialState = MetaTagsStore.metaTagsInitialState;\nimport groupsInitialState = GroupsStore.groupsInitialState;\n\nexport const featureStoresInitialState: IFeatureStoresSchema = {\n\t[FeatureStoreNames.APP_INFO_FEATURE_KEY]: appInfoInitialState,\n\t[FeatureStoreNames.AUTH_FEATURE_KEY]: authInitialState,\n\t[FeatureStoreNames.CYCLE_SIGN_FEATURE_KEY]: cycleSignInitialState,\n\t[FeatureStoreNames.FORM_GROUP_FEATURE_KEY]: formGroupInitialState,\n\t[FeatureStoreNames.USERS_FEATURE_KEY]: usersInitialState,\n\t[FeatureStoreNames.GLOBAL_SEARCH_FEATURE_KEY]: globalSearchInitialState,\n\t[FeatureStoreNames.COMPANY_SETTINGS_FEATURE_KEY]: companySettingsInitialState,\n\t[FeatureStoreNames.META_TAGS_FEATURE_KEY]: metaTagsInitialState,\n\t[FeatureStoreNames.GROUPS_FEATURE_KEY]: groupsInitialState,\n};\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {AppInfoEffects, appInfoReducer, AppInfoStore} from '@cron/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport IAppInfoFeatureStore = AppInfoStore.IAppInfoFeatureStore;\n\nexport const appInfoFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.APP_INFO_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.APP_INFO_FEATURE_KEY] as IAppInfoFeatureStore,\n\teffects: [AppInfoEffects],\n\treducer: appInfoReducer,\n\n\tonAppInit(state: IAppInfoFeatureStore): IAppInfoFeatureStore {\n\t\treturn state;\n\t},\n\tonLoginFn(state: IAppInfoFeatureStore): IAppInfoFeatureStore {\n\t\treturn state;\n\t},\n\tonLogout(state: IAppInfoFeatureStore): IAppInfoFeatureStore {\n\t\treturn {\n\t\t\t...featureStoresInitialState[FeatureStoreNames.APP_INFO_FEATURE_KEY],\n\t\t\tindicators: state.indicators,\n\t\t} as IAppInfoFeatureStore;\n\t},\n};\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {GroupsEffects, groupsReducer, GroupsStore} from '@users/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport IGroupsState = GroupsStore.IGroupsState;\n\nexport const groupsFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.GROUPS_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.GROUPS_FEATURE_KEY] as IGroupsState,\n\teffects: [GroupsEffects],\n\treducer: groupsReducer,\n\n\tonAppInit(state: IGroupsState): IGroupsState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: IGroupsState): IGroupsState {\n\t\treturn state;\n\t},\n\tonLogout(state: IGroupsState): IGroupsState {\n\t\treturn this.initialState;\n\t},\n};\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {globalSearchReducer, GlobalSearchStore} from '@app-layout/global-search/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport IGlobalSearchState = GlobalSearchStore.IGlobalSearchState;\n\nexport const globalSearchFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.GLOBAL_SEARCH_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.GLOBAL_SEARCH_FEATURE_KEY] as IGlobalSearchState,\n\teffects: [],\n\treducer: globalSearchReducer,\n\n\tonAppInit(state: IGlobalSearchState): IGlobalSearchState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: IGlobalSearchState): IGlobalSearchState {\n\t\treturn state;\n\t},\n\tonLogout(state: IGlobalSearchState): IGlobalSearchState {\n\t\treturn this.initialState;\n\t},\n};\n\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {CycleSignEffects, cycleSignReducer, CycleSignStore} from '@cycles/sign/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport ICycleSignState = CycleSignStore.ICycleSignState;\n\nexport const cycleSignFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.CYCLE_SIGN_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.CYCLE_SIGN_FEATURE_KEY] as ICycleSignState,\n\teffects: [CycleSignEffects],\n\treducer: cycleSignReducer,\n\n\tonAppInit(state: ICycleSignState): ICycleSignState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: ICycleSignState): ICycleSignState {\n\t\treturn state;\n\t},\n\tonLogout(state: ICycleSignState): ICycleSignState {\n\t\treturn state;\n\t},\n};\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {FormGroupEffects, formGroupReducer, FormGroupStore} from '@cycles/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport IFormGroupsState = FormGroupStore.IFormGroupsState;\n\nexport const formGroupFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.FORM_GROUP_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.FORM_GROUP_FEATURE_KEY] as IFormGroupsState,\n\teffects: [FormGroupEffects],\n\treducer: formGroupReducer,\n\n\tonAppInit(state: IFormGroupsState): IFormGroupsState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: IFormGroupsState): IFormGroupsState {\n\t\treturn state;\n\t},\n\tonLogout(state: IFormGroupsState): IFormGroupsState {\n\t\treturn this.initialState;\n\t},\n};\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport {ActiveUserDetailsEffects, ActiveUserPortraitEffects, ActiveUserStampsEffects, AuthEffects, authReducer, AuthStore} from '@auth/data-access';\nimport IAuthState = AuthStore.IAuthState;\n\nexport const authFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.AUTH_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.AUTH_FEATURE_KEY] as IAuthState,\n\teffects: [AuthEffects, ActiveUserDetailsEffects, ActiveUserStampsEffects, ActiveUserPortraitEffects],\n\treducer: authReducer,\n\n\tonAppInit(state: IAuthState): IAuthState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: IAuthState): IAuthState {\n\t\treturn state;\n\t},\n\tonLogout(state: IAuthState): IAuthState {\n\t\treturn {\n\t\t\t...featureStoresInitialState[FeatureStoreNames.AUTH_FEATURE_KEY],\n\t\t} as IAuthState;\n\t},\n};\n\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {AllUsersEffects, MultiUsersEffects, PortraitEffects, TempUserEffects, UserEffects, usersReducer, UsersStore} from '@users/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport IUsersState = UsersStore.IUsersState;\n\nexport const usersFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.USERS_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.USERS_FEATURE_KEY] as IUsersState,\n\teffects: [AllUsersEffects, UserEffects, TempUserEffects, MultiUsersEffects, PortraitEffects],\n\treducer: usersReducer,\n\n\tonAppInit(state: IUsersState): IUsersState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: IUsersState): IUsersState {\n\t\treturn state;\n\t},\n\tonLogout(state: IUsersState): IUsersState {\n\t\treturn this.initialState;\n\t},\n};\n","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {CompanySettingsEffects, companySettingsReducer, CompanySettingsStore} from '@company-settings/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport ICompanySettingsState = CompanySettingsStore.ICompanySettingsState;\n\nexport const companySettingsFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.COMPANY_SETTINGS_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.COMPANY_SETTINGS_FEATURE_KEY] as ICompanySettingsState,\n\teffects: [CompanySettingsEffects],\n\treducer: companySettingsReducer,\n\n\tonAppInit(state: ICompanySettingsState): ICompanySettingsState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: ICompanySettingsState): ICompanySettingsState {\n\t\treturn state;\n\t},\n\tonLogout(state: ICompanySettingsState): ICompanySettingsState {\n\t\treturn this.initialState;\n\t},\n};\n\nexport default companySettingsFeatureStoreConfig;","import {FeatureStoreConfig} from '../../types/feature-store-config.type';\nimport {MetaTagsEffects, metaTagsReducer, MetaTagsStore} from '@meta-tags/data-access';\nimport {FeatureStoreNames} from '@shared-types';\nimport {featureStoresInitialState} from '../feature-stores.initial-state';\nimport IMetaTagsState = MetaTagsStore.IMetaTagsState;\n\nexport const metaTagsFeatureStoreConfig: FeatureStoreConfig = {\n\tkey: FeatureStoreNames.META_TAGS_FEATURE_KEY,\n\tinitialState: featureStoresInitialState[FeatureStoreNames.META_TAGS_FEATURE_KEY] as IMetaTagsState,\n\teffects: [MetaTagsEffects],\n\treducer: metaTagsReducer,\n\n\tonAppInit(state: IMetaTagsState): IMetaTagsState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: IMetaTagsState): IMetaTagsState {\n\t\treturn state;\n\t},\n\tonLogout(state: IMetaTagsState): IMetaTagsState {\n\t\treturn this.initialState;\n\t},\n};\n","import {FeatureStoreSchema, IFeatureStoresSchema} from '../types';\nimport {BaseStoreConfig} from '../../shared/base-store-config.type';\n\nimport * as CONFIGS from './feature-store-configurations/index';\nimport {FeatureStoreNames} from '@shared-types';\n\nexport namespace FeatureStoreConfigs {\n\texport type FeatureStoreConfigsStruct = Partial>>;\n\n\texport const featureStoreConfigs: FeatureStoreConfigsStruct = {\n\t\t/*\t--------------------------------------------- Feature Stores --------------------------------------------- */\n\t\t[FeatureStoreNames.APP_INFO_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.AUTH_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.CYCLE_SIGN_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.FORM_GROUP_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.USERS_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.GLOBAL_SEARCH_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.COMPANY_SETTINGS_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.META_TAGS_FEATURE_KEY]: undefined,\n\t\t[FeatureStoreNames.GROUPS_FEATURE_KEY]: undefined,\n\t};\n\n\tObject.values(CONFIGS).forEach(config => {\n\t\tif (config.key in featureStoreConfigs) {\n\t\t\tfeatureStoreConfigs[config.key] = config;\n\t\t}\n\t});\n}\n","import * as Types from './types';\nimport * as Configs from './configs';\n\nexport namespace AppFeatureStores {\n\t// Types:\n\texport import IFeatureStoresSchema = Types.IFeatureStoresSchema;\n\texport import FeatureStoreSchema = Types.FeatureStoreSchema;\n\t// Configs:\n\texport import FeatureStoreConfigs = Configs.FeatureStoreConfigs;\n\texport import featureStoresInitialState = Configs.featureStoresInitialState;\n}\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, NgZone, Injectable, Inject, makeEnvironmentProviders, NgModule } from '@angular/core';\nimport * as i2 from '@ngrx/store';\nimport { ActionsSubject, UPDATE, INIT, INITIAL_STATE, StateObservable, ReducerManagerDispatcher } from '@ngrx/store';\nimport { EMPTY, Observable, of, merge, queueScheduler, ReplaySubject } from 'rxjs';\nimport { share, filter, map, concatMap, timeout, debounceTime, catchError, take, takeUntil, switchMap, skip, observeOn, withLatestFrom, scan } from 'rxjs/operators';\nimport { toSignal } from '@angular/core/rxjs-interop';\nconst PERFORM_ACTION = 'PERFORM_ACTION';\nconst REFRESH = 'REFRESH';\nconst RESET = 'RESET';\nconst ROLLBACK = 'ROLLBACK';\nconst COMMIT = 'COMMIT';\nconst SWEEP = 'SWEEP';\nconst TOGGLE_ACTION = 'TOGGLE_ACTION';\nconst SET_ACTIONS_ACTIVE = 'SET_ACTIONS_ACTIVE';\nconst JUMP_TO_STATE = 'JUMP_TO_STATE';\nconst JUMP_TO_ACTION = 'JUMP_TO_ACTION';\nconst IMPORT_STATE = 'IMPORT_STATE';\nconst LOCK_CHANGES = 'LOCK_CHANGES';\nconst PAUSE_RECORDING = 'PAUSE_RECORDING';\nclass PerformAction {\n constructor(action, timestamp) {\n this.action = action;\n this.timestamp = timestamp;\n this.type = PERFORM_ACTION;\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n }\n}\nclass Refresh {\n constructor() {\n this.type = REFRESH;\n }\n}\nclass Reset {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = RESET;\n }\n}\nclass Rollback {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = ROLLBACK;\n }\n}\nclass Commit {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = COMMIT;\n }\n}\nclass Sweep {\n constructor() {\n this.type = SWEEP;\n }\n}\nclass ToggleAction {\n constructor(id) {\n this.id = id;\n this.type = TOGGLE_ACTION;\n }\n}\nclass SetActionsActive {\n constructor(start, end, active = true) {\n this.start = start;\n this.end = end;\n this.active = active;\n this.type = SET_ACTIONS_ACTIVE;\n }\n}\nclass JumpToState {\n constructor(index) {\n this.index = index;\n this.type = JUMP_TO_STATE;\n }\n}\nclass JumpToAction {\n constructor(actionId) {\n this.actionId = actionId;\n this.type = JUMP_TO_ACTION;\n }\n}\nclass ImportState {\n constructor(nextLiftedState) {\n this.nextLiftedState = nextLiftedState;\n this.type = IMPORT_STATE;\n }\n}\nclass LockChanges {\n constructor(status) {\n this.status = status;\n this.type = LOCK_CHANGES;\n }\n}\nclass PauseRecording {\n constructor(status) {\n this.status = status;\n this.type = PAUSE_RECORDING;\n }\n}\n\n/**\n * Chrome extension documentation\n * @see https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md\n * Firefox extension documentation\n * @see https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md\n */\nclass StoreDevtoolsConfig {\n constructor() {\n /**\n * Maximum allowed actions to be stored in the history tree (default: `false`)\n */\n this.maxAge = false;\n }\n}\nconst STORE_DEVTOOLS_CONFIG = new InjectionToken('@ngrx/store-devtools Options');\n/**\n * Used to provide a `StoreDevtoolsConfig` for the store-devtools.\n */\nconst INITIAL_OPTIONS = new InjectionToken('@ngrx/store-devtools Initial Config');\nfunction noMonitor() {\n return null;\n}\nconst DEFAULT_NAME = 'NgRx Store DevTools';\nfunction createConfig(optionsInput) {\n const DEFAULT_OPTIONS = {\n maxAge: false,\n monitor: noMonitor,\n actionSanitizer: undefined,\n stateSanitizer: undefined,\n name: DEFAULT_NAME,\n serialize: false,\n logOnly: false,\n autoPause: false,\n trace: false,\n traceLimit: 75,\n // Add all features explicitly. This prevent buggy behavior for\n // options like \"lock\" which might otherwise not show up.\n features: {\n pause: true,\n // Start/pause recording of dispatched actions\n lock: true,\n // Lock/unlock dispatching actions and side effects\n persist: true,\n // Persist states on page reloading\n export: true,\n // Export history of actions in a file\n import: 'custom',\n // Import history of actions from a file\n jump: true,\n // Jump back and forth (time travelling)\n skip: true,\n // Skip (cancel) actions\n reorder: true,\n // Drag and drop actions in the history list\n dispatch: true,\n // Dispatch custom actions or action creators\n test: true // Generate tests for the selected actions\n },\n connectInZone: false\n };\n const options = typeof optionsInput === 'function' ? optionsInput() : optionsInput;\n const logOnly = options.logOnly ? {\n pause: true,\n export: true,\n test: true\n } : false;\n const features = options.features || logOnly || DEFAULT_OPTIONS.features;\n if (features.import === true) {\n features.import = 'custom';\n }\n const config = Object.assign({}, DEFAULT_OPTIONS, {\n features\n }, options);\n if (config.maxAge && config.maxAge < 2) {\n throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config.maxAge}`);\n }\n return config;\n}\nfunction difference(first, second) {\n return first.filter(item => second.indexOf(item) < 0);\n}\n/**\n * Provides an app's view into the state of the lifted store.\n */\nfunction unliftState(liftedState) {\n const {\n computedStates,\n currentStateIndex\n } = liftedState;\n // At start up NgRx dispatches init actions,\n // When these init actions are being filtered out by the predicate or safe/block list options\n // we don't have a complete computed states yet.\n // At this point it could happen that we're out of bounds, when this happens we fall back to the last known state\n if (currentStateIndex >= computedStates.length) {\n const {\n state\n } = computedStates[computedStates.length - 1];\n return state;\n }\n const {\n state\n } = computedStates[currentStateIndex];\n return state;\n}\nfunction unliftAction(liftedState) {\n return liftedState.actionsById[liftedState.nextActionId - 1];\n}\n/**\n * Lifts an app's action into an action on the lifted store.\n */\nfunction liftAction(action) {\n return new PerformAction(action, +Date.now());\n}\n/**\n * Sanitizes given actions with given function.\n */\nfunction sanitizeActions(actionSanitizer, actions) {\n return Object.keys(actions).reduce((sanitizedActions, actionIdx) => {\n const idx = Number(actionIdx);\n sanitizedActions[idx] = sanitizeAction(actionSanitizer, actions[idx], idx);\n return sanitizedActions;\n }, {});\n}\n/**\n * Sanitizes given action with given function.\n */\nfunction sanitizeAction(actionSanitizer, action, actionIdx) {\n return {\n ...action,\n action: actionSanitizer(action.action, actionIdx)\n };\n}\n/**\n * Sanitizes given states with given function.\n */\nfunction sanitizeStates(stateSanitizer, states) {\n return states.map((computedState, idx) => ({\n state: sanitizeState(stateSanitizer, computedState.state, idx),\n error: computedState.error\n }));\n}\n/**\n * Sanitizes given state with given function.\n */\nfunction sanitizeState(stateSanitizer, state, stateIdx) {\n return stateSanitizer(state, stateIdx);\n}\n/**\n * Read the config and tell if actions should be filtered\n */\nfunction shouldFilterActions(config) {\n return config.predicate || config.actionsSafelist || config.actionsBlocklist;\n}\n/**\n * Return a full filtered lifted state\n */\nfunction filterLiftedState(liftedState, predicate, safelist, blocklist) {\n const filteredStagedActionIds = [];\n const filteredActionsById = {};\n const filteredComputedStates = [];\n liftedState.stagedActionIds.forEach((id, idx) => {\n const liftedAction = liftedState.actionsById[id];\n if (!liftedAction) return;\n if (idx && isActionFiltered(liftedState.computedStates[idx], liftedAction, predicate, safelist, blocklist)) {\n return;\n }\n filteredActionsById[id] = liftedAction;\n filteredStagedActionIds.push(id);\n filteredComputedStates.push(liftedState.computedStates[idx]);\n });\n return {\n ...liftedState,\n stagedActionIds: filteredStagedActionIds,\n actionsById: filteredActionsById,\n computedStates: filteredComputedStates\n };\n}\n/**\n * Return true is the action should be ignored\n */\nfunction isActionFiltered(state, action, predicate, safelist, blockedlist) {\n const predicateMatch = predicate && !predicate(state, action.action);\n const safelistMatch = safelist && !action.action.type.match(safelist.map(s => escapeRegExp(s)).join('|'));\n const blocklistMatch = blockedlist && action.action.type.match(blockedlist.map(s => escapeRegExp(s)).join('|'));\n return predicateMatch || safelistMatch || blocklistMatch;\n}\n/**\n * Return string with escaped RegExp special characters\n * https://stackoverflow.com/a/6969486/1337347\n */\nfunction escapeRegExp(s) {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\nfunction injectZoneConfig(connectInZone) {\n const ngZone = connectInZone ? inject(NgZone) : null;\n return {\n ngZone,\n connectInZone\n };\n}\nlet DevtoolsDispatcher = /*#__PURE__*/(() => {\n class DevtoolsDispatcher extends ActionsSubject {\n /** @nocollapse */static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵDevtoolsDispatcher_BaseFactory;\n return function DevtoolsDispatcher_Factory(__ngFactoryType__) {\n return (ɵDevtoolsDispatcher_BaseFactory || (ɵDevtoolsDispatcher_BaseFactory = i0.ɵɵgetInheritedFactory(DevtoolsDispatcher)))(__ngFactoryType__ || DevtoolsDispatcher);\n };\n })();\n }\n /** @nocollapse */\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DevtoolsDispatcher,\n factory: DevtoolsDispatcher.ɵfac\n });\n }\n }\n return DevtoolsDispatcher;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst ExtensionActionTypes = {\n START: 'START',\n DISPATCH: 'DISPATCH',\n STOP: 'STOP',\n ACTION: 'ACTION'\n};\nconst REDUX_DEVTOOLS_EXTENSION = new InjectionToken('@ngrx/store-devtools Redux Devtools Extension');\nlet DevtoolsExtension = /*#__PURE__*/(() => {\n class DevtoolsExtension {\n constructor(devtoolsExtension, config, dispatcher) {\n this.config = config;\n this.dispatcher = dispatcher;\n this.zoneConfig = injectZoneConfig(this.config.connectInZone);\n this.devtoolsExtension = devtoolsExtension;\n this.createActionStreams();\n }\n notify(action, state) {\n if (!this.devtoolsExtension) {\n return;\n }\n // Check to see if the action requires a full update of the liftedState.\n // If it is a simple action generated by the user's app and the recording\n // is not locked/paused, only send the action and the current state (fast).\n //\n // A full liftedState update (slow: serializes the entire liftedState) is\n // only required when:\n // a) redux-devtools-extension fires the @@Init action (ignored by\n // @ngrx/store-devtools)\n // b) an action is generated by an @ngrx module (e.g. @ngrx/effects/init\n // or @ngrx/store/update-reducers)\n // c) the state has been recomputed due to time-traveling\n // d) any action that is not a PerformAction to err on the side of\n // caution.\n if (action.type === PERFORM_ACTION) {\n if (state.isLocked || state.isPaused) {\n return;\n }\n const currentState = unliftState(state);\n if (shouldFilterActions(this.config) && isActionFiltered(currentState, action, this.config.predicate, this.config.actionsSafelist, this.config.actionsBlocklist)) {\n return;\n }\n const sanitizedState = this.config.stateSanitizer ? sanitizeState(this.config.stateSanitizer, currentState, state.currentStateIndex) : currentState;\n const sanitizedAction = this.config.actionSanitizer ? sanitizeAction(this.config.actionSanitizer, action, state.nextActionId) : action;\n this.sendToReduxDevtools(() => this.extensionConnection.send(sanitizedAction, sanitizedState));\n } else {\n // Requires full state update\n const sanitizedLiftedState = {\n ...state,\n stagedActionIds: state.stagedActionIds,\n actionsById: this.config.actionSanitizer ? sanitizeActions(this.config.actionSanitizer, state.actionsById) : state.actionsById,\n computedStates: this.config.stateSanitizer ? sanitizeStates(this.config.stateSanitizer, state.computedStates) : state.computedStates\n };\n this.sendToReduxDevtools(() => this.devtoolsExtension.send(null, sanitizedLiftedState, this.getExtensionConfig(this.config)));\n }\n }\n createChangesObservable() {\n if (!this.devtoolsExtension) {\n return EMPTY;\n }\n return new Observable(subscriber => {\n const connection = this.zoneConfig.connectInZone ?\n // To reduce change detection cycles, we need to run the `connect` method\n // outside of the Angular zone. The `connect` method adds a `message`\n // event listener to communicate with an extension using `window.postMessage`\n // and handle message events.\n this.zoneConfig.ngZone.runOutsideAngular(() => this.devtoolsExtension.connect(this.getExtensionConfig(this.config))) : this.devtoolsExtension.connect(this.getExtensionConfig(this.config));\n this.extensionConnection = connection;\n connection.init();\n connection.subscribe(change => subscriber.next(change));\n return connection.unsubscribe;\n });\n }\n createActionStreams() {\n // Listens to all changes\n const changes$ = this.createChangesObservable().pipe(share());\n // Listen for the start action\n const start$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.START));\n // Listen for the stop action\n const stop$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.STOP));\n // Listen for lifted actions\n const liftedActions$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.DISPATCH), map(change => this.unwrapAction(change.payload)), concatMap(action => {\n if (action.type === IMPORT_STATE) {\n // State imports may happen in two situations:\n // 1. Explicitly by user\n // 2. User activated the \"persist state accross reloads\" option\n // and now the state is imported during reload.\n // Because of option 2, we need to give possible\n // lazy loaded reducers time to instantiate.\n // As soon as there is no UPDATE action within 1 second,\n // it is assumed that all reducers are loaded.\n return this.dispatcher.pipe(filter(action => action.type === UPDATE), timeout(1000), debounceTime(1000), map(() => action), catchError(() => of(action)), take(1));\n } else {\n return of(action);\n }\n }));\n // Listen for unlifted actions\n const actions$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.ACTION), map(change => this.unwrapAction(change.payload)));\n const actionsUntilStop$ = actions$.pipe(takeUntil(stop$));\n const liftedUntilStop$ = liftedActions$.pipe(takeUntil(stop$));\n this.start$ = start$.pipe(takeUntil(stop$));\n // Only take the action sources between the start/stop events\n this.actions$ = this.start$.pipe(switchMap(() => actionsUntilStop$));\n this.liftedActions$ = this.start$.pipe(switchMap(() => liftedUntilStop$));\n }\n unwrapAction(action) {\n // indirect eval according to https://esbuild.github.io/content-types/#direct-eval\n return typeof action === 'string' ? (0, eval)(`(${action})`) : action;\n }\n getExtensionConfig(config) {\n const extensionOptions = {\n name: config.name,\n features: config.features,\n serialize: config.serialize,\n autoPause: config.autoPause ?? false,\n trace: config.trace ?? false,\n traceLimit: config.traceLimit ?? 75\n // The action/state sanitizers are not added to the config\n // because sanitation is done in this class already.\n // It is done before sending it to the devtools extension for consistency:\n // - If we call extensionConnection.send(...),\n // the extension would call the sanitizers.\n // - If we call devtoolsExtension.send(...) (aka full state update),\n // the extension would NOT call the sanitizers, so we have to do it ourselves.\n };\n if (config.maxAge !== false /* support === 0 */) {\n extensionOptions.maxAge = config.maxAge;\n }\n return extensionOptions;\n }\n sendToReduxDevtools(send) {\n try {\n send();\n } catch (err) {\n console.warn('@ngrx/store-devtools: something went wrong inside the redux devtools', err);\n }\n }\n /** @nocollapse */\n static {\n this.ɵfac = function DevtoolsExtension_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || DevtoolsExtension)(i0.ɵɵinject(REDUX_DEVTOOLS_EXTENSION), i0.ɵɵinject(STORE_DEVTOOLS_CONFIG), i0.ɵɵinject(DevtoolsDispatcher));\n };\n }\n /** @nocollapse */\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DevtoolsExtension,\n factory: DevtoolsExtension.ɵfac\n });\n }\n }\n return DevtoolsExtension;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst INIT_ACTION = {\n type: INIT\n};\nconst RECOMPUTE = '@ngrx/store-devtools/recompute';\nconst RECOMPUTE_ACTION = {\n type: RECOMPUTE\n};\n/**\n * Computes the next entry in the log by applying an action.\n */\nfunction computeNextEntry(reducer, action, state, error, errorHandler) {\n if (error) {\n return {\n state,\n error: 'Interrupted by an error up the chain'\n };\n }\n let nextState = state;\n let nextError;\n try {\n nextState = reducer(state, action);\n } catch (err) {\n nextError = err.toString();\n errorHandler.handleError(err);\n }\n return {\n state: nextState,\n error: nextError\n };\n}\n/**\n * Runs the reducer on invalidated actions to get a fresh computation log.\n */\nfunction recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused) {\n // Optimization: exit early and return the same reference\n // if we know nothing could have changed.\n if (minInvalidatedStateIndex >= computedStates.length && computedStates.length === stagedActionIds.length) {\n return computedStates;\n }\n const nextComputedStates = computedStates.slice(0, minInvalidatedStateIndex);\n // If the recording is paused, recompute all states up until the pause state,\n // else recompute all states.\n const lastIncludedActionId = stagedActionIds.length - (isPaused ? 1 : 0);\n for (let i = minInvalidatedStateIndex; i < lastIncludedActionId; i++) {\n const actionId = stagedActionIds[i];\n const action = actionsById[actionId].action;\n const previousEntry = nextComputedStates[i - 1];\n const previousState = previousEntry ? previousEntry.state : committedState;\n const previousError = previousEntry ? previousEntry.error : undefined;\n const shouldSkip = skippedActionIds.indexOf(actionId) > -1;\n const entry = shouldSkip ? previousEntry : computeNextEntry(reducer, action, previousState, previousError, errorHandler);\n nextComputedStates.push(entry);\n }\n // If the recording is paused, the last state will not be recomputed,\n // because it's essentially not part of the state history.\n if (isPaused) {\n nextComputedStates.push(computedStates[computedStates.length - 1]);\n }\n return nextComputedStates;\n}\nfunction liftInitialState(initialCommittedState, monitorReducer) {\n return {\n monitorState: monitorReducer(undefined, {}),\n nextActionId: 1,\n actionsById: {\n 0: liftAction(INIT_ACTION)\n },\n stagedActionIds: [0],\n skippedActionIds: [],\n committedState: initialCommittedState,\n currentStateIndex: 0,\n computedStates: [],\n isLocked: false,\n isPaused: false\n };\n}\n/**\n * Creates a history state reducer from an app's reducer.\n */\nfunction liftReducerWith(initialCommittedState, initialLiftedState, errorHandler, monitorReducer, options = {}) {\n /**\n * Manages how the history actions modify the history state.\n */\n return reducer => (liftedState, liftedAction) => {\n let {\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused\n } = liftedState || initialLiftedState;\n if (!liftedState) {\n // Prevent mutating initialLiftedState\n actionsById = Object.create(actionsById);\n }\n function commitExcessActions(n) {\n // Auto-commits n-number of excess actions.\n let excess = n;\n let idsToDelete = stagedActionIds.slice(1, excess + 1);\n for (let i = 0; i < idsToDelete.length; i++) {\n if (computedStates[i + 1].error) {\n // Stop if error is found. Commit actions up to error.\n excess = i;\n idsToDelete = stagedActionIds.slice(1, excess + 1);\n break;\n } else {\n delete actionsById[idsToDelete[i]];\n }\n }\n skippedActionIds = skippedActionIds.filter(id => idsToDelete.indexOf(id) === -1);\n stagedActionIds = [0, ...stagedActionIds.slice(excess + 1)];\n committedState = computedStates[excess].state;\n computedStates = computedStates.slice(excess);\n currentStateIndex = currentStateIndex > excess ? currentStateIndex - excess : 0;\n }\n function commitChanges() {\n // Consider the last committed state the new starting point.\n // Squash any staged actions into a single committed state.\n actionsById = {\n 0: liftAction(INIT_ACTION)\n };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = computedStates[currentStateIndex].state;\n currentStateIndex = 0;\n computedStates = [];\n }\n // By default, aggressively recompute every state whatever happens.\n // This has O(n) performance, so we'll override this to a sensible\n // value whenever we feel like we don't have to recompute the states.\n let minInvalidatedStateIndex = 0;\n switch (liftedAction.type) {\n case LOCK_CHANGES:\n {\n isLocked = liftedAction.status;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case PAUSE_RECORDING:\n {\n isPaused = liftedAction.status;\n if (isPaused) {\n // Add a pause action to signal the devtools-user the recording is paused.\n // The corresponding state will be overwritten on each update to always contain\n // the latest state (see Actions.PERFORM_ACTION).\n stagedActionIds = [...stagedActionIds, nextActionId];\n actionsById[nextActionId] = new PerformAction({\n type: '@ngrx/devtools/pause'\n }, +Date.now());\n nextActionId++;\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = computedStates.concat(computedStates[computedStates.length - 1]);\n if (currentStateIndex === stagedActionIds.length - 2) {\n currentStateIndex++;\n }\n minInvalidatedStateIndex = Infinity;\n } else {\n commitChanges();\n }\n break;\n }\n case RESET:\n {\n // Get back to the state the store was created with.\n actionsById = {\n 0: liftAction(INIT_ACTION)\n };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = initialCommittedState;\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case COMMIT:\n {\n commitChanges();\n break;\n }\n case ROLLBACK:\n {\n // Forget about any staged actions.\n // Start again from the last committed state.\n actionsById = {\n 0: liftAction(INIT_ACTION)\n };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case TOGGLE_ACTION:\n {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const {\n id: actionId\n } = liftedAction;\n const index = skippedActionIds.indexOf(actionId);\n if (index === -1) {\n skippedActionIds = [actionId, ...skippedActionIds];\n } else {\n skippedActionIds = skippedActionIds.filter(id => id !== actionId);\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(actionId);\n break;\n }\n case SET_ACTIONS_ACTIVE:\n {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const {\n start,\n end,\n active\n } = liftedAction;\n const actionIds = [];\n for (let i = start; i < end; i++) actionIds.push(i);\n if (active) {\n skippedActionIds = difference(skippedActionIds, actionIds);\n } else {\n skippedActionIds = [...skippedActionIds, ...actionIds];\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(start);\n break;\n }\n case JUMP_TO_STATE:\n {\n // Without recomputing anything, move the pointer that tell us\n // which state is considered the current one. Useful for sliders.\n currentStateIndex = liftedAction.index;\n // Optimization: we know the history has not changed.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case JUMP_TO_ACTION:\n {\n // Jumps to a corresponding state to a specific action.\n // Useful when filtering actions.\n const index = stagedActionIds.indexOf(liftedAction.actionId);\n if (index !== -1) currentStateIndex = index;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case SWEEP:\n {\n // Forget any actions that are currently being skipped.\n stagedActionIds = difference(stagedActionIds, skippedActionIds);\n skippedActionIds = [];\n currentStateIndex = Math.min(currentStateIndex, stagedActionIds.length - 1);\n break;\n }\n case PERFORM_ACTION:\n {\n // Ignore action and return state as is if recording is locked\n if (isLocked) {\n return liftedState || initialLiftedState;\n }\n if (isPaused || liftedState && isActionFiltered(liftedState.computedStates[currentStateIndex], liftedAction, options.predicate, options.actionsSafelist, options.actionsBlocklist)) {\n // If recording is paused or if the action should be ignored, overwrite the last state\n // (corresponds to the pause action) and keep everything else as is.\n // This way, the app gets the new current state while the devtools\n // do not record another action.\n const lastState = computedStates[computedStates.length - 1];\n computedStates = [...computedStates.slice(0, -1), computeNextEntry(reducer, liftedAction.action, lastState.state, lastState.error, errorHandler)];\n minInvalidatedStateIndex = Infinity;\n break;\n }\n // Auto-commit as new actions come in.\n if (options.maxAge && stagedActionIds.length === options.maxAge) {\n commitExcessActions(1);\n }\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n const actionId = nextActionId++;\n // Mutation! This is the hottest path, and we optimize on purpose.\n // It is safe because we set a new key in a cache dictionary.\n actionsById[actionId] = liftedAction;\n stagedActionIds = [...stagedActionIds, actionId];\n // Optimization: we know that only the new action needs computing.\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n break;\n }\n case IMPORT_STATE:\n {\n // Completely replace everything.\n ({\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused\n } = liftedAction.nextLiftedState);\n break;\n }\n case INIT:\n {\n // Always recompute states on hot reload and init.\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n case UPDATE:\n {\n const stateHasErrors = computedStates.filter(state => state.error).length > 0;\n if (stateHasErrors) {\n // Recompute all states\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n } else {\n // If not paused/locked, add a new action to signal devtools-user\n // that there was a reducer update.\n if (!isPaused && !isLocked) {\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n // Add a new action to only recompute state\n const actionId = nextActionId++;\n actionsById[actionId] = new PerformAction(liftedAction, +Date.now());\n stagedActionIds = [...stagedActionIds, actionId];\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n }\n // Recompute state history with latest reducer and update action\n computedStates = computedStates.map(cmp => ({\n ...cmp,\n state: reducer(cmp.state, RECOMPUTE_ACTION)\n }));\n currentStateIndex = stagedActionIds.length - 1;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n commitExcessActions(stagedActionIds.length - options.maxAge);\n }\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n default:\n {\n // If the action is not recognized, it's a monitor action.\n // Optimization: a monitor action can't change history.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n }\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n monitorState = monitorReducer(monitorState, liftedAction);\n return {\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused\n };\n };\n}\nlet StoreDevtools = /*#__PURE__*/(() => {\n class StoreDevtools {\n constructor(dispatcher, actions$, reducers$, extension, scannedActions, errorHandler, initialState, config) {\n const liftedInitialState = liftInitialState(initialState, config.monitor);\n const liftReducer = liftReducerWith(initialState, liftedInitialState, errorHandler, config.monitor, config);\n const liftedAction$ = merge(merge(actions$.asObservable().pipe(skip(1)), extension.actions$).pipe(map(liftAction)), dispatcher, extension.liftedActions$).pipe(observeOn(queueScheduler));\n const liftedReducer$ = reducers$.pipe(map(liftReducer));\n const zoneConfig = injectZoneConfig(config.connectInZone);\n const liftedStateSubject = new ReplaySubject(1);\n this.liftedStateSubscription = liftedAction$.pipe(withLatestFrom(liftedReducer$),\n // The extension would post messages back outside of the Angular zone\n // because we call `connect()` wrapped with `runOutsideAngular`. We run change\n // detection only once at the end after all the required asynchronous tasks have\n // been processed (for instance, `setInterval` scheduled by the `timeout` operator).\n // We have to re-enter the Angular zone before the `scan` since it runs the reducer\n // which must be run within the Angular zone.\n emitInZone(zoneConfig), scan(({\n state: liftedState\n }, [action, reducer]) => {\n let reducedLiftedState = reducer(liftedState, action);\n // On full state update\n // If we have actions filters, we must filter completely our lifted state to be sync with the extension\n if (action.type !== PERFORM_ACTION && shouldFilterActions(config)) {\n reducedLiftedState = filterLiftedState(reducedLiftedState, config.predicate, config.actionsSafelist, config.actionsBlocklist);\n }\n // Extension should be sent the sanitized lifted state\n extension.notify(action, reducedLiftedState);\n return {\n state: reducedLiftedState,\n action\n };\n }, {\n state: liftedInitialState,\n action: null\n })).subscribe(({\n state,\n action\n }) => {\n liftedStateSubject.next(state);\n if (action.type === PERFORM_ACTION) {\n const unliftedAction = action.action;\n scannedActions.next(unliftedAction);\n }\n });\n this.extensionStartSubscription = extension.start$.pipe(emitInZone(zoneConfig)).subscribe(() => {\n this.refresh();\n });\n const liftedState$ = liftedStateSubject.asObservable();\n const state$ = liftedState$.pipe(map(unliftState));\n Object.defineProperty(state$, 'state', {\n value: toSignal(state$, {\n manualCleanup: true,\n requireSync: true\n })\n });\n this.dispatcher = dispatcher;\n this.liftedState = liftedState$;\n this.state = state$;\n }\n ngOnDestroy() {\n // Even though the store devtools plugin is recommended to be\n // used only in development mode, it can still cause a memory leak\n // in microfrontend applications that are being created and destroyed\n // multiple times during development. This results in excessive memory\n // consumption, as it prevents entire apps from being garbage collected.\n this.liftedStateSubscription.unsubscribe();\n this.extensionStartSubscription.unsubscribe();\n }\n dispatch(action) {\n this.dispatcher.next(action);\n }\n next(action) {\n this.dispatcher.next(action);\n }\n error(error) {}\n complete() {}\n performAction(action) {\n this.dispatch(new PerformAction(action, +Date.now()));\n }\n refresh() {\n this.dispatch(new Refresh());\n }\n reset() {\n this.dispatch(new Reset(+Date.now()));\n }\n rollback() {\n this.dispatch(new Rollback(+Date.now()));\n }\n commit() {\n this.dispatch(new Commit(+Date.now()));\n }\n sweep() {\n this.dispatch(new Sweep());\n }\n toggleAction(id) {\n this.dispatch(new ToggleAction(id));\n }\n jumpToAction(actionId) {\n this.dispatch(new JumpToAction(actionId));\n }\n jumpToState(index) {\n this.dispatch(new JumpToState(index));\n }\n importState(nextLiftedState) {\n this.dispatch(new ImportState(nextLiftedState));\n }\n lockChanges(status) {\n this.dispatch(new LockChanges(status));\n }\n pauseRecording(status) {\n this.dispatch(new PauseRecording(status));\n }\n /** @nocollapse */\n static {\n this.ɵfac = function StoreDevtools_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StoreDevtools)(i0.ɵɵinject(DevtoolsDispatcher), i0.ɵɵinject(i2.ActionsSubject), i0.ɵɵinject(i2.ReducerObservable), i0.ɵɵinject(DevtoolsExtension), i0.ɵɵinject(i2.ScannedActionsSubject), i0.ɵɵinject(i0.ErrorHandler), i0.ɵɵinject(INITIAL_STATE), i0.ɵɵinject(STORE_DEVTOOLS_CONFIG));\n };\n }\n /** @nocollapse */\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StoreDevtools,\n factory: StoreDevtools.ɵfac\n });\n }\n }\n return StoreDevtools;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * If the devtools extension is connected out of the Angular zone,\n * this operator will emit all events within the zone.\n */\nfunction emitInZone({\n ngZone,\n connectInZone\n}) {\n return source => connectInZone ? new Observable(subscriber => source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: error => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete())\n })) : source;\n}\nconst IS_EXTENSION_OR_MONITOR_PRESENT = new InjectionToken('@ngrx/store-devtools Is Devtools Extension or Monitor Present');\nfunction createIsExtensionOrMonitorPresent(extension, config) {\n return Boolean(extension) || config.monitor !== noMonitor;\n}\nfunction createReduxDevtoolsExtension() {\n const extensionKey = '__REDUX_DEVTOOLS_EXTENSION__';\n if (typeof window === 'object' && typeof window[extensionKey] !== 'undefined') {\n return window[extensionKey];\n } else {\n return null;\n }\n}\n/**\n * Provides developer tools and instrumentation for `Store`.\n *\n * @usageNotes\n *\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideStoreDevtools({\n * maxAge: 25,\n * logOnly: !isDevMode(),\n * }),\n * ],\n * });\n * ```\n */\nfunction provideStoreDevtools(options = {}) {\n return makeEnvironmentProviders([DevtoolsExtension, DevtoolsDispatcher, StoreDevtools, {\n provide: INITIAL_OPTIONS,\n useValue: options\n }, {\n provide: IS_EXTENSION_OR_MONITOR_PRESENT,\n deps: [REDUX_DEVTOOLS_EXTENSION, STORE_DEVTOOLS_CONFIG],\n useFactory: createIsExtensionOrMonitorPresent\n }, {\n provide: REDUX_DEVTOOLS_EXTENSION,\n useFactory: createReduxDevtoolsExtension\n }, {\n provide: STORE_DEVTOOLS_CONFIG,\n deps: [INITIAL_OPTIONS],\n useFactory: createConfig\n }, {\n provide: StateObservable,\n deps: [StoreDevtools],\n useFactory: createStateObservable\n }, {\n provide: ReducerManagerDispatcher,\n useExisting: DevtoolsDispatcher\n }]);\n}\nfunction createStateObservable(devtools) {\n return devtools.state;\n}\nlet StoreDevtoolsModule = /*#__PURE__*/(() => {\n class StoreDevtoolsModule {\n static instrument(options = {}) {\n return {\n ngModule: StoreDevtoolsModule,\n providers: [provideStoreDevtools(options)]\n };\n }\n /** @nocollapse */\n static {\n this.ɵfac = function StoreDevtoolsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StoreDevtoolsModule)();\n };\n }\n /** @nocollapse */\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: StoreDevtoolsModule\n });\n }\n /** @nocollapse */\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return StoreDevtoolsModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { INITIAL_OPTIONS, RECOMPUTE, REDUX_DEVTOOLS_EXTENSION, StoreDevtools, StoreDevtoolsConfig, StoreDevtoolsModule, provideStoreDevtools };\n","// הגדרת טיפוס לקונפיגורציה של סטור\nimport {AppFeatureStores} from '../feature-stores';\nimport {AppSyncSignalStoreSchema} from '../sync-signal-stores/types';\nimport FeatureStoreSchema = AppFeatureStores.FeatureStoreSchema;\nimport {FeatureStoreNames, SignalStoreNames} from '@shared-types';\n\nexport type AnyStoreTypeSchema = AppSyncSignalStoreSchema | FeatureStoreSchema;\n\nexport type BaseStoreConfig = {\n\tkey: T extends AppSyncSignalStoreSchema ? SignalStoreNames : FeatureStoreNames;\n\tinitialState: T;\n\tonAppInit?: (state: T) => T;\n\tonLoginFn?: (state: T) => T;\n\tonLogout?: (state: T) => T;\n};\n// guard:\nexport function isBaseStoreConfig(config: any): config is BaseStoreConfig {\n\treturn config.key && config.initialState;\n}\n","import {ActionReducer} from '@ngrx/store';\nimport {Type} from '@angular/core';\nimport {FeatureStoreSchema} from './index';\nimport {BaseStoreConfig, isBaseStoreConfig} from '../../shared/base-store-config.type';\n\n/**\n\t* @description\n\t*/\nexport type FeatureStoreConfig = BaseStoreConfig & {\n\teffects: Type[];\n\treducer: ActionReducer;\n};\n\n// guard:\nexport function isFeatureStoreConfig(config: any): config is FeatureStoreConfig {\n\treturn isBaseStoreConfig(config) && Reflect.has(config, 'effects') && Reflect.has(config, 'reducer');\n}\n","import { SignalStoreNames } from '@shared-types';\nimport { livenessValidatorInitialState } from '@validations/data-access';\nimport { IAppSyncSignalStoresSchema } from '../types';\n\nexport const signalStoresInitialState: IAppSyncSignalStoresSchema = {\n\t[SignalStoreNames.LIVENESS_VALIDATOR]: livenessValidatorInitialState,\n};\n","export * from './liveness-validator.signal-store.config';\n","import {ILivenessValidatorState, livenessValidatorInitialState} from '@validations/data-access';\nimport {SignalStoreNames} from '@shared-types';\n\nexport const livenessValidatorSignalStoreConfig = {\n\tkey: SignalStoreNames.LIVENESS_VALIDATOR,\n\tinitialState: livenessValidatorInitialState,\n\n\tonAppInit(state: ILivenessValidatorState): ILivenessValidatorState {\n\t\treturn state;\n\t},\n\tonLoginFn(state: ILivenessValidatorState): ILivenessValidatorState {\n\t\treturn state;\n\t},\n\tonLogout(state: ILivenessValidatorState): ILivenessValidatorState {\n\t\treturn {\n\t\t\t...livenessValidatorInitialState,\n\t\t};\n\t},\n};\n","import { SignalStoreNames } from '@shared-types';\nimport { AnyStoreTypeSchema, BaseStoreConfig } from '../../shared/base-store-config.type';\nimport { AppSyncSignalStoreSchema } from '../types';\nimport * as CONFIGS from './signal-store-configurations';\n\nexport namespace SignalStoresConfigs {\n\texport type SignalStoreConfigsStruct = Partial<\n\t\tRecord>>\n\t>;\n\n\texport const signalStoresConfigs: SignalStoreConfigsStruct = {\n\t\t// Use type assertion to bypass the type check\n\t\t[SignalStoreNames.LIVENESS_VALIDATOR as keyof AppSyncSignalStoreSchema]: undefined,\n\t};\n\n\tObject.keys(CONFIGS).forEach(configKey => {\n\t\tconst config = CONFIGS[configKey];\n\t\tif (config.key in signalStoresConfigs) {\n\t\t\tsignalStoresConfigs[config.key] = config;\n\t\t}\n\t});\n}\n","import { IClearStoreGlobalAction, StoreGlobalActionType } from '@global-data';\nimport { Action, MetaReducer } from '@ngrx/store';\nimport { ActionReducer } from '@ngrx/store/src/models';\nimport { FeatureStoreConfigs } from '../../../feature-stores/configs';\nimport { IndexedDbState } from '../../../index';\nimport { SignalStoresConfigs } from '../../../sync-signal-stores/configs';\nimport FeatureStoreConfigsStruct = FeatureStoreConfigs.FeatureStoreConfigsStruct;\nimport SignalStoreConfigsStruct = SignalStoresConfigs.SignalStoreConfigsStruct;\nimport signalStoresConfigs = SignalStoresConfigs.signalStoresConfigs;\nimport featureStoreConfigs = FeatureStoreConfigs.featureStoreConfigs;\n\nexport const clearStoreMetaReducer: MetaReducer = (reducer: ActionReducer): ActionReducer => {\n\tconst featureStoreConfiguratoins: FeatureStoreConfigsStruct = featureStoreConfigs;\n\tconst signalStoreConfigurations: SignalStoreConfigsStruct = signalStoresConfigs;\n\tconst allStoreConfigurations = {...featureStoreConfiguratoins, ...signalStoreConfigurations};\n\n\treturn function (state, action) {\n\t\tif (action.type === StoreGlobalActionType.CLEAR_STORE) {\n\t\t\tconst localStateSnapshot: IndexedDbState = window.APP_INDEXED_DB();\n\t\t\tconst nextState = {...localStateSnapshot};\n\n\t\t\t// Feature stores clear\n\t\t\tif (action?.clearFeatureStores) {\n\t\t\t\tfor (const key in featureStoreConfiguratoins) {\n\t\t\t\t\tconst config = featureStoreConfiguratoins[key];\n\t\t\t\t\tif (config.onLogout) {\n\t\t\t\t\t\tnextState[key] = config.onLogout(nextState[key]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Signal stores clear\n\t\t\tif (action?.clearSignalStores) {\n\t\t\t\tfor (const key in signalStoreConfigurations) {\n\t\t\t\t\tconst config = signalStoreConfigurations[key];\n\t\t\t\t\tif (config?.onLogout) {\n\t\t\t\t\t\tnextState[key] = config.onLogout(nextState[key]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//\tClear all stores on payload\n\t\t\t\tif (action?.storesToClear) {\n\t\t\t\t\tfor (const key in action.storesToClear) {\n\t\t\t\t\t\tconst storeKey = action.storesToClear[key];\n\t\t\t\t\t\tconst config = allStoreConfigurations[storeKey];\n\t\t\t\t\t\tif (config.onLogout) {\n\t\t\t\t\t\t\t// nextState[storeKey] = config.onLogout(nextState[storeKey]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn nextState;\n\t\t\t}\n\t\t}\n\n\t\treturn reducer(state, action);\n\t};\n};\n","import { MetaReducer, Action } from '@ngrx/store';\nimport { ActionReducer } from '@ngrx/store/src/models';\nimport {StoreGlobalActionType} from '@global-data';\n\nexport const globalErrorMetaReducer: MetaReducer = (reducer: ActionReducer): ActionReducer => {\n\treturn function (state, action) {\n\t\tif (action.type === StoreGlobalActionType.GLOBAL_ERROR) {\n\t\t\tdebugger;\n\t\t\tconst nextState = {...state};\n\t\t\treturn nextState;\n\t\t}\n\n\t\treturn reducer(state, action);\n\t};\n};\n","import { INIT, MetaReducer, UPDATE, Action } from '@ngrx/store';\nimport { ActionReducer } from '@ngrx/store/src/models';\nimport {IndexedDbSyncService} from '@global-data';\nimport {patchState} from '@ngrx/signals';\n\nconst INIT_ACTION = INIT;\nconst UPDATE_ACTION = UPDATE;\n\nexport const idbPersistMetaReducer: MetaReducer = (reducer: ActionReducer): ActionReducer => {\n\tconst idbSyncService = IndexedDbSyncService.getInstance();\n\treturn function (state, action) {\n\t\tlet nextState = reducer(state, action);\n\t\tif (action.type === INIT_ACTION && !state) {\n\t\t\tif (window.APP_INDEXED_DB_LOADED) {\n\t\t\t\tnextState = window.APP_STORE_SNAPSHOT();\n\t\t\t\twindow.APP_INDEXED_DB_LOADED = false;\n\t\t\t}\n\t\t} else {\n\t\t\t// TODO\n\t\t}\n\n\t\tidbSyncService.bulkSet(nextState).then(() => {\n\t\t\tpatchState(window.APP_INDEXED_DB, nextState);\n\t\t});\n\t\treturn nextState;\n\t};\n};\n","import {EnvironmentProviders, Provider, Type} from '@angular/core';\nimport {provideEffects} from '@ngrx/effects';\nimport {ActionReducerMap, provideStore} from '@ngrx/store';\nimport {provideStoreDevtools} from '@ngrx/store-devtools';\nimport {isDevMode} from '@shared-types';\nimport {AppFeatureStores} from '../../index';\nimport {isFeatureStoreConfig} from '../../feature-stores/types/feature-store-config.type';\nimport {clearStoreMetaReducer} from './meta-reducers/clear-store.meta-reducer';\nimport {globalErrorMetaReducer} from './meta-reducers/global-error.meta-reducer';\nimport {FeatureStoreConfigs} from '../../feature-stores/configs';\nimport {idbPersistMetaReducer} from './meta-reducers/idb-persist.meta-reducer';\nimport featureStoreConfigs = FeatureStoreConfigs.featureStoreConfigs;\n// Effects\nconst _effectsArray: Type[] = Object.values(featureStoreConfigs).flatMap(config => {\n\tif (isFeatureStoreConfig(config)) {\n\t\treturn config.effects;\n\t}\n\treturn [];\n}, []);\n\n// Reducers\nconst _reducers: ActionReducerMap = Object.values(featureStoreConfigs).reduce((acc, config) => {\n\tif (isFeatureStoreConfig(config)) {\n\t\tacc[config.key] = config.reducer;\n\t}\n\treturn acc;\n}, {} as ActionReducerMap);\n\nexport const APP_STORE_PROVIDERS: Array = [\n\tprovideEffects(_effectsArray),\n\tprovideStore(_reducers, {\n\t\tmetaReducers: [idbPersistMetaReducer, clearStoreMetaReducer, globalErrorMetaReducer],\n\t}),\n\tprovideStoreDevtools({\n\t\tlogOnly: isDevMode(),\n\t\tmaxAge: 25,\n\t\tconnectInZone: true,\n\t}),\n];\n","import * as ProvidersDir from './providers/ngrx-store.providers';\n\nexport namespace Shared {\n\texport import APP_STORE_PROVIDERS = ProvidersDir.APP_STORE_PROVIDERS;\n}\n","import * as SignalStoreConfigsDir from './configs';\nimport * as SignalStoreTypesDir from './types';\n\nexport namespace SignalStores {\n\t// Types:\n\texport import IAppSyncSignalStoresSchema = SignalStoreTypesDir.IAppSyncSignalStoresSchema;\n\texport import AppSyncSignalStoreSchema = SignalStoreTypesDir.AppSyncSignalStoreSchema;\n\t// Configs:\n\texport import SignalStoresConfigs = SignalStoreConfigsDir.SignalStoresConfigs;\n\texport import signalStoresInitialState = SignalStoreConfigsDir.signalStoresInitialState;\n}\n","import {IFeatureStoresSchema} from './feature-stores/types';\nimport {featureStoresInitialState} from './feature-stores/configs';\nimport {AppFeatureStores as AppFeatureStoresNS} from './feature-stores';\nimport {Shared as SharedNS} from './shared';\n\nimport {SignalStores as SignalStoresNS} from './sync-signal-stores';\n\n/* ------------------------------------------- APP FEATURE STORES ------------------------------------------- */\nexport import AppFeatureStores = AppFeatureStoresNS;\n/* ------------------------------------------- SIGNAL STORES (with Local Sync) ------------------------------------------- */\nexport import SignalStores = SignalStoresNS;\n/* ----------------------------------------------- SHARED ----------------------------------------------- */\nexport import Shared = SharedNS;\n\n/* ----------------------------------------------- INDEXED DB ----------------------------------------------- */\nexport type IndexedDbState = IFeatureStoresSchema & SignalStoresNS.IAppSyncSignalStoresSchema;\n\n// Global Store Initial State\nexport const GLOBAL_STORE_INITIAL_STATE: IndexedDbState = {\n\t...featureStoresInitialState,\n\t...SignalStoresNS.signalStoresInitialState,\n};\n\n// Global Store Keys\nexport const FEATYRE_STORE_KEYS = Object.keys(featureStoresInitialState);\nexport const SIGNAL_STORE_KEYS = Object.keys(SignalStoresNS.signalStoresInitialState);\n\n// Global Store Configs\nexport const GLOBAL_STORE_CONFIGS = {\n\t...AppFeatureStoresNS.FeatureStoreConfigs.featureStoreConfigs,\n\t...SignalStoresNS.SignalStoresConfigs.signalStoresConfigs,\n};\n","import {HttpClient, provideHttpClient, withInterceptors, withInterceptorsFromDi} from '@angular/common/http';\nimport {ApplicationConfig, importProvidersFrom} from '@angular/core';\nimport {provideAnimations} from '@angular/platform-browser/animations';\nimport {provideRouter, RouterFeatures, withComponentInputBinding, withDebugTracing, withEnabledBlockingInitialNavigation, withViewTransitions} from '@angular/router';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {environment} from '@shared-types';\nimport {appRoutes} from '../app.routes';\nimport {HttpLoaderFactory} from '../factories/translate-http-loader-factory';\nimport {ExternalModules} from './app-ext-modules.config';\nimport AppProviders from './app-providers.config';\nimport {TokenInterceptor} from '@auth/data-access';\nimport {Shared} from '@app-store-management';\nimport APP_STORE_PROVIDERS = Shared.APP_STORE_PROVIDERS;\n\n/**\n * @warn don't change the order of providers\n */\nexport const appConfig: () => ApplicationConfig = () => {\n\tconst routerProviderFeatures: RouterFeatures[] = [withEnabledBlockingInitialNavigation(), withComponentInputBinding(), withViewTransitions()];\n\tif (environment.CONFIG['DevTools']['debugRouterTracing']) routerProviderFeatures.push(withDebugTracing());\n\n\treturn {\n\t\tproviders: [\n\t\t\t...AppProviders,\n\t\t\timportProvidersFrom([\n\t\t\t\tTranslateModule.forRoot({\n\t\t\t\t\tloader: {\n\t\t\t\t\t\tprovide: TranslateLoader,\n\t\t\t\t\t\tuseFactory: HttpLoaderFactory,\n\t\t\t\t\t\tdeps: [HttpClient],\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\t...ExternalModules,\n\t\t\t]),\n\t\t\t...APP_STORE_PROVIDERS,\n\n\t\t\tprovideRouter(appRoutes, ...routerProviderFeatures),\n\t\t\tprovideHttpClient(withInterceptors([TokenInterceptor()]), withInterceptorsFromDi()),\n\t\t\tprovideAnimations(),\n\t\t],\n\t};\n};\n","import { EnvironmentName } from '@shared-types';\n\n// https://doccycle.{env}/{module}/{company}/{params}\nfunction checkCompanyInParams(currentUrl: string, allowedModules: string[] = ['sign']): boolean {\n\tconst regex = /^https:\\/\\/doccycle\\.(dev|xyz|biz|net)\\/([\\w-]+)\\/([\\w-]+)\\/(.*)$/;\n\n\tconst match: RegExpMatchArray = currentUrl.match(regex);\n\n\tif (match) {\n\t\tconst environment = match[1];\n\t\tconst module = match[2];\n\t\tconst company = match[3];\n\t\tconst params = match[4];\n\t\tif (Object.values(EnvironmentName).some(env => env === environment) && company && allowedModules.includes(module)) {\n\t\t\twindow.location.href = `https://${company}.doccycle.${environment}/${module}/${params}`;\n\t\t\treturn false; // Redirected\n\t\t}\n\t}\n\n\treturn true; // Not redirected\n}\n\n// The following function check if the URL is empty (without '/'\tat the end, e.g. 'https://doccycle.dev') and force redirect to 'https://doccycle.dev/'.\nfunction checkEmptyUrl(currentUrl: string): boolean {\n\t// the pattern: {protocol}://{host} without '/' at the end (protocol: https or http, host: [a-zA-Z0-9.-] or localhost:{port})\n\tconst pattern = /^(https?:\\/\\/)([a-zA-Z0-9.-]+|localhost(:\\d+)?)$/;\n\tif (pattern.test(currentUrl)) {\n\t\twindow.location.href = `${currentUrl}/`;\n\t\treturn false; // Redirected\n\t}\n\treturn true; // Not redirected\n}\n\n/**\n * @description Redirector that checks the URL and redirects if necessary\n * @note This function is used to redirect the user to the correct URL.\n * @dev If you need to add more checks, add them to the CheckFns array and they will be executed in order.\n * @param {void}\n * @returns {boolean} - Returns true if the URL is correct, false if the URL is incorrect and the user is redirected\n */\nexport function routeRedirector(): boolean {\n\tconst currentUrl: string = window.location.href;\n\tconst checkFns: ((url: string) => boolean)[] = [checkEmptyUrl, checkCompanyInParams];\n\treturn checkFns.every(checkFn => checkFn(currentUrl));\n}\n","import localforage from 'localforage';\nimport {FEATYRE_STORE_KEYS, GLOBAL_STORE_INITIAL_STATE, IndexedDbState, SIGNAL_STORE_KEYS} from '@app-store-management';\nimport {patchState, signalState} from '@ngrx/signals';\nimport {computed} from '@angular/core';\nimport {pick} from '@utils';\nimport {config} from '@cron/data-access';\nimport {StorageKeys} from '@core/storage';\nimport {DEFAULT_INDEXED_DB_NAME} from '@shared-types';\n\nlocalforage.config({\n\tdriver: localforage.INDEXEDDB,\n\tname: DEFAULT_INDEXED_DB_NAME,\n\tstoreName: 'doccycle-store',\n\tversion: config.indexedDB.stable_version,\n});\n\nwindow.localforage = localforage;\nwindow.APP_INDEXED_DB_LOADED = false;\nwindow.APP_INDEXED_DB = signalState(null);\nwindow.APP_STORE_SNAPSHOT = computed(() => {\n\tif (!window.APP_INDEXED_DB_LOADED) return;\n\treturn pick(window.APP_INDEXED_DB(), FEATYRE_STORE_KEYS);\n});\nwindow.SIGNAL_STORE_SNAPSHOT = computed(() => {\n\tif (!window.APP_INDEXED_DB_LOADED) return;\n\treturn pick(window.APP_INDEXED_DB(), SIGNAL_STORE_KEYS);\n});\n\n/**\n * @description Load the indexedDB snapshot into the app store (before app bootstrap)\n */\nexport async function loadIndexedDbSnapshot(): Promise {\n\tconst globalStoreInitialState = GLOBAL_STORE_INITIAL_STATE;\n\tconst snapshot: IndexedDbState = {} as IndexedDbState;\n\n\t// Check if the indexedDB version is up-to-date\n\tconst actualIndexedDBConfig = localforage.config();\n\tconst localIndexedDBVersion: number = Number(localStorage.getItem(StorageKeys.GlobalKeys.INDEXED_DB_VERSION));\n\tif (actualIndexedDBConfig?.version !== localIndexedDBVersion) {\n\t\t// get all databases in\tthe indexedDB\n\t\tconst databases = await window.indexedDB.databases();\n\t\tconst old_store_names = config.indexedDB.old_store_names;\n\t\t// delete all databases\n\t\tfor (const db of databases) {\n\t\t\tif (old_store_names.includes(db.name)) window.indexedDB.deleteDatabase(db.name);\n\t\t}\n\n\t\tlocalStorage.setItem(StorageKeys.GlobalKeys.INDEXED_DB_VERSION, actualIndexedDBConfig.version.toString());\n\t}\n\n\tfor (const key of Object.keys(globalStoreInitialState)) {\n\t\tconst idbSlice = await localforage.getItem(key);\n\t\tconst initialSlice = globalStoreInitialState[key];\n\t\tsnapshot[key] = Object.assign({}, initialSlice, idbSlice);\n\t}\n\n\tpatchState(window.APP_INDEXED_DB, snapshot);\n\twindow.APP_INDEXED_DB_LOADED = true;\n}\n","import {routeRedirector} from './route-redirector/route-redirector';\nimport {loadIndexedDbSnapshot} from './load-indexed-db';\n\n/**\n * @description Function that runs before the application bootstraps\n * Checks:\n * 1 - Checks the URL and redirects if necessary\n * 2 - Ensures that the indexedDB initialization is complete\n */\nexport async function beforeAppBootstrap(): Promise {\n\t/* -------------------------------------------------------------------------------------------------------------- */\n\tconst redirectorCheckPassed: boolean = routeRedirector();\n\tif (redirectorCheckPassed) {\n\t\tawait loadIndexedDbSnapshot();\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n","import {BrowserOptions, browserTracingIntegration, dedupeIntegration, functionToStringIntegration, httpClientIntegration, init, makeBrowserOfflineTransport, makeFetchTransport, Scope} from '@sentry/angular';\nimport {isDevMode} from '@angular/core';\nimport {environment} from '@shared-types';\nimport {config} from '@cron/data-access';\nimport {StorageKeys} from '@core/storage';\nimport {storageSignal} from '@shared/signals-extension';\n\nconst allowDebuggingSentry$ = storageSignal(StorageKeys.Logging.SENTRY_DEBUG, false);\n\nexport const initSentryConfig = async () => {\n\tconst sentryConfig: BrowserOptions = {\n\t\tdsn: 'https://763d021eb71715a6e6ec33cf4da5f2e6@o1077959.ingest.us.sentry.io/4507729691738112',\n\t\tintegrations: [dedupeIntegration, functionToStringIntegration, httpClientIntegration],\n\t\tdebug: isDevMode() && allowDebuggingSentry$(),\n\t\trelease: config.version,\n\t\tenvironment: `${isDevMode() ? `local-${environment.name}` : environment.name}`,\n\t\tmaxValueLength: 150,\n\t\tsendDefaultPii: true,\n\t};\n\t/* ------------------------------------------ Add Sentry Features: ------------------------------------------ */\n\taddEnvironmentTags(sentryConfig);\n\t// Sentry Tracing:\n\tuseTracing(sentryConfig);\n\t// Sentry Offline Transport:\n\tuseOfflineTransport(sentryConfig);\n\n\tinit(sentryConfig);\n\treturn Promise.resolve();\n};\n/* -------------------------------------------------------------------------------------------------------------- */\nconst addEnvironmentTags = (sentryConfig: BrowserOptions) => {\n\tsentryConfig.initialScope = (scope: Scope) => {\n\t\tscope.setTag('environment', sentryConfig.environment);\n\t\tscope.setTag('sw:version', localStorage.getItem(StorageKeys.GlobalKeys.SW_VERSION) || 'N/A');\n\t\tscope.setTag('session_start', new Date().toISOString());\n\t\treturn scope;\n\t};\n};\n\nconst useTracing = (sentryConfig: BrowserOptions) => {\n\tsentryConfig.integrations = integrations => {\n\t\tintegrations.push(browserTracingIntegration());\n\t\treturn integrations;\n\t};\n\tsentryConfig.tracesSampleRate = isDevMode() ? 1.0 : 0.6;\n\tsentryConfig.tracePropagationTargets = ['localhost', '*'];\n};\n\nconst useOfflineTransport = (sentryConfig: BrowserOptions) => {\n\tsentryConfig.transport = makeBrowserOfflineTransport(makeFetchTransport);\n\tsentryConfig.transportOptions = {\n\t\tbufferSize: 100,\n\t};\n};\n","import {StorageKeys} from '@core/storage';\nimport {isDevMode} from '@shared-types';\nimport {SignalStoreManagerService} from '@shared/signal-store';\nimport clc from 'console-log-colors';\nimport {initSentryConfig} from './sentry.initializer';\n\nexport const initAppConfigurations = async (productionMode: boolean) => {\n\tlocalStorage.setItem(StorageKeys.GlobalKeys.ENVIRONMENT, productionMode ? 'production' : 'development');\n\tinitLoggingConfig();\n\tawait initSentryConfig();\n\tawait SignalStoreManagerService.getInstance()?.loadAllSignalStoreIdbTables();\n};\n\nconst initLoggingConfig = () => {\n\tif (isDevMode()) {\n\t\tconsole.log(clc.green('------------------ Development mode ------------------'));\n\t} else {\n\t\tconsole.log(clc.red('------------------ Production mode ------------------'));\n\t\t// in production enable logs only if StorageKeys.Dev.DEV_MODE is true in local storage\n\t\tconst devMode = localStorage.getItem(StorageKeys.Dev.DEV_MODE);\n\t\tif (devMode === 'true' || isDevMode()) {\n\t\t\tconsole.log(clc.green('------------------ Development mode ------------------'));\n\t\t} else {\n\t\t\tconsole.log(clc.red('------------------ Production mode ------------------'));\n\t\t\tconsole.log = () => {};\n\t\t\tconsole.debug = () => {};\n\t\t\tconsole.warn = () => {};\n\t\t\tconsole.error = () => {};\n\t\t}\n\t}\n};\n","'use strict';\n\n/**\n * @license Angular v\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\nconst global = globalThis;\n// __Zone_symbol_prefix global can be used to override the default zone\n// symbol prefix with a custom one if needed.\nfunction __symbol__(name) {\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n return symbolPrefix + name;\n}\nfunction initZone() {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n let ZoneImpl = /*#__PURE__*/(() => {\n class ZoneImpl {\n // tslint:disable-next-line:require-internal-with-underscore\n static {\n this.__symbol__ = __symbol__;\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' + 'has been overwritten.\\n' + 'Most likely cause is that a Promise polyfill has been loaded ' + 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' + 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = ZoneImpl.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n } else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, ZoneImpl, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate = new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone) return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec) throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = {\n parent: _currentZoneFrame,\n zone: this\n };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n } finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = {\n parent: _currentZoneFrame,\n zone: this\n };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n } catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n } finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' + (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n const zoneTask = task;\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n const {\n type,\n data: {\n isPeriodic = false,\n isRefreshable = false\n } = {}\n } = task;\n if (task.state === notScheduled && (type === eventTask || type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && zoneTask._transitionTo(running, scheduled);\n const previousTask = _currentTask;\n _currentTask = zoneTask;\n _currentZoneFrame = {\n parent: _currentZoneFrame,\n zone: this\n };\n try {\n if (type == macroTask && task.data && !isPeriodic && !isRefreshable) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, zoneTask, applyThis, applyArgs);\n } catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n } finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n const state = task.state;\n if (state !== notScheduled && state !== unknown) {\n if (type == eventTask || isPeriodic || isRefreshable && state === scheduling) {\n reEntryGuard && zoneTask._transitionTo(scheduled, running, scheduling);\n } else {\n const zoneDelegates = zoneTask._zoneDelegates;\n this._updateTaskCount(zoneTask, -1);\n reEntryGuard && zoneTask._transitionTo(notScheduled, running, notScheduled);\n if (isRefreshable) {\n zoneTask._zoneDelegates = zoneDelegates;\n }\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n } catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this) throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' + (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n } catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = -1;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n return ZoneImpl;\n })();\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n get zone() {\n return this._zone;\n }\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = {\n 'microTask': 0,\n 'macroTask': 0,\n 'eventTask': 0\n };\n this._zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this._zone : parentDelegate._forkCurrZone);\n this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone = zoneSpec && (zoneSpec.onIntercept ? this._zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this._zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone = zoneSpec && (zoneSpec.onHandleError ? this._zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec && (zoneSpec.onScheduleTask ? this._zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone = zoneSpec && (zoneSpec.onInvokeTask ? this._zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone = zoneSpec && (zoneSpec.onCancelTask ? this._zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = this._zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this._zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this._zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this._zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : new ZoneImpl(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ? this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) : callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) : callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) : true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask) returnTask = task;\n } else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n } else if (task.type == microTask) {\n scheduleMicroTask(task);\n } else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) : task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n } else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n } catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this._zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n } else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n } finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n } else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? \" or '\" + fromState2 + \"'\" : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n } else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n } else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n } catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = {\n name: 'NO ZONE'\n };\n const notScheduled = 'notScheduled',\n scheduling = 'scheduling',\n scheduled = 'scheduled',\n running = 'running',\n canceling = 'canceling',\n unknown = 'unknown';\n const microTask = 'microTask',\n macroTask = 'macroTask',\n eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !ZoneImpl[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n let _currentZoneFrame = {\n parent: null,\n zone: new ZoneImpl(null, null)\n };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() {}\n performanceMeasure('Zone', 'Zone');\n return ZoneImpl;\n}\nfunction loadZone() {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n const global = globalThis;\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone'] && (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function')) {\n throw new Error('Zone already loaded.');\n }\n // Initialize global `Zone` constant.\n global['Zone'] ??= initZone();\n return global['Zone'];\n}\n\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = __symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = __symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = __symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = __symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || globalThis;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = (delegate => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope;\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = !('nw' in _global) && typeof _global.process !== 'undefined' && _global.process.toString() === '[object process]';\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' && _global.process.toString() === '[object process]' && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst enableBeforeunloadSymbol = zoneSymbol('enable_beforeunload');\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener && listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n } else {\n result = listener && listener.apply(this, arguments);\n if (\n // https://github.com/angular/angular/issues/47579\n // https://www.w3.org/TR/2011/WD-html5-20110525/history.html#beforeunloadevent\n // This is the only specific case we should check for. The spec defines that the\n // `returnValue` attribute represents the message to show the user. When the event\n // is created, this attribute must be set to the empty string.\n event.type === 'beforeunload' &&\n // To prevent any breaking changes resulting from this change, given that\n // it was already causing a significant number of failures in G3, we have hidden\n // that behavior behind a global configuration flag. Consumers can enable this\n // flag explicitly if they want the `beforeunload` event to be handled as defined\n // in the specification.\n _global[enableBeforeunloadSymbol] &&\n // The IDL event definition is `attribute DOMString returnValue`, so we check whether\n // `typeof result` is a string.\n typeof result === 'string') {\n event.returnValue = result;\n } else if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = {\n enumerable: true,\n configurable: true\n };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n } else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n } else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass) return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () {});\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob') continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n } else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n } else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n })(prop);\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, delegate => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n } else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n } catch (error) {}\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n } catch (error) {}\n return ieOrEdge;\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isNumber(value) {\n return typeof value === 'number';\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\n// Note that passive event listeners are now supported by most modern browsers,\n// including Chrome, Firefox, Safari, and Edge. There's a pending change that\n// would remove support for legacy browsers by zone.js. Removing `passiveSupported`\n// from the codebase will reduce the final code size for existing apps that still use zone.js.\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = patchOptions && patchOptions.add || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = patchOptions && patchOptions.rm || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.listeners || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.rmAll || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = event => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n } catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n } else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n } else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // We use a shared global `taskData` to pass data for `scheduleEventTask`,\n // eliminating the need to create a new object solely for passing data.\n // WARNING: This object has a static lifetime, meaning it is not created\n // each time `addEventListener` is called. It is instantiated only once\n // and captured by reference inside the `addEventListener` and\n // `removeEventListener` functions. Do not add any new properties to this\n // object, as doing so would necessitate maintaining the information\n // between `addEventListener` calls.\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] = proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] = proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] = proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] = proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return {\n capture: options,\n passive: true\n };\n }\n if (!options) {\n return {\n passive: true\n };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return {\n ...options,\n passive: true\n };\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n /**\n * In the context of events and listeners, this function will be\n * called at the end by `cancelTask`, which, in turn, calls `task.cancelFn`.\n * Cancelling a task is primarily used to remove event listeners from\n * the task target.\n */\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (task.removeAbortListener) {\n task.removeAbortListener();\n task.removeAbortListener = null;\n }\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return typeOfDelegate === 'function' && task.callback === delegate || typeOfDelegate === 'object' && task.originalDelegate === delegate;\n };\n const compare = patchOptions && patchOptions.diff ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n function copyEventListenerOptions(options) {\n if (typeof options === 'object' && options !== null) {\n // We need to destructure the target `options` object since it may\n // be frozen or sealed (possibly provided implicitly by a third-party\n // library), or its properties may be readonly.\n const newOptions = {\n ...options\n };\n // The `signal` option was recently introduced, which caused regressions in\n // third-party scenarios where `AbortController` was directly provided to\n // `addEventListener` as options. For instance, in cases like\n // `document.addEventListener('keydown', callback, abortControllerInstance)`,\n // which is valid because `AbortController` includes a `signal` getter, spreading\n // `{...options}` wouldn't copy the `signal`. Additionally, using `Object.create`\n // isn't feasible since `AbortController` is a built-in object type, and attempting\n // to create a new object directly with it as the prototype might result in\n // unexpected behavior.\n if (options.signal) {\n newOptions.signal = options.signal;\n }\n return newOptions;\n }\n return options;\n }\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = copyEventListenerOptions(buildEventListenerOptions(arguments[2], passive));\n const signal = options?.signal;\n if (signal?.aborted) {\n // the signal is an aborted one, just return without attaching the event listener.\n return;\n }\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n } else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n } else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource + (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // In the code below, `options` should no longer be reassigned; instead, it\n // should only be mutated. This is because we pass that object to the native\n // `addEventListener`.\n // It's generally recommended to use the same object reference for options.\n // This ensures consistency and avoids potential issues.\n taskData.options = options;\n if (once) {\n // When using `addEventListener` with the `once` option, we don't pass\n // the `once` option directly to the native `addEventListener` method.\n // Instead, we keep the `once` setting and handle it ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n if (signal) {\n // When using `addEventListener` with the `signal` option, we don't pass\n // the `signal` option directly to the native `addEventListener` method.\n // Instead, we keep the `signal` setting and handle it ourselves.\n taskData.options.signal = undefined;\n }\n // The `scheduleEventTask` function will ultimately call `customScheduleGlobal`,\n // which in turn calls the native `addEventListener`. This is why `taskData.options`\n // is updated before scheduling the task, as `customScheduleGlobal` uses\n // `taskData.options` to pass it to the native `addEventListener`.\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n if (signal) {\n // after task is scheduled, we need to store the signal back to task.options\n taskData.options.signal = signal;\n // Wrapping `task` in a weak reference would not prevent memory leaks. Weak references are\n // primarily used for preventing strong references cycles. `onAbort` is always reachable\n // as it's an event listener, so its closure retains a strong reference to the `task`.\n const onAbort = () => task.zone.cancelTask(task);\n nativeListener.call(signal, 'abort', onAbort, {\n once: true\n });\n // We need to remove the `abort` listener when the event listener is going to be removed,\n // as it creates a closure that captures `task`. This closure retains a reference to the\n // `task` object even after it goes out of scope, preventing `task` from being garbage\n // collected.\n task.removeAbortListener = () => signal.removeEventListener('abort', onAbort);\n }\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n taskData.options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n } else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler && !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n // `existingTasks` may not exist if the `addEventListener` was called before\n // it was patched by zone.js. Please refer to the attached issue for\n // clarification, particularly after the `if` condition, before calling\n // the native `removeEventListener`.\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates with capture=false were removed\n // https:// github.com/angular/angular/issues/31643\n // https://github.com/angular/angular/issues/54581\n if (!capture && typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n // In all other conditions, when `addEventListener` is called after being\n // patched by zone.js, we would always find an event task on the `EventTarget`.\n // This will trigger `cancelFn` on the `existingTask`, leading to `customCancelGlobal`,\n // which ultimately removes an event listener and cleans up the abort listener\n // (if an `AbortSignal` was provided when scheduling a task).\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // https://github.com/angular/zone.js/issues/930\n // We may encounter a situation where the `addEventListener` was\n // called on the event target before zone.js is loaded, resulting\n // in no task being stored on the event target due to its invocation\n // of the native implementation. In this scenario, we simply need to\n // invoke the native `removeEventListener`.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n } else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n } else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) : captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', delegate => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nfunction patchQueueMicrotask(global, api) {\n api.patchMethod(global, 'queueMicrotask', delegate => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n const handleOrId = setNative.apply(window, data.args);\n // Whlist on Node.js when get can the ID by using `[Symbol.toPrimitive]()` we do\n // to this so that we do not cause potentally leaks when using `setTimeout`\n // since this can be periodic when using `.refresh`.\n if (isNumber(handleOrId)) {\n data.handleId = handleOrId;\n } else {\n data.handle = handleOrId;\n // On Node.js a timeout and interval can be restarted over and over again by using the `.refresh` method.\n data.isRefreshable = isFunction(handleOrId.refresh);\n }\n return task;\n }\n function clearTask(task) {\n const {\n handle,\n handleId\n } = task.data;\n return clearNative.call(window, handle ?? handleId);\n }\n setNative = patchMethod(window, setName, delegate => function (self, args) {\n if (isFunction(args[0])) {\n const options = {\n isRefreshable: false,\n isPeriodic: nameSuffix === 'Interval',\n delay: nameSuffix === 'Timeout' || nameSuffix === 'Interval' ? args[1] || 0 : undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n } finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n const {\n handle,\n handleId,\n isPeriodic,\n isRefreshable\n } = options;\n if (!isPeriodic && !isRefreshable) {\n if (handleId) {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[handleId];\n } else if (handle) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n handle[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const {\n handleId,\n handle,\n isRefreshable,\n isPeriodic\n } = task.data;\n if (handleId) {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handleId] = task;\n } else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n if (isRefreshable && !isPeriodic) {\n const originalRefresh = handle.refresh;\n handle.refresh = function () {\n const {\n zone,\n state\n } = task;\n if (state === 'notScheduled') {\n task._state = 'scheduled';\n zone._updateTaskCount(task, 1);\n } else if (state === 'running') {\n task._state = 'scheduling';\n }\n return originalRefresh.call(this);\n };\n }\n }\n return handle ?? handleId ?? task;\n } else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative = patchMethod(window, cancelName, delegate => function (self, args) {\n const id = args[0];\n let task;\n if (isNumber(id)) {\n // non nodejs env.\n task = tasksByHandleId[id];\n delete tasksByHandleId[id];\n } else {\n // nodejs env ?? other environments.\n task = id?.[taskSymbol];\n if (task) {\n id[taskSymbol] = null;\n } else {\n task = id;\n }\n }\n if (task?.type) {\n if (task.cancelFn) {\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n } else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\nfunction patchCustomElements(_global, api) {\n const {\n isBrowser,\n isMix\n } = api.getGlobalObjects();\n if (!isBrowser && !isMix || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n // https://html.spec.whatwg.org/multipage/custom-elements.html#concept-custom-element-definition-lifecycle-callbacks\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback', 'formAssociatedCallback', 'formDisabledCallback', 'formResetCallback', 'formStateRestoreCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const {\n eventNames,\n zoneSymbolEventNames,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX\n } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target).filter(name => name.startsWith('on') && name.length > 2).map(name => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat(['Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement', 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker']);\n const ignoreErrorProperties = isIE() ? [{\n target: internalWindow,\n ignoreProperties: ['error']\n }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat(['XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest', 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket']);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target && target.prototype && patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nfunction patchBrowser(Zone) {\n Zone.__load_patch('legacy', global => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', global => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', global => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n });\n Zone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n });\n Zone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n });\n Zone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n } else {\n task.invoke();\n }\n } else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() {}\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n } else {\n const options = {\n target: self,\n url: self[XHR_URL],\n isPeriodic: false,\n args: args,\n aborted: false\n };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted && task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || task.data && task.data.aborted) {\n return;\n }\n task.zone.cancelTask(task);\n } else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n });\n Zone.__load_patch('geolocation', global => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, {\n promise: e.promise,\n reason: e.rejection\n });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] = findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] = findPromiseRejectionHandler('rejectionhandled');\n }\n });\n Zone.__load_patch('queueMicrotask', (global, Zone, api) => {\n patchQueueMicrotask(global, api);\n });\n}\nfunction patchPromise(Zone) {\n Zone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] !== false;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = e => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n } else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n } catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n } catch (err) {}\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return v => {\n try {\n resolvePromise(promise, state, v);\n } catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n } catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise && value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) && value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n } else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n } catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n } else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data && Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: trace\n });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) + (value && value.stack ? '\\n' + value.stack : ''));\n } catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, {\n rejection: promise[symbolValue],\n promise: promise\n });\n }\n } catch (err) {}\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ? typeof onFulfilled === 'function' ? onFulfilled : forwardResolution : typeof onRejected === 'function' ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? [] : [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n } catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () {};\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n if (value instanceof ZoneAwarePromise) {\n return value;\n }\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static withResolvers() {\n const result = {};\n result.promise = new ZoneAwarePromise((res, rej) => {\n result.resolve = res;\n result.reject = rej;\n });\n return result;\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n } catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then(v => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, err => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: value => ({\n status: 'fulfilled',\n value\n }),\n errorCallback: err => ({\n status: 'rejected',\n reason: err\n })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then(value => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, err => {\n if (!callback) {\n reject(err);\n } else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n } catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor && executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n } catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and\n // invokes it with the `value` context. Otherwise, this will throw an error: `TypeError:\n // Cannot read properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = this.constructor?.[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n } else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = this.constructor?.[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n } else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', delegate => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n}\nfunction patchToString(Zone) {\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', global => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n } else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n}\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n } else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n } else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n } catch {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction patchUtil(Zone) {\n Zone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS`\n // to define which events will not be patched by `Zone.js`. In newer version (>=0.9.0), we\n // change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep the name consistent with\n // angular repo. The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be\n // supported for backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n });\n}\nfunction patchCommon(Zone) {\n patchPromise(Zone);\n patchToString(Zone);\n patchUtil(Zone);\n}\nconst Zone$1 = loadZone();\npatchCommon(Zone$1);\npatchBrowser(Zone$1);","/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\n/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\n/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n\t*/\n\n/***************************************************************************************************\n\t* Zone JS is required by default for Angular itself.\n\t*/\nimport 'zone.js'; // Included with Angular CLI.\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n(window as any).global = window;\ndocument.addEventListener('mousemove', () => {}, {passive: false, capture: true});\n","import {enableProdMode, isDevMode} from '@angular/core';\nimport {bootstrapApplication} from '@angular/platform-browser';\nimport {connectServiceWorker, regiserServiceWorker} from '@pwa';\n\nimport {environment} from '@shared-types';\nimport {AppComponent, appConfig} from './app';\nimport {beforeAppBootstrap} from './app/app-config/before-app-bootstrap/before-app-bootstrap';\nimport {initAppConfigurations} from './app/app-config/init-app-config.logic';\nimport './polyfills';\n\nconst startTime = Date.now();\nlocalStorage.setItem('APP_START_TS', startTime.toString());\n\nif (environment.production && !isDevMode()) {\n\tenableProdMode();\n}\n\ninitAppConfigurations(environment.production).then(() => {\n\tregiserServiceWorker().then((registration: ServiceWorkerRegistration | null) => {\n\t\tif (registration) console.debug('[Service Worker (main file)] registered successfully', registration);\n\t\tbeforeAppBootstrap()\n\t\t\t.then(() => bootstrapApplication(AppComponent, appConfig()))\n\t\t\t.then(appRef => {\n\t\t\t\tconsole.debug('[DocCycle] App is bootstrapped!');\n\t\t\t\tif (registration) {\n\t\t\t\t\tconst injector = appRef.injector;\n\t\t\t\t\tconnectServiceWorker(injector)\n\t\t\t\t\t\t.then(connectionResult => {\n\t\t\t\t\t\t\tif (connectionResult) console.debug('[DocCycle] Service Worker connected successfully');\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(error => console.error('[DocCycle] Error connecting Service Worker:', error));\n\t\t\t\t}\n\t\t\t});\n\t});\n});\n"],"mappings":"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","names":["require_src","__commonJSMin","fn","keys","prefix","key","cachekey","s","str","open","close","idx","rest","nextIdx","colorType","cfg","cache","n","arr","i","appRoutes","path","canActivate","RedirectGuard","children","canMatch","LoginMatcher","loadChildren","then","m","authFeatureAuthRoutes","featureBuildInFormsRoutes","featureSignRoutes","featureFastSigningRoutes","AuthGuard","canActivateValidation","ValidationType","Liveness","onFailValidationNavTo","featureLivenessRoutes","data","globalAppRouteConfigFactory","autoHideSidenav","FaceMatch","featureFaceMatchRoutes","DocumentVerification","featureDocumentReaderRoutes","PermissionsGuard","PermissionType","cycle_create","featureCreationWizardRoutes","permanent","fallbackLogout","PWAGuard","featureHomeOverviewRoutes","featureGlobalSearchRoutes","admin","fallbackRoute","featureSwaggerRoutes","users_manage","featureDevPanelRoutes","loadComponent","AppStatusComponent","isDevGuard","DevDemoPageComponent","featureUsersRoutes","featureUserEditRoutes","outlet","GlobalDialoglService","GLOBAL_DIALOG_OUTLET_NAME","dialog","inputsData","userFormMode","permissions","featureCompanySettingsRoutes","featureUsersAddressBookRoutes","featureUserGroupsRoutes","featureCyclesTableRoutes","featureCycleTablesRoutes","featureSentMailingDocumentsListRoutes","featureAppFormsRoutes","AppResetComponent","redirectTo","pathMatch","ReportBugModel","constructor","init","Object","assign","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onReportBug","ɵɵtext","ɵɵelementEnd","onClose","ɵɵadvance","ɵɵproperty","reportBug","isValid","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelement","_r3","onCopyTicket","ɵɵpipeBind2","ɵɵpureFunction1","_c7","sentryTransactionID","_c8","ReportBugComponent","constructor","elementRef","inject","ElementRef","store","Store","toastService","ToastService","dialogService","DialogControlService","cd","ChangeDetectorRef","error","input","required","activeUser$","selectSignal","selectActiveUser","SignalBinderModel","ReportBugModel","submitStatus","signal","ngOnInit","activeUser","activeUserModel","UserModel","patch","name","displayName","email","__async","event_id","report","signal$","captureFeedback","set","detectChanges","setTimeout","e","console","open","message","type","life","styleClass","close","data","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","ReportBugComponent_Case_31_Template","ReportBugComponent_Case_32_Template","ReportBugComponent_Case_33_Template","ReportBugComponent_Case_34_Template","ReportContent_r4","ɵɵpureFunction2","_c2","_c1","ɵɵpureFunction0","_c0","_c5","_c4","_c3","_c6","ɵɵconditional","tmp_12_0","MatButtonModule","MatButton","MatInputModule","MatInput","MatFormField","MatLabel","MatError","TranslateModule","TranslatePipe","SignalBinderDirective","ClipboardModule","CdkCopyToClipboard","ProgressBarModule","ProgressBar","BlockUIModule","BlockUI","CardModule","Card","ProgressSpinnerModule","TooltipModule","Tooltip","styles","changeDetection","_ReportBugComponent","NgTemplateOutlet","ReportBugComponent","ɵɵelementContainer","ɵɵelementStart","ɵɵtemplate","AppComponent_Conditional_0_Defer_1_Conditional_0_ng_container_2_Template","ɵɵelementEnd","ɵɵproperty","ctx_r2","sidenavService","isSidenavOpen","sideNavPosition","ɵɵadvance","ToggleButton_r2","AppComponent_Conditional_0_Defer_1_Conditional_1_ng_container_1_Template","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","toggle","ɵɵelement","ɵɵpipeBind1","sideNavToggleBtnLabel","ɵɵclassMap","sideNavToggleBtnIcon","AppComponent_Conditional_0_Defer_1_Conditional_0_Template","AppComponent_Conditional_0_Defer_1_Conditional_1_Template","AppComponent_Conditional_0_Defer_1_ng_template_2_Template","ɵɵtemplateRefExtractor","ɵɵconditional","ɵɵtext","AppComponent_Conditional_0_Defer_1_Template","AppComponent_Conditional_0_DeferError_2_Template","ɵɵdefer","AppComponent_Conditional_0_Defer_3_DepsFn","ɵɵdeferWhen","isSidenavAvailable","message_r5","icon","ɵɵtextInterpolate1","ctx","_r6","$implicit","AppToast_r7","ɵɵreference","toastService","onClickAction","actionButton_r8","label","AppComponent_ng_template_6_Conditional_1_Template","AppComponent_ng_template_6_Conditional_6_Template","AppComponent_ng_template_6_Conditional_7_Template","ɵɵtextInterpolate","summary","tmp_7_0","detail","tmp_8_0","actionButton","GLOBAL_LOADER_ID","loaderConfig_r9","fgsColor","fgsPosition","fgsSize","fgsType","bgsColor","bgsOpacity","bgsPosition","bgsSize","bgsType","gap","logoPosition","logoSize","logoUrl","overlayColor","pbColor","pbDirection","pbThickness","hasProgressBar","text","textColor","textPosition","styleClass","data_r10","error","sentryTransactionID","AppComponent_ng_template_8_Defer_0_Template","AppComponent_ng_template_8_Defer_1_DepsFn","AppComponent","__Global_App_loader__","globalLoaderRef","loaderService","setGlobalLoaderRef","constructor","_GlobalClickerService","Loader","GlobalDialogControlService","GlobalDialoglService","inject","LoaderService","versionService","VersionService","SidenavService","store","Store","ToastService","messageService","MessageService","globalDialogControlService","authService","AuthService","versionManager","VersionManagementService","toastRef","viewChild","read","Toast","version","getLocalFrontendVersion","dispatch","appInfoActions","reloadVersion","effect","allowSignalWrites","authEffectRef$","isAuthenticated","user","ActiveUser","activeUser","tryCatchFn","setUser","id","enabled","fullName","fullname","phone","phonenumber","email","language","preferences","roles","tags","ip_address","destroy","ngOnInit","urlCheckResults","checkActiveURL","console","debug","ngAfterViewInit","add","key","life","ɵɵdirectiveInject","GlobalClickerService","selectors","viewQuery","rf","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_SELECT_SCROLL_STRATEGY_PROVIDER","ɵɵStandaloneFeature","decls","vars","consts","template","AppComponent_Conditional_0_Template","AppComponent_ng_template_6_Template","AppComponent_Conditional_7_Template","AppComponent_ng_template_8_Template","i0","_r1","close","dcDir_r11","currentDir","tmp_5_0","loaderConfigurations","ɵɵpureFunction0","_c2","ReportBugComponentInputs","ɵɵpureFunction2","_c3","GlobalDialogREF_r12","__setGlobalDialogRef","visible$","GLOBAL_DIALOG_OUTLET_NAME","RouterModule","RouterOutlet","MatButtonModule","Dir","NgxUiLoaderModule","NgxUiLoaderComponent","NgClass","ToastModule","PrimeTemplate","SidebarModule","TranslateModule","TooltipModule","DialogDirective","DialogModule","Dialog","DomRefererDirective","OverlayPanelModule","DirectionDirective","AsCastDirective","styles","_AppComponent","import_index","log","color","list","isSupported","disable","enable","strip","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","grey","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","blackBG","redBG","greenBG","yellowBG","blueBG","magentaBG","cyanBG","whiteBG","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","clc","esm_default","AppInitializer","injector","storageService","languageService","deviceService","primeNGConfig","syncerService","globalService","__async","isDevMode","currentLang","currentLang$","deviceType","console","group","clc","cyan","info","environment","groupEnd","setMainInjector","init","initPrimeNgConfig","checkProcesses","SyncableProcessLifeCycle","AppInit","inputStyle","signal","ANIMATION_PREFIX","AsyncAnimationRendererFactory","_AsyncAnimationRendererFactory","doc","delegate","zone","animationType","moduleImpl","inject","ChangeDetectionScheduler","ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN","loadFn","m","moduleImplPromise","e","RuntimeError","ɵcreateEngine","ɵAnimationRendererFactory","rendererFactory","hostElement","rendererType","renderer","dynamicRenderer","DynamicDelegationRenderer","animationRendererFactory","animationRenderer","__ngFactoryType__","ɵɵinvalidFactory","ɵɵdefineInjectable","impl","fn","name","namespace","value","parent","newChild","refChild","isMove","oldChild","isHostElement","selectorOrNode","preserveContent","node","el","style","flags","target","eventName","callback","propOrEventName","InjectionToken","provideAnimationsAsync","type","performanceMarkFeature","makeEnvironmentProviders","RendererFactory2","DOCUMENT","DomRendererFactory2","NgZone","ANIMATION_MODULE_TYPE","error_ignore_default","ERRORS_TO_IGNORE","IGNORE_ERRORS","GlobalErrorHandler","constructor","versionManagementService","inject","VersionManagementService","injector","Injector","toastService","ToastService","routeHistoryService","RouteHistoryService","router","Router","handleError","error","__async","isErrorIgnored","console","clc","red","isFetchModuleError","lastRoute","getRouteHistory","find","route","url","errorInfo","timestamp","Date","toISOString","localStorage","setItem","JSON","stringify","checkForUpdates","setTimeout","window","location","href","origin","isApiError","showErrorToast","captureException","some","errorToIgnore","message","includes","Error","apiError","errorDetailsPrefixLabel","translate","apiErrorObject","toast","subMessage","userMessage","name","severity","type","sticky","actionButton","action","config","appToast","autoCloseOnAction","label","icon","open","factory","ɵfac","providedIn","_GlobalErrorHandler","errorHandlingProviders","provide","ErrorHandler","useClass","GlobalErrorHandler","deps","Injector","ToastService","_providers","APP_INITIALIZER","useFactory","AppInitializer","StorageService","LanguageService","DeviceService","PrimeNGConfig","SyncerService","RouteHistoryService","GlobalsService","TraceService","multi","GLOBAL_DIALOG_CONTROLLERS","GLOBAL_DIALOG_CONTROLLERS_Factory","HTTP_INTERCEPTORS","ApiInterceptor","provideAnimationsAsync","_appServices","MessageService","DialogControlService","DialogService","ConfirmationService","AppProviders","app_providers_config_default","InjectableAnimationEngine","_InjectableAnimationEngine","AnimationEngine","doc","driver","normalizer","__ngFactoryType__","ɵɵinject","DOCUMENT","AnimationDriver","AnimationStyleNormalizer","ɵɵdefineInjectable","instantiateDefaultStyleNormalizer","WebAnimationsStyleNormalizer","instantiateRendererFactory","renderer","engine","zone","AnimationRendererFactory","SHARED_ANIMATION_PROVIDERS","RendererFactory2","DomRendererFactory2","NgZone","BROWSER_ANIMATIONS_PROVIDERS","WebAnimationsDriver","ANIMATION_MODULE_TYPE","BROWSER_NOOP_ANIMATIONS_PROVIDERS","NoopAnimationDriver","provideAnimations","performanceMarkFeature","BROWSER_ANIMATIONS_PROVIDERS","TranslateHttpLoader","http","prefix","suffix","lang","HttpLoaderFactory","http","TranslateHttpLoader","Date","now","GLOBAL_LOADER_ID","Loader","ExternalModules","MatDialogModule","NgxUiLoaderModule","forRoot","maxTime","NgxUiLoaderRouterModule","loaderId","feature_store_configurations_exports","__export","appInfoFeatureStoreConfig","authFeatureStoreConfig","companySettingsFeatureStoreConfig","cycleSignFeatureStoreConfig","formGroupFeatureStoreConfig","globalSearchFeatureStoreConfig","groupsFeatureStoreConfig","metaTagsFeatureStoreConfig","usersFeatureStoreConfig","appInfoInitialState","AppInfoStore","authInitialState","AuthStore","cycleSignInitialState","CycleSignStore","formGroupInitialState","FormGroupStore","usersInitialState","UsersStore","globalSearchInitialState","GlobalSearchStore","companySettingsInitialState","CompanySettingsStore","metaTagsInitialState","MetaTagsStore","groupsInitialState","GroupsStore","featureStoresInitialState","FeatureStoreNames","APP_INFO_FEATURE_KEY","AUTH_FEATURE_KEY","CYCLE_SIGN_FEATURE_KEY","FORM_GROUP_FEATURE_KEY","USERS_FEATURE_KEY","GLOBAL_SEARCH_FEATURE_KEY","COMPANY_SETTINGS_FEATURE_KEY","META_TAGS_FEATURE_KEY","GROUPS_FEATURE_KEY","appInfoFeatureStoreConfig","key","FeatureStoreNames","APP_INFO_FEATURE_KEY","initialState","featureStoresInitialState","effects","AppInfoEffects","reducer","appInfoReducer","onAppInit","state","onLoginFn","onLogout","__spreadProps","__spreadValues","indicators","groupsFeatureStoreConfig","key","FeatureStoreNames","GROUPS_FEATURE_KEY","initialState","featureStoresInitialState","effects","GroupsEffects","reducer","groupsReducer","onAppInit","state","onLoginFn","onLogout","globalSearchFeatureStoreConfig","key","FeatureStoreNames","GLOBAL_SEARCH_FEATURE_KEY","initialState","featureStoresInitialState","effects","reducer","globalSearchReducer","onAppInit","state","onLoginFn","onLogout","cycleSignFeatureStoreConfig","key","FeatureStoreNames","CYCLE_SIGN_FEATURE_KEY","initialState","featureStoresInitialState","effects","CycleSignEffects","reducer","cycleSignReducer","onAppInit","state","onLoginFn","onLogout","formGroupFeatureStoreConfig","key","FeatureStoreNames","FORM_GROUP_FEATURE_KEY","initialState","featureStoresInitialState","effects","FormGroupEffects","reducer","formGroupReducer","onAppInit","state","onLoginFn","onLogout","authFeatureStoreConfig","key","FeatureStoreNames","AUTH_FEATURE_KEY","initialState","featureStoresInitialState","effects","AuthEffects","ActiveUserDetailsEffects","ActiveUserStampsEffects","ActiveUserPortraitEffects","reducer","authReducer","onAppInit","state","onLoginFn","onLogout","__spreadValues","usersFeatureStoreConfig","key","FeatureStoreNames","USERS_FEATURE_KEY","initialState","featureStoresInitialState","effects","AllUsersEffects","UserEffects","TempUserEffects","MultiUsersEffects","PortraitEffects","reducer","usersReducer","onAppInit","state","onLoginFn","onLogout","companySettingsFeatureStoreConfig","key","FeatureStoreNames","COMPANY_SETTINGS_FEATURE_KEY","initialState","featureStoresInitialState","effects","CompanySettingsEffects","reducer","companySettingsReducer","onAppInit","state","onLoginFn","onLogout","metaTagsFeatureStoreConfig","key","FeatureStoreNames","META_TAGS_FEATURE_KEY","initialState","featureStoresInitialState","effects","MetaTagsEffects","reducer","metaTagsReducer","onAppInit","state","onLoginFn","onLogout","FeatureStoreConfigs","featureStoreConfigs","FeatureStoreNames","APP_INFO_FEATURE_KEY","undefined","AUTH_FEATURE_KEY","CYCLE_SIGN_FEATURE_KEY","FORM_GROUP_FEATURE_KEY","USERS_FEATURE_KEY","GLOBAL_SEARCH_FEATURE_KEY","COMPANY_SETTINGS_FEATURE_KEY","META_TAGS_FEATURE_KEY","GROUPS_FEATURE_KEY","Object","values","CONFIGS","forEach","config","key","AppFeatureStores","FeatureStoreConfigs","featureStoresInitialState","PERFORM_ACTION","REFRESH","RESET","ROLLBACK","COMMIT","SWEEP","TOGGLE_ACTION","SET_ACTIONS_ACTIVE","JUMP_TO_STATE","JUMP_TO_ACTION","IMPORT_STATE","LOCK_CHANGES","PAUSE_RECORDING","PerformAction","action","timestamp","Refresh","Reset","Rollback","Commit","Sweep","ToggleAction","id","JumpToState","index","JUMP_TO_STATE","JumpToAction","actionId","JUMP_TO_ACTION","ImportState","nextLiftedState","IMPORT_STATE","LockChanges","status","LOCK_CHANGES","PauseRecording","PAUSE_RECORDING","STORE_DEVTOOLS_CONFIG","InjectionToken","INITIAL_OPTIONS","noMonitor","DEFAULT_NAME","createConfig","optionsInput","DEFAULT_OPTIONS","options","logOnly","features","config","difference","first","second","item","unliftState","liftedState","computedStates","currentStateIndex","state","liftAction","action","PerformAction","sanitizeActions","actionSanitizer","actions","sanitizedActions","actionIdx","idx","sanitizeAction","__spreadProps","__spreadValues","sanitizeStates","stateSanitizer","states","computedState","sanitizeState","state","stateIdx","shouldFilterActions","config","filterLiftedState","liftedState","predicate","safelist","blocklist","filteredStagedActionIds","filteredActionsById","filteredComputedStates","id","liftedAction","isActionFiltered","blockedlist","predicateMatch","safelistMatch","s","escapeRegExp","blocklistMatch","injectZoneConfig","connectInZone","inject","NgZone","DevtoolsDispatcher","_DevtoolsDispatcher","ActionsSubject","ɵDevtoolsDispatcher_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","ExtensionActionTypes","REDUX_DEVTOOLS_EXTENSION","InjectionToken","DevtoolsExtension","_DevtoolsExtension","devtoolsExtension","dispatcher","PERFORM_ACTION","currentState","unliftState","sanitizedState","sanitizedAction","sanitizedLiftedState","Observable","subscriber","connection","change","EMPTY","changes$","share","start$","filter","stop$","liftedActions$","map","concatMap","IMPORT_STATE","UPDATE","timeout","debounceTime","catchError","of","take","actionsUntilStop$","takeUntil","liftedUntilStop$","switchMap","extensionOptions","send","err","ɵɵinject","STORE_DEVTOOLS_CONFIG","INIT_ACTION","INIT","RECOMPUTE","RECOMPUTE_ACTION","computeNextEntry","reducer","error","errorHandler","nextState","nextError","recomputeStates","computedStates","minInvalidatedStateIndex","committedState","actionsById","stagedActionIds","skippedActionIds","isPaused","nextComputedStates","lastIncludedActionId","i","actionId","previousEntry","previousState","previousError","entry","liftInitialState","initialCommittedState","monitorReducer","liftReducerWith","initialLiftedState","options","monitorState","nextActionId","currentStateIndex","isLocked","commitExcessActions","n","excess","idsToDelete","commitChanges","LOCK_CHANGES","PAUSE_RECORDING","RESET","COMMIT","ROLLBACK","TOGGLE_ACTION","SET_ACTIONS_ACTIVE","start","end","active","actionIds","difference","JUMP_TO_STATE","JUMP_TO_ACTION","index","SWEEP","lastState","cmp","StoreDevtools","_StoreDevtools","actions$","reducers$","extension","scannedActions","initialState","liftedInitialState","liftReducer","liftedAction$","merge","skip","observeOn","queueScheduler","liftedReducer$","zoneConfig","liftedStateSubject","ReplaySubject","withLatestFrom","emitInZone","scan","reducedLiftedState","unliftedAction","liftedState$","state$","toSignal","Refresh","Reset","Rollback","Commit","Sweep","ToggleAction","JumpToAction","JumpToState","nextLiftedState","ImportState","status","LockChanges","PauseRecording","ReducerObservable","ScannedActionsSubject","ErrorHandler","INITIAL_STATE","ngZone","source","value","IS_EXTENSION_OR_MONITOR_PRESENT","createIsExtensionOrMonitorPresent","noMonitor","createReduxDevtoolsExtension","extensionKey","provideStoreDevtools","makeEnvironmentProviders","INITIAL_OPTIONS","createConfig","StateObservable","createStateObservable","ReducerManagerDispatcher","devtools","isBaseStoreConfig","config","key","initialState","isFeatureStoreConfig","config","isBaseStoreConfig","Reflect","has","signalStoresInitialState","SignalStoreNames","LIVENESS_VALIDATOR","livenessValidatorInitialState","signal_store_configurations_exports","__export","livenessValidatorSignalStoreConfig","livenessValidatorSignalStoreConfig","key","SignalStoreNames","LIVENESS_VALIDATOR","initialState","livenessValidatorInitialState","onAppInit","state","onLoginFn","onLogout","__spreadValues","SignalStoresConfigs","signalStoresConfigs","SignalStoreNames","LIVENESS_VALIDATOR","undefined","Object","keys","CONFIGS","forEach","configKey","config","key","signalStoresConfigs","SignalStoresConfigs","featureStoreConfigs","FeatureStoreConfigs","clearStoreMetaReducer","reducer","featureStoreConfiguratoins","signalStoreConfigurations","allStoreConfigurations","__spreadValues","state","action","type","StoreGlobalActionType","CLEAR_STORE","localStateSnapshot","window","APP_INDEXED_DB","nextState","clearFeatureStores","key","config","onLogout","clearSignalStores","storesToClear","storeKey","globalErrorMetaReducer","reducer","state","action","type","StoreGlobalActionType","GLOBAL_ERROR","__spreadValues","INIT_ACTION","INIT","idbPersistMetaReducer","reducer","idbSyncService","IndexedDbSyncService","getInstance","state","action","nextState","type","INIT_ACTION","window","APP_INDEXED_DB_LOADED","APP_STORE_SNAPSHOT","bulkSet","then","patchState","APP_INDEXED_DB","featureStoreConfigs","FeatureStoreConfigs","_effectsArray","Object","values","flatMap","config","isFeatureStoreConfig","effects","_reducers","reduce","acc","key","reducer","APP_STORE_PROVIDERS","provideEffects","provideStore","metaReducers","idbPersistMetaReducer","clearStoreMetaReducer","globalErrorMetaReducer","provideStoreDevtools","logOnly","isDevMode","maxAge","connectInZone","Shared","APP_STORE_PROVIDERS","SignalStores","SignalStoresConfigs","signalStoresInitialState","Shared","SharedNS","GLOBAL_STORE_INITIAL_STATE","__spreadValues","featureStoresInitialState","SignalStoresNS","signalStoresInitialState","FEATYRE_STORE_KEYS","Object","keys","SIGNAL_STORE_KEYS","GLOBAL_STORE_CONFIGS","AppFeatureStoresNS","FeatureStoreConfigs","featureStoreConfigs","SignalStoresConfigs","signalStoresConfigs","APP_STORE_PROVIDERS","Shared","appConfig","routerProviderFeatures","withEnabledBlockingInitialNavigation","withComponentInputBinding","withViewTransitions","environment","CONFIG","push","withDebugTracing","providers","AppProviders","importProvidersFrom","TranslateModule","forRoot","loader","provide","TranslateLoader","useFactory","HttpLoaderFactory","deps","HttpClient","ExternalModules","provideRouter","appRoutes","provideHttpClient","withInterceptors","TokenInterceptor","withInterceptorsFromDi","provideAnimations","checkCompanyInParams","currentUrl","allowedModules","regex","match","environment","module","company","params","Object","values","EnvironmentName","some","env","includes","window","location","href","checkEmptyUrl","test","routeRedirector","every","checkFn","import_localforage","localforage","config","driver","INDEXEDDB","name","DEFAULT_INDEXED_DB_NAME","storeName","version","indexedDB","stable_version","window","APP_INDEXED_DB_LOADED","APP_INDEXED_DB","signalState","APP_STORE_SNAPSHOT","computed","pick","FEATYRE_STORE_KEYS","SIGNAL_STORE_SNAPSHOT","SIGNAL_STORE_KEYS","loadIndexedDbSnapshot","__async","globalStoreInitialState","GLOBAL_STORE_INITIAL_STATE","snapshot","actualIndexedDBConfig","localIndexedDBVersion","Number","localStorage","getItem","StorageKeys","GlobalKeys","INDEXED_DB_VERSION","databases","old_store_names","db","includes","deleteDatabase","setItem","toString","key","Object","keys","idbSlice","initialSlice","assign","patchState","beforeAppBootstrap","__async","routeRedirector","loadIndexedDbSnapshot","allowDebuggingSentry$","storageSignal","StorageKeys","Logging","SENTRY_DEBUG","initSentryConfig","__async","sentryConfig","dsn","integrations","dedupeIntegration","functionToStringIntegration","httpClientIntegration","debug","isDevMode","release","config","version","environment","name","maxValueLength","sendDefaultPii","addEnvironmentTags","useTracing","useOfflineTransport","init","Promise","resolve","initialScope","scope","setTag","localStorage","getItem","GlobalKeys","SW_VERSION","Date","toISOString","push","browserTracingIntegration","tracesSampleRate","tracePropagationTargets","transport","makeBrowserOfflineTransport","makeFetchTransport","transportOptions","bufferSize","initAppConfigurations","productionMode","__async","localStorage","setItem","StorageKeys","GlobalKeys","ENVIRONMENT","initLoggingConfig","initSentryConfig","SignalStoreManagerService","getInstance","loadAllSignalStoreIdbTables","isDevMode","console","log","clc","green","red","getItem","Dev","DEV_MODE","debug","warn","error","global","__symbol__","name","initZone","performance","mark","performanceMeasure","label","ZoneImpl","_ZoneImpl","patches","zone","_currentZoneFrame","_currentTask","fn","ignoreDuplicate","checkDuplicate","perfName","_api","parent","zoneSpec","_ZoneDelegate","key","current","callback","source","_callback","applyThis","applyArgs","error","task","NO_ZONE","zoneTask","type","isPeriodic","isRefreshable","notScheduled","eventTask","macroTask","reEntryGuard","running","scheduled","previousTask","state","unknown","scheduling","zoneDelegates","newZone","err","data","customSchedule","ZoneTask","microTask","customCancel","canceling","count","i","DELEGATE_ZS","delegate","_","target","hasTaskState","parentDelegate","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleMicroTask","value","isEmpty","counts","prev","next","options","scheduleFn","cancelFn","self","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","toState","fromState1","fromState2","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","nativeScheduleMicroTask","func","nativeThen","queue","noop","loadZone","ObjectGetOwnPropertyDescriptor","ObjectDefineProperty","ObjectGetPrototypeOf","ObjectCreate","ArraySlice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","wrapWithCurrentZone","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","bindArguments","patchPrototype","prototype","fnNames","prototypeDesc","isPropertyWritable","patched","attachOriginToPatched","propertyDesc","isWebWorker","isNode","isBrowser","isMix","zoneSymbolEventNames$1","enableBeforeunloadSymbol","wrapFn","event","eventNameSymbol","listener","result","errorEvent","patchProperty","obj","prop","desc","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","patchOnProperties","properties","onProperties","j","originalInstanceKey","patchClass","className","OriginalClass","a","instance","patchMethod","patchFn","proto","delegateName","patchDelegate","patchMacroTask","funcName","metaCreator","setNative","scheduleTask","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","isIEOrEdge","isFunction","isNumber","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbol","symbolCapture","patchEventTarget","api","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","LISTENERS_EVENT_LISTENER","REMOVE_ALL_LISTENERS_EVENT_LISTENER","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","invokeTask","globalCallback","context","isCapture","tasks","errors","copyTasks","globalZoneAwareCallback","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","returnTarget","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","buildEventListenerOptions","passive","__spreadProps","__spreadValues","customScheduleGlobal","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","unpatchedEvents","passiveEvents","copyEventListenerOptions","newOptions","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","prepend","isHandleEvent","signal","capture","once","isExisting","constructorName","targetSource","onAbort","existingTask","onPropertySymbol","listeners","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","keys","match","evtName","results","foundTasks","captureFalseTasks","captureTrueTasks","patchEventPrototype","Event","patchQueueMicrotask","taskSymbol","patchTimer","window","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","handleOrId","clearTask","handle","handleId","originalRefresh","id","patchCustomElements","callbacks","eventTargetPatch","eventNames","EVENT_TARGET","patchEvent","filterProperties","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","getOnEventNames","propertyDescriptorPatch","patchTargets","ignoreErrorProperties","patchBrowser","Zone","legacyPatch","set","clear","blockingMethods","s","XMLHttpRequestEventTarget","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","XMLHttpRequest","XMLHttpRequestPrototype","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","loadTasks","oriInvoke","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","findPromiseRejectionHandler","e","PromiseRejectionEvent","evt","patchPromise","readableObjectToString","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","rejection","uncaughtPromiseError","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","wasCalled","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","then","clearRejectedNoCatch","trace","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","AggregateError","res","rej","values","promises","finished","resolve","reject","onResolve","onReject","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","C","onFinally","NativePromise","symbolThenPatched","patchThen","Ctor","originalThen","zoneify","resultPromise","ctor","patchToString","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","patchCallbacks","targetName","method","nativeDelegate","opts","descriptor","patchUtil","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","patchCommon","Zone$1","window","global","document","addEventListener","passive","capture","startTime","Date","now","localStorage","setItem","toString","environment","production","isDevMode","enableProdMode","initAppConfigurations","then","regiserServiceWorker","registration","console","debug","beforeAppBootstrap","bootstrapApplication","AppComponent","appConfig","appRef","injector","connectServiceWorker","connectionResult","catch","error"],"x_google_ignoreList":[0,7,9,13,14,30,50]}